欢迎来到天天文库
浏览记录
ID:59241258
大小:26.00 KB
页数:2页
时间:2020-09-09
《单片机串口通信程序集.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、单片机串口通信程序集串口通信的单片机程序beep bit p3.7 ;蜂鸣器定义org00h jmpmain org23h ;串行中断入口地址 jmpcom_int ;串行中断服务程序;*********** 主程序开始 ******************* org30h main: movsp,#30h ;设置堆栈
2、 lcallrest ;初始化 lcallcomm ;串口初始化 jmp$ ;原地等待; ************* 初始化 ********************* rest: movp0,#00h ;禁止数码管显示 movp2,#255 clr beep ;禁止蜂鸣器 movp1,#
3、255 ;禁止LED显示 RET ;返回;************** 串口初始化 *****************;设置串行口工作方式1,定时器1作为波特率发生器;波特率设置为 2400 ;comm: movtmod,#20h ;设置定时器T1工作方式2 movtl1,#0f3h ;定时器计数初值,波特率2400 movth1,#0f3h
4、 ;定时器重装值 setbea ;允许总的中断 setbes ;允许串行中断 movpcon,#00h ;波特率不倍增 movscon,#50h ;设置串口工作方式1,REN=1允许接收 setbtr1 ;定时器开始工作
5、 ret ;返回;*************** 串口中断服务程序 ***********; 如果接收 0FF 表示上位机需要联机信号,单片机发送0FFH作为; 应答信号,如果接收到数字1~n,表示相应的功能;; 这里,如果收到1,则单片机向计算机发送字符 'H';; 如果收到2,则单片机向计算机发送字符 'e';; 如果收到其他的数据,则发送 'J';com_int: clres
6、 ;禁止串行中断 clrri ;清除接收标志位 mova,sbuf ;从缓冲区取出数据 movp1,a movdptr,#tab cjnea,#0ffh,in_1 ;检查数据 movsbuf,#255 ;收到联机信号,发送联机信号
7、 jnbti,$ ;等待发送完毕 clrti ;清除发送标志 setbes ;允许串行中断 reti ;中断返回 in_1:cjnea,#1H,in_2 ;如果收到1 movca,@a+dptr
8、 movsbuf,a ;发送'h' jnbti,$
此文档下载收益归作者所有