基于单片机的电子密码锁设计课程设计(编辑修改稿)内容摘要:

始做这个设计。 我们小组先是进行了收集资料,选择方案,确定要用到的器件然后手工绘制简单的原理图以及编写程序。 之后我们分工合作,一人主攻对各个器件的原理、功能以及器件各引脚的分布、作用。 一人主攻熟悉仿真软件和程序编译、 10 下载。 一人主攻实物焊接。 虽然各有主攻方向但遇到问题时依然是相 互探讨商议。 在做课程设计的过程中原理图绘制颇费了点劲但最终还是做到了,理论上可以实现。 接下来是焊接部分,这块完成的很快,只是在显示焊接上有点问题,经调整之后,可正常运行。 通过这次的课程设计,发现自己对于编程这块欠缺太多,对 C理解和运用不够深。 而在原理图和焊接方面比较熟练,遇到的问题可以解决。 也明白做一件事需要耐心和知识,再者就是查资料和合作。 细心的坚持下去就可以做到想做的事。 在以后的学习工作中依然需要努力,加油向上。 11 参考文献 [1] 何宏 .单片机原理与接口技术 .[M]北京 :国防工业出版社 . . 10~50 [2] 谢宜仁 .单片机实用技术问答 .[M]北京 :人民邮电出版社 .. 80~121 [3] 梁丽 .电子密码锁的计算机仿真设计 .[M ]北京 :国防 工业出版社 . 2020. 45~80 [4] 赵益、徐晓林 、 周振峰 .电子密码锁的系统原理 .[M]北京 :清华大学出版社 . ~14 [5] 房小翠 、 王金凤 .单片机实用系统设计技术 .[M]北京 :国防工业出版社 . .60~128 [6] 张培仁 .基于 C语言编程 MCS51单片机原理与应用 .[M]北 京 : 清华大学出版社 . ~160 [7] 龚运新 .单片机 C语言开发技术 .[M]清华大学出版社 . 2020. 10. 52~97 12 附录 1:实物图 13 附录 2:元件清单 序号 名称 规格 数量 1 线路板 单面 pcb板 1 2 按键 12*12 1 3 数码管 4位 2 4 电阻 9 5 电阻 1K 2 6 电阻 10K 1 7 排阻 1k 1 8 三极管 9012 9 9 蜂鸣器 1 10 单片机 STC89C52 1 11 电解电容 10uf 1 12 瓷片电容 30pf 2 13 瓷片电容分 104 2 14 集成电路插座 40脚 1 15 晶振 12m 1 16 发光二极管 LED 1 17 按键 6*6 12 14 附录 3:电路原理图 15 附录 4:程序 include unsigned char wl[]={1,2,3,4,5,6}。 unsigned char code wl1[]={0xfe,0xfd,0xfb,0xf7, 0xef,0xdf,0xbf,0x7f}。 //扫描 unsigned char code wl2[]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f, 0x77,0x7c,0x39,0x5e,0x79,0x71,0x00,0x40,0x73,0xff}。 //数码管显示数字部分 unsigned char code wl8[]={0x00,0x00,0x77,0x3f,0x77, 0x77,0x79,0x5b}。 //数码管显示2error unsigned char code wl9[]={0x00,0x00,0x3f,0x38,0x38, 0x79,0x76,0x06}。 //数码管显示1hello unsigned char wl3[8]={18,16,16,16,16,16,16,16}。 unsigned char wl4。 unsigned char wl5。 unsigned char wl6。 unsigned char wl7。 unsigned char zw。 unsigned char zq。 unsigned char wl7count。 unsigned char wllen=6。 unsigned char getwl[6]。 bit wl7overflag。 bit errorflag。 bit rightflag。 unsigned int second3。 unsigned int aa,bb。 unsigned int cc。 bit wl8flag。 bit alarmflag。 bit hibitflag。 unsigned char wl8a,wl8b。 void main(void) { unsigned char i,j。 TMOD=0x01。 TH0=(65536300)/256。 TL0=(65536300)%256。 TR0=1。 ET0=1。 EA=1。 while(1) //键盘输入部分 { P3=0xff。 P3_4=0。 wl6=P3。 wl6=wl6 amp。 0x0f。 if (wl6!=0x0f) { for(i=10。 i0。 i) for(j=248。 j0。 j)。 wl6=P3。 wl6=wl6 amp。 0x0f。 if (wl6!=0x0f) { wl6=P3。 wl6=wl6 amp。 0x0f。 switch(wl6) { case 0x0e: wl7=12。 break。 case 0x0d: wl7=13。 break。 case 0x0b: wl7=14。 break。 case 0x07: wl7=15。 break。 } wl6=P3。 //P1_1=~P1_1。 if((wl7=0) amp。 amp。 (wl710)) { if(wl7count6) 16 { getwl[wl7count]=wl7。 wl3[wl7count+2]=19。 } wl7count++。 if(wl7count==6) { wl7count=6。 } else if(wl7count6) { wl7count=6。 wl7overflag=1。 //wl7 overflow } } else if(wl7==12)//delete wl7 { if(wl7count0) { wl7count。 getwl[wl7count]=0。 w。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。