智能控制第四章 单片机(二)ppt课件_第1页
智能控制第四章 单片机(二)ppt课件_第2页
智能控制第四章 单片机(二)ppt课件_第3页
智能控制第四章 单片机(二)ppt课件_第4页
智能控制第四章 单片机(二)ppt课件_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1第一章 单片机原理与运用 吴振宇概述v8051有两个16位定时/计数器。v可设置为定时和计数两种方式,在每种方式下又可设置为4种任务方式。v任务方式不同那么最大定时/计数值不同。v加1计数器,计数超越所在任务方式的最大值时发生溢出,回零,同时产生中断。控制存放器TCONv8位存放器,可按位寻址。vTR0/1:定时器0/1启停控制。vTF0/1:定时器0/1溢出标志,硬件复位。v中断恳求受EA,ET0/1控制。方式存放器TMODv8位存放器,不可按位寻址。vGATE:门控信号。vC/T:设置任务方式为定时器或计数器。vM1 M0:任务方式设置 00 01 10 11。控制逻辑v定时器:对振荡器

2、的12分频计数。v计数器:对T0引脚输入脉冲计数。v检测T0引脚下降沿需求2个机器周期。通常,T0上输入的脉冲频率小于100KHz。控制逻辑vGATE决议INT0引脚信号能否参与对T0的控制。v假设GATE=0,T0只受TR0控制。v假设GATE=1,T0受INT1信号和TR0共同控制。此时INT0不再作为中断恳求输入线。v门控信号可用于脉冲宽度的丈量。100TRINTG测频与测周v测频与测周均为丈量脉冲信号频率的方法。v测频:在单位定时时间内对被测信号脉冲进展计数。v测周:在被测信号一个周期时间内,对某一基准时间脉冲进展计数。v主要误差是由于计数器只能进展整数计数而引入的1误差。v高频测频,

3、低频测周。原理表示v定时/计数器是16位SFR,分为TH0和TL0两个8位。v任务方式决议最大计数值。v初值是人为设置的,v等待计数值 = 最大值 初值。v假设计数脉冲的间隔相等,那么计数值就代表了时间的流逝。 任务方式 - 0v13位加1计数器,兼容48系列单片机。v由TH的8位和TL的低5位组成,TL高3位弃之不用。v最大计数值:213 = 8192v计满8192,再加1那么溢出归零,产生中断恳求。v如要再次运用,需求手动再次装入初值。任务方式 - 1v16位计数器,TH和TL全部参与。v最大计数值:216 = 65536v其他特性与方式-0一样。任务方式 - 2v8位自装入计数器。v最大

4、计数值:28 = 256v自装入即计数器溢出归零后,自动装入前一次的初值。vTH保管初值,仅用TL进展计数。v初始化时对TH和TL送一样值。任务方式 - 3v前三种方式,T0和T1完全一样。而方式-3普通只运用于T0。vT0:两个独立的8位计数器。vTL0可设定为定时或计数方式,仍由TR0控制,并用TF0作溢出标志。vTH0只能作定时器,借用TR1和TF1。v普通只需将T1用作串口波特率发生器时,才将T0设置为方式-3,以添加一个计数器。初始化步骤v根据需求,选择适当的方式和方式,写入TMOD。v根据等待的计数值和所选任务方式,计算初值,写入TH和TL。v开放中断,设置优先级,写入IE和IP。

5、v控制定时/计数器的起停,操作TCON。初值的计算v计数方式:TC = M CvTC:初值 M:所选方式最大计数值 C:等待计数值v定时方式:TC = M T/TsvT:等待定时时长 Ts:时钟周期的12倍v最大定时时间以12MHz晶振为例v方式0:Tmax = 213 1us = 8.192msv方式1:Tmax = 65.536msv方式2和3:Tmax = 0.256ms初值计算举例v假设采用12MHz晶振,要定时2ms,如何设置初值?v方式2、3最大只能定时0.256ms,不用。v假设采用方式0:vTC = 213 2ms/1us = 6192 = 1830Hv即TH = 0 xC1

6、TL = 0 x10v假设采用方式1:vTC = 216 2ms/1us = 63536 = F830Hv即TH = 0 xF8 TL = 0 x30初值计算举例v假设采用12MHz晶振,要定时1s,如何设置初值?v4种方式最大只能定时65.536ms,都不满足要求。v类似情况可采用软件定时。v比如,用定时器定时10ms,再额外维持一个变量,在每次溢出中断中对其加1。变量值等于100时,即得到1s,清零该变量。软件定时例如volatile unsigned char cnt = 0;void ISR_Timer0() interrupt 1cnt +;if( cnt = 100 )/ your

7、 task herecnt = 0;/ reload TH0 & TL0关键字关键字 volatile 指示编译器不指示编译器不要优化该变量。要优化该变量。假设某个变量能够会被假设某个变量能够会被“并行并行地修正,应将其声明成地修正,应将其声明成 volatile 。例如,某变量的值能够在中断例如,某变量的值能够在中断效力程序中被修正,而在主程效力程序中被修正,而在主程序中检测其值,那么运用序中检测其值,那么运用 volatile 声明之。声明之。运用举例v采用12MHz晶振,在P1.0上输出周期为2.5秒,占空比为20%的脉冲信号。v选取适宜的定时时间,太小导致频繁中断,影响效率。此

8、例中选10ms。v高电平50次中断,低电平200次中断。运用举例v2个方波信号,频率 f1 = 50KHz,f2 = 50Hz,分别用测频、测周法丈量其频率,并比较误差。v测频法:T0定时方式,开放50ms闸门;T1计数方式,对引脚脉冲计数。v测周法:待测信号高电平作时间闸门,T1定时方式。丈量结果实践频率实践频率50 (Hz)50000 (Hz)测频法测频法40/6050040误误 差差20%0.08%测周法测周法4935714/41666误误 差差2%28%/17% 高频测频,低频测周。高频测频,低频测周。串行通讯v并行通讯:数据的各位同时发送或接纳。v串行通讯:数据一位一位按顺序发送或接

9、纳。v一样时钟频率下,并行比串行速度快。为什么SATA硬盘替代了IDE硬盘?v并行运用的传输线多,远间隔传输时耗费资源。串行通讯分类v按照串行数据的同步方式,可以分为同步通讯和异步通讯两类。v1100 1010 0100 1110 v同步通讯是利用软件识别同步字符来实现数据的发送和接纳。v异步通讯是利用字符的再同步技术的通讯方式。异步通讯v数据以字节为单位组成字符帧传送。v依托字符帧的格式来协调数据的发送和接纳,即确定数据的开场与终了。v1100 1010 0100 1110 v发送端和接纳端运用各自的时钟来控制数据收发,彼此独立,互不同步。字符帧格式v起始位:逻辑0低电平,向接纳设备指示开场

10、发送一帧数据。v数据位:根据需求可以取58位,低位在前高位在后。v奇偶校验位:可以选择奇校验或偶校验。v停顿位:逻辑1高电平,向接纳端指示一帧数据发送终了。v空闲位:位于两相邻帧之间,根据需求,可有可无。波特率v每秒钟传送二进制码的位数,单位是bpsbit per second。v用于表征数据传输的速度。v收发双方必需坚持波特率一致。v码元传输时间:传输一位需求的时间,为波特率的倒数。v8051系列普通最高运用9600bps。同步通讯v异步通讯中每帧的起始、停顿位降低了有效数据的传输速率。v同步通讯一次只传送一帧数据,但一帧中可以包含假设干字符。v要求收发两端一直坚持严厉同步,故传输数据的同时

11、还要传输时钟。v同步通讯速率比异步通讯高,但更复杂。同步通讯帧格式v同步字符用于确认数据字符的开场。v数据字符个数不受限制,由所需传输的数据块长度决议。v校验字符用于接纳端对接纳到的数据字符的正确性检验。同步同步字符字符1同步同步字符字符2数据数据字符字符1数据数据字符字符2数据数据字符字符nCRC1CRC2串行通讯的制式v按数据传输方向,可分为单工、半双工、双工三种制式。单工根本曾经淘汰。v半双工Half Duplex:允许信息在两个方向上传输,但收发双方间只需一个通讯回路,分时发送与接纳。串行通讯的制式v全双工Full Duplex:存在两个通讯回路,在任何时辰,通讯中的每一方可以同时发送

12、和接纳。电平转换vRS-232C采用负逻辑,逻辑“0为+5 +15V,逻辑“1为-15 -5V。v接纳端+3V +15V辨以为“0,-3V -15V辨以为“1,噪声容限2V。 v假设采用TTL电平,经过长间隔传输,能够使发送端的“1到达接纳端是衰减成“0。v该接口与TTL电平衔接时需求进展电平转换。常用芯片为MAX232/3232。8051的串行口v51内部有一个全双工的串行口,可实现串行异步通讯。v假设在输入/输出引脚加上电平转换器,可构成规范的RS-232接口。v有4种任务方式。v串口主要由SCON和PCON中的SMOD位控制。串口控制存放器SCONvSM0/1:串口方式控制。vSM2:多

13、机通讯控制位。vREN:允许接纳位。vTB8/RB8:发送/接纳数据位8,用于方式2和3。vTI:发送中断标志,发送完一帧后硬件置位,发送前软件复位。vRI:接纳中断标志,收取完一帧后硬件置位,读取后软件复位vTI和RI合用一个中断向量,可以在呼应中断后读取TI和RI值,以确定产生的是哪一个中断。任务方式-0v同步移位存放器v相当于一个并入串出的移位存放器。v并行数据由内部总线进入SBUF,由TxD线串行送出。vSM2,TB8,RB8应设置为0。v波特率固定为 fosc/12v普通用于外接移位存放器扩展并口。任务方式-1v10位异步通讯。1位起始位 + 8位数据位 + 1位停顿位。vSM2应设

14、置为0。v波特率可变,受定时器控制。v发送过程:v确保TI = 0;v将待发送数据装入SBUFSBUF = 0 xAA。 v硬件自动在数据两端添加起始和停顿位。v在时钟作用下,在TxD线上依次出现10位。v终了后维持TxD为高,并将TI置位。任务方式-1v接纳过程:v确保RI = 0和REN = 1。v检测到起始位后,在时钟作用下依次检测RxD上出现的8位数据。v检测到停顿位后,将8位数据放入SBUF,并将停顿位放入RB8。v用户从SBUF中读出数据rxbuf = SBUF,并去除RI中断。任务方式-2,3v11位异步收发,方式2为固定波特率,方式3波特率可变。v发送时将第9位数据装入TB8,

15、既可为奇偶校验位,也可为控制位。v接纳时:v假设SM2 = 0,无论第9位是什么,都把数据放入SBUF,并产生中断。适用于奇偶校验。v假设SM2 = 1,只需第9位是“1时,才把数据放入SBUF,并产生中断。波特率计算v方式0: 固定为 fosc / 12。v方式2:v方式1,3:OSCf642SMOD波特率的溢出率波特率1322SMODT初值的溢出率KOSCfT21121初值波特率KOSCf2112322SMOD123222K波特率初值OSCSMODf波特率计算vT1作波特率发生器时,通常任务在方式2,防止繁琐的反复装入初值,以及由此带来的定时误差。v由于定时器初值只能为整数,呵斥生成的波特率有一定误差。v假设要稳定通讯,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论