版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、遥控电子密码锁,整体设计思想:,P0.0P0.7,D0D7,8051,液晶1602,RS,P3.5,EN,P3.4,RW,P3.6,红外,INT0/P3.2,SDA,SCL,P2.0,P2.1,AT24C02,I2C 总线协议,I2C 总线协议定义如下 1 .只有在总线空闲时才允许启动数据传送 2 .在数据传送过程中当时钟线为高电平时数据线必须保持稳定状态不允许有跳变时钟线为高电平时数据线的任何电平变化将被看作总线的起始或停止信号 启动、停止I2C总线,void init() /24c02初始化子程序 scl=1; nop(); sda=1; nop(); void start() /启动I2
2、C总线 sda=1; nop(); scl=1; nop(); sda=0; nop(); scl=0; nop(); void stop() /停止I2C总线 sda=0; nop(); scl=1; nop(); sda=1; nop(); ,总线时序,选择读时序,void writebyte(unsigned char j) /写一个字节 unsigned char i,temp; temp=j; for (i=0;i8;i+) temp=temp1; scl=0; nop(); sda=CY;/temp左移时,移出的值放入了CY中 nop(); scl=1;/待sda线上的数据稳定后,
3、将scl拉高 nop(); scl=0; nop(); sda=1; nop(); ,unsigned char readbyte() /读一个字节 unsigned char i,j,k=0; scl=0; nop(); sda=1; /初始化 for (i=0;i8;i+) nop(); scl=1; nop(); if(sda=1) j=1; else j=0; k=(k1)|j; scl=0; nop(); return(k); ,void respons() /I2C总线时钟 unsigned char i=0; scl=1; nop(); while(sda=1) ,/从24c02
4、的地址address中读取一个字节数据/ unsigned char read24c02(unsigned char address) unsigned char i; start(); writebyte(0 xa0); respons(); writebyte(address); respons(); start(); writebyte(0 xa1); /最低位为1,读操作 respons(); i=readbyte(); stop(); delay1(100); return(i); ,/向24c02的address地址中写入一字节数据info/ void write24c02(uns
5、igned char address,unsigned char info) start(); writebyte(0 xa0);/最低为0,写操作 respons(); writebyte(address); respons(); writebyte(info); respons(); stop(); delay1(5000); /这个延时一定要足够长,否则会出错。因为24c02在从sda上取得数据后,还需要一定时间的烧录过程。 ,AT24C02,CAT24WC02是一个2K 位串行CMOS E2PROM。 本实验是利用24c02的第110到115地址单元作为密码存储区,同时掉电可记忆。,液
6、晶模块,初始化过程,/*- 初始化函数 -*/ void LCD_Init(void) LCD_Write_Com(0 x38); /*显示模式设置*/ DelayMs(5); LCD_Write_Com(0 x38); DelayMs(5); LCD_Write_Com(0 x38); DelayMs(5); LCD_Write_Com(0 x38); LCD_Write_Com(0 x08); /*显示关闭*/ LCD_Write_Com(0 x01); /*显示清屏*/ LCD_Write_Com(0 x06); /*显示光标移动设置*/ DelayMs(5); LCD_Write_Co
7、m(0 x0C); /*显示开及光标设置*/ ,/*- 写入字符函数 -*/ void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data) if (y = 0) LCD_Write_Com(0 x80 + x); else LCD_Write_Com(0 xC0 + x); LCD_Write_Data( Data); ,红外遥控模块,数据格式: 引导码是9ms+4.5ms,头码过后可以看到4个8位的数据,我们最终目的就是要把这个 32位(4x8)从一体化红外接收头提取出来,并转换成16进制数,用于区分不同按键按
8、下得出的不同数值。在遥控器发射波形中,可以看出,8位数中的0或者1不是用高低电平表示,而是用不同的低电平的宽度表示,0.565ms表示0,1.69ms表示1,2个位中间还会有一个0.56ms的高电平。,遥控器发射出去的含有载波的红外信号通过一体化红外接收头处理后得到的是含有载波的反向的波形,用中断方式,外部中断0和定时器,外部中断主要用于接收红外波形下降沿触发,定时器用于计时(测量2个下降沿的宽度)。基本原理分析如下,如接收到头码是4.5ms低电平+4.5ms高电平,我们分析 第一个下降沿到第二个下降沿的宽度是 9ms,我们判断这个头码可以给定一个范围,只要数据在这个范围内则认为头码是正确的,
9、检测头码正确后接着检测剩下的32位数值。,void tim0_isr (void) interrupt 1 using 1 irtime+; /用于计数2 个下降沿之间的时间 void EX0_ISR (void) interrupt 0 /外部中断0 服务函数 static unsigned char i; /接收红外信号处理 static bit startflag; /是否开始处理标志位 if(startflag) if(irtime=33)/引导码TC9012 的头码,9ms+4.5ms i=0; irdatai=irtime;/存储每个电平的持续时间,用于判断是0 还是1 irtim
10、e=0; i+; if(i=33) irok=1; i=0; else irtime=0; startflag=1; ,红外遥控器按键编码,switch(IRcord2)/判断第三个数码值 case 0 x16:key=0;wei+;break;/0 显示相应的按键 case 0 x0c:key=1;wei+;break;/1 case 0 x18:key=2;wei+;break;/2 case 0 x5e:key=3;wei+;break;/3 case 0 x08:key=4;wei+;break;/4 case 0 x1c:key=5;wei+;break;/5 case 0 x5a:key=6;wei+;break;/6 case 0 x42:key=7;wei+;break;/7 case 0 x52:key=8;wei+;break;/8 case 0 x4a:key=9;wei+;break;/9 case 0 x19
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 机场场道维护员安全生产知识评优考核试卷含答案
- 数据安全管理员安全生产意识模拟考核试卷含答案
- 水泥生产中控员岗前岗位晋升考核试卷含答案
- 陶瓷电容器制造工岗前发展趋势考核试卷含答案
- 脂肪酸氨化操作工安全知识竞赛知识考核试卷含答案
- 合成氨二氧化碳回收工安全文明能力考核试卷含答案
- 工艺泼染工岗前理论知识考核试卷含答案
- 颗粒剂工岗中安全实操考核试卷含答案
- 船舶附件制造工诚信道德水平考核试卷含答案
- 玻璃微珠成型工岗中QC管理考核试卷含答案
- 2026年秋季开学小学科学启蒙家长会课件
- 2026年甘肃省兰州新区商贸物流投资集团数投公司大数据专业技术人员招聘10人笔试备考试题及答案详解
- 《智慧农业英语》课件 Unit1 Innovations for sustainable agriculture
- 新形势下原料药和中间体行业顺势崛起战略制定与实施分析报告
- DB51∕T 2432-2017 公路被动柔性防护网技术规程
- 《中国急性肾损伤临床实践指南(2023版)》解读
- 档案调取申请书范本
- HG-T20678-2023《化工设备衬里钢壳设计标准》
- 校园周边的食品安全
- 学前教育概论(高职)PPT完整全套教学课件
- 第十六章-数值变量资料的统计分析之统计描述课件
评论
0/150
提交评论