单片机原理及应用教程(C语言版)-第7章 MCS-51单片机的串行口精品.pptVIP

  • 10
  • 0
  • 约1.47万字
  • 约 79页
  • 2016-02-21 发布于湖北
  • 举报

单片机原理及应用教程(C语言版)-第7章 MCS-51单片机的串行口精品.ppt

C语言程序清单: #includereg52.h unsigned char buffer, k; void main() { SCON=0xd0; //置串口方式3, 允许接收 TMOD=0x20; //T1以模式2定时 TL1=0xfd; TH1=0xfd; TR1=1; ES=1; //开串行口中断 EA=1; //开总中断 7.4.2 异步方式应用 while(1) { k=key(); //读取按键值 if(k!=0xff) //无键按下返回0xff { ACC=k; //将键值送累加器,取P位 TB8=P; //送TB8 SBUF=ACC; //发送 } display(); //显示程序 } } 7.4.2 异步方式应用 void serial_server() interrupt 4 { if(TI) //发送引起,清TI TI=0; else //否则,接收引起 { RI=0; ACC=SBUF; //读取接收数据 if(RB8==P) //校验正确, buffer=ACC; //存入缓冲区 } } 7.4.2 异步方式应用 汇编语言程序清单: ORG 0000H SJMP MAIN ;跳转到主程序 ORG 23H LJMP S_SERV ;跳转到串口中断服务程序 MAIN: MOV SP,#0DFH ;设置堆栈指针 MOV SCON,#0D0H ;串口初始化 MOV TMOD,#20H ; T1以模式2定时 MOV TL1,#0FDH MOV TH1,#0FDH ;定时器1赋初值 7.4.2 异步方式应用 SETB TR1 ;启动定时器1 SETB ES ;开中断 SETB EA LOOP: LCALL KEY ;读取按键(存于A中), ;有键按下返回键值, CJNE A,#0FFH,SEND ;无键按下返回0FFH, ;有键按下转发送 NEXT: LCALL DISPLAY ;调用显示 SJMP LOOP ;主程序循环 7.4.2 异步方式应用 SEND: MOV C,P MOV TB8,C MOV SBUF,A ;带校验位发送 LJMP NEXT ;循环 S_SERV: ;中断服务程序 JBC RI,RECV ;是接收中断转接收处理 CLR TI ; 是发送中断,清TI RETI 7.4.2 异步方式应用 RECV: ;接收处理程序 MOV A,SBUF ;取接收值送A JB P,ONE ;校验位为1,转 JB RB8,I_END ;校验错,转中断返回 SJMP RIGHT ;校验正确,正确处理 ONE: JNB RB8,I_END ;校验错,转中断返回 RIGHT: MOV BUFFER,A ;接收数据送缓冲区 I_END: RETI ;中断返回 7.4.2 异步方式应用 7.5 单片机与PC机通信的接口电路 主要内容 7.6.1 MAX232芯片简介 7.6.2 PC机与89C52串行通 信的接口电路 利用PC机配置的异步通信适配器,可以很方便地完成PC机与单片机的数据通信。 PC机与89C52单片机最简单的连接是零调制3线经济型,这是进行全双工通信所必须的最少数目的线路。 7.5 单片机与PC机通信的接口电路 串行通信电平: 89C52单片机为TTL电平 PC机串行接口是RS-232C标准 数字值: 1 0 TTL电平: +5V 0V 232电平: -5V~-15V +5V~+15V 串行通信电平转换: 用MAX232等芯片 7.5 单片机与PC机通信的接口电路 7.5.1 MAX232芯片简介 MAX232芯片: 是MAXIM公司产品、包含两路接收器和两路驱动发送器,适用于各种EIA-232C和V.28/V.24的通信接口。 MAX232功能: 内部有电源电压变换器,可以把输入的+5V

文档评论(0)

1亿VIP精品文档

相关文档