- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
四、应用举例 ②计算计数器的计数初值: 编程时将计数初值送THi、 TLi; 可编程器件在使用前需要进行初始化: ①确定TMOD控制字:编程时将控制字送TMOD; ③ 开中断(如果使用中断方式): 编程实置位EA、ETi ④ TRi位置位控制定时器的启动和停止。 【例】若单片机晶振为12MHz,要求产生500μs的定时,试计算X的初值。 解:采用方式0: 500*10-6=(213-X)*12*1/fosc x=7692=1E0CH=1 1110 000 0 1100 F0H 0CH 即将F0H装入TH0,0CH装入TL0。 TMOD=GATE C/T M1M0 GATE C/T M1M0 0 0 0 0 0 0 00 00H 采用方式1: 500*10-6=(216-X )*12*1/fosc x=65036=FE0CH 即将FEH装入TH1,0CH装入TL1。 TMOD=GATE C/T M1M0 GATE C/T M1M0 0 0 01 0 0 0 0 10H main()函数中: MOD=0x01;//设置定时器0为工作方式1 TH0=0xFE; //定时器0高8位给初值 TL0=0xC0; //定时器0低8位给初值 EA=1; //开总中断 ET0=1; //开定时器0中断 TR0=1; //启动定时器0 程序编写 中断服务程序中重新装入定时初值 void timer0() interrupt 1 { TH0=0xFE; //定时器0高8位给初值 TL0=0xC0; //定时器0低8位给初值 } 51单片机的串口通信 51单片机的串行接口 一、 串行通信的基本概念 并行 和 串行 并行通信的优点是速度快,效率高,确点是不适合远距离通信。串行通信刚好相反。 单工:信息只能沿着一个方向传播 半双工:信息沿一条线双向传播,不能同时实 现双向传播。 全双工:使用两条独立的数据通道,收发可同时进行。 单工、半双工 和 全双工 同步方式和异步方式 (1) 同步方式是将一大批数据分成几个数据块, 数据块之间用同步字符予以隔开, 而传输的各位二进制码之间都没有间隔。 其基本特征是发送与接收时钟始终保持严格同步。 (2)异步通信是按帧传送数据, 它利用每一帧的起、止信号来建立发送与接收之间的同步,每帧内部各位均采用固定的时间间隔, 但帧与帧之间的时间间隔是随机的。其基本特征是每个字符必须用起始位和停止位作为字符开始和结束的标志, 它是以字符为单位一个个地发送和接收的。 同步方式和异步方式 二、 与串行口有关的特殊功能寄存器 1. 数据缓冲器SBUF 串行口缓冲器SBUF是可直接寻址的特殊功能寄存器, 其内部RAM字节地址是99H。在物理上, 它对应着两个独立的寄存器, 一个发送寄存器, 一个接收寄存器。发送时, 就是CPU写 SBUF的时候; 接收时, 就是读取SBUF的过程, 接收寄存器是双缓冲的, 以避免在接收下一帧数据之前, CPU未能及时响应接收器的中断, 没有把上一帧数据读走, 而产生两帧数据重叠的问题。 2. 串行口控制寄存器SCON SCON用于控制和监视串行口的工作状态, 其各位定义如图 5.3 所示。相应的各位功能介绍如下: ? SM0、SM1: 用于定义串行口的操作模式, 两个选择位对应 4 种模式,见表6.2。其中fOSC是振荡器频率, UART为通用异步接收和发送器的英文缩写。 SM2: 多机通信时的接收允许标志位。 在模式 2 和 3 中, 若SM2 = 1, 且接收到的第 9 位数据(RB8)是 0, 则接收中断标志(RI)不会被激活。在模式1中, 若SM2=1 且没有接收到有效的停止位, 则 RI不会被激活。 在模式 0 中, SM2 必须是 0。 SCON D7 D6 D5 D4 D3 D2 D1 D0 SM0 SM1 SM2 REN TB8 RB8 TI RI 特殊功能寄存器PCON中, 只有一位
文档评论(0)