版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、附录一 程序代码红外遥控编码程序#include<reg51.h>#define uchar unsigned char#define uint unsigned int#define uintlong unsigned longsbit p3_0=P30;sbit p2_1=P21;sbit p1_0=P10;sbit p1_1=P11;sbit p1_2=P12;sbit p1_3=P13;bit out;uint keyvalue=0x00,flag_key=0,value1,value2,keycount=0,i,j,flag_set=0,flag_press=0;ucha
2、r code keycode4=0x7f,0xbf,0xdf,0xef;uchar codeportvalue12=0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x00,0x0b;uchar code wy8=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80;/*红外发送部分*/uchar user1=0x00,user2=0x00; uint count=0,endcount=0;uint irdata=0;void deltime(void);void key_scan(void);void sendir
3、data(void);main(void) EA = 1; TMOD = 0x11; ET0 = 1; p3_0=1; P1=0xff; TH0 = 0xFF; TL0 = 0xE4; TR0 = 0; while(1) key_scan(); if(flag_press=1) flag_press=0; TR0=1; sendirdata(); /*按键扫描*/void key_scan(void) for(i=0;i<=3;i+) P1=keycodei; if(p1_3=0) keycount=i*3+0;flag_key=1; break; if(p1_2=0) keycount
4、=i*3+1;flag_key=1;break; if(p1_1=0) keycount=i*3+2;flag_key=1;break; if(flag_key=1) flag_key=0; value1=P1; deltime(); value2=P1; if(value1=value2)keyvalue=portvaluekeycount;flag_set=1;flag_press=1; while(flag_set) value2=P1; if(value1!=value2) flag_set=0; /*延时*/void deltime(void) uint k; for(k=0;k&l
5、t;=20;k+) /*定时中断*/void time0int(void) interrupt 1 TH0=0xFF; TL0=0xE4; count+;/*发送数据*/void sendirdata() uchar s=0,datapd=0; endcount=320; p3_0=0; count=0; dowhile(count<endcount); endcount=180; count=0; p3_0=1; dowhile(count<endcount); for(s=0;s<=11;s+) endcount=20; count=0;p3_0=0; dowhile(c
6、ount<endcount);endcount=20; count=0;p3_0=1; dowhile(count<endcount);irdata=keyvalue; for(s=0;s<=7;s+) datapd=irdata & wys; if (datapd=0) endcount=20;count=0;else endcount=60;count=0; p3_0=0; dowhile(count<endcount);endcount=20;count=0; p3_0=1; dowhile(count<endcount); irdata=keyva
7、lue; for(s=0;s<=7;s+) datapd=irdata & wys; if (datapd=0) endcount=60;count=0; else endcount=20;count=0;p3_0=0; dowhile(count<endcount); endcount=20;count=0; p3_0=1; dowhile(count<endcount); TR0=0;红外遥控解码及驱动程序COUNT EQU 30H FLAG_USER1 EQU 45H FLAG_USER2 EQU 46H SAVEDATA EQU 47H CS1 EQU P3.
8、0CS2 EQU P3.1RS EQU P3.3RW EQU P3.4E EQU P3.5PAGES EQU 56HCOLUMN EQU 57HNUM EQU 58HORG 0000HLJMP MAINORG 0003HLJMP EXTER0INTORG 000BHLJMP TIMER0INTORG 1000HMAIN:MOV P1,#0C5H SETB P3.6 SETB P3.7 MOV TMOD,#01H ;中断初始化 MOV TH0,#0FFH MOV TL0,#9CH SETB EA SETB IT0 SETB ET0 SETB EX0 MOV R0,52H ;数据接收初始化 MOV
9、 52H,#00H MOV 53H,#00H MOV 54H,#00H MOV 55H,#00H MOV 51H,#00H MOV COUNT,#00H MOV R1,#08H MOV R2,#02H CLR PSW.5 ;数据接收标志 CLR PSW.1 ;数据处理标志 MOV FLAG_USER1,#00H LCALL CLEAR MOV DPTR,#TAB0 ;显示初始化 MOV PAGES,#1 MOV COLUMN,#0 LCALL LCD_DISP MOV DPTR,#TAB2 MOV PAGES,#1 MOV COLUMN,#16 LCALL LCD_DISP MOV DPTR,
10、#TAB1 MOV PAGES,#1 MOV COLUMN,#32 LCALL LCD_DISP MOV DPTR,#TAB3 MOV PAGES,#1 MOV COLUMN,#48 LCALL LCD_DISP MOV DPTR,#TAB4 MOV PAGES,#1 MOV COLUMN,#64 LCALL LCD_DISP MOV DPTR,#TAB5 MOV PAGES,#1 MOV COLUMN,#80 ;显示红外遥控模式 LCALL LCD_DISP MOV DPTR,#TAB6 MOV PAGES,#3 MOV COLUMN,#0 LCALL LCD_DISP MOV DPTR,#
11、TAB7 MOV PAGES,#3 MOV COLUMN,#16 LCALL LCD_DISP MOV DPTR,#TAB8 MOV PAGES,#3 MOV COLUMN,#32 LCALL LCD_DISP MOV DPTR,#TAB10 MOV PAGES,#3 MOV COLUMN,#64 LCALL LCD_DISP MOV DPTR,#TAB9 MOV PAGES,#3 MOV COLUMN,#48 LCALL LCD_DISP ;显示状态:初始LOOP: ;是否进行数据处理 JNB PSW.1,$ LCALL DATACHULI CLR PSW.1 MOV A,SAVEDATA
12、LCALL DATASHOWENDLOOP: LJMP LOOPEXTER0INT: ;外部中断 SETB TR0 MOV 30H,#00H RETITIMER0INT: ;定时中断,数据的验证和接收. MOV TH0,#0FFH MOV TL0,#9CH INC 30H SETB P3.2 MOV C,P3.2 JB PSW.5,DATARECEIVEPD JNC ENDTIMER0INT MOV A,30H CLR C SUBB A,#90 JC ENDTIMER0INT SETB PSW.5 CLR TR0 MOV R1,#08H MOV 51H,#00H MOV R0,#52H MOV
13、 R2,#04H ;共接受两组数据 LJMP ENDTIMER0INT DATARECEIVEPD: ;数据接收判断 JNC ENDTIMER0INT CLR TR0 MOV A,30H CLR TR0 SUBB A,#10 JC ORECEIVE SETB C MOV A,51H RRC A MOV 51H,A LJMP WENDPDORECEIVE: CLR C MOV A,51H RRC A MOV 51H,AWENDPD: DJNZ R1,ENDTIMER0INT ;重复两次接收,确保存储. MOV R1,#08H MOV R0,51H MOV R0,51H INC R0 MOV 51
14、H,#00H DJNZ R2,ENDTIMER0INT CLR PSW.5 SETB PSW.1 SETB P0.0ENDTIMER0INT: ;定时中断结束 RETIDATACHULI: ;数据处理 MOV A,52H CLR C SUBB A,FLAG_USER1 JNZ ENDDATACHULI MOV A,54H ANL A,55H JNZ ENDDATACHULI MOV A,54H MOV SAVEDATA,A MOV 52H,#00H MOV 53H,#00H MOV 54H,#00H MOV 55H,#00HENDDATACHULI: ;处理完成,返回主程序 RETDATASH
15、OW: ;判断接收信号,进行相应处理 CJNE A,#00H,CON1 LJMP AOTO ;状态判断CON1:CJNE A,#02H,CON2 MOV P1,#0FAH MOV DPTR,#TAB11 MOV PAGES,#3 LJMP ENDDATASHOW ;后转并显示 CON2:CJNE A,#04H,CON3 MOV P1,#0E5H MOV DPTR,#TAB12 MOV PAGES,#3 LJMP ENDDATASHOW ;左转并显示CON3:CJNE A,#05H,CON4 MOV P1,#0C5H MOV DPTR,#TAB13 MOV PAGES,#3 LJMP ENDDA
16、TASHOW ;停转并显示CON4:CJNE A,#06H,CON5 MOV P1,#0D5H MOV DPTR,#TAB14 MOV PAGES,#3 LJMP ENDDATASHOW ;右转并显示CON5:CJNE A,#08H,CON6 MOV P1,#0F5H MOV DPTR,#TAB15 MOV PAGES,#3 LJMP ENDDATASHOW ;前转并显示CON6:JMP ENDDATASHOW1ENDDATASHOW: MOV COLUMN,#48 LCALL LCD_DISP MOV DPTR,#TAB16 MOV PAGES,#3 MOV COLUMN,#64 LCALL
17、 LcD_DISPENDDATASHOW1: RETAOTO:MOV P1,#0C0H ;寻迹壁障程序 MOV DPTR,#TAB17 MOV PAGES,#1 MOV COLUMN,#0 LCALL LCD_DISP MOV DPTR,#TAB18 MOV PAGES,#1 MOV COLUMN,#16 LCALL LCD_DISP MOV DPTR,#TAB19 MOV PAGES,#1 MOV COLUMN,#32 LCALL LCD_DISP MOV DPTR,#TAB20 MOV PAGES,#1 MOV COLUMN,#48 LCALL LCD_DISP ;显示寻迹避障 MOV D
18、PTR,#TAB10 MOV PAGES,#3 MOV COLUMN,#64 LCALL LCD_DISP MOV DPTR,#TAB9 MOV PAGES,#3 MOV COLUMN,#48 LCALL LCD_DISP ;显示初始 LCALL DLY ;模式工作前等待3秒AOTO1: ;自动寻迹避障程序 MOV DPTR,#TAB15 MOV PAGES,#3 MOV COLUMN,#48 LCALL LCD_DISP MOV DPTR,#TAB16 MOV PAGES,#3 MOV COLUMN,#64 LCALL LCD_DISP ;显示前转 MOV P1,#0F5H JNB PSW.
19、5,AOTO2 ;检测红外信号 LCALL CLEAR MOV P1,#0C5H LCALL DLY1 LJMP MAIN AOTO2: JNB P1.6,ZZ ;状态判断 JNB P1.7,YZ JNB P3.6,HT JNB P3.7,HT SJMP AOTO1 ZZ:MOV P1,#0E5H ;右寻迹灯亮 MOV DPTR,#TAB12 MOV PAGES,#3 MOV COLUMN,#48 LCALL LCD_DISP LCALL DLY SJMP DD YZ:MOV P1, #0D5H ;左寻迹灯亮 MOV DPTR,#TAB14 MOV PAGES,#3 MOV COLUMN,#4
20、8 LCALL LCD_DISP LCALL DLY LJMP DD HT:MOV P1,#0FAH ;发现障碍物 MOV DPTR,#TAB11 MOV PAGES,#3 MOV COLUMN,#48 LCALL LCD_DISP LCALL DLY SJMP ZZ DD:LJMP AOTO1DLY:MOV R7,#0BDH ;3秒延时DL1:MOV R6,#0E6HDL0:MOV R5,#21H DJNZ R5,$ DJNZ R6,DL0 DJNZ R7,DL1 RETDLY1:MOV R7,#0A7H ;1秒延时DL3:MOV R6,#0ABHDL2:MOV R5,#10H DJNZ R
21、5,$ DJNZ R6,DL2 DJNZ R7,DL3 NOP RETCLEAR: MOV R4,#00H ;清屏程序CLEAR1:MOV A ,R4 ORL A,#0B8H MOV B,A LCALL WCL0 LCALL WCR0 MOV B,#40H LCALL WCL0 LCALL WCR0 MOV R3,#40HCLEAR2:MOV B,#00H LCALL WCL1 LCALL WCR1 DJNZ R3,CLEAR2 INC R4 CJNE R4, #08H, CLEAR1 RETLCD_DISP: ;汉字显示程序 MOV R1,#02H MOV R0,#00H MOV NUM,#
22、10H DISP: MOV R4,NUMDISPWORD:MOV A,COLUMN CLR C SUBB A,#63 JNC YXP MOV A,COLUMN ORL A,#40H MOV B,A LCALL WCL0 MOV A,PAGES ORL A,#0B8H MOV B,A LCALL WCL0 DISPDATA1:INC COLUMN MOV A,R0 MOVC A,A+DPTR MOV B,A LCALL WCL1 LJMP NEXTDISP YXP:MOV A,COLUMN CLR C SUBB A,#64 ORL A,#40H MOV B,A LCALL WCR0 MOV A,
23、PAGES ORL A,#0B8H MOV B,A LCALL WCR0DISPDATA2:INC COLUMN MOV A,R0 MOVC A,A+DPTR MOV B,A LCALL WCR1NEXTDISP:INC R0 DJNZ R4,DISPWORD MOV A,COLUMN CLR C SUBB A,#10H MOV COLUMN, A INC PAGES DJNZ R1,DISP RETWCL0: CLR CS1 SETB CS2 CLR RS SETB RWWCL00: MOV P2,#0FFH SETB E MOV A,P2 CLR E JB ACC.7,WCL00 CLR
24、RW MOV P2, B SETB E NOP CLR E RETWCL1: CLR CS1 SETB CS2 CLR RS SETB RWWCL11: MOV P2,#0FFH SETB E MOV A,P2 CLR E JB ACC.7,WCL11 CLR RW SETB RS MOV P2, B SETB E CLR E RETWCR0: SETB CS1 CLR CS2 CLR RS SETB RWWCR00: MOV P2,#0FFH SETB E MOV A,P2 CLR E JB ACC.7,WCR00 CLR RW MOV P2, B SETB E CLR E RETWCR1:
25、 SETB CS1 CLR CS2 CLR RS SETB RWWCR11: MOV P2,#0FFH SETB E MOV A,P2 CLR E JB ACC.7,WCR11 CLR RW SETB RS MOV P2, B SETB E CLR E RETTAB0:DB 20H,30H,0ACH,63H,20H,10H,04H,04H,04H,04H,0FCH,04H,06H,04H,00H,00H,22H,67H,22H,12H,12H,52H,40H,40H,40H,40H,7FH,40H,40H,60H,40H,00H ; 红TAB1:DB 40H,42H,44H,0CCH,00H,
26、42H,36H,2AH,22H,0FEH,21H,29H,25H,80H,00H,00H,00H,40H,20H,1FH,21H,41H,5DH,49H,49H,4FH,49H,49H,5DH,61H,21H,00H ; 外TAB2:DB 00H,80H,0E0H,18H,17H,10H,90H,70H,00H,0FFH,20H,40H,80H,00H,00H,00H,01H,40H,20H,11H,0AH,04H,03H,00H,00H,0FFH,00H,00H,00H,01H,03H,00H ; 遥TAB3:DB 10H,10H,10H,0FFH,90H,50H,0CH,44H,24H,1
27、5H,06H,14H,24H,54H,0CH,00H,02H,42H,81H,7FH,00H,40H,42H,42H,42H,42H,7EH,42H,43H,62H,40H,00H ; 控TAB4:DB 10H,10H,0D0H,0FFH,94H,14H,0E4H,0BFH,0A4H,0A4H,0A4H,0BFH,0F4H,26H,04H,00H,04H,03H,00H,0FFH,08H,89H,8BH,4AH,2AH,1EH,2AH,2AH,4BH,0C8H,48H,00H ; 模TAB5:DB 10H,10H,90H,90H,90H,90H,90H,10H,0FFH,10H,12H,14H
28、,10H,18H,10H,00H,00H,20H,60H,20H,1FH,10H,10H,08H,01H,06H,18H,20H,40H,80H,70H,00H ; 式TAB6:DB 00H,08H,30H,00H,0FFH,20H,20H,20H,20H,0FFH,20H,22H,24H,30H,20H,00H,08H,0CH,02H,01H,0FFH,40H,20H,1CH,03H,00H,03H,0CH,30H,60H,20H,00H; 状TAB7:DB 04H,04H,84H,84H,44H,24H,54H,8FH,14H,24H,44H,44H,84H,86H,84H,00H,01H
29、,21H,1 CH,00H,3CH,40H,42H,4CH,40H,40H,70H,04H,08H,31H,00H,00H; 态TAB8:DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,036H,036H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H ;:TAB9:DB 10H,10H,91H,0D6H,30H,98H,00H,08H,08H,0F8H,08H,08H,08H,0FCH
30、,08H,00H,02H,01H,00H,0FFH,01H,82H,40H,20H,18H,07H,40H,80H,40H,3FH,00H,00H ; 初TAB10:DB 10H,10H,0F0H,1FH,10H,0F0H,40H,60H,58H,47H,40H,40H,50H,60H,0C0H,00H,40H,22H,15H,08H,16H,61H,00H,0FEH,42H,42H,42H,42H,42H,0FFH,02H,00H;始TAB11:DB 00H,00H,0FCH,24H,24H,24H,24H,24H,24H,22H,22H,23H,0A2H,30H,20H,00H,40H,3
31、0H,0FH,00H,00H,0FFH,41H,41H,41H,41H,41H,41H,0FFH,01H,00H,00H;后TAB12:DB 08H,08H,08H,08H,88H,78H,0FH,08H,08H,08H,08H,88H,0CH,08H,00H,00H,20H,50H,48H,46H,41H,41H,41H,41H,7FH,41H,41H,41H,41H,60H,40H,00H;左TAB13:DB 40H,20H,0F8H,07H,00H,04H,74H,54H,55H,56H,54H,54H,76H,04H,00H,00H,00H,00H,0FFH,04H,03H,01H,05H,45H,85H
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深度解析(2026)《GBT 30273-2013信息安全技术 信息系统安全保障通 用评估指南》
- 2026年中学物理力学试题及答案
- 深度解析(2026)《GBT 29781-2013电动汽车充电站通 用要求》
- 深度解析(2026)《GBT 29844-2013用于先进集成电路光刻工艺综合评估的图形规范》
- 《GBT 8170-2008数值修约规则与极限数值的表示和判定》(2026年)合规红线与避坑实操手册
- 《DLT 1203-2013火力发电厂水汽中氯离子含量测定方法 硫氰酸汞分光光度法》(2026年)合规红线与避坑实操手册
- 2026年生物识别门禁系统开发协议
- 浙江省温州市瓯海、乐清、苍南、永嘉2025年九年级二模英语(含答案)
- 2025北京育才中学高三(上)期中化学试题及答案
- 2025北京朝阳区高三(上)期中数学试题及答案
- 2026年机电维修电工考试试题及答案
- 对外投资合作国别(地区)指南 2025 秘鲁
- 义务教育均衡发展质量监测八年级综合试卷测试题
- 2026年检察院聘用制书记员招聘笔试试题(含答案)
- 2025年护理质控工作总结及2026年工作计划汇报
- 2025年宁夏事业单位招聘考试(面试)细选试题及试题答案解析
- 2025年微生物检验技术真题卷
- 2024年江苏省苏州市中考化学真题(解析版)
- GB/T 46585-2025建筑用绝热制品试件线性尺寸的测量
- 医药信息咨询公司管理制度
- AI助力城市轨道交通的多专业综合智能维护
评论
0/150
提交评论