双机串行通信(取号机 PCL).doc_第1页
双机串行通信(取号机 PCL).doc_第2页
双机串行通信(取号机 PCL).doc_第3页
双机串行通信(取号机 PCL).doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

甲机程序D1 BIT P0.0 ;发光管端口定义D2 BIT P0.1K1 BIT P3.5 ;按键端定义ORG 0000H ;复位地址LJMP MAINORG 0023H ;串口中断地址LJMP SERIAL_INTORG 0100H ;主程序存放地址MAIN:MOV SP,#60H ;堆栈地址 MOV SCON,#50H ;串口工作方式1,允许接收(数据为8位) MOV TMOD,#20H ;定时器T1工作方式2,8位可重装初值 MOV PCON,#00H ;波特率不倍增 MOVTH1,#0FDH ;T1赋初值(波特率位9600b/s) MOVTL1,#0FDH CLR TI ;发送标志清零 CLR RI ;接收标志清零 SETB TR1 ;启动T1 MOV IE,#90H ;开放串口中断和总中断 MOV P1,#00H ;LED数码管熄灭L0: SETB D1 SETB D2 CALL DELAY JB K1,L0 ;检测按键第一次闭合 JNB K1,$ ;等按键松开L1: MOV R1,#1 ;发送“1”至串口 MOV SBUF,R1 ;数据发送缓存区 CPL D1 SETB D2 ;D1闪烁D2熄灭 CALL DELAY JB K1,L1 ;检测按键第二次闭合 JNB K1,$ L2: MOV R1,#2 ;发送“2”至串口 MOV SBUF,R1 SETB D1 CPL D2 ;D2闪烁D1熄灭 CALL DELAY JB K1,L2 JNB K1,$L3: MOV R1,#3 MOV SBUF,R1 CPL D1 CPL D2 CALL DELAY JB K1,L3 JNB K1,$ MOV R1,#4 MOV SBUF,R1 AJMP L0 ;跳转至L0,继续检测按键DELAY:MOV R7,#20 ;延时程序DELAY1:MOV R6,#250 DJNZ R6,$ DJNZ R7,DELAY1 RET ;串口中断服务程序SERIAL_INT:JB TI,LOOP1 ;若为发送中断,直接跳至L5 JB RI,LOOP0 ;若为接收中断,则顺序执行以下程序LOOP0: CLR RI ;清除接收标志 MOV A,SBUF ;查表,将对应的7段码送LED数码管显示 MOV DPTR,#TABLE MOVC A,A+DPTR MOV P1,ALOOP1: CLR TI RETI ;中断返回TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;7段代码表(09) END乙机程序D1 BIT P0.0D2 BIT P0.1K2 BIT P3.5 ;定义端口ORG 0000HLJMP MAINORG 0023HLJMP SERIAL_INTORG 0100HMAIN:MOV SP,#60H MOV SCON,#50H MOV TMOD,#20H MOV PCON,#00H MOVTH1,#0FDH MOVTL1,#0FDH CLR TI CLR RI SETB TR1 MOV IE,#90H MOV P1,#00H ;同甲机注释 SETB D1 SETB D2 ;两灯全熄灭 MOV R1,#0 ;按键计数器LOOP:JB K2,LOOP ;检测按键闭合 JNB K2,$ ;等待按键松开 MOV SBUF,R1 ;按键计数值发送到缓冲区 MOV A,R1 ;将按键计数值送到LED数码管显示 MOV DPTR,#TABLE MOVC A,A+DPTR MOV P1,A INC R1 ;按键计数值加一 CJNE R1,#10,LOOP ;按键计数值是否等于10 MOV R1,#0 ;按键计数值清零 AJMP LOOPSERIAL_INT: JB TI,L5 ;若为发送中断,直接跳至L5 JB RI,L0 ;若为接收中断,则顺序执行以下程序L0: CLR RI ;接收标志清零 MOV R0,SBUF ;接收缓冲区数据存入R0 CJNE R0,#1,L1 ;接收缓冲区数值与1比较 CPL D1 SETB D2 CALL DELAYL1: CJNE R0,#2,L2 ;接收缓冲区数值与2比较 SETB D1 CPL D2 CALL DELAYL2: CJNE R0,#3,L3 ;接收缓冲区数值与3比较 CPL D1 CPL D2 CALL DELAYL3: CJNE R0,#4,L4 ;接收缓冲区数值与4比较 SETB D1 SETB D2 CALL DELAY RETI ;中断返回L5: CLR TIL4: RETI ;延时程序DELAY:MOV R7,#20DELAY1:MOV

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论