单片机第四章 功能单元.ppt

  1. 1、本文档共102页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机第四章 功能单元

如:fosc=6MHZ,SMOD=1,波特率=2400 bps,则时间常数 设置波特率的初始化程序段如下: MOV TMOD,#20H;设置定时/计数器1工作于定时; 工作方式2 MOV TH1,#0F3H MOV TL1,#0F3H ;设置时间常数N MOV PCON,#80H ;SMOD=1 MOV SCON,#50H ;串行工作方式字 0101 0000B SETB TR1 ;启动定时/计数器 常用波特率与定时/计数器1各参数关系(串行方式1和3) 波特率 振荡频率 SMOD T1方式 重新装入值 62.5k 12MHZ 1 2 FFH 19.2k 11.059MHZ 1 2 FDH 9.6k 11.059MHZ 0 2 FDH 4.8k 11.059MHZ 0 2 FAH 2.4k 11.059MHZ 0 2 F4H 1.2k 11.059MHZ 0 2 E8H 137.5 11.059MHZ 0 2 1DH 110 6MHZ 0 2 72H 关于SMOD位对波特率影响 波特率加倍位的设置,对波特率的精度有一定影响 设波特率=2400位/秒, fosc=6MHZ,定时/计数器1工作于定时、方式2。 1)设SMOD=0 将N=F9代入,可求得实际波特率为: 2)设SMOD=1 将N代入,求得实际波特率为: 为了保证通讯的可靠性,通常波特率的相对误差应不大于2.5% 五)串行通讯程序的编写 1、设置串行通讯工作方式 因为串行控制寄存器SCON可位寻址,所以即可采用位寻址指令,也可采用字节寻址指令,设置串行控制字 设串行通讯口工作于方式1,允许接收,则控制字为 置控制字指令:MOV SCON,#50H 或 SETB SM1 SETB REN 2、第9位数据 在方式2和方式3时,待发送的第9位数据由TB8提供 编程方法:先设置TB8,再写入SBUF,启动发送;接收到的第9位数据为RB8,可用软件测试。 例:串行通讯口工作在方式2,第9位为奇偶校验位 MOV SCON,#90H MOV A,@R0 MOV C , P MOV TB8 , C MOV SBUF , A ;设置SCON ;待发送数据写入A ;奇偶校验位至C ;设置TB8为奇偶校验位 ;启动发送 3、中断标志位的处理 当串行通讯口发送完或接收完一帧数据,都会置位中断请求标志TI或RI,向主机请求中断。进入中断服务程序后,必须用软件清除 接收中断标志RI的清除: CLR RI ;清除RI MOV A,SBUF ;将接收到的数据写入A 发送中断标志TI的清除: CLR TI ;清除TI MOV SBUF,A ;启动下一次串行发送 4、程序举例 例1、设fosc=11.059MHZ,要求以9600bps,方式1,发送HELLO这五个字符 MOV TMOD,#20H MOV TH1,#0FDH MOV TL1,#0FDH MOV SCON, #40H SETB TR1 MOV SBUF,#’H’ JNB TI, WTH CLR TI MOV SBUF,#’E’ WTH: JNB TI,WTE CLR TI MOV SBUF,#’L’ JNB TI,WTL CLR TI … … … … WTE: WTL: 例2、主频,波特率不变,以方式1从串行口接收十个字符,并存放在40H开

文档评论(0)

zw4044 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档