微机原理及应用课程设计智能密码锁设计_第1页
微机原理及应用课程设计智能密码锁设计_第2页
微机原理及应用课程设计智能密码锁设计_第3页
微机原理及应用课程设计智能密码锁设计_第4页
微机原理及应用课程设计智能密码锁设计_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 湖南工程学院课 程 设 计课程名称 微机原理与应用 课题名称 智能密码锁设计 专 业 xx 班 级 xx 学 号 xx 姓 名 xx 指导教师 xx 200x 年 x 月 x 日湖南工程学院课 程 设 计 任 务 书课程名称 微机原理与应用 课 题 智能密码锁设计 专业班级 xxxxxxxx 学生姓名 xxx 学 号 xxxxxxxxx 指导老师 xxxxxxxxxxxxxxxxx 审 批 任务书下达日期 200x 年 x 月 x 日任务完成日期 200x 年 x 月 x 日设计内容与设计要求设计内容:1、 密码的设定,此密码是固定在程序存储器rom中,假设预设的密码为“12345”共5位密

2、码。2、 密码的输入: 采用两个按键来完成密码的输入,其中一个按键为功能键,另一个按键为数字键。在密码都已经输入完毕并且确认功能键之后,才能完成密码的输入过程。然后进入密码的判断比较处理状态并给出相应的处理过程。3、 按键禁止功能:初始化时,允许按键输入密码,当有按键按下并开始进入按键识别状态时,按键禁止功能被激活,但启动的状态是在3次密码输入不正确的情况下发生的。设计要求:1、 设计方案要合理、正确;2、 系统硬件设计及焊接制作;3、 系统软件设计及调试;4、 系统联调;5、 写出设计报告。主 要 设 计 条 件1、 mcs-51单片机实验操作台1台;2、 pc机及单片机调试软件;3、 单片

3、机应用系统板1套;4、 制作工具1套;5、 系统设计所需的元器件。说 明 书 格 式1. 封面2. 课程设计任务书3. 目录4. 系统总体方案设计5. 系统硬件设计6. 软件设计(包括流程图)7. 系统的安装调试说明8、 总结 9、参考文献10、附录(源程序清单及硬件原理图等);11、课程设计成绩评分表。 进 度 安 排设计时间为两周第一周星期一、上午:布置课题任务,讲课及课题介绍 下午:借阅有关资料,总体方案讨论星期二、确定总体设计方案星期三、硬件模块方案设计星期四、软件模块方案设计星期五、设计及调试第二周星期一、设计及调试星期二、设计及调试星期三、总调星期四、写说明书星期五、上午:写说明书

4、,整理资料下午:交设计资料,答辩参 考 文 献1、微型计算机原理及应用许立梓编 机械工业出版社 20022、微型计算机接口技术及应用刘乐善编 华中理工大学出版社 2000 3、计算机硬件技术基础试验教程邹逢兴编 高等教育出版社 20004、16位微型计算机原理接口及其应用周佩玲编 中国科学技术大学出版社2000 5、微型计算机原理与接口技术吴秀清编 中国科学技术出版社 20016、微型计算机接口技术邓亚平编 清华大学出版社 20017、单片机原理及及应用王迎旭编 机械工业出版社 20018、单片机应用程序设计技术 周航慈 著 北京航空航天大学出版社 20029、单片机实用技术问答 谢宜仁 主编

5、 人民邮电出版社 2002目 录第1章 概述 1.1 设计内容 1.2 系统需求分析 1.3 芯片介绍第2章 系统方案设计 2.1 设计思路 2.2 硬件电路设计方案及框图第3章 硬件设计 3.1 时钟电路 3.2 复位电路 3.3 键盘电路设计 3.4 led数码管显示电路设计 3.5 其它电路设计第4章 软件设计 4.1 密码锁系统软件设计方案 4.2系统程序设计第5章 系统的pcb板制作 5.1 protel简介 5.2 pcb图第6章 调试 6.1 硬件调试 6.2 软件调试 6.3 联调设计总结参考文献附录a 系统组成原理框图附录b 硬件原理图附录c 总流程图附录d 程序清单第1章

6、概述1.1设计内容设计内容如下:1) 密码的设定,此密码是固定在程序存储器rom中,假设预设的密码为“12345”共5位密码。2) 密码的输入: 采用两个按键来完成密码的输入,其中一个按键为功能键,另一个按键为数字键。在密码都已经输入完毕并且确认功能键之后,才能完成密码的输入过程。然后进入密码的判断比较处理状态并给出相应的处理过程。3) 按键禁止功能:初始化时,允许按键输入密码,当有按键按下并开始进入按键识别状态时,按键禁止功能被激活,但启动的状态是在3次密码输入不正确的情况下发生的。4).密码的修改:采用串行eeprom快速存储器实现密码的保存.改完之后的密码写入eeprom中,每次开机或者

7、复位之后,自动读取密码。1.2系统需求分析根据上节的设计内容,则对系统的需求如下:系统需要使用led数码管,用来显示各种状态,可以告诉用户系统运行的实时状态。系统需要使用键盘电路,实现密码的输入和控制密令的下达,完成用户的设计要求。密码的存储,而且要掉电保寸,需要使用串行eeprom快速存储器。系统还需要使用led指示灯、蜂鸣器、继电器来模拟各种状态。系统软硬件要支持在线系统编程。1.3芯片介绍1.3.1 单片机单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。在一片集成电路芯片上集成微处理器、存储器、i/o接口电路,从而构成了单芯片微型计算机,即单

8、片机。 intel公司推出了mcs-51系列单片机:集成 8位cpu、4k字节rom、128字节ram、4个8位并口、1个全双工串行口、2个16位定时/计数器。寻址范围64k,并有控制功能较强的布尔处理器。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称pc机。它由主机、键盘、显示器等组成(如图1所示)。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各

9、种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。 单片机的应

10、用领域 : 1.单片机在智能仪器仪表中的应用; 2.单片机在工业测控中的应用; 3.单片机在计算机网络和通讯技术中的应用; 4.单片机在日常生活及家电中的应用; 5.单片机在办公自动化方面。 目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能ic卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计

11、算机应用与智能化控制的科学家、工程师。1.3.2 串行eeprom芯片介绍 串行eeprom是一种用电擦除的存储器,擦除时不需要其它擦除设备,使用方便,而且它可实时写入,且具有掉电保护功能,因此受到广泛应用。串行eeprom芯片采用串行总线技术,可以方便与系统连接,具有设计简单,体积很小,系统更改和扩展容易等优点。它是用i2c总线与mcu连接。i2c总线是phlips公司推出的一种串行总线,是具备多主机系统所需的包括总线裁决和高低速器件同步功能的高性能串行总线。i2c总线只有两根双向信号线,一根是sdl数据线,另一根是scl时钟信号线。i2c总线必须通过上拉电阻接正电源。当总线空闲时,两根线均

12、为高电平。连到总线上的任一器件输出的低电平,都将使总线的信号变低,即各器件的sda及scl都是线“与”关系。串行eeprom具有很多系列产品,常见的是atmel公司的at24c系列。其典型产品如下:at24c01:128字节(1288位); at24c02:256字节(2568位);at24c04:512字节(5128位);at24c08:1k字节(1k8位);at24c16:2k字节(2k8位); 本系统设计采用的是24c02型号的eeprom芯片,内存容量是256b。1.3.3 串行eeprom基本操作 (1)写入过程 at24c系列e2prom芯片地址的固定部分为1010,a2、a1、a

13、0引脚接高、低电平后得到确定的3位编码。形成的7位编码即为该器件的地址码。msb r/t单片机进行写操作时,首先发送该器件的7位地址码和写方向位“0”(共8位,即一个字节),发送完后释放sda线并在scl线上产生第9个时钟信号。被选中的存储器器件在确认是自己的地址后,在sda线上产生一个应答信号作为相应,单片机收到应答后就可以传送数据了。传送数据时,单片机首先发送一个字节的被写入器件的存储区的首地址,收到存储器器件的应答后,单片机就逐个发送各数据字节,但每发送一个字节后都要等待应答。at24c系列器件片内地址在接收到每一个数据字节地址后自动加1,在芯片的“一次装载字节数”(不同芯片字节数不同)

14、限度内,只需输入首地址。装载字节数超过芯片的“一次装载字节数”时,数据地址将“上卷”,前面的数据将被覆盖。当要写入的数据传送完后,单片机应发出终止信号以结束写入操作。写入n个字节的数据格式 :(2)读出过程 单片机先发送该器件的7位地址码和写方向位“0”(“伪写”),发送完后释放sda线并在scl线上产生第9个时钟信号。被选中的存储器器件在确认是自己的地址后,在sda线上产生一个应答信号作为回应。然后,再发一个字节的要读出器件的存储区的首地址,收到应答后,单片机要重复一次起始信号并发出器件地址和读方向位(“1”),收到器件应答后就可以读出数据字节,每读出一个字节,单片机都要回复应答信号。当最后

15、一个字节数据读完后,单片机应返回以“非应答”(高电平),并发出终止信号以结束读出操作。 第2章 系统方案设计2.1 设计思路 根据设计要求,初步思路如下:1).系统的原始密码放在ram区,在运行过程中可以实时更改系统密码。.2).利用串行eeprom存储芯片,可以随时读取新密码,且具有掉电保护功能。3).人机交互通过键盘输入,系统根据键值做出相应的处理,完成具体的功能。4).led数码管通过驱动电路,显示相应的状态。位选由p2口高四位产生,段码由p1口输入。5).系统还扩展了led指示灯、蜂鸣器、继电器等一些其本外围电路。6).此系统共设计了3个基本功能键:密码设置键、确认键、复位键。密码设置

16、键:当用户需更改密码时,可通过此功能键方便地修改原先的旧密码。确认键:当完成密码输入后,可按此功能键即可实现密码的比较和处理。复位键:当密码三次输入错误时,系统进入死锁状态,可按此功能键跳出此状态。2.2 硬件电路设计方案及框图 根据设计要求与设计思路,确定系统的设计方案,图2-1为系统组成原理框图。硬件有以下几部分组成:单片机、时钟电路、复位电路、键盘输入电路、串行eeprom扩展电路、led数码管显示电路、led指示灯电路、蜂鸣器电路、继电器电路等。单片机键盘输入电路系统复位电路时钟电路 led数码管显示电路 led指示灯 、蜂鸣器、继电器电路eeprom扩展电路 图 2-1 系统组成原理

17、框图第3章 硬件设计3.1 时钟电路 单片机工作的时间基准是由时钟电路提供的,在单片机的xtal1和xtal2两个引脚间,接一只晶振及两只电容就构成了单片机的时钟电路,如图2-2所示。 图 2-2 时钟电路电路中器件选择可以通过计算和实验确定,也可以参考一些典型电路参数。电路中,电容器c1和c2对振荡频率有微调作用,同时帮助晶振起振,通常取值范围在3010pf,一般晶振为6mhz,电容取20pf,晶振为12mhz,电容取30pf。石英晶体选择6mhz或12mhz,其结果只是机器周期不同,影响计数器计数初值。 2.3.2.复位电路单片机的rst引脚为系统提供一个外部复位信号,复位信号是高电平有效

18、,高电平有效维持时间为2个机器周期以上,复位电路如图2-3所示.。 图2-3 复位电路 单片机复位方式有上电复位和手动复位两种方式。此复位电路集有上电自动和手动复位组合电路,各元件阻值如图2-3所示,按钮为手动复位按钮。 3.2 键盘电路设计 电子密码锁应用系统工作时应具备两种基本功能,一是密码设置功能,二是密码输入功能。要实现这两种功能就必须通过键盘输入单元来完成。 1).键盘结构选择在单片机组成的测控系统及智能仪器中,用得最多的是非编码式键盘。键盘结构可分为独立式键盘和行列式键盘(矩阵式)两种。在实际系统中,单片机简单开关参数的输入是通过按键实现的。但是,在需要输入参数较多、功能较复杂时,

19、就需要用行列键盘的形式对单片机进行输入。在本系统设计中,采用了行列式键盘设计单元。按键识别方法采用行扫描法。2).键盘与单片机接口电路设计键盘识别在此系统设计中,键盘行列与单片机p2口连接,通过单片机程序实现对按键码的识别。键盘上有好多键,每一个键对应一个键码,以便将键码转到相应的的键处理子程序,进一步实现数据输入和命令处理的功能,键识别的流程图如图2-4所示。 有键按下 去抖动 确定键码等待按键释放 返回 图2-4 键盘按键功能分为如下:09 数字键功能:完成键值的输入,即密码设置和密码输入。 a 设置键功能:完成密码的修改。 b 确认键功能:确定密码输入完毕。3.3 led数码管显示电路设

20、计单片机应用系统中,通常都需要进行人-机对话。这包括人对应用系统的状态干预与数据输入,以及应用系统向人们显示状态及各种运行结果,显示器、键盘电路都是用来实现人-机对话活动的人机通道,因此在单片机系统中有着广泛的应用。 数码管在系统中的主要作用是显示单片机的输出数据、状态等,因而,作为外围典型器件,数码管显示是反映系统输出和操作输入的有效器件。数码管具备数字接口,可以方便地和单片机系统连接;数码管的体积小,重量轻,并且共耗低,是一种理想的显示单片机数据输出内容的器件,在单片机系统中有着重要的作用。 led数码管的驱动是一个非常重要的问题由于单片机并行口不能直接驱动led数码管,必须采用驱动电路或

21、放大电路,使之产生足够大的电路,显示器才能高亮正常工作。如果驱动能力差,显示器亮度就低,这样显示效果就会很差,达不到设计的需要。在本系统中,采用了三极管放大电路驱动数码管显示。 led显示器显示控制方法有两种,即动态显示和静态显示。静态显示亮度一般比动态显示效果好,但本次设计中,采用了动态显示。led显示器有共阴和共阳两种接法,因此设计过程中要注意接法的区别。下表为led显示器扫描的字符编码。 表 2-5 字形代码 字形共阴极代码 字形共阴极代码 0 28h 7 eah 1 ebh 8 20h 2 32h 9 a0h 3 a2h a 60h 4 e1h b 25h 5 a4h 6 24h 3.

22、4 其它电路设计1).蜂鸣器电路当密码三次输入错误时,系统就会进入死锁状态,蜂鸣器就会发出声音,实现报警的功能。电路如图2-6所示,蜂鸣器作为三极管9012的集电极负载,当三极管导通时,蜂鸣器就会发声,当三极管截止时,蜂鸣器停止发声。电阻r是限流电阻,可改变输入电流的大小,从而可改变声音的大小,由p3.7的高低电平变化的快慢来改变蜂鸣器的频率。 图2-6 2).led指示灯电路 在本次设计过程中,有led 指示灯来显示不同的状态。当密码输入正确后,led指示灯前四个发光,当密码错误后,led指示灯后四个发光,当三次输入错误后led指示灯闪烁。3).继电器电路 此系统用继电器的开关的跳变来模拟密

23、码锁的开和关,当密码输入正确后继电器的开关会发生跳变,即常闭打开,常开吸和。4).串行eeprom扩展电路串行eeprom芯片和单片机系统连接,可实现掉电保护系统重要数据,在此是实时存储修改后的密码,在掉电后自动读取设置好的密码。至此,我们设计完成了密码锁硬件电路的设计,要使该电路具有密码锁的功能,还需要相关的软件配合才能达到设计要求。 第4章 软件设计进行应用软件设计时,可采用模块化程序设计方法,其优点是:1).每个模块的程序结构简单,任务明确,易于编写、调试和修改。2).程序可读性好,对程序修改可局部进行,其他部分可以保持不变。3).对于使用频率高的子程序可以建立程序库,便于多个模块调用。

24、4).便于分开合作,多个程序可同时进行程序编写和调试工作,加快软件的开发进度。4.1 密码锁系统软件设计方案 根据设计要求,首先确定软件设计方案,即确定软件应该完成哪些功能,其次是规划为了完成这些功能需要多少个功能模块,以及每个程序模块具体的任务是什么,模块划分原则是尽可能相互独立,相互间的联系尽可能少,即低藕合,高内聚的原则。根据模块划分原则,此系统可以将设计方案划分成以下几个模块: 延时程序密码设置密码比较键盘扫描密码读取主程序延时程序延时程序延时程序延时程序延时程序延时程序延时程序延时程序延时程序延时程序延时程序 图4-1 4.2系统程序设计4.2.1 主程序设计主程序设计内容一般包括:

25、变量的初始化,有关子程序调用,以及相关数据处理等等。系统的主程序主要用来初始化一些参数。对键盘的状态不断查询,以读取当前的键值,并进行相应的数据处理。系统一上电,主程序就一直处于运行状态,等待按键的输入,一但有按键输入,主程序就会将它保存在密码缓冲区内。当功能键按下时,系统就会根据功能键转到相应的地方进行数据处理。例如密码的修改和密码的比较。主程序流程图见附录a。4.2.2 键盘模块设计键盘采用矩阵式结构,用行扫描的方法查询按键的输入。键盘输入信息的主要过程如下:1. mcu判断是否有键按下。2. 确定按下的是哪一个按键。3. 根据按键信息转处理相应的数据。采用查询法实现键盘扫描程序过程如下:

26、1. 查询是否有键按下。首先单片机向行扫描端口一行全为零的信号,然后从列检测输入信号,只要有一列信号不为“1”,则表示有键按下。接着就判断是哪一个按键。2. 若有键按下,还需要进行一定时间的延时,判断是否是误动作。3. 找到该按键后,还应进行松手检测,不然的话一直保持该键的键值,系统就会出错。 键盘扫描程序的流程图返回判断返回键码逐行扫描按键有无键按下p2=0xfe行线输入keyscan()keyscan()函数定义开 始 图4-2 4.2.3 数码管模块设计在本系统设计中,数码管采用动态显示,段码显示由p0口控制,位码显示由p2口高四位控制。先打开一位数码管,接着就送入段码,然后逐个打开数码

27、管,逐个送入字形码,循环显示,从而实现动态显示。 数码管显示程序流程图开 始延 时指定字形码指定字位码 显示缓冲区初始化 图4-3程序主要完成以下的功能:1)定义字位和字形码。根据驱动电路的硬件连接,得到led的字位和字形码;2)显示。得到字位和字形码后,向不同的字位送数据,进行数据的显示。3)动态扫描。由于使用的是动态显示法,在led显示程序中,需要不停地扫描字位口,从而实现不同字位的数据的动态显示效果。第5章 系统的pcb制作5.1 protel 99 简介 随着现代科学日新月异地发展,现代电子工业也取得了长足的进步,大规模、超大规模集成电路的使用使印制电路板的走线愈加精密和复杂。在这种情

28、况下,传统的手工方式设计和制作电路板已显得越来越难以适应新形势了。如今,protel 99的技术愈加成熟,强大的功能受到了广大用户的青睐。它主要以下两大部分组成。l 原理图设计系统。它主要用于电路原理图的设计,为印制电路板的设计打好基础。l 印制电路板设计系统。它主要用于印制电路板的设计,产生最终的pcb文件,直接联系到印制电路板的生产。5.2 试验板pcb制作 印制电路板的设计工作主要分为原理图设计和印制电路板设计两部分。试验板pcb制作流程如下。一、 绘制原理图及生成网络表 印制电路板设计工作首先是绘制原理图,然后由原理图生成相应的网络表,而网络表正是印制电路板自动布线的基础和灵魂。二、

29、规划电路板 在绘制印制电路板之前,用户必须对所有的电路板进行初步的规划。比如是采用单面板、双面板还是多面板,电路板的尺寸,元件采用什么样的封装形似,元件的安装的位置。三、 启动protel 99印制电路板(pcb)编辑器这步工作就是如何进入protel 99印制电路板的编辑器的编辑环境。四、 设置参数 启动编辑器后,用户要对元件的布置参数、板层参数、布线参数等进行相应的设置。五、 装入网络表及元件的封装 对于每一个装入的元件必须要有相应的封装形式,这是自动布线中所不能缺少的。只有将网络表和元件的封装装入后,才能开始印制电路板的自动布线工作。六、 布置元件在设定好电路板的尺寸和外形的封装并装入网

30、络表后,程序会自动装入元件,并自动将元件布置在电路板的边界内。七、 自动布线与手工调整 只要各种参数设置合理、元件的位置布置得当,自动布线就会非常顺利。八、 印制电路板文件的保存及打印输出完成印制电路板的布线工作后,用户应该及时将文件保存及打印输出。印制好的文件可以拿到厂里制作,这样完成了试验板的制作。 上述只完成了试验板的制作,接下来就是对硬件的调试了,否则后续工作就不能开展下去了。第6章 系统调试单片机应用系统的调试,包括硬件调试和软件调试,是一个很重要的步骤。硬件调试和软件调试并不能完全分开,许多硬件错误事在软件调试过程中被发现和纠正的,一般方法是先排除明显的硬件故障,在进行软硬件综合调

31、试。6.1 硬件调试 6.1.1实验板介绍本次课程设计中,所用的开发板是lk-51 单片机实验开发板,它是老师们根据多年的教学与应用开发经验,结合单片机技术的发展与应用情况,为单片机学习和应用者研发的一款具有编程、实验、仿真和开发等功能的单片机学习机。具有资源丰富、稳定性好、使用方便、便于扩展开发和高性价比等特点。不需其他仿真器和编程器等工具,可直接通过串行口下载程序,或在线仿真,方便快捷,适合于单片机学习和应用者完成实验、课程设计、科技创新活动以及应用开发等。利用该款学习机可极大的降低学习单片机的成本,用户还可以通过实验例子理解编程思路,学习单片机应用系统的一般设计和调试方法等,使你快速的掌

32、握单片机技术。该学习机由基本实验主机板和若干功能扩展模块构成。实验主机板除51 系列单片机芯片外,其主要硬件资源有:(1)8 路led 指示;(2)4 位7 段数码管以及驱动电路;(3)1 个43 矩阵式键盘以及接口电路,1 个独立式中断按键;(4)1 个蜂鸣器或小型扬声器;(5)1 个继电器输出电路,含常开常、闭触点;(6)1 片 at24c02 存储器芯片;(7)一个塑封一体化红外线接收头;(8)1 个三位拨码开关;(9)1 根rs232 串口通讯接口以及下载线,可完成程序下载、在线仿真(用sst 芯片),并实现与pc 机以及与其他单片机之间的通信;(10)1 个可对s5x 系列单片机编程

33、的isp 接口;(11)可对用户开放的全部i/o 口引脚,方便用户根据需要进行功能扩展和二次开发;(12)1 个整流、滤波稳压电路,可采用712v 电源输入(交、直流均可),对本机提供5v 工作电压,并可对扩展功能模块提供5v和12v 直流电源。此外还可配置其他的功能模块,功能扩展模块有:(1)a/d、d/a 功能模块;(2)lcd 字符型液晶显示模块;(3)多路继电器模块;6.1.2联机前的静态调试 当设计者完成了绘图制板工作,并且拿到印制电路板,准备焊接元器件及插座,进行联机仿真调试之前,应做好下述工作:1)在未焊接元器件管座或元件之前,首先用眼睛和万用表直接检查线路板各处是否有明显的断路

34、、短路的地方,尤其是要注意电源是否短路。这一步虽然简单,而且枯燥,但非常重要。否则未检查就焊上元件或管座,以至发现短路、开路、故障时,却常因管座、元件遮盖住线路难以进行故障定位,甚至还要将已焊好的管座再拔下来,造成的麻烦可想而知的。2)元件在焊接过程中要逐一检查,例如二极管、三极管、电容的极性,电阻的阻值和摆放的位置是否正确。3)元器件焊接完毕后,还有仔细检查元件面各元件之间裸露部分有无相互接触现象,焊接面的各焊点间有无连接或着是否出现虚焊。4)完成上述检查后,先空载上电(未插芯片),检查电路电路板各引脚及插件上的电位是否正常,特别是单片机引脚上的各点电位是否正常。若一切正常,将芯片插入各管座

35、,再通电检查各点电压是否达到要求,逻辑电平是否符合电路或器件的逻辑关系。若有问题,掉电后再认真检查故障原因。 在完成上述联机调试准备工作后,在断电情况下用,用串行口线将试验板与pc机相连,下载综合程序,然后操作实验板上的按键,仔细观察实验现象,反复调试,直到没有错误为止。6.2 软件调试 单片机系统的开发除了需要硬件支持以外,同样离不开软件。cpu真正可执行的是机器码,用汇编语言或c语言等高级语言编写的程序必须转换为机器码才能被执行,转换的方法有手工汇编和机器汇编两种,前者比较麻烦,已不太实用了。机器汇编是指通过汇编软件将程序变为机器码的编译方法。这种汇编软件称为编译器。本次系统开发用到了目前

36、流行的keil编译器。6.2.1 keil 编译器简介keil提供了一个集成开发环境ide uvision,它包括了c编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器。这样开发一个系统比较简单了。先用编辑器编写程序,接着调用编译器进行编译,连接后即可直接进行运行,缩短了程序开发周期。开发人员在软件调试前,先在keil 编译器中建立一个工程文件,接着新建一个文件,后缀名为 *.c ,软件编译是会自动调用c编译器编译程序。之后要选择mcu控制芯片,然后就编写程序保存,经编译链接后,会生成后缀名 *.hex 可执行文件,用在线下载软件将可执行文件烧录到单片机内,就完成了程序的开发。6.2.2

37、 应用系统动态调试 户的源程序经过汇编后,生成的目标文件必须经过仿真调试,才能固化到应用系统的程序存储器eprom中。 在下载程序前,应进行软件调试,以免错误的程序下载到实验板上,烧坏控制芯片,因此软件调试是必不可少的。程序编译无误后,设置好仿真参数,就可以进行软件调试了。程序执行可采用两种方法,即单步执行和全速执行。总体调试最好采用前者方法,这样做有助于找到错误所在。子程序内部或着延时程序可以采用后者方法,这样有助于节省调试时间。调试过程中,要适当打开一些关键变量的窗口,观察它的变化情况,仔细分析,实验结果要与预期结果相比较,如果出现错误,反复分析与调试。6.3联调从实质上说,应用系统的联调

38、是对软硬件的综合调试,一方面要排除软件的错误,同时进一步解决硬件部分遗留故障。联调的总体方案是:把整个应用系统按其功能分成若干个模块,如系统扩展模块、输入输出模块、键盘扫描模块等。针对不同的模块,用led指示灯来跟踪调试。调试的方法是“最短程序”调试法。“最短程序”是指用最简洁的主程序及调用最少子程序的系统软件程序。在实践过程中,我发现“最短程序”调试法对系统调试有很大的帮助。特别是在程序模块多、错误多的情况下,就越有好处。如果最短程序调试不能通过的话,则说明硬件有问题。这时就应该首先将你的硬件简化成最小系统,排除硬件故障后,在运行“最短程序”。如果运行通过,可逐步增加软件模块和硬件模块,反复

39、实验。 设计总结忙碌了两个星期,最终把这个课程设计做完了。在这次课程设计过程中,让我学到了许多东西,收益匪浅。课程设计是检验理论知识的掌握和应用能力最好的方法。它能迅速提高个人的动手能力和实践能力,它能帮助我们对知识的掌握,促进知识体系的构建,因此,我好好地把握了这短短的两周时间,完成了课程设计的任务。在课程设计过程中,虽然有点辛苦,但乐在其中。在接到任务后,我就立刻动手写好了方案设计,接着就把程序写好了。在这一阶段,完成的还是比较顺利的。接下来就是调试程序就花了一两天的时间。调试过程中,出现了好多从未遇见过的问题,刚开始调试还是比较顺利的,后来出现了一个问题,调试了很久也没能解决,我也询问过

40、老师,从老师那也得到了许多宝贵的意见,可是还是不能解决。我就把它放了几天,我就帮我们班同学调试程序,在这个过程中,我学到了许多的知识,那是书本上学不到的的知识。后来我还是静下心来,慢慢调试,运用“最短程序”的调试的方法一步一步地调试,可是还是不能解决掉。后来我就和同学讨论,才发现了错误所在。原来是我的变量定义出了问题,把,全局变量改成局部变量后,错误就没有了。这时我才真正地体会到了全局变量和局部变量的区别。它们的含义和在文件中的作用域是截然不同的。同时,我也明白了程序中的没一个细节都能影响程序的运行,所以在设计程序时,一定要保持一丝不苟的精神开发应用系统。经过这一次的课程设计,虽然做的不太完美

41、,但毕竟还是做出来了一点东西,心里还是比较高心的,也学到了很多的东西,积累了许多经验,也明白了很多。理论与实践是有着一定的距离,即使这理论学的好,不会编程序,这也是枉然!所以在今后的学习当中,我们更应该重视理论与实践结合的重要性。程序的设计过程就有如解决一个实际问题,我们要先学会分析问题,然后再去解决这一问题。在整个设计过程中懂得了许多东西,也培养了独立思考和设计的能力,树立了对知识应用的信心,相信会对今后的学习工作和生活有非常大的帮助,并且提高了自己的动手实践操作能力, 使自己充分体会到了在设计过程中的成功喜悦。虽然这个设计做的不怎么好,但是在设计过程中所学到的东西是这次课程设计的最大收获和

42、财富。总之,这次课程设计让我受益良多!在此,深诚感谢指导老师的辛勤指导。由于本人水平有限,敬请老师批评指正。参考文献1 许立梓.微型计算机原理及应用m.北京:机械工业出版社, 20022、微型计算机接口技术及应用刘乐善编 华中理工大学出版社 2000 3、计算机硬件技术基础试验教程邹逢兴编 高等教育出版社 20004、16位微型计算机原理接口及其应用周佩玲编 中国科学技术大学出版社2000 5、微型计算机原理与接口技术吴秀清编 中国科学技术出版社 20016、微型计算机接口技术邓亚平编 清华大学出版社 20017、单片机原理及及应用王迎旭编 机械工业出版社 20018、单片机应用程序设计技术

43、周航慈 著 北京航空航天大学出版社 20029、单片机实用技术问答 谢宜仁 主编 人民邮电出版社 200210、51单片机应用系统开发典型实例 戴佳 编 中国电力出版社 2005 11、单片机应用系统设计 韩志军 编 机械工业出版社 200512、protel 99入门与提高 老虎工作实主编 人民邮电出版社附录a: 系统组成原理框图单片机时钟电路键盘输入电路 led数码管显示电路 系统复位电路 led指示灯 、蜂鸣器、继电器电路eeprom扩展电路 电源电路 附录b:硬件原理图附录c:系统软件流程图 有键按下?结束键= = a?读取功能键count= =4?按键个数加1调用键盘扫描子程序显示“锁”字形变量的设置与初始化主程序 密码比较 调用密码比较子程序 正确是否 y n 显示开锁重新输入密码 比较次数加1 n次数= = 3 ? y 存取键值 n y 显示错误,并报警 n y n y 密码比较修改密码保存密码附录d: 程序清单 #include#define uchar unsigned char#define

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论