




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
附录一 程序代码红外遥控编码程序#include#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;uchar 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 sendirdata(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=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=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(countendcount); endcount=180; count=0; p3_0=1; dowhile(countendcount); for(s=0;s=11;s+) endcount=20; count=0;p3_0=0; dowhile(countendcount);endcount=20; count=0;p3_0=1; dowhile(countendcount);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(countendcount);endcount=20;count=0; p3_0=1; dowhile(countendcount); irdata=keyvalue; 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(countendcount); endcount=20;count=0; p3_0=1; dowhile(countendcount); TR0=0;红外遥控解码及驱动程序COUNT EQU 30H FLAG_USER1 EQU 45H FLAG_USER2 EQU 46H SAVEDATA EQU 47H CS1 EQU P3.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 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,#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,#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 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 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 51H,#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: ;处理完成,返回主程序 RETDATASHOW: ;判断接收信号,进行相应处理 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 ENDDATASHOW ;停转并显示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 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 DPTR,#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.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,#48 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 R5,$ 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,#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,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 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: 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,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,15H,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,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,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,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,30H,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,7DH,05H
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025网络安全人员劳动合同
- 行政车辆安全培训标准化体系
- 2025至2030年中国快洁起蜡水行业投资前景及策略咨询报告
- 健康教育满意度
- 2025至2030年中国建筑嵌缝油膏行业投资前景及策略咨询报告
- 2025至2030年中国女子面纱行业投资前景及策略咨询报告
- 2025至2030年中国办公家具行业投资前景及策略咨询报告
- 2025合同范本供应商与分销商合作框架合同样本
- 民族医药考试试题及答案
- 2025年《二维设计制作》课程标准
- 安全文明施工措施费(终版)
- 2021年湖南省普通高中学业水平考试数学试卷及答案
- DL-T5588-2021电力系统视频监控系统设计规程
- 四川省成都市 2024年高一下数学期末考试试题含解析
- DZ∕T 0382-2021 固体矿产勘查地质填图规范(正式版)
- 《研学旅行课程设计》课件-研学课程方案设计
- 开票申请表模板
- MOOC 通信电路与系统-杭州电子科技大学 中国大学慕课答案
- 企业EHS风险管理基础智慧树知到期末考试答案2024年
- 红旗E-HS3保养手册
- 矿山汽车保养常识培训课件
评论
0/150
提交评论