电子密码锁总结报告内容摘要:
0)。 Ack()。 Send(Address+i)。 Ack()。 Send(*(Pdata+i))。 Ack()。 Stop()。 mDelay(20)。 } } void RdFromROM(uchar Data[],uchar Address,uchar Num) { uchar I。 uchar *Pdata。 Pdata=Data。 for(i=0。 iNum。 i++) { Start()。 Send(0xa0)。 21 Ack()。 Send(Address+i)。 Ack()。 Start()。 Send(0xa1)。 Ack()。 *(Pdata+i)=Read()。 Scl=0。 NoAck()。 Stop()。 } } //================================================================================================== //=======================================LCD1602==================================================== //================================================================================================== define yi 0x80 //LCD 第一行的初始位置 ,因为 LCD1602 字符地址首位 D7 恒定为 1( 100000000=80) define er 0x80+0x40 //LCD 第二行初始位置(因为第二行第一个字符位置地址是 0x40) //延时函数,后面经常调用 void delay(uint xms)//延时函数,有参函数 { uint x,y。 for(x=xms。 x0。 x) for(y=110。 y0。 y)。 } //写指令 write_1602(uchar )//****液晶写入指令函数 **** { lcd1602_rs=0。 //数据 /指令选择置为指令 lcd1602_rw=0。 //读写选择置为写 P0=。 //送入数据 delay(1)。 lcd1602_en=1。 //拉高使能端,为制造有效的下降沿做准备 delay(1)。 lcd1602_en=0。 //en 由高变低,产生下降沿,液晶执行命令 } 22 //写数据 write_1602dat(uchar dat)//***液晶写入数据函数 **** { lcd1602_rs=1。 //数据 /指令选择置为数据 lcd1602_rw=0。 //读写选择置为写 P0=dat。 //送入数据 delay(1)。 lcd1602_en=1。 //en 置高电平,为制造下降沿做准备 delay(1)。 lcd1602_en=0。 //en 由高变低,产生下降沿,液晶执行命令 } //初始化 void lcd_init(void) { write_1602(0x38)。 //设置液晶工作模式,意思: 16*2 行显示, 5*7 点阵, 8 位数据 write_1602(0x0c)。 //开显示不显示光标 write_1602(0x06)。 //整屏不移动,光标自动右移 write_1602(0x01)。 //清显示 } //======================================================================================== //========================================================================================= //==============将按键值编码为数值 ========================= unsigned char coding(unsigned char m) { unsigned char k。 switch(m) { case (0x18): k=1。 break。 case (0x28): k=2。 break。 case (0x48): k=3。 break。 case (0x88): k=‟A‟。 break。 case (0x14): k=4。 break。 case (0x24): k=5。 break。 case (0x44): k=6。 break。 case (0x84): k=‟B‟。 break。 case (0x12): k=7。 break。 case (0x22): k=8。 break。 case (0x42): k=9。 break。 23 case (0x82): k=‟C‟。 break。 case (0x11): k=‟*‟。 break。 case (0x21): k=0。 break。 case (0x41): k=‟‟。 break。 case (0x81): k=‟D‟。 break。 } return(k)。 } //=====================按键检测并返回按键值 =============================== unsigned char keynum(void) { unsigned char row,col,I。 P1=0xf0。 if((P1amp。 0xf0)!=0xf0) { Delay5Ms()。 Delay5Ms()。 if((P1amp。 0xf0)!=0xf0) { row=P1^0xf0。 //确定行线 i=0。 P1=a[i]。 //精确定位 while(i4) { if((P1amp。 0xf0)!=0xf0) { col=~(P1amp。 0xff)。 //确定列线 break。 //已定位后提前退出 } else { i++。 P1=a[i]。 } } } else { return 0。 } while((P1amp。 0xf0)!=0xf0)。 return (row|col)。 //行线与列线组合后返回 24 } else return 0。 //无键按下时返回 0 } //=======================一声提示音,表示有效输入 ======================== void OneAlam(void) { ALAM=0。 Delay5Ms()。 ALAM=1。 } //========================二声提示音,表示操作成功 ======================== void TwoAlam(void) { ALAM=0。 Delay5Ms()。 ALAM=1。 Delay5Ms()。 ALAM=0。 Delay5Ms()。 ALAM=1。 } //========================三声提示音 ,表示错误 ======================== void ThreeAlam(void) { ALAM=0。 Delay5Ms()。 ALAM=1。 Delay5Ms()。 ALAM=0。 Delay5Ms()。 ALAM=1。 Delay5Ms()。 ALAM=0。 Delay5Ms()。 ALAM=1。 } //===================== 显 示 输 入 的 N 个数字,用 H 代替以便隐藏============================ void DisplayOne(void) 25 { // DisplayOneChar(9+N,1,‟*‟)。 write_1602(yi+5+N)。 write_1602dat(„*‟)。 } //=======================显示提示输入 ========================= void DisplayChar(void) { unsigned char I。 if(pass==1) { //DisplayListChar(0,1,LockOpen)。 write_1602(er)。 for(i=0。 i16。 i++) { write_1602dat(LockOpen[i])。 } } else { if(N==0) { //DisplayListChar(0,1,Error)。 write_1602(er)。 for(i=0。 i16。 i++) { write_1602dat(Error[i])。 } } else { //DisplayListChar(0,1,start_line)。 write_1602(er)。 for(i=0。 i16。 i++) { write_1602dat(start_line[i])。 } } } } void DisplayInput(void) { unsigned char I。 if(CorrectCont==1) 26 { //DisplayListChar(0,0,Input)。 write_1602(er)。 for(i=0。 i16。 i++) { write_1602dat(Input[i]。电子密码锁总结报告
相关推荐
掌握 网络时代出现的消费心理 ,通过网络手段解决问题,这也是本文研究的核心。 我对此论文相关研究内容有较浓厚的兴趣,对此课题有着优良的专业素养,结合在大学教育期间深入学习市场营销相 关的课程知识,充分运用知识储备。 同时具备了良好的数理和统计分析能力,能够完成对论文内容资料的收集、归纳、推理、分析。 学校图书馆有丰富的文献资料可供参考,还有完善的电子信息平台提供技术支持
流电容耦合,就构成了统一潮流控制器 UPFC, SVG与SSSC既可配合使用也可解耦独立运行 Ⅲ。 由于 SVC, STATCOM只能控制无功功率以调节系统电压,如果系统某一局部同时有多种要求,就需要在该处设置几种装置。 这增大了安装、调试的工作量,同时设备的投资也相当可观。 UPFC的基本思想正是用一种统一的电力电子控制装置,仅通过控制规律的变化,就能对线路电压、阻抗
打印工作,而且可以通过系统提供的强大的报表设计功能来打印和统计各种档案数据。 此系统可以灵活的定义统计和检索条件等。 十、光盘制作子系统 全面支持该光盘标准,可以对标准格式的光盘进行数据读入、数据输出及检索,并可将档案数据按照上述标准的格式直接存储在光盘中。 形成的光盘档案可以用于数据交换和电子档案的脱机保管。 十一、档案管理网站和 WEB 检索 此子系统可以作为本 单位档案信息的发布
出版的科技期刊 —— 《工程与试验》(原名曾为:《材料试验机》、《试验技术与试验机》) 成为试验机制造业和试验机用户进行学术交流的平台,有力地推动了试验机行业的技术进步。 第 3 节 试验机行业发展展望 展望未来,在市场经济发展的进程中,我国试验机行业必将会有更大的作为。 ( 1)对试验机制造企业而言,未来 10 年 ~20 年的发展关键取决于企业的自主创新能力的提升。 试验机制造企业自身
标准、安装标准、技术规范和设备的可维护性、适用性、安全、环保、可靠性等方面进行综合描述。 投标人必须提供详细的施工组织设计及保证工程进度、工程质量及安全的主要措施。 投标人必须提供工程施工的组织机构。 投标人必须详细说明投标产品性能、技术指标 、规格技术参数等,提供详细的设备配置清单。 投标人提交的投标文件与招标文件技术规范及要求有重大偏离的,则可能导致其投标文件被拒绝 或废标。
和建筑垃圾。 建筑施工人员产生的生活污水和生活垃圾。 设备安装、建筑施工、机械设备运行过程中产生的噪音。 装饰工程使用的涂料、油漆产生的废气等。 该 生态超细纤维超真皮革 项目 施工期主要污染因素是施工人员生活污水、施工废水、作业 粉(扬)尘、固体废弃物以及施工机械排放的烟尘和噪声等,其中以施工噪声和粉尘的影响最为突出。 经采取以下措施后,对环境的影响可降低到最低程度,项目土建工程施工完成后