- 1、本文档共36页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第07讲:MCS-51单片机的串行通讯概要
甲机发送(采用查询方式): MOV SCON, #80H ; 设置工作方式2 MOV PCON, #00; 置SMOD=0, 波特率不加倍 MOV R0, #40H ; 数据区地址指针 MOVR2, #10H ; 数据长度 LOOP: MOV A, @R0 ; 取发送数据 MOV C, P ; 奇偶位送TB8 MOVTB8, C MOV SBUF, A ; 送串口并开始发送数据 补充: 串行口的应用 WAIT: JBCTI, NEXT ; 检测是否发送结束并清TI SJMP WAIT NEXT: INC R0; 修改发送数据地址指针 DJNZR2, LOOP RET 乙机接收(查询方式): MOV SCON, #90H; 模作模式2, 并允许接收 MOV PCON, #00H; 置SMOD=0 MOV RO, #60H ; 置数据区地址指针 MOV R2, #10H ; 等待接收数据长度 补充: 串行口的应用 LOOP: JBC RI, READ ; 等待接收数据并清RI SJMP LOOP READ: MOV A, SBUF ; 读一帧数据 MOV C, P JNC LP0 ; C不为 1 转LP0 JNB RB8, ERR ; RB8=0, 即 RB8不为 P转ERR AJMP LP1 LP0: JB RB8, ERR ; RB8=1, 即 RB8不为 P转ERR LP1: MOV @R0, A ; RB8=P, 接收一帧数据 INC R0 DJNZ R2, LOOP RET ERR: … ; 出错处理程序 … 补充: 串行口的应用 例 2 单片机和PC之间利用串行口进行通信 51单片机有一个全双工的串行通讯口,和PC机之间可以方便地进行串口通讯。电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,可以采用专用芯片MAX232,也可以用几个三极管进行转换,但还是用专用芯片简单可靠。 一般采用了三线制连接串口,也就是说和电脑的9针串口只连接其中的3根线:第5脚的GND、第2脚的RXD、第3脚的TXD。 补充: 串行口的应用 TTL电平和RS-232电平的转换 补充: 串行口的应用 习题与思考题 2-1为什么外扩存贮器时,P0口要外接地址锁存器,而P2口却不接? 2-2在使用外部程序存贮器时,MCS-51单片机还有多少条I/O线可用?在使用外部数据存贮器时,还有多少条I/O线可用? 2-3单片机8031的时钟频率为6MHZ,若要求定时值分别为0.1ms,1ms和10ms,定时器0工作在方式0,方式1和方式2时,其定时器初值各应是多少? MCS-51单片机的定时器在何种设置下可提供3个8位计数/定时器?这时定时器1可作为串行口波特率发生器。若波特率9600,4800,2400,1200,600,100来考虑,则此时可选用的波特率是什么(允许一定误差)?设时钟为12MHZ。 2-5什么是中断?单片机为什么采用中断处理方式?中断处理的特点是什么?中断系统应具备哪些功能? 2-6 什么是中断处理的优先级?优先级处理的原则是什么?优先级排队是如何实现的?中断嵌套处理的原则是什么? 2-7 什么是中断矢量,中断矢量如何设定,它与中断源和中断服务子程序入口地址有什么关系? 2-8 中断处理和CPU调用子程序处理有什么相同点,最关键的一点区别是什么,试具体说明。 2-9 保护断点和保护现场各解决什么问题? 2-10 MCS-51的5个中断源、中断矢量的名称和地址是什么?若每个中断源的服务程序字节数超过了8个单元以上,用户将如何处理这个问题? 2-11 若要求中断源T0、T1、INT0和INT1允许中断,禁止串行口中断,将T0、T1设定为高优先级,INT0 ,INT1设定为低优先级,试填写IE、IP的各控制位,并进行初始化程序设定。 2-12 要求用8031的T0控制P1.0输出周期为2ms的连续方波。以知时钟为6MHZ;主程序入口地址为0500H;T0实际中断入口地址为0800H。试编写T0 编写初始
文档评论(0)