基于单片机的门禁系统的设计.docx

上传人:夺命阿水 文档编号:845545 上传时间:2023-12-24 格式:DOCX 页数:40 大小:189.65KB
返回 下载 相关 举报
基于单片机的门禁系统的设计.docx_第1页
第1页 / 共40页
基于单片机的门禁系统的设计.docx_第2页
第2页 / 共40页
基于单片机的门禁系统的设计.docx_第3页
第3页 / 共40页
基于单片机的门禁系统的设计.docx_第4页
第4页 / 共40页
基于单片机的门禁系统的设计.docx_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《基于单片机的门禁系统的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的门禁系统的设计.docx(40页珍藏版)》请在课桌文档上搜索。

1、基于单片机的门禁系统的设计摘要门禁系统采用89C52单片机作为控制核心,外围加蜂鸣器控制电路、开门指示灯电路、电控锁控制电路以及LCD液晶显示电路等。门禁系统主要由CPU、工作指示电路、振荡电路、蜂鸣器电路、门控锁电路、矩阵键盘、读卡模块、显示模块等组成。该门禁系统采用射频卡完成刷卡进门,按刷卡出门等功能。其工作原理为:当刷卡时,蜂鸣器响一下,如卡权限获得允许,显示模块显示卡号,同时继电器动作将门锁翻开,指示灯点亮,延时一段时间后继电器再次动作将门锁锁闭,指示灯熄灭。当按下出门按钮时,继电器动作将门锁翻开,指示灯点亮,延时一段时间后继电器再次动作将门锁锁闭,指示灯熄灭。当输入初始密码时,假设输

2、入正确,继电器动作将门锁翻开,指示灯点亮,延时一段时间后继电器再次动作将门锁锁闭。此外,程序中还增加了射频卡权限判断的功能,当遇到合法卡时显示卡号,门锁翻开,延时IoS自动关闭,当遇到非法卡时不显示卡号门锁不开。本系统设计简单、性能优良,具有一定的实用性。关键词:门禁,射频卡,电控锁,液晶显示,单片机控制AccessControlSystemDesignABSTRACTEntranceguardsystemuses89C52singlechipmicrocomputerascontrolcoreandperipheryaddabuzzercontrolcircuit,openthedoorin

3、dicatorlightcircuit,controlcircuitandcontrollockLCDdisplaycircuit,etc.EntranceguardsystemmainlybytheCPUandresetcircuit,thepowerindicativecircuit,workinstructionscircuit,oscillatingcircuit,abuzzercircuit,doorcontrolcircuit,gooutandlockbuttonreadingcardmodule,displaymodule.Theentranceguardsystemusesrf

4、cardcompletechargetakethedoor,accordingtocredittogoout,andotherfunctions.Itsworkingprincipleis:whencredit,abuzzerrang,suchascardtobeallowedtoaccess,displaymoduledisplaycardnumber,andatthesametimerelayactionwillopenthedoorlock,indicatorlight,delayafterperiodoftimerelayactionwillagainonlydrlock,lights

5、goout.Whenthepressoutbutton,therelayactionwillopenthedoorlock,indicatorlight,delayafterperiodoftimerelayactionwillagainonlydoorlcx:k,lightsgoout.Whentheinputpassword,ifyouinputthecorrect,relayactionwillopenthedoorlock,indicatorlight,delayafterperiodoftimerelayactionwilllockdoorlockagain.Inaddition,t

6、heprogramwillalsoincreasetherfcardauthorityjudgmentfunction,whenfacinglegalcardshowedthecardnumber,dooropen,delay10sautomaticallyshutoff,whenmeetingtheillegalCARDSdon,tshowthecadnumberlocksdon,topen.Thesystemissimpleindesign,goodperformance,andhaspracticalvalue!KEYWORDS:AccessControl,RadioFrequencyC

7、ard,ElectronicallyControlled1.ock,LCD,MCU目录基于单片机的门禁系统的设计I前言1第1章概述21.1 系统方案的比拟21.1.1 选题论证21.1.2 方案选择2t.1.3CPU的选择31.1.4 射频卡的选择31.1.5 液晶显示的选择3第2章硬件电路的设计42.1 电路原理42.1.1 门禁系统主要组成42.1.2 门禁系统工作原理42.2 资源分配42.3 最小系统设计52.3.1 89C52的简述52.4 最小系统的设计6第3章硬件电路原理73.1 门控锁电路73.2 蜂鸣器电路73.3 控制指示灯73.4 4x4矩阵键盘83.5 读卡模块83.5

8、.1 显示模块93.5.2 1.CD1602主要技术参数9引脚功能说明103.6.3 1602指令集103.6.4 与HD44780相兼容的芯片时序表11第4章软件设计124.1 Keil简介124.1.1 KeilC5I系统概述24.1 系统主程序分析144.2 子程序分析154.2.1 显示程序154.2.2 键盘程序20结论26谢辞28参考文献28附录29刖S随着科学技术的开展和企业管理模式的日趋成熟,高度科学化的企业管理己成为企业生存的有力保障。出入口门禁平安管理系统是新型现代化平安管理系统,它集微机自动识别技术和现代平安管理措施为一体,它涉及电子,机械,光学,计算机技术,通讯技术,生

9、物技术等诸多新技术。它是解决重要部门出入口实现平安防范管理的有效措施。适用各种机要部门,如银行、宾馆、机房、军械库、机要室、办公间,智能化小区,工厂等。在数字技术网络技术飞速开展的今天,门禁技术得到了迅猛的开展。门禁系统早己超越了单纯的门道及钥匙管理,它己经逐渐开展成为一套完整的出入管理系统。它在工作环境平安、人事考勤管理等行政管理工作中发挥着巨大的作用。因此,将实现门禁考勤管理系统,充分的表达其优点,对人员进出、授权、查询、统计和防盗报警保安等多种功能,防止了早退,迟到,矿工等现象,使公司规律有序的进行,对考勤管理起到很大作用,减少了很大的麻烦。也正是由于门禁系统实用性强,市场需求大,应用广

10、泛,我们便选此作为研究设计的课题。第1章概述1.1 系统方案的比拟选题论证在现今社会,随着人们对门禁系统各方面要求的不断提高,门禁系统的应用范围越来越广泛,因此门禁系统的研发己成为现代科技领域的一个热门课题。目前,门禁系统己成为平安防范系统中极其重要的一局部,在一些兴旺国家,门禁系统正以远远高于其它类安防产品的进度迅猛开展;门禁系统之所以能在众多安防产品中脱颖而出,根本原因是因为其改变了以往安防产品,如:闭路监控,防盗报警等被动的安防方式,以主动的控制替代了被动监视的方式,通过对主要通道的控制,大大的防止了罪犯从正常通道的侵入,并且可以在罪案发生时通过对通道门的控制限制罪犯的活动范围,制止犯罪

11、或减少损失。此外,人们对门禁系统的应用已不局限在单一的出入口控制,而且还要求它不仅可应用于智能大厦或智能社区的门禁控制、考勤管理、安防报警、停车场控制、电梯控制、楼宇自控等,还可与其它系统联动控制等多种控制功能。安装有门禁系统的建筑具有以下优点:(1)具有对门户出入控制,保安防盗,报警等多种功能。(2)方便内部员工或住户出入,同时杜绝外来人员随意进出,既方便了内部管理,又增强了内部的保安。(3)门禁管理系统作为智能建筑中不可缺少的安保自动化的一局部,为用户提供一个高效的工作环境,从而提高管理的层次。也正是由于门禁系统实用性强,市场需求大,应用广泛,我们便选此作为研究设计的课题。方案选择门禁系统

12、有许多种方案:主要有联网和不联网型。联网型:结构图如图17示:图1-1联网型结构图联网型门禁系统的优点:(1)实时联网;(2)刷卡后立即把数据传输到主机上;(3)便于查询并能生成报表;缺点:(I)计算机要求24小时开机;(2)计算机或管理机万一有故障系统瘫痪;(3)有问题影响面大。不联网型门禁系统的优点:(1)单台刷卡机就能工作;(2)不用布线;(3)操作简单方便。缺点:不便于查询。根据以上分析,我们的课题选择了不联网型。因为此设计简单,提交作品方便,易操作。CPU的选择我们在这个课题的设计上采用了51单片机系统,之所以采用单片机系统是由于本钱较低,功能完全可以满足,开展也比拟成熟且完善。而D

13、SP、ARM系统虽然科技含量高于51单片机系统,但是其价格昂贵并且开展尚未成熟。因此,根据我们学的知识和市面上的应用,经过比拟我们选择了技术成熟、价格廉价、设计简单、使用方便的单片机平台。射频卡的选择目前市面上的卡有很多种类:条码、磁卡、接触式IC卡,非接触式IC卡等,条码和磁卡,在超市和银行方面应用的比拟多,接触式IC卡,以前在公共中用的比拟多,但接触式IC卡,芯片外露易坏、易折,而非接触式IC卡既射频卡,它把芯片和线圈封装卡片内,不容易损坏、不怕恶劣的环境,现在社会上很流行,可靠性也高。根据卡的分析,我们选择目前流行最广,可靠性高,本钱低的只读卡,即采用EM4000型的ID卡。1.1.5液

14、晶显示的选择1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有假设干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以它不能显示图形。目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,基于HD44780写的控制程序可以很方便地应用于市面上大局部的字符型液晶。因此,选择LCD1602能够满足门禁系统设计的需要。第2章硬件电路的设计2.1 电路原理门禁系统主要组成由单片机、电源指示、工作指示、振荡电路、蜂鸣器电路、门控锁电

15、路、4X4矩阵键盘、读卡模块、显示模块组成。如图2-1示:图2-1电路原理图门禁系统工作原理1、当刷卡时,蜂鸣器响-下,如卡权限获得允许,显示模块显示卡号,同时继电器动作将门锁翻开指示灯点亮,延时一段时间后继电器再次动作将门锁锁闭指示灯熄灭;当非法卡刷卡时,没有任何动作。2、当按下出门按钮时,继电器动作将门锁翻开指示灯点亮,延时一段时间后继电器再次动作将门锁锁闭指示灯熄灭。3、当进门输入密码时,密码正确那么继电器动作将门锁翻开指示灯点亮,延时一段时间后继电器再次动作将门锁锁闭指示灯熄灭;密码错误那么蜂鸣器报警,延时一段时间后蜂鸣器停止报警。2.2 资源分配软、硬件设计是设计中不可缺少的,为了满

16、足功能和指标的要求,资源分配如下:1 .晶振采用IL0592MHZ;2 .单片机资源分配如表2-1、2-1示:表2-1单片机资源分配表(1JPPP2,OP2.1P2,2LCD显示矩阵键盘RSRWE表2-2单片机资源分配表2)P2.3P2.4P2.5P3.OP3,2锁蜂鸣器LED读卡按键中断O开O响O亮1不开1不响1不亮3、计算:因为射频卡的读卡头选用EM4000型,读卡频率是11.0592MHZ,所以最小系统晶振,必须用11.0592MHZ才能读卡。(1)定时控制字确定:选用定时器Tl,方式2,所以TMoD是20H。(2)计算初值X=256-(foxc*(SMOD+1)/384*波特率=256

17、-(11.0592*10s*(0+1)/384*9600=253THl=OFDHTLl=OFDH2.3 最小系统设计2.3.1 89C52的简述1.89C52的简介89C52是INTEL公司MCS-51系列单片机中根本的产品,它采用ATMEL公司可靠的CMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。它结合了CMOS的高速和高密度技术及CMOS的低功耗特征,它基于标准的MCS-51单片机体系结构和指令系统,属于89C51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。89C52内置8位中央处理单元、256字节内部数据存

18、储器RAM、8k片内程序存储器(RoM)32个双向输入/输出(1/0)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。此外,89C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。89C52有PDIP(40pin)和PLCC(44Pin)两种封装形式。89C52引脚图如图2-2示:图2-289C52的引脚图89C52单片机外部有32个端口可供用户使用,其功能如表2-3示:表2-389C52外部端口功能表端口引脚位置第

19、一功能区第二功能区符号功能符号功能PO3932PO.0、P07通用1/0AD0AD7地址/数据总线(低位)Pl广8通用1/0口P2228通用1/0口A8A15地址总线(高位)P310P3.0通用I/O口RXD串行通信发送口11P3.1TXO串行通信接收口12P3.2INTO外部中断013P3.3INTl外部中断114P3.4TO计数器0输入端口15P3.5Tl计数器1输入端口16P3,6WR外部储存器写使能17P3.7RD外部储存器读使能门禁系统数控局部采用89C52单片机作为控制核心,其内部组成包括:一个8位的微处理器CPU及片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接;片内数据存

20、储器8KBRAM低128字节,存放读/写数据;高128字节被特殊功能存放器占用;片内程序存储器ROM;四个8位并行I/O(输入/输出)接口P3.Po,每个口可以用作输入,也可以用作输出;两个定时/计数器,每个定时/计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制;五个中断源的中断控制系统;一个全双工UART通用异步接收发送器)的串行I/O口。在89C52单片机的根底上,外围增加蜂鸣器控制电路、开门指示灯电路、电控锁控制电路以及1602显示电路等,构成了门禁系统的控制电路。2.4最小系统的设计门禁系统数控局部采用89C52单片机作

21、为控制核心,其内部组成包括:一个8位的微处理器CPU及片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接;片内数据存储器8KBRAM低128字节,存放读/写数据;高128字节被特殊功能存放器占用;片内程序存储器ROM:四个8位并行I/O(输入/输出)接口P3-P0,每个口可以用作输入,也可以用作输出;两个定时/计数器,每个定时/计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制;五个中断源的中断控制系统;一个全双工UART(通用异步接收发送器)的串行I/O口。在89C52单片机的根底上,外围增加蜂鸣器控制电路、开门指示灯电路、

22、电控锁控制电路以及1602显示电路等,构成了门禁系统的控制电路。其原理图如图2-3示:RlIOhA InM4供后1图2-3门禁系统控制原理图第3章硬件电路原理格示打咯3.1 门控锁电路工作原理:当P2.3口输出高电平时Q2导通,Q3截止,此时继电器的控制线圈为开路,继电器不动作。门锁接于继电器常闭端,门锁闭合,门处于锁死状态.当P2.3口输出低电平时Q2截止,Q3导通,此时继电器的控制线圈闭合,继电器动作。继电器常闭端断开,门锁翻开,门处于翻开状态。门控锁电路如图3-1示:图3T控制锁电路图3.2 蜂鸣器电路工作原理:当P2.4输出高电平时,Q4导通,Q5截止,蜂鸣器回路开路,蜂鸣器不响。当P

23、2.4输出高电平时,Q4截止,Q5导通,蜂鸣器回路闭合,蜂鸣器发出响声。电路组成如图3-2示:图3-2蜂鸣器电路图3.3 控制指示灯工作原理:当P2.5口输出高电平时,Ql截止,发光二极管熄灭。当P2.5口输出低电平时,QI导通,发光二极管点亮。电路组成如图3-3示:图3-3工作指示灯电路图3.444矩阵键盘工作原理:Pl口高四位为低电平,低四位为高电平。当有键按下时,Pl.O-Pl.3给P3.2口输入低电平,触发INTo中断,程序作出相应处理,如3-4示:图3-44X4矩阵键盘电路图3.5 读卡模块设计上我们采用ID射频卡读卡器。EM9913BF125KHz感应式读卡模组是针对125KHz非

24、接触式RFID晶片而设计的读卡模组,它能针对目前市面上125KHz非接触式RFID晶片如凌航科技GK4001晶片或其它规格现相近产品进行资料读取与资料判断,使用者可以一次开发感应式读卡及相关应用系统,该模块主要范围为互动式玩具、门禁管制系统、人员考勤管理、动物或物品辨识及产品管理,此读卡模组主要优缺点表达如下:优点:(1)独立性高,(2)二次开发容易,安装简单资料读取稳定性高(3)统平安性高,RFlD资料不重复且难以复制(4)可选择数据输出格式缺点:电脑必须24小时开机,便于数据传送。硬件/软件功能:125KHz感应式读卡机系统如图3-5示:感应线圈tpu 接 CPU3.0RS232ou图3-

25、5读卡器示意图读卡器引脚连接图如3-6示:图3-6读卡器引脚连接示意图使用EM9913BF模块,在5-15Cm距离内读取GK4001的时间不超过70ms。感应式读卡系统电源DC5V,感应线圈(Antenna)为系统必需,感应线圈可以与系统分开放置,亦可设计与系统中,为防止感应电磁场干扰,请勿将金属板置于感应线圈前后。每个卡片内部有一个小芯片和感应线圈,价格低廉,国内最普及的EMID卡,大多为瑞士nEM或台湾GK公司的4100、4102系列芯片+线圈+卡基封装而成。每张卡有且只有一个唯一的,不可更改和复制的ID内码(64位2进制机密的永不重复的卡号),因其平安可靠,价格低廉而大量应用于身份识别、

26、产品防伪等领域。读卡器卡号输出格式的说明:由于历史的原因,或者不同领域习惯的原因,最常见到的有五种读卡方式,我们采用的读卡格式为:将10位十六进制的ASCn字符串,即IoHeX格式的倒数第5、第6位,转换为3位十进制卡号,在将后4位,转换为5位十进制卡号,中间用,分开,即2H+4H,即将2H“6F转换为111,4H6c3a转换为27706,最终将2段连在一起输出为111,27706。显示模块1.CD1602是指显示的内容为162,即可以显示两行,每行16个字符液晶模块。它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有假设干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示

27、一个字符。目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大局部的字符型液晶。1.CD1602主要技术参数显示容量:16X2个字符芯片工作电压:4.5-5.5V工作电流:2.OmA(5.OV)模块最正确工作电压:5.OV字符尺寸:2.95X4.35(WXH)mm引脚功能说明1602引脚如图3-8示:图3-71602引脚示意图1602引脚功能如表3-2示:表3-21602引脚功能表编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命

28、令选择12D5数据5R/M读/写选择13D6数据6E使能信号14D9数据7DO数据15BLA背光源正极8Dl数据16BLK背光源负极1602采用标准的16脚接口,其中:第1脚:VSS为电源地第2脚:VDD接5V电源正极第3脚:VO为液晶显示器比照度调整端,接正电源时比照度最弱,接地电源时比照度最高(比照度过高时会产生鬼影,使用时可以通过一个IOK的电位器调整比照度)。第4脚:RS为存放器选择,高电平1时选择数据存放器、低电平0时选择指令存放器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作.第6脚:E(或EN)端为使能(enable)端。第714脚:DOD7为8位

29、双向数据端。第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极3.5.3 1602指令集1602液晶模块的读写操作,屏幕和光标的操作都是通过指令编程来实现的(说明1为高电平,0为低电平)。如表3-3示:表3-31602指令集指令1:清显示,指令码01H,光标复位到地址OOH位置。指令2:光标复位,光标返回到地址OoH。指令3:光3标和显示位置设置I/D,光标移动方向,高电平右移,低电平左移,S:屏幕上所有文字是否左移或右移,高电平表示有效,低电平表示无效。指令4:显示开关控制。D:控制整体的显示开与关,高电平表示开显示,低电平表示关显示。C:控制光标的开与关,高电平表示有光标,低电平

30、表示无光标B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位S/C:高电平时显示移动的文字,低电平时移动光标。指令6:功能设置命令DL:高电平时为4位总线,低电平时为8位总线N:低电平时为单行显示,高电平时为双行显示,F:低电平时显示5X7的点阵字符,高电平时显示5X10的显示字符。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址BF:忙标志位,高电平表示忙,此时模块不能接收命令或数据,如果为低电平表示不忙。3.5.4 与HD44780相兼容的芯片时序表根本操作时序表如表3-5示:表3-5根本操作时序表读状态输入RS=L,RW=H,E

31、=H输出DO-D7=状态字写指令输入RS=L1RW=H,D0-D7=指令码,E=高脉冲输出读数据输入RS=H,RW=H,E=H输出DO-D7=数据写数据输入RS=H1RW=L,D0-D7=数据,E=高脉冲输出读操作时序如图3-8示:图3-8读操作时序图写操作时序如图3-9示:图3-9写操作时序图第4章软件设计4.1Keil简介KeilC51系统概述单片机开发中除必要的硬件外,同样离不开软件,汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前己极少使用手工汇编的方法了。KeilC51是美国KeilSoftware公司山品的5J系列兼容单片机C语言软件开发

32、系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全WindoWS界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeiIC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能表达高级语言的优势。下面详细介绍KeilC5l开发系统各局部功能和使用。C51工具包的整体结构,其中UVision是C5IforWindows的集成开发环境(IDE),可以完成编辑:、编洋、连接、调试、仿真等整个开发流程。

33、开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由L1B51创立生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPRoM中。使用Keil的软件工具时,工程的开发流程根本上与使用其他软件开发工程一样。(1)翻开Keil软件,如图4-1示:图4-1初始界面(2)创立一个工程。点击PrOjeCt菜单,选择弹出的下拉式菜单中的

34、NeWPrOject,如图4-2示:图4-2新建工程(3)在“文件名中输入C程序工程名称电子门禁,保存后的文件扩展名为uvproj.这是KElLuVision4工程文件扩展名(4)从器件数据库中选择目标芯片,这里选择要用的Ateml公司的AT89C52三如图4-3示:图4-3选择芯片(5)配置工具软件的设置,如图4-4图4-4软件设置(6)完成上面步骤后,可以进行程序的编写了。(7)点击新建文件的快捷按钮,在开发环境下出现一个新的文字编辑窗口。用C创立源程序。(8)编辑完成后,保存新建的程序,也可以用菜单FiIe-SaVe或快捷键CtrlS进行保存。(9)鼠标在屏幕左边的SourceGroup

35、l文件夹图标上右击弹出菜单,在这里可以做在工程中增加减少文件等操作。点击AddFiIetOGroUPSoUrCeGrOUP弹出文件窗U,选择刚刚保存的文件,按ADD按钮,关闭文件窗,程序文件已加到工程中了。这时在SourceGroup!文件夹图标左边出现了一个小+号说明,文件组中有了文件,点击它可以展开查看。如图4-5示:图4-5添加文件(10) C程序文件已加到了工程中,下面开始编译运行。图中第1、2、3都是编译按钮,1是用于编译单个文件;2是编译当前工程,如果先前编译过一次之后文件没有做动编辑改动,这时再点击是不会再次重新编译的;3是重新编译,每点击一次均会再次编译链接一次,不管程序是否有

36、改动。在3右边的是停止编译按钮,只有点击了前三个中的任一个,停止按钮才会生效。如图4-6示:图4-6编译运行下列图中有一个小放大镜的按钮,这就是开启、关闭调试模式的按钮,它也存在于菜单DebUg-StartStopDebugSession,快捷键为Ctrl+F50进入调试模式,软件窗口样式大致如图4-7示:图4-7调试按钮(11) 进入调试模式,软件窗口样式如图4-8示:图4-8调试(12) 图中按钮1为运行,当程序处于停止状态时才有效。2为停止,程序处于运行状态时才有效。3是复位,模拟芯片的复位,程序回到最开头处执行。如图4-9示:图4-9运行按钮4.1 系统主程序分析1 .主程序流程图主程

37、序流程图如图4.10示:图4-10主程序流程图2 .主程序清单:#include#include#include#include#include#include#include#include#includevoidmain()1.ED=0;/LED亮BUZZER=0;蜂鸣器响EA=1;开所有中断INTOJnitO;TlJnitO;lcd_init();Pl=OxOf;/键盘初始化delay(100);1.ED=1;熄灭LEDBUZZER=I;关蜂鸣器while(l)display();delay(50);4.2 子程序分析显TF程序1 .显不程序流程图如图4-11ZK:三4-11显示程序流程

38、图2 .显示程序清单:函数功能:与最近一次ICd显示界面比拟,以此作是否清屏处理入口参数:出口参数:voidjudge_clear_lcd()if(N_DISPLAY!=N_DISPLAY_HISTORY)lcd-wcmd(x1);/清屏)函数功能:1Cd显示第0幕入口参数:出口参数:voiddisplay()uchari;judge_clear_lcd();是否清屏处理Icd_pos(0x00);设置显示位置delayl(l);for(i=0;weli!=,0,;i+)lctLwdat(weli);)N_DISPLAY_HISTORY=O;/记录历史显示界面编号/-l*心,必!r必*A*心,

39、jp用”否IjFr不,rffBilFr千小不不不永备小予pis不不不不帝函数功能:Icd显示第1幕入口参数:出口参数:*乐*率*比,京事案李案索*或李*叱狭*玄*玄*乐量需来*拿:北*狭*玄*来狭*,东嚷:率*家李米*哀*K*狭*/voiddisplay1()uchari;judge_clear_lcd();是否清屏处理lcd-pos(OxO();设置显示位置delayl(l);for(i=0;COm_ini!=0;i+)显示Comeinplease!lcd_wdat(com_ini);lcd_pos(0x40);设置显示位置delayl(l);for(i=0;pushil!=,0;i+)显示

40、Pushthedoor!lcd-wdat(pushi);N_DISPLAY_HISTORY=1;记录历史显示界面编号函数功能:1Cd显示第2幕入口参数:出口参数:voiddisplay2()uchari;judge_clear_lcd();是否清屏处理lcd-pos(0x00);设置显示位置delayl(l);for(i=0;pulli!=0;i+)显示Pullthedoor!lcd_wdat(PUlIi);N_DISPLAY_HISTORY=2;记录历史显示界面编号函数功能:1Cd显示第3幕入口参数:出口参数:voiddisplay3()uchari;bitj=0;/己显示,*标志judge

41、_clear_lcd();是否清屏处理lcd_pos(OxOO);设置显示位置delayl(l);for(i=0;inputi!=O;i+)显示Intputpasswordlcd_wdat(inputi);IccLwcmd(OxOd);/显示闪烁光标delayl(l);lcd_pos(OX43);/设置显示位置delayl(l);doif(V-KEY=13)&(V_KEY=15)lcd_wcmd(0x0c);不显示闪烁光标delayl(l);return;跳出本界面if(F_PASSW=1)是否有密码输入lcd_wdat(*);F-PASSW=0;j=1;置位已显示*标志if(V_KEY=12

42、)&(j=1)/是否在已显示*,下情况下按输入密码健去除之前显示的字符青j=0;去除已显示*标志lcd_pos(0x43);设置显示位置for(i=0;i6;i+)lcd_wdat(0x0a);显示空格lcd_pos(0x43);设置显示位置while(F_PASSW_O!=1);Icd_Wcmd(OxOc);不显示闪烁光标delay1(2);N_DISPLAY_HISTORY=3;记录历史显示界面编号函数功能:1Cd显示第4幕入口参数:出口参数:voiddisplay4()uchari;judge_clearcd();/是否清屏处理lcd_pos(OXO0);设置显示位置Jelayl(I);

43、for(i=0;passw-erri!=,0,;i+)显示Error!ICd一Wdat(Passw_erri);N-DISPLAY一HlSTORY=4;记录历史显示界面编号函数功能:1Cd显示第5幕入口参数:出口参数:voiddisplay5()uchari;judge_clear_lcd();是否清屏处理Icd_pos(0x42);设置显示位置delay1(1);for(i=0;passw-erri!=,O;i+)显示Test.lcd_wdat(testi);N_DISPLAY_HISTORY=5;记录历史显示界面编号函数功能:Icd显示幕判别入口参数:出口参数:voiddisplay()s

44、witch(N.D1SPLAY)/根据当前界面编号N_DISPLAY进行显示caseO:displayO();break;case1:displayl();break;case2:display2();break;case3:display3();break;case4:display4();break;case5:display5();break;)4.2.2键盘程序1 .键盘程序流程图如图4T2示:图4-12键盘程序流程图2 .键盘程序清单:函数功能:键值计算程序,返回键值015入口参数:i出口参数:Vucharkey_calcu(uchari,ucharm)ucharv;switch(m)caseOXOe:v=(i*4)+0;break;第i行第1列caseOxOd:v=(i*4)+l;break;第i行第2列caseOXOb:v=(i*4)+2;break;第i行第3列case0x07:v=(i*4)+3;break;第i行第4歹Udefault

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号