单片机报告模板

更新时间:2024-06-10 05:36:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

单片机原理与应用 课程设计报告

课程设计名称: 电子密码锁的设计

专业班级: 12 电信 学生姓名: 马昊 学 号: 20120504127 指导教师: 高玉芹 设计时间: 2014-12-21 成 绩:

信 电 工 程 学 院

徐州工程学院单片机原理及应用课程设计 目 录

1 绪论 ··································································································· 2

1.1 课题背景 ···················································································· 2 1.2 课题的目的和意义 ······································································· 2 1.3 电子密码锁发展趋势 ···································································· 3 1.4 本设计完成的工作 ······································································· 4 2 总体方案设计 ······················································································· 5

2.1硬件设计 ···················································································· 6

2.1.1主要控制器模块 ·································································· 6

3 硬件实现及单元电路设计········································································ 8

3.1 主控制模块 ················································································· 8 3.2 单片机的时钟电路与复位电路设计 ·················································· 9 3.3 单片机管脚说明 ··········································································· 9 3.4 键盘电路设计 ············································································· 11 3.5 液晶显示电路设计 ······································································ 11 3.6 存储芯片电路设计 ····································································· 12 3.7 警报电路 ·················································································· 12 3.8 密码锁电路 ··············································································· 12 4 系统软件设计方案 ··············································································· 14

主程序流图 ····················································································· 14 5 系统仿真设计 ····················································································· 15 6 结论 ································································································· 18 附录1 整机电路原理图 ········································································· 19 图附-1 电路原理图 ················································································ 19 附录2 部分源程序 ·············································································· 20 参考文献 ······························································································ 28

摘要

在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。具有防盗报警等功能的电子密码锁代替密码量少、安全性差的机械式密码锁已是必然趋势。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作、记住密码即可开锁等优点。

本系统由STC89C52单片机、4*4矩阵键盘,蜂鸣器,复位电路和晶振电路、继电器等组成,4*4键盘主要用于密码的输入和修改,蜂鸣器报警,复位电路和晶振电路与STC89C52单片机组成单片机最小系统。它具有设置、修改6位用户密码、输错报警、密码错误报警等功能。本系统成本低廉,功能实用。

关键词: 密码锁;报警 ;蜂鸣器;STC89C52

1

徐州工程学院单片机原理及应用课程设计 1 绪论

1.1 课题背景

在日常的生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点。

根据本设计要求,通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁等任务。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的数字密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁。

其主要优点有:

(1)保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。

(2)密码可变。用户可以经常更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。

(3)误码输入保护。当输入密码错误时,系统会报警。 (4)操作简单易行,一学即会。

1.2 课题的目的和意义

随着电子技术和计算机技术的飞速发展,单片机性能不断完善,性能价格比显著提高,技术日趋完善。由于单片机具有体积小、重量轻、价格便宜、功耗低、控制功能强及运算速度快等特点,因而在国民经济建设、军事及家用电器等各个领域均得到了广泛的应用。本设计利用单片机及附加器件实现数据采集和控制算法,来完成某一实际功能,检验并提高同学对整体电路设计和把握能力,了解单片机系统设计流程,以及电路板的实际制作和调试能力。同时也加强对数字电路、单片机和微机原理等课程知识的实际应用能力,也为同类产品的进一步发展奠定理论和实践基础。

20世纪80年代后,随着电子锁专用集成电路的出现,电子锁的体积缩小,可靠性提高,成本较高,是适合使用在安全性要求较高的场合,且需要有电源提供能量,使用还局限在一定范围,难以普及,所以对它的研究一直没有明显进展。

2

徐州工程学院单片机原理及应用课程设计 目前,在西方发达国家,电子密码锁技术相对先进,种类齐全,电子密码锁已被广泛应用于智能门禁系统中,通过多种更加安全,更加可靠的技术实现大门的管理。在我国电子锁整体水平尚处于国际上70年代左右,电子密码锁的成本还很高,市场上仍以按键电子锁为主,按键式和卡片钥匙式电子锁已引进国际先进水平,现国内有几个厂生产供应市场。但国内自行研制开发的电子锁,其市场结构尚未形成,应用还不广泛。国内的不少企业也引进了世界上先进的技术,发展前景非常可观。希望通过不断的努力,使电子密码锁在我国也能得到广泛应用

1.3 电子密码锁发展趋势

电子密码锁应用于金融业,其根本的作用是“授权”,即被“授权”的人才可以存取钱、物。广义上讲,金融业的“授权”主要包括以下三种层次的内容:1、授予保管权,如使用保管箱、保险箱和保险柜;2、授予出入权,如出入金库、运钞车和保管室;3、授予流通权,如自动存取款。目前,金融行业电子密码锁的应用主要集中在前两个层面上。下面将介绍几种在金融行业中使用较多的电子密码锁以及它们的技术发展方向。当然,以上所说的授权技术再高超,都必须由精良的“锁具”担当承载结构部件,实现开启、闭锁的功能,而且承担实体防护作用,抵抗住或尽量延迟破坏行为,让电子密码锁“软、硬不吃”。一般情况下,锁具防盗的关键是锁身外壳、闭锁的部件的强度、锁止型式、配合间隙和布局。提高电子密码锁之防护能力的必然途径是报警,在金融业的许多场所有人值守、有电视监控,具有报警功能,可以综合物理防范和人力防范两种作用。报警的前提是具备探测功能,根据电子密码锁的使用场所和防护要求,可选择多种多样的探测手段。在中国的城市金融业中,实现联网报警已经成为对各金融网点的基本要求。根据国内外的实践经验,金融业实行安全防范风险等级很有必要,即依据使用的防盗报警器材的性能、安装布局和人员值守状况等,可以评估被防护物或区域的防护能力,得出风险等级,其中,电子密码锁的性能至关重要。

由于数字、字符、图形图像、人体生物特征和时间等要素均可成为钥匙的电子信息,组合使用这些信息能够使电子密码锁获得高度的保密性,如防范森严的金库,需要使用复合信息密码的电子密码锁,这样对盗贼而言是“道高一尺、魔高一丈”。组合使用信息也能够使电子密码锁获得无穷扩展的可能,使产品多样化,对用户而言是“千挑百选、自得其所”。

3

徐州工程学院单片机原理及应用课程设计 1.4 本设计完成的工作

(1)熟悉51单片机集成开发环境,运用C语言编写工程文件;

(2)熟练应用所选用单片机的内部结构、资源,以及软硬件调试设备的基本方法; (3)自行构建基于单片机的最小系统,完成相关硬件电路的设计实现; (4)密码锁的原理和实现方法。

4

徐州工程学院单片机原理及应用课程设计 2 总体方案设计

它是以STC89C52单片机为核心,配以相应硬件电路,完成密码的设置、存贮、识别、驱动电磁执行器并检测其驱动电流值、接收蜂鸣器送来的报警信号、发送数据等功能,单片机接收键入的代码,并与存贮在EEPROM中的六位密码进行比较,六位密码的可以有298万多组密码供主人随意变换,保密性极高,可选密码组是连续排列的,如果密码正确,则驱动电磁执行器开锁;如果密码输入不正确,则单片机通过通信线路向智能报警器发出报警信号。

密码锁主要由矩阵键盘、单片机、外部硬件等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。实际使用时只要将单片机的负载由继电器换成电子密码锁的电磁铁吸合线圈即可,当然也可以用继电器的常开触点去控制电磁铁吸合线圈,单片机将每次开锁操作和此时电磁执行器的驱动电流值作为状态信息发送给单片机的芯片处理,同时将接收来自无限循环的密码识别程序的报警信息也发送给智能报警器,从而使整个密码锁正常运行。

如图2-1所示,电源输入电路为STC89C52提供直流电。晶振电路的主要作用是提供基准频率,在电路产生震荡电流,发出时钟信号。复位电路是使单片机的CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,例如复位后PC=0000H,使单片机从第—个单元取指令。键盘接口电路实现按键输入密码。开锁电路是当用户输入的密码正确时,单片机便输出开门信号,送到开锁驱动电路,然后驱动电磁锁,达到开门的目的。报警电路是密码输入错误时,蜂鸣器发出声响报警。

5

徐州工程学院单片机原理及应用课程设计 电源输入电路 开锁电路 晶振电路 STC89C52 复位电路 报警电路 键盘接口电路 显示

图2-1 系统总体方框图

2.1硬件设计

2.1.1主要控制器模块

方案1:

采用可编程逻辑器件CPLD 作为控制器。CPLD可以实现各种复杂的逻辑功能、规模大、密度高、体积小、稳定性高、IO资源丰富、易于进行功能扩展。采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模控制系统的控制核心。但本系统不需要复杂的逻辑功能,对数据的处理速度的要求也不是非常高。且从使用及经济的角度考虑我们放弃了此方案。 方案2:

采用STC89C52单片机作为整个系统的核心,用其控制密码锁控制,以实现其既定的性能指标。充分分析我们的系统,其关键在于密码锁的控制,而在这一点上,单片机就

6

徐州工程学院单片机原理及应用课程设计 显现出来它的优势——控制简单、方便、快捷。这样一来,单片机就可以充分发挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点。STC89C52单片机具有功能强大的位操作指令,I/O口均可按位寻址,程序空间多达8K,对于本设计也绰绰有余,更可贵的是STC89C52单片机价格非常低廉。

因此,这种方案是一种较为理想的方案。 从方便使用的角度考虑,我们选择了方案2。

7

徐州工程学院单片机原理及应用课程设计 3 硬件实现及单元电路设计

3.1 主控制模块

主控制最小系统电路如图3-1所示。

图3-1 单片主控电路

8

徐州工程学院单片机原理及应用课程设计 3.2 单片机的时钟电路与复位电路设计

本系统采用STC系统列单片机,相比其他系列单片机具有很多优点。一般STC单片机资源比其他单片机要多,而且执行速度快;STC系列单片机使用串口对单片机进行烧写,下载程序较为方便;STC51单片机内部集成了看门狗电路;且具有很强抗干扰能力。

本系统采用内部方式的时钟电路和加电自复位的复位电路,如下图 3-2图3-3所示:

图3-2 时钟电路

图3-3复位电路

由于单片机P0口内部不含上拉电阻,为高阻态,不能正常地输出高/低电平,因而该组I/O口在使用时必须外接上拉电阻。

3.3 单片机管脚说明

VCC(40):供电电压,其工作电压为5V。 GND(20):接地。

P0端口(P0.0-P0.7):P0口为一个8位漏极开路双向I/O口,每个引脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1端口(P1.0-P1.7):P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高电平,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2端口(P2.0-P2.7):P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口,用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时

9

徐州工程学院单片机原理及应用课程设计 接收高八位地址信号和控制信号。

P3端口(P3.0-P3.7):P3口管脚是一个带有内部上拉电阻的8位的双向I/O端口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入端时,由于外部下拉为低电平,P3口将输出电流(ILL)。

P3口同时为闪烁编程和编程校验接收一些控制信号。

复位RST(9):复位输入。在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引脚时,将使单片机复位,只要这个引脚保持高电平,51芯片便循环复位。复位后P3.0-P3.7口均置1,引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序。复位操作不会对内部RAM有所影响。

ALE/PROG(30):当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如果想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,则置位无效。

PSEN(29):外部程序存储器的选通信号。在由外部程序存储器取指令期间,每个机器周期两次PSEN有效。但在访问外部数据存储器时,这两次有效的PSEN信号将不

出现。 __EAEA/VPP(31):当EA保持低电平时,则在此期间外部程序存储器__(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,EA将内部锁定

RESET;当EA____端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也

用于施加12V的编程电源(VPP)。

XTAL1(19):来自反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2(18):来自反向振荡器的输出。

10

徐州工程学院单片机原理及应用课程设计 3.4 键盘电路设计

在单片机应用系统中,一般都会设置键盘,主要为了控制运行状态,输入一些命令或数据,以完成特定的人机交互。键盘是与单片机进行人机交互的最基本的途径,其以按键的形式来设置控制功能或输入数据,按键的输入状态本质上是一个开关量。对于简单的开关量的输入可以采用独立式按键,这种方法接口简单,但占用单片机I/O端口资源较多。对于输入参数较多、功能复杂的系统,需要采用矩阵式键盘进行输入控制。本系统采用4*3矩阵式键盘,键盘连接方式如图3-4所示:

图3-4 键盘电路 图3-5 液晶显示电路

3.5 液晶显示电路设计

液晶显示器(LCD)是一种功耗很低的显示器,它的使用非常广泛,比如电子表、计算器、数码相机、计算机的显示器和液晶电视等。电子密码锁中需要显示的信息比较多,为了能直观的看到结果,并且为了设计显的美观,使用总线和排阻进行简化连接方式,本设计采用液晶显示屏LCD进行显示,具体连接方式如图3-5所示。

11

徐州工程学院单片机原理及应用课程设计 3.6 存储芯片电路设计

I2C总线(Inter Intergrate Circuit BUS)全称为芯片间总线,它在芯片间以两根

连线实现全双工同步数据传送,一条数据线(SDA)和一条串行时钟线(SDL),可以很方便地构成外围器件扩展系统。I2C总线采用两线制,由数据线SDA和时钟线SCL构成,为了对数据进行存储,本系统使用串行EEPROM芯片,AT24C01系列是典型的I2C串行总线的EEPROM,本系统采用此芯片进行数据存储,存储系统连接如图3-6所示:

2图3-6 IC总线和存储芯片连接电路图

3.7 警报电路

报警部分由蜂鸣器及外围电路组成,加电后不发声,当密码输入错误发出报警声。如图3-7所示。

3.8 密码锁电路

密码锁部分由继电器组成,当密码输入正确选择开锁继电器就会吸合。如图3-8所示。

12

徐州工程学院单片机原理及应用课程设计 图3-7 蜂鸣报警电路

图3-8 密码锁电路

13

徐州工程学院单片机原理及应用课程设计 4 系统软件设计方案

主程序流图

如图4-1为主程序流程图,用户才可以自行设定和修改6位密码,密码输错会有提示声。只有键入6位开锁密码完成正确才能开锁。

开始 密码正确? 输入密码 初始界面 设置密码 N 次数加1 报警程序 报警 Y N Y 开锁? 开锁程序 N 返回上一界面 Y 继电器打开 修改密码 修改密码程序 结束

图4-1主程序流程图

14

徐州工程学院单片机原理及应用课程设计 5 系统仿真设计

5.1 protues软件介绍

Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。

PROTEUS不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。 使用Proteus 软件进行单片机系统仿真设计,是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力;在单片机课程设计和全国大学生电子设计竞赛中,我们使用 Proteus 开发环境对学生进行培训,在不需要硬件投入的条件下,学生普遍反映,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。实践证明,在使用 Proteus 进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。因此,Proteus 有较高的推广利用价值。

5.2 protues仿真图

图5-1 选择界面

15

徐州工程学院单片机原理及应用课程设计

图5-2 输入密码界面

图5-3 确认界面

16

徐州工程学院单片机原理及应用课程设计

图5-4 修改密码界面

17

徐州工程学院单片机原理及应用课程设计 6 结论

本设计是电源输入部分、键盘输入部分、密码存储部分、复位部分、晶振部分、显示部分、报警部分、开锁部分组成,根据实际情况键盘输入部分选择4*4矩阵键盘。

在设计中我们必须首先熟悉和掌握单片机的结构及工作原理,单片机的接口技术及相关外围芯片的外特性,控制方法。以单片机核心的电路设计的基本方法和技术了解表关电路参数的计算方法。单片机不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机了解计算机原理与结构的最佳选择。 目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。随着单片机的广泛应用,将大大促进各领域的技术更新,向自动化、小型化、智能化方向迈进。而对于我们来说,我们这代人的目标和任务是把这些高科技产品更升一个层次。

非常感谢高玉芹老师给我们这次实践的机会,让我们能够将所学的理论付诸于实践之中。回想起来,我对于这次的课程设计仍是感慨颇多。从最终的选题到定稿,从理论到实践,在这个布满荆棘的路上,我感受到的是苦多于甜,但是,我学到了很多很多的东西,不仅巩固了自己之前学到的,而且学到了很多课本之外的知识。通过这次课程设计是我懂得理论和实际结合很重要,在以后的学习之中,必须将理论和实际结合起来,变成自己真正有用的东西。

再次感谢高玉芹老师的悉心指导和同学们的帮助!

18

徐州工程学院单片机原理及应用课程设计 附录1 整机电路原理图

图附-1 电路原理图

19

徐州工程学院单片机原理及应用课程设计 附录2 部分源程序

#include #define uchar unsigned char #define uint unsigned int

#include \#include \

uchar value,i;

uchar flag_lj_en; uchar flag_lj_en_value;

sbit relay = P2^3; sbit beep = P2^2;

uchar smg_i; uchar dis_smg[6];

uchar password[6]={6,5,4,3,2,1}; uchar password_bj[6]={1,2,3,4,5,6}; uchar code password_r[6] = {6,5,4,3,2,1} ; uchar password_xg[6]; uchar flag_password; uchar flag_password_cichu1; uchar flag_password_cichu2; bit flag_500ms; bit flag_200ms=1; bit flag_beep_en; bit flag_relay_en;

#define key_io P0

20

徐州工程学院单片机原理及应用课程设计 uchar key_can;

#include \

/***********************1ms延时函数*****************************/ void delay_1ms(uint q) {

uint i,j; for(i=0;i

/****************独立按键处理函数************************/ void key() {

static uchar key_new = 0,key_old = 0,key_value = 0,key_l; key_io = 0x0f; if(key_new == 0) { }

21

for(j=0;j<120;j++);

if(key_io == 0x0f) { }

key_value = 0; key_new = 1; key_can = 30; flag_lj_en = 0; key_value ++; key_value = 0; else

if(key_value >= 5)

徐州工程学院单片机原理及应用课程设计 else {

if(key_io != 0x0f) { }

key_value = 0; key_new = 0;

key_value ++; key_value =0; else

if(key_value >= 5)

}

key_can = 20;

if((key_new == 0) && (key_old == 1)) {

case 0xeb: key_can = 4; break; case 0xdb: key_can = 5; break; case 0xbb: key_can = 6; break;

22

key_l = (key_io | 0xf0); key_io = key_l; switch(key_io) {

case 0xee: key_can = 10; break; case 0xde: key_can = 0; break; case 0xbe: key_can = 11; break; case 0x7e: key_can = 12; break; case 0xed: key_can = 7; break; case 0xdd: key_can = 8; break; case 0xbd: key_can = 9; break; case 0x7d: key_can = 13; break;

徐州工程学院单片机原理及应用课程设计 //

}

write_sfm2(2,1,key_can);

case 0xe7: key_can = 1; break; case 0xd7: key_can = 2; break; case 0xb7: key_can = 3; break; case 0x77: key_can = 15; break;

case 0x7b: key_can = 14; break;

} }

key_old = key_new;

/*****************密码还原********************/ void password_return() {

if(flag_200ms == 1) if(flag_lj_en == 1) { }

23

flag_200ms = 0; flag_lj_en_value ++;

if(flag_lj_en_value > 13) { }

flag_lj_en_value = 0; flag_lj_en = 0;

write_24c02_8(6,0,password_r); beep = 0; delay_1ms(200); beep = 1;

read_24c02_8(6,0,password);

徐州工程学院单片机原理及应用课程设计 }

/***************把数组清空**********************/ void clear_shuzu(uchar *p) {

for(i=0;i<6;i++) }

/*************定时器0初始化程序***************/ void time_init() {

EA = 1; TMOD = 0X01; ET0 = 1; TR0 = 1; }

/*************密码输入错误报警声***************/ void psaaword_beep() {

static uchar value1=0; if(flag_beep_en == 1) {

beep = ~beep;

if(value1 > 6) {

value1 = 0; beep = 1;

flag_beep_en = 0;

24

p[i] = ' ';

徐州工程学院单片机原理及应用课程设计 } }

#include \

/************菜单处理函数***************/ void menu_dis() {

if(menu_1 == 0) { }

if((menu_1 > 0) && (menu_2 == 0)) { }

if((menu_1 == 1) && (menu_2 == 1) && (menu_3 > 0) && (menu_4 == 0)) { } }

/******************下载程序密码初始化**********************/ void password_chushifa() {

25

}

if(flag_200ms == 1) { }

flag_200ms = 0; if(relay == 1)

write_string(2,0,\write_string(2,0,\else

徐州工程学院单片机原理及应用课程设计 value = read_24c02(10) ; if(value != 88) { } }

/******************主程序**********************/ void main() {

password_chushifa(); time_init(); init_menu();

read_24c02_8(6,0,password); init_1602();

init_1602_dis_csf(); while(1) { }

26

value = 88;

write_24c02(10,value);

write_24c02_8(6,0,password_r); delay_1ms(200);

read_24c02_8(6,0,password);

key();

if(key_can < 20) { }

menu_dis(); password_return();

key_with();

徐州工程学院单片机原理及应用课程设计 }

/*************定时器0中断服务程序***************/ void time0_int() interrupt 1 {

static uchar value; TH0 = 0x3c;

TL0 = 0xb0; // 50ms 12M

value ++;

if(value % 4 == 0) { flag_200ms = 1;

}

if(value >= 20) { value = 0;

flag_500ms = ~flag_500ms;

}

}

27

徐州工程学院单片机原理及应用课程设计 参考文献

[1]高玉芹.单片机原理及应用及C51编程技术.北京:机械工业出版社,2011.6 [2]林志琦.基于Proteus的单片机可视化软硬件仿真[M].北京:北京航空航天大学出版社,2006.9

[3] 张靖武,周灵彬.单片机系统的PROTEUS设计与仿真[M].北京:电子工业出版社,2007.4 [4]赵文博,刘文涛.单片机语言C51程序设计[M].北京:人民邮电出版社,2005, 10. [5]孙育才. MCS-51系列单片微型计算机及其应用[M]. 东南大学出版社, 2004,6. [6]沈红卫. 单片机应用系统设计实力与分析[M]. 北京:北京航空航天大学出版社,2003. [7]徐爱钧, 彭秀华. 单片机高级语言C51应用程序设计[M].北京航空航天大学出版社,2006. [8]曾一江. 单片微机原理与接口技术[M]. 北京:科技出版社,2009,12. [9]康华光. 电子技术基础(模拟部分)[M]. 北京:高等教育出版社, 2004,4. [10]江晓安, 董秀峰. 模拟电子技术[M]. 西安电子科技大学出版社,2001.10 [11]戴佳,苗龙,陈斌.51单片机应用系统开发典型实例[M]. 中国电力出版社,2005.9

[12]刘建清. 轻松玩转51单片机:魔法入门·实例解析·开发揭秘全攻略[M]. 北 京航空航天大学出版社,2011

28

本文来源:https://www.bwwdw.com/article/bnb6.html

Top