资源描述:
《单片机与PC机串口通讯实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、单片机与PC机串口通讯实验报告自动化1003徐磊2010031203251.电路图2.程序流程图开始串口初始化设定接受数据存放位置开中断读数据到缓冲区且储存校队数据并点亮相应的LED灯结束3.程序清单ORG0000HAJMPMAINORG0023HAJMPINTRP;串口中断入口地址MAIN:MOVSCON,#50H;MOVTMOD,#20H;MOVTH1,#0fDh;SETBTR1;SETBEA;允许总的中断SETBESMOVR1,#01H;发送消息判断标志,1代表发送,0代表不发送CALLSHOW;发送显示灯选择消息LOOP:CALLLED1SJMPLOOPINTRP
2、:PUSHPSW;保存寄存器数据。PUSHACC;保存累加器CLREACLRESCLRRI;补充串口接收数据的代码MOVA,SBUFMOVR1,A;POPACC;取出保存累加器寄存器数据。POPPSW;SETBEA;允许总的中断SETBES;允许串行中断RETI;75LED1:CJNER1,#31H,LED2;点亮标号LED4的发光二极管MOVP1,#11111110B;MOVR1,#01H;发送消息判断标志,1代表发送,0代表不发送CALLSHOW;发送显示灯选择消息JMPRETURN;LED2:CJNER1,#32H,LED3;点亮标号LED5的发光二极管MOVP1,
3、#11111101B;MOVR1,#01H;发送消息判断标志,1代表发送,0代表不发送CALLSHOW;发送显示灯选择消息JMPRETURNLED3:CJNER1,#33H,LED4;点亮标号LED6的发光二极管MOVP1,#11111011B;MOVR1,#01H;发送消息判断标志,1代表发送,0代表不发送CALLSHOW;发送显示灯选择消息JMPRETURNLED4:;仿照上面程序补充完整LED7发光二极管的程序CJNER1,#34H,LED5;点亮标号LED7的发光二极管MOVP1,#11110111B;MOVR1,#01H;发送消息判断标志,1代表发送,0代表不发
4、送CALLSHOW;发送显示灯选择消息JMPRETURNLED5:CJNER1,#35H,LED6;点亮标号LED8的发光二极管MOVP1,#11101111B;MOVR1,#01H;发送消息判断标志,1代表发送,0代表不发送CALLSHOW;发送显示灯选择消息JMPRETURNLED6:CJNER1,#36H,LED7;点亮标号LED9的发光二极管MOVP1,#11011111B;MOVR1,#01H;发送消息判断标志,1代表发送,0代表不发送CALLSHOW;发送显示灯选择消息JMPRETURNLED7:CJNER1,#37H,LED8;点亮标号LED10的发光二极管
5、MOVP1,#10111111B;MOVR1,#01H;发送消息判断标志,1代表发送,0代表不发送CALLSHOW;发送显示灯选择消息JMPRETURNLED8:CJNER1,#38H,RETURN;点亮标号LED11的发光二极管MOVP1,#01111111B;MOVR1,#01H;发送消息判断标志,1代表发送,0代表不发送CALLSHOW;发送显示灯选择消息76JMPRETURN;RETURN:RET;SHOW:;发送显示灯选择消息“whichledislight?”CJNER1,#01H,END_SHOWSHOW_CHAR:MOVR6,#00H;MOVR7,#14H
6、;获取发送字符串长度TX_NEWS:MOVA,R6;MOVDPTR,#TAB;读取字符串地址MOVCA,@A+DPTR;补充串口发送数据的代码MOVSBUF,AWAIT3:JBCTI,NEXT2SJMPWAIT3NEXT2:INCR6;数据存放地址加1DJNZR7,TX_NEWS;判断发送完毕MOVR1,#00H;清除消息发送标志END_SHOW:RETTAB:DB77h,68H,69H,63H,68H,20H,6cH,65H,64H,20H,69H,73H,20H,6cH,69H,67H,68H,74H,3FH,0AH;;whichledislight?END