摘要:本文介绍了基于AT89C52单片机的自动存取柜的软硬件设计方法。通过外接8255芯片、微型打印机及字符点阵式LCD、反射式红外传感器,键盘专用芯片74C922,限位开关及继电器阵列实现了人机交互能力强、简洁可靠的设计目的。
!yP:E+o)`y i44606关键词:自动存取柜 AT89C52单片机 字符点阵LCD 微型打印机 反射式红外传感器 电子园51单片机学习网}6|"k b4@ y
2qTB a4y8T"Y ct446061、需求信息:电子园51单片机学习网]Gzk5g N"S
-^`!~ ig.W~b ]44606在大型超市、图书馆、火车及汽车站,人们经常需要寄存包裹。采用人工方法存取包裹即费人工又费时间,与信息社会格格不入。故而笔者设计一套基于单片机AT89C52的自动存取柜(16柜)的微机系统,能够完全实现自动化。顾客只须按存包键,某一柜门自动打开,同时系统打印密码和柜号。当顾客取包时,按取包键,同时输入密码(人机互动),系统确认密码正确后其柜门再次打开,顾客取包离开。电子园51单片机学习网2j;\TyzxSe
电子园51单片机学习网#K0Js.q5H%`*l_2、自动存取柜的硬件系统设计:
5M:_h {Do(Q44606 电子园51单片机学习网:PMwC,^Y {1}自动存取柜的硬件系统设计如图2.1电子园51单片机学习网?B;{ c Y/jB
R*X{3PN:J-LT8G44606电子园51单片机学习网 [fh(]-w:Z
电子园51单片机学习网]'u};V1c4_5TG~图2.1 自动存取柜的硬件系统设计原理简图电子园51单片机学习网\+\@ ` SL_ }\
3eQ)l]C Tz1z/Z|h44606说明如下:该系统主机CPU为AT89C52,外接两块8255芯片I/O扩展,74C922键盘管理芯片管理3?4键盘矩阵,微型打印机GP16,TM162字符点阵式液晶。其中两块8255芯片扩展I/O口48路,分别为16路继电器
n.a'G"PFR7c {O!}2n{44606J,Ct%`l.l44606 电子园51单片机学习网%f~bOoJ|"V3l
电子园51单片机学习网s6R4|e*xH7wC基金资助:2004年教育部十五规划课题"工科院校创新人才培养方法的研究和实践"(FIB030616)电子园51单片机学习网*D!VD7@BbG:dV:n-s!P$G
EEB5R2OIu\8}^ M~44606阵列输出口,16路反射红外传感器输入和16路限位开关输入口,其中PA口驱动继电器开锁,PB口外接限电子园51单片机学习网J+}0N0?!QJM
电子园51单片机学习网.m9@s(~ R(dW位开关显示柜门关或闭,PC口外接红外传感器开关显示柜内有物否。
!G*Ev-F8X*@y$r44606W6Z,[ X!{op446062.1 本次设计采用TM162 16?2字符液晶点阵式LCD,数据线挂接总数据线,数据或命令端RS接P2.2,读写端 R/W接P2.3,使能E接P2.4,命令写入地址为E3FFH,数据写入地址为E7FFH,读状态地址为EBFFH,不需要生成新的字符,只要使用其内部字符库的字符即可,使用时送入需显示数据的ASCII码值即可。电子园51单片机学习网.t;P^%mqo
电子园51单片机学习网_N9L|/B#Y6C2.2 本次设计采用微型打印机GP16。如图所示。片选接P2.5,BUSY端接P1.7,数据口接总数据线,其地址为DFFFH,打印机可作为外部RAM对待,向打印机发送命令或数据时,只要向口地址DFFFH写入相应数据字节即可,BUSY信号采用查询P1.7口方式控制打印机。
#yQ E u4Dk+rd1A'U44606 电子园51单片机学习网6z(QmG_#`Bw2.3 本次设计我们采用专用键盘管理芯片74C922。74C922为CMOS工艺技术制造,工作电压为3—15V,“二键锁定”功能,编码输出为三芯输出,可直接与微处理器数据线相连,内部振荡器完成4×4矩形键盘扫描,有按键时,DA变高,接到AT89C52的INT0口,并且设INT0为电平触发,当DA变高时,经过非门变低产生INT0外部中断,通知AT89C52从P1口读键值,从而完成相应的散转程序功能。根据接线图 及真值表,我们知道,10个数字键0—9对应ABCD输出(0000—1001),存包健对应ABCD输出(1010),取包键对应ABCD输出(1011)。电子园51单片机学习网w T#cW!z#oH%UH
` ]xKq1Mmyk&XJ44606
8Y,z4rSNk m44606 电子园51单片机学习网 ~'I/B8I'lJ%W1a |
3、自动存取柜系统的软件设计
.l0S nz/XO$j2Q44606@4o/p7_-F!M44606本次设计有主程序和INT0中断程序及相关的子程序组成。设有两个标志位,其中一个标志位flag1为存满标志位,当PC口输入为FFH时,红外反射式传感器检测到所有柜存满,此时液晶LCD显示full!否则显示welcome!另外一个标志位为flag2,即取包键标志位。即当只有按取包键后,flag2置1,液晶LCD显示Please input code ,当取包裹人依次键入密码时,CPU检测到flag2为 1,液晶 LCD才逐位显示密码,否则在其他时刻键入数字键无效。当存包时,flag2被置0。由于篇幅所限,本处给出主程序流程图图3.1和外部INT0中断流程图3.2。值得注意 的是,本次设计为当一个人操作本系统时,应保证其他柜门已关上这一前提,即不允许两个人同时操作本系统。
5o{0O:l&a;iDF44606 电子园51单片机学习网~ClsXiBduc4、软硬件抗干扰技术电子园51单片机学习网j,I%BM.b R8Y1q1ydP
wAj$e*r44606复位看门狗及电源监控采用Maxim公司的MAX813芯片.此处不多述。电子园51单片机学习网dZ-Kc9~?
^B0m5s[4L44606软件方面采用:a:在程序中插入空操作指令实现指令指针PC的容错。插入原则为:在跳转或多字节指令前插入来保证指令的正确执行。在比较重要的指令前插入:如中断, 图3.2 外部INT0中断流程图电子园51单片机学习网3]B%VW|7t/]+K6Nm
电子园51单片机学习网#UBl6z `'Q堆栈等及在 程序中每隔若干条指令插一次。b重复设置各种工作方式控制字这样,通过软硬件双重监控,防止程序跑飞。电子园51单片机学习网6g~'s-Z.N\
电子园51单片机学习网ulC(az3t)W5、结束语电子园51单片机学习网(V;R7f(}[2xaD
电子园51单片机学习网F q"rL7A#WZ s通过以上介绍,我们全部采用经典的智能芯片如AT89C52,8255芯片,字符点阵式液晶显示,GP16打印机,74C922等完成了人机互动能力强,软件硬件简单明了,工作可靠的自动存取柜系统。经实验证明,完全达到设计目的。电子园51单片机学习网+W_2te ^*o&n
电子园51单片机学习网}WQ.t&gyTRkL参考文献:电子园51单片机学习网 iPJ"S!C&~VP
电子园51单片机学习网)?p Ip)Vv2|[1] 李昌禧主编。智能仪表原理与设计 北京 化学工业出版社 2004年 电子园51单片机学习网3G.|6Ej3l2?V{5s#Z
nF&_ TL `+\}j44606[2] 李华主编 MCS-51系列单片机实用接口技术 北京:北京航天航空大学,2003年电子园51单片机学习网3w2k7gd;y8xK
a9~2Yc@44606[3] 陈润泰主编 检测技术与智能仪表 中南工业大学出版社 1999年电子园51单片机学习网9P"J$r%]a"pm
电子园51单片机学习网k/B]"E/q)d P%\b+q[4]求是科技 靳达 编著 单片机应用系统开发实例导航 人民邮电出版社 2003年
`H1n9PC|)v X44606 电子园51单片机学习网 k;y[]O[5] 求是科技 编著 单片机典型模块设计实例导航 人民邮电出版社 2003年
;{ i2]dK U$O44606
文章评论(0条评论)
登录后参与讨论