- 1、本文档共96页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六讲功能模块
第六讲 MC9S12单片机I/O接口和功能模块 本讲内容简介 1、通用I/O接口模块 2、模数转换A/D模块 3、脉冲宽度调制PWM模块 4、增强型定时器ECT模块 5、同步外设接口SPI模块 6、串行通信接口SCI模块 每个模块对应的技术文档 I/O口模块 S12MEBIV3.PDF S12DTB128PIMV2.PDF 串行通信模块 S12SCIV2.PDF S12SPIV4.PDF S12IICV2.PDF ECT 模块 S12ECT16B8CV1.PDF A/D模块 S12ATD10B8CV2.PDF PWM模块 S12PWM8B8CV1.PDF MSCAN模块 S12MSCANV2.PDF 1、通用I/O接口 MC9S12DG128B单片机I/O口 PORTA 连接按键 PORTB 连接发光二极管 PORTE 特殊功能 PORTJ 中断输入,没有PJ0-PJ5 PORTP 中断输入,没有PP6 PORTM 没有PM6-PM7 PORTT PORTS 没有PS4-PS7 PORTAD 只能输入 1、通用I/O接口 I/O口作为输入使用 设置方向寄存器(DDRx)为输入(0X00) 随时读取I/O口的数据寄存器(PORTx) I/O口作为输出使用 设置方向寄存器(DDRx)为输出(0XFF) 设置驱动能力寄存器(非必须) 拉电阻选择(非必须) 随时写入I/O口数据寄存器(PORTx) 1、通用I/O接口 I/O口作为外部中断接收使用 开系统中断(CLI) 设置方向寄存器为输入 设置中断有效边沿(上升沿、下降沿) 使能中断 编写相关的中断服务程序 有效边沿到来时,会自动进入中断服务程序 1、通用I/O接口 例一 设计一个C语言程序,使教学板上发光二极管 显示花等效果 显示循环流水灯效果 见exp12 1、通用I/O接口 例二 使用PORTJ中断口功能的例子,本例的原理是:设置A口为输出口,PTA的第6脚跟PTJ的第6脚硬件相连,PTB输出,用来控制8个LED灯,PTJ开中断,并且设置为上升沿触发。首先PTA初始化为0,PTB为0xFF,此时等灭。在大循环冲设置PTA第6位为高电平,产生中断,灯低4个亮,高4个不亮。使用单步运行查看效果。 见exp13。 2、模数转换ATD模块 A/D转换的基本概念 模数转换定义: 将时间连续、幅值也连续的模拟信号转换为间离散、幅值也离散的数字信号 模数转换精度 模数转换精度是指二进制的位数。9S12的AD模块有两种精度可选,分别为8位精度(0—255)和10位精度(0—1023)。 逐次逼近型A/D转换器的原理 逐次逼近型A/D 由一个比较器和D/A 转换器通过逐次比较逻辑构成,从MSB 开始,顺序地对每一位将输入电压与内置D/A 转换器输出进行比较,经n 次比较而输出数字值。其电路规模属于中等。 9S12的A/D模块主要特性 8位/10位可选择的转换精度; 速度快,每进行一次10位的转换,仅仅需要7nS; 采样时间可编程; 左对齐/右对齐的数据格式,有符号/无符号的转换结果; 转换完毕可产生中断; 使用PAD7外部触发控制。 9S12的A/D模块外部引脚 VRH(60)、VRL(61):A/D 转换模块的参考高电压和参考低电压。实验板上,VRH和VRL分别接VCC和GND。 VDDA(59)、VSSA(62):A/D 模块提供电源。实验板上,VDDA接到VCC,VSSA接到GND。 AN7/ETRIG/PAD7(58):模拟量输入通道7,通用数字输入端口。它也可以被配置为A/D 转换的外部触发引脚。 AN6/PAD6 - AN0/PAD0(51-57):模拟量输入通道6-0,通用数字输入端口。不可以被用作外部触发引脚。PAD0通过50K滑动变阻器接到VCC,调可变电阻可以调试A/D转换。 控制寄存器2—ATDCTL2 ADPU:A/D模块的电源管理。1=正常模式,0=低功耗模式。 AFFC:标志位快速清零。1=对转换结果寄存器访问会自动清除标志位,0=正常模式,访问结果寄存器前读状态寄存器1可以清楚转换完成标志CCF。 AWAI:等待时进入低功耗模式。1=进入,0=正常工作。 ETRIGLE、ETRIGP:外部触发的边沿/极性控制。 ETRIGE:上两位的使能位。允许在PAD7输入外部触发信号。1=允许,0=禁止。 ASCIE:A/D队列转换完成中断允许。1=允许,并使标志位ASCIF=1;0=禁止。 ASCIF:A/D 队列转换完成中断标志。 控制寄存器3—ATDCTL3 S8C、S4C、S2C、S1C:定义转换队列的长度。默认长度为4。 FIFO:结果寄存器先进先出模式。1=FIFO模式,转换结果是连续存放的;0=非FIFO
文档评论(0)