基于AT89S52单片机的八位流水灯和按键的数码显示_第1页
基于AT89S52单片机的八位流水灯和按键的数码显示_第2页
基于AT89S52单片机的八位流水灯和按键的数码显示_第3页
基于AT89S52单片机的八位流水灯和按键的数码显示_第4页
基于AT89S52单片机的八位流水灯和按键的数码显示_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、中国地质大学江城学院毕业设计(论文)中国地质大学江城学院毕业设计(论文) i 原创性声明原创性声明 本人呈交的毕业论文,是在导师的指导下,独立进行研究工作所取得的成果,所有 数据、图片资料真实可靠。尽我所知,除文中已经注明引用的内容外,本毕业论文的研 究成果不包含他人享有著作权的内容。对本论文所涉及的研究工作做出贡献的其他个人 和集体,均已在文中以明确的方式标明。本毕业论文的知识产权归属于培养单位。 本人签名: 日期: 中国地质大学江城学院毕业设计(论文)中国地质大学江城学院毕业设计(论文) ii 摘摘 要要 本次毕业设计包括 at89s52 单片机最小系统(包括复位和时钟电路)及供电系统、

2、4*4 矩阵键盘按键的 7 段 led 数码管显示电路、8 个 led 灯的流水电路,并详细地介绍 了一种由 at89s52 单片机集成块编程实现的控制电路,完成了 at89s52 单片机流水灯控 制功能以及 4*4 键盘按键的 led 数码显功能,并给出了具体的硬件电路和相应的程序。 这种控制电路可靠性,灵活性高,使用范围广,特别适合中小城市的交通灯、霓虹灯等 的应用。而且,它对其他类似系统的开发具有一定的借鉴意义,并以此引发对如何使用 单片机进行智能控制的思考。 关键词:关键词:单片机 流水灯 最小系统 矩阵键盘 led 显示 中国地质大学江城学院毕业设计(论文)中国地质大学江城学院毕业设

3、计(论文) iii abstract the school design includes at89s52 microcomputer system (including the reset and clock circuits) and power supply system, 4 * 4 matrix keyboard keys 7 segment led digital display circuit, eight led light water circuit, and a detailed description kind of programming by the at89s52

4、microcontroller integrated block control circuit, it completed the at89s52 microcontroller flow control lamp and 4 * 4 keyboard keys led digital obvious function, and gives a hardware circuit and the corresponding procedures. this control circuit reliability, high flexibility, widely used, especiall

5、y for small and medium sized cities, traffic lights, neon lights and other applications. moreover, its development of other similar systems have some reference, and thus trigger the use of intelligent control of scm. keywords: mcu software test minimum system matrix keyboard led display 中国地质大学江城学院毕业

6、设计(论文)中国地质大学江城学院毕业设计(论文) iv 目目 录录 1 引言引言.1 1.1 at89s52 单片机技术的发展.1 1.2 课题背景与意义.1 1.3 论文主要工作.1 2 总体设计总体设计.3 2.1 实现功能.3 2.2 设计方案的确定.3 3 硬件组成硬件组成.4 3. 1 单片机最小系统.4 3.1.1 供电电路的设计.5 3.1.2 单片机时钟电路的设计.5 3.1.3 单片机复位电路的设计.6 3.2 流水灯功能设计.7 3.2.1 at89s52 单片机 p0 口功能简介.7 3.2.2 74ls373 芯片简介.7 3.2.3 流水灯硬件电路.8 3.3 键盘电

7、路及 led 七段数码管显示电路.9 3.3.1 cd4511 芯片简介.9 3.3.2 键盘输入应解决的问题.11 3.3.3 七段 led 显示器简介.12 3.3.4 键盘及键盘按键数码显示硬件电路设计.14 4 软件程序总体设计软件程序总体设计.15 4.1 跑马灯程序.15 4.2 at89s52 单片机延时毫秒程序.16 4.3 4*4 键盘程序.16 5 系统的安装与调试系统的安装与调试.18 5.1 硬件调试.18 5.1.1 断电调试.18 5.1.2 通电调试.18 5.2 软件调试.18 5.3 调试过程.18 结束语结束语.19 中国地质大学江城学院毕业设计(论文)中国

8、地质大学江城学院毕业设计(论文) v 致致 谢谢.20 参考文献参考文献.21 中国地质大学江城学院毕业设计(论文)中国地质大学江城学院毕业设计(论文) 1 1 引言引言 1.1 at89s52 单片机技术的发展单片机技术的发展 at89s 系列单片机与 atmel 公司其它系列 51 单片机相比较,它的最大特点是:能 在线编程 isp(insystem programrnable),且编程连线极其简单。片内程序存储器允许 重复在线编程,允许程序存储器在系统内通过 spi 串行口改写或用通用的非易失性存储器 改写。通过把通用的 8 位 cpu 与可在线下载的 flash 集成在一个芯片上,使

9、at89s52 成 为一个高效的微型计算机。at89s52 单片机是一种低功耗高性能的 cmos 8 位微控制器, 内置 8kb 可在线编程闪存。该器件采用 atmel 公司的高密度非易失性存储技术生产,其 指令与工业标准的 80c51 指令兼容。由于所具有 isp 功能,从而简化了以前单片机学习 中采用的程序下载过程。将程序直接下载到单片机中,所设计的系统即可实现。所以学 习使用起来非常的方便。而且,它的应用范围广,可用于解决复杂的控制问题,且成本 低。 1.2 课题背景与意义课题背景与意义 单片机对于工业控制界来说,意义是革命性的。从世界上第一块单片机最初的简单 控制功能到如今能够满足不同

10、场合的需要,仅仅经历了不到 30 年的时间。如今世界知名 的半导体公司大多有其独立的单片机系列产品。比较著名的有 atmel 公司的 avr(简 化指令)系列、德州仪器公司的 msp430(超低功耗)系列、美国半导体公司的 cop8(内含高性能 16 位 ad)系列、摩托罗拉公司 68hc08(低频高速)系列等。全世 界范围内从事单片机开发的人员有上百万之多,原因就是单片机最大的特点:性能十分 稳定、适应能力强,并且开发价格低廉、门槛低,非常适用于工业控制。单片机编程只 需要一台电脑、一个下载器和一块单片机开发板即可。本次设计是对单片机最小系统的 设计,以 89s52 单片机为核心,编程方便,

11、造价低,实现了 8 位流水灯的单片机控制以 及键盘按键的 led 数码管的显示功能。本设计有设计灵活、使用方便,可进行简单 io 实验、中断实验等,可以提对相关电子知识学习的兴趣,具有一定的实用性和推广 价值。通过进一步扩展可做成单片机开发板。 1.3 论文主要工作论文主要工作 在开发设计本课题过程中,本人完成了如下工作:首先,完成搜集和查阅与项目相 关的资料工作;其次,完成了系统硬件方案的制定,并在此基础之上设计和实现了硬件 中国地质大学江城学院毕业设计(论文)中国地质大学江城学院毕业设计(论文) 2 电路,并在 ewb 上完成仿真;再次,完成了系统软件方案的制定,并在此基础之上完成 了主要

12、软件的编写工作;最后,完成了焊接工作并实现了既定功能。 中国地质大学江城学院毕业设计(论文)中国地质大学江城学院毕业设计(论文) 3 2 总体设计总体设计 2.1 实现功能实现功能 本设计可以实现 8 个发光二极管先从左到右,然后从右到左的轮流点亮。还可以实 现 4*4 键盘按键的 led 数码显示。并且带有复位功能,当按下复位键之后,7 段 led 数 码管清零,跑马灯从左往右开始流水。 2.2 设计方案的确定设计方案的确定 (1)处理器的选择 由于 at89s52 是一个低功耗,高性能 cmos 8 位单片机,片内含 8k bytes isp(in- system programmable

13、)的可反复擦写 1000 次的 flash 只读程序存储器1。器件采用 atmel 公司的高密度、非易失性存储技术制造,兼容标准 mcs-51 指令系统及 80c51 引脚结构, 芯片内集成了通用 8 位中央处理器和 isp flash 存储单元2,功能强大的微型计算机的 at89s52 可为许多嵌入式控制应用系统提供高性价比的解决方案,并且由于 atmel 的 at89s52 具有体积小,市场货源充足,成本低以及用软硬件仿真调试资源丰富的特点3。 因此,本系统使用 at89s52 单片机作为微处理器。 (2)显示电路 在不同的应用场合中对显示输出设备的要求是不一样的,在简单的系统中发光二极

14、管作为指示灯来显示系统的运行状态;在一些大型的系统中需要处理的数据比较复杂, 这是常用数码管和液晶显示设备来实现。对于普通的液晶显示器,需要专门的驱动电路, 另外液晶显示可视性较差。而数码管具有显示亮度高,使用寿命长,价格便宜等优点, 驱动电路也比较简单,因此选用数码管显示。 (3)键盘电路 键盘按结构形式可分为非编码键盘和编码键盘,非编码键盘需要用软件方法获取键 值,而编码键盘则用硬件方法来产生键值。在单片机中使用的通常是非编码键盘,因为 非编码键盘结构简单、成本低廉。非编码键盘的类型也很多,常用的有独立式键盘、矩 阵式键盘等。在键盘中按键较多时,为了减少 i/o 口的资源占用,通常将按键排

15、列成矩阵 形式 在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加 以链接。这样,一个端口(如 p1 口)就可以构成 4*4=16 个按键,比直接将端口线用于 键盘的独立式键盘多出了一倍,因此本设计采用矩阵式键盘。 中国地质大学江城学院毕业设计(论文)中国地质大学江城学院毕业设计(论文) 4 y1 22.1184 c9 15p c8 10uf s1 sw-pb ale wr rd rxd txd int0 ea/vp 31 x1 19 x2 18 reset 9 rd 17 wr 16 int0 12 int1 13 t0 14 t1 15 p10 1 p11 2 p12

16、 3 p13 4 p14 5 p15 6 p16 7 p17 8 p00 39 p01 38 p02 37 p03 36 p04 35 p05 34 p06 33 p07 32 p20 21 p21 22 p22 23 p23 24 p24 25 p25 26 p26 27 p27 28 psen 29 ale/p 30 txd 11 rxd 10 vcc 40 gnd 20 u1 89s52 vcc psen p10 p11 p12 p13 p14 p15 p16 p17 t0 t1 int1 p00 p01 p02 p03 p04 p05 p06 p07 p20 p21 p22 p23 p

17、24 p25 p26 p27 vcc r6 10k r4 101 r5 10k c10 15p x1 x2 3 硬件组成硬件组成 3. 1 单片机最小系统单片机最小系统 单片机的最小系统是由电源、复位、晶振组成,下面介绍一下每一个组成部分。 图 3.1 dip-40 封装 89s52 引脚图 图 3.2 at89s52 单片机的最小系统 中国地质大学江城学院毕业设计(论文)中国地质大学江城学院毕业设计(论文) 5 3.1.1 供电电路的设计供电电路的设计 图 3.3 稳压电路 在设计电源时,考虑的方案4:采用直流变换方式,本系统使用六节 1.5v 干电池, 将 9v 的直流电通过 7805 三

18、端集成稳压器稳压后输出 5v 的直流电压为系统提供电源, 如图 3.3 所示。需要注意的是,必须保证 7805 的输入电压 vi 和输出电压的压差大于 2.5v,否则 7805 会失去稳压能力,但电压差不能太大,如果太大,稳压器消耗功率过 大,散热效果不好5。 3.1.2 单片机时钟电路的设计单片机时钟电路的设计 图 3.4 时钟电路 时钟电路是计算机的心脏,它控制着计算机的工作节奏6。cpu 就是通过复杂的时序 电路完成不同的指令功能的。at89s52 的时钟信号可以由两种方式产生:一种是内部方式, 利用芯片内部的振荡电路,产生时钟信号;另一种为外部方式,时钟信号由外部引入。本系 统的时钟电

19、路设计是采用的内部方式,即利用芯片内部的振荡电路,如图 3.4 所示。 at89 单片机内部有一个用于构成振荡器的高增益反相放大器。引脚 xtal1 和 xtal2 分 中国地质大学江城学院毕业设计(论文)中国地质大学江城学院毕业设计(论文) 6 别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构 成一个自激振荡器7。外接晶体谐振器以及电容 c1 和 c2 构成并联谐振电路,接在放大 器的反馈回路中。对外接电容的值没有严格的要求,但电容的大小会影响震荡器频率的 高低、震荡器的稳定性、起振的快速性和温度的稳定性。此系统电路的晶体振荡器的值 为 12mhz,电容应尽可能的

20、选择陶瓷电容,电容值约为 30pf。在焊接刷电路板时,晶体 振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器 稳定和可靠地工作。 3.1.3 单片机复位电路的设计单片机复位电路的设计 图 3.5 复位电路 单片机要复位,本质上是在其 reset 脚上保持一定时间的高电平,单片机检测到这 个电平保持时间大于它要求的时间就会自动复位。最简单的上电复位电路是用一个电容 与一个电阻串联组成,电容接 vcc,电阻接地,reset 脚接在它们中间,当上电时,电 容相当于短路,此时电阻上的电压等于 vcc,经过一段时间后电阻电压逐渐变小直至为 0,只要 rc 时间选择合适,就可以

21、用来上电复位。但是这个电路要想起到重新复位的作 用,只能先下电,再上电才行。如果在电容两端并联一个按键,就成了按键复位电路, 只要按下这个按键,单片机就能复位而无需下电8。 复位电路通常采用上电自动复位和按钮复位两种方式,此电路系统采用的是上电与 按钮复位电路,如图 3.5 所示。rst 引脚是复位信号输入端,复位信号为高电平有效,有 效时间应持续 24 个震荡周期以上才能完成复位操作,当时钟频率选用 6mhz 时,则需要 持续 4us 以上才能完成复位操作。在通电瞬间,由于 rc 的充电过程,在 rst 端出现一 定宽度的正脉冲,只要该正脉冲保持 10ms 以上,就能使单片机自动复位,在 6

22、mhz 时钟 中国地质大学江城学院毕业设计(论文)中国地质大学江城学院毕业设计(论文) 7 时,通常 c 取 10f,r2 约为 10k。 3.2 流水灯功能设计流水灯功能设计 3.2.1 at89s52 单片机单片机 p0 口功能简介口功能简介 图 3.6 at89s52 单片机单片机 p0 口内部结构 p0 口作输出口时:输出锁存,漏极开路输出,需外接上拉电阻。如图 3.6 所示,由 内部总线提供信号。若是“0”信号,经锁存器/q 端输出“1”信号,使 t2 管导通,因 t2 管 接地则 p0 输出 “0”信号;若是“1”信号,经锁存器/q 端输出“0”信号,使 t2 管截止,要 使 p0

23、 输出“1”信号则需将“0”信号拉为“1”信号即需外接一上拉驱动电路。 3.2.2 74ls373 芯片简介芯片简介 74ls373 是带有三态门的八 d 锁存器(3s,锁存允许输入有回环特性) ,常应用在地 址锁存及输出口的扩展。sn74ls373,sn74ls374 常用的 8d 锁存器,常用作地址锁存和 i/o 输出,可以用 74hc373 代换。74ls373 是低功耗肖特基 ttl8d 锁存器,74h373 是高 速 cmos 器件,功能与 74ls373 相同,两者可以互换。74ls373 内有 8 个相同的 d 型(三 态同相)锁存器,由两个控制端(11 脚 g 或 en;1 脚

24、 out、cont、oe)控制。当 oe 接 地时,若 g 为高电平,74ls373 接收由 ppu 输出的地址信号;如果 g 为低电平,则将地 址信号锁存。 (1)74ls373 引脚图 中国地质大学江城学院毕业设计(论文)中国地质大学江城学院毕业设计(论文) 8 图 3.7 74ls373 引脚图 (2)74ls373 的逻辑功能表 图 3.8 74ls373 的逻辑功能 (3)74ls373 各引脚的功能 74ls373 的 1d8d 为 8 个输入端,o0o0 为 8 个输出端, 输出端 o0o7 可直接与总 线相连。g 是数据锁存控制端,当 g=1 时,锁存器输出端同输入端,当 g

25、由“1”变为“0” 时,数据输入锁存器中。oe 为输出允许端,当 oe=“0”时,三态门打开;当 oe=“1”时, 三态门关闭,输出呈高阻状态。即当三态允许控制端 oe 为低电平时,o0o7 为正常逻 辑状态,可用来驱动负载或总线。当 oe 为高电平时,o0o7 呈高阻态,即不驱动总线, 也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端 le 为高电平时, o 随数据 d 而变。当 le 为低电平时,o 被锁存在已建立的数据电平。 3.2.3流水灯硬件电路流水灯硬件电路 图 3.9 流水灯硬件电路 中国地质大学江城学院毕业设计(论文)中国地质大学江城学院毕业设计(论文) 9 流水

26、灯实际上就是一个带有八个发光二极管的单片机最小应用系统, 通过编写程序 控制单片机 p0 口电平的高低变化,通过 p0 口扩展单片机的输出口时,可以将锁存器视 为一个外部的 ram 单元,其中,wr(写入信号)和 p2.7 通过一个或非门来控制锁存器 ls373 的锁存允许端 le,当 wr 这个输入引脚为低电平时,允许 cpu 将数据写 ls373,wr 和 p2.7 都为低电平时,le 为高电平,锁存器的输出端随着输入端的变化而 变化,即达到了通过锁存器 74ls373 来驱动发光二极管的发光状态。 3.3 键盘电路及键盘电路及 led 七段数码管显示电路七段数码管显示电路 3.3.1 c

27、d4511 芯片简介芯片简介 cc4511 是 bcd7 段所存译码驱动器9,在同一单片结构上由 cos/mos 逻辑器 件和 npn 双极型晶体管构成。这些器件的组合,使 cc4511 具有 bcd 转换、消隐 和锁存控制、七段译码及驱动功能的 cmos 电路能提供较大的拉电流,可直接驱动 led 显示器。其低静态耗散和高抗干扰及源电流高达 25ma 的性能10,由此可直接驱动 led。本设计利用 cd4511 来驱动共阴极 led (数码管)显示器的 bcd 码七段码译 码器。 (1)cd4511 的引脚图 图 3.10 cd4511 引 脚 图 4/7 段锁存译码驱动器(hcf4511b

28、e)其引脚排列如上图 3.10 所示,cc4511 提供了 16 引线多层陶瓷双列直插、熔封陶瓷双列直插、塑料双列直插、和陶瓷片状载体 4 种封 装形式。其中,7、1、2、6 脚为 bcd 码的编码输入端,3 脚 lt 为试灯脚,4 脚 bi 为消 隐脚,5 脚 le 为锁存控制端,915 脚用来驱动数码管显示字符。其中 3 脚 lt,4 脚 bi 接高电平有效,5 脚 le 接低电平选通、高电平锁存,还有两个引脚 8、16 分别表示的是 vdd、vss。当给 abcd 输入端输入不同的 bcd 编码时 cd4511 经过内部电路译码并通 过输出端显示对应的字符。cd4511 的内部有上拉电阻

29、,在输入端与数码管笔段端接上限 流电阻就可工作,限流电阻要根据电源电压来选取,电源电压 5v 时可使用 300 的限流 电阻。 中国地质大学江城学院毕业设计(论文)中国地质大学江城学院毕业设计(论文) 10 (2)cd4511 的各引脚功能 bi:4 脚是消隐输入控制端,当 bi=0 时,不管其它输入端状态如何,七段数码管均 处于熄灭(消隐)状态,不显示数字。lt:3 脚是测试输入端,当 bi=1,lt=0 时,译 码输出全为 1,不管输入 dcba 状态如何,七段均发亮,显示“8”。它主要用来检测数码 管是否损坏。le:锁定控制端,当 le=0 时,允许译码输出。 le=1 时译码器是锁定保

30、 持状态,译码器输出被保持在 le=0 时的数值。a1、a2、a3、a4 为 8421bcd 码输入端。 a、b、c、d、e、f、g:为译码输出端,输出为高电平 1 有效。cd4511 译码用两级或非门 担任,为了简化线路,先用二输入端与非门对输入数据 b、c 进行组合,即可得出四项, 然后将输入的数据 a、d 一起用或非门译码。bi 为消隐功能端,该端施加某一电平后, 迫使 b 端输出为低电平,字形消隐。消隐控制电路如表 3-1 所示。 消隐输出 j 的电平为 j=(c+b)d+bi 如不考虑消隐 bi 项,便得 j=(b+c)d 据上式,当输入 bcd 代码从 1010-1111 时,j

31、端都为“1”电平,从而使显示器中的字形消隐。 (3)cd4511 的逻辑功能表 表 3.1 cd4511 的逻辑功能表 输入输出 lebilidcbaabcdefg显示 xx0xxxx11111118 x01xxxx0000000消隐 011000011111100 011000101100001 011001011011012 011001111110013 011010001100114 011010110110115 011011000111116 011011111100007 011100011111118 011100111100119 01110100000000消隐 01110

32、110000000消隐 01111000000000消隐 01111010000000消隐 01111100000000消隐 中国地质大学江城学院毕业设计(论文)中国地质大学江城学院毕业设计(论文) 11 0111111000000消隐 111xxxx锁 存 3.3.2 键盘输入应解决的问题键盘输入应解决的问题 键盘是一组按键的集合,他是最常用的单片机输入设备。操作人员可以通过键盘输 入数据或命令,实现简单的人机通讯。键是一种常开型按钮开关,平时(常态)键的二 个触电处于断开状态,按下键时他们才闭合(短路) 。键盘分编码键盘和非编码键盘。键 盘上闭合键的识别由专用的硬件译码器实现并产生编号或键

33、值的称为编码键盘,如: ascii 码键盘,bcd 码键盘等。靠软件识别的称为非编码键盘。在单片机组成的测控系统 及智能化仪器中用的最多的是非编码键盘11。 组成键盘的按键有触点式和非触点式两种,单片机中应用的一般是由机械触点构成 的,当机械触点断开、闭合时,电压信号如下图 3.11 所示。由于机械触点的弹性作用,一个 按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开 的瞬间均伴随有一连串的抖动12,如下图。抖动时间的长短由按键的机械特性决定,一般为 5ms10ms。这是一个很重要的时间参数,在很多场合都要用到。 图图 3.11 按键的抖动特性按键的抖动特性 按键

34、稳定闭合时间的长短则是由操作人员的按键动作决定的,一般为零点几秒至数秒。 键抖动会引起一次按键被误读多次。在单片机控制系统中,通过按键实现控制功能是很 常见的。单片机控制系统中大多使用控制键来实现控制功能,消除按键瞬间的抖动是设 计必须要考虑的问题。对按键处理的重要环节是去抖动,包括去除按下和抬起瞬间的抖 动。为确保 cpu 对键的一次闭合仅作一次处理,必须去除键抖动。在键闭合稳定时读取键 的状态,并且必须判别到键释放稳定后再作处理13。 去抖动的方法有很多种,这一点可从硬件和软件两方面来考虑。如使用 r-s 触发器 的硬件方法(如下图 3.12 所示)、运用不同算法的各种软件方法等。硬件去抖

35、动的优点 是速度快,实时,不过硬件方法会增加成本和体积。再者,在键数较少时可用硬件方法 中国地质大学江城学院毕业设计(论文)中国地质大学江城学院毕业设计(论文) 12 消除键抖动。如果按键较多,常用软件方法去抖。综合以上因素的考虑,本设计采用软件 去抖动。以下是对两种方法的介绍: (1) 硬件消抖 图中两个“与非”门构成一个 rs 触发器14。当按键未按下时,输出为 1;当键按下时,输 出为 0。此时即使用按键的机械性能,使按键因弹性抖动而产生瞬时断开(抖动跳开 b), 中要按键不返回原始状态 a,双稳态电路的状态不改变,输出保持为 0,不会产生抖动的波形。 也就是说,即使 b 点的电压波形是

36、抖动的,但经双稳态电路之后,其输出为正规的矩形波。这 一点通过分析 rs 触发器的工作过程很容易得到验证。 图图 3.12 r-s 触发器的硬件消抖动触发器的硬件消抖动 (2)软件消抖: 即检测出键闭合后执行一个延时程序,产生 5ms10ms 的延时,让前沿抖动消失后再 一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。当检测到按键释放 后,也要给 5ms10ms 的延时,待后沿抖动消失后才能转入该键的处理程序15。 3.3.3 七段七段 led 显示器简介显示器简介 中国地质大学江城学院毕业设计(论文)中国地质大学江城学院毕业设计(论文) 13 图 3.13 7 段 led 数

37、码管引脚图(管脚图) 常见的数码管由七个条状和一个点状发光二极管管芯制成,叫七段数码管如上图所 示,根据其结构的不同,可分为共阳极数码管和共阴极数码管两种,如上图 3.13 所示。 led 的发光原理,7 段 led 数码管,则在一定形状的绝缘材料上,利用单只 led 组合排列成“8”字型的数码管,分别引出它们的电极,点亮相应的点划来显示出 0-9 的数 字16。led 数码管根据 led 的接法不同分为共阴和共阳两类,了解 led 的这些特性, 对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法 也是不同的。右图是共阴和共阳极数码管的内部电路,它们的发光原理是一样的

38、,只是 它们的电源极性不同而已。 将多只 led 的阴极连在一起即为共阴式,而将多只 led 的 阳极连在一起即为共阳式。以共阴式为例,如把阴极接地,在相应段的阳极接上正电源, 该段即会发光。当然,led 的电流通常较小,一般均需在回路中接上限流电阻。假如我 们将b和c段接上正电源,其它端接地或悬空,那么b和c段发光,此时,数码管显 示将显示数字“1”。而将a、b、d、e和g段都接上正电源,其它引脚悬空,此时数 码管将显示“2”。其它字符的显示原理类同,其共阴极接法真值表如表 3.2 所示。 led 数码管中各段发光二极管的伏安特性和普通二极管类似,只是正向压降较大, 正向电阻也较大17。在一

39、定范围内,其正向电流与发光亮度成正比。由于常规的数码管 起辉电流只有 12 ma,最大极限电流也只有 1030 ma,所以它的输入端在 5 v 电源或 高于 ttl 高电平(3.5 v)的电路信号相接时,一定要串加限流电阻,以免损坏器件。 表 3.2 共阴极接法真值表 显示数字hgfedcba端口 0001111110x3f 1000001100x06 2010110110x5b 3010011110x4f 4011001100x66 5011011010x4d 6011111010x7d 7000001110x07 8011111110x7f 中国地质大学江城学院毕业设计(论文)中国地质大学

40、江城学院毕业设计(论文) 14 9011011110x6f 3.3.4键盘及键盘按键数码显示硬件电路设计键盘及键盘按键数码显示硬件电路设计 图 3.14 4*4 矩阵键盘电路 图 3.15 4*4 矩阵键盘的 led 数码显示电路 中国地质大学江城学院毕业设计(论文)中国地质大学江城学院毕业设计(论文) 15 4 软件程序总体设计软件程序总体设计 4.1 跑马灯程序跑马灯程序 /*test.c*/ #include #include #include delay.h #include scan_key.h void initial() it0 = 1;/外中断 0 负跳沿触发 ex0 = 1;

41、/开外中断 0 ea = 1;/开全局中断 p1 = 0 xf0; /键盘接口初始化 void main() unsigned char ledval = 0 xff,i = 0,j = 0; unsigned int temp; initial(); while(1) p1 = 0 xf0; for(i=1;i10;i+) /跑马灯显示计数状态 for(temp=0;temp256;temp+=i) led_addr = temp; delay_nms(80); for(i=0,j=0 x01;i10;) /跑马灯正向移动 led_addr = j; delay_nms(100); j =

42、j1; if(j=0) i+; j+; 中国地质大学江城学院毕业设计(论文)中国地质大学江城学院毕业设计(论文) 16 for(i=0,j=0 x80;i1; if(j=0) i+; j=0 x80; 4.2 at89s52 单片机延时毫秒程序单片机延时毫秒程序 /*delay.h*/ /*/ /*51 单片机延时毫秒程序,12mhz 晶振 */ /*/ #ifndef _delay_nms #define _delay_nms void delay_nms(int i) int j; for(;i0;i-) for(j=145;j0;j-); #endif 4.3 4*4 键盘程序键盘程序

43、/*scan_key.h*/ #include #include #include delay.h #ifndef _scan_key #define _scan_key #define seg_addr xbyte0 xbfff #define led_addr xbyte0 x7fff 中国地质大学江城学院毕业设计(论文)中国地质大学江城学院毕业设计(论文) 17 unsigned char nkeynumber; void int0() interrupt 0 int i,j; int pin1; ex0 = 0; delay_nms(20); / if(p3_2=0) / for(i=

44、0;i4;i+) /i 代表行,j 代表列,每列逐行扫描 p1=0 xff pin1=p1; for(j=0;j(4+j) i = 4; j = 4; p1 = 0 xf0; seg_addr = (nkeynumber/10 4)+ nkeynumber%10; delay_nms(20); ex0 = 1; return; / p1 = 0 xf0; ex0 = 1; #endif 中国地质大学江城学院毕业设计(论文)中国地质大学江城学院毕业设计(论文) 18 5 系统的安装与调试系统的安装与调试 5.1 硬件调试硬件调试 5.1.1 断电调试断电调试 为了安全,首先进行断电调试。完成焊接

45、后,应先空载上电(芯片座上不插芯片) , 并检查各引脚的电位是否正确。若一切正常,方可在断电的情况下将芯片插入,再次检 查各引脚的电位及其逻辑关系,检测系统是否有漏焊、缺焊、短路现象。将万用表的探 针检测芯片接 vcc 和 gnd 的引脚上检测看是否符合要求。经检测,原理正确也没有短 路现象。 5.1.2 通电调试通电调试 第一,检查系统时钟是否正常工作,用万用表直流电压档测量 xtal1 与 xtal2 两 端间的电压,检测到电压若为 2.5v 左右,则视为正常工作。第二,检查复位电路是否正 常工作。第三,检查数码显示是否乱码。第四,检查 8 位 led 等是否正常发光,亮度是 否正常。 5

46、.2 软件调试软件调试 软件程序的调试一般可以将重点放在分模块调试上,统调是最后一环。本次课题, keil 软件来调试程序,通过各个模块程序的单步或跟踪调试,使程序逐渐趋于正确,最后 统调程序18。将写好的源程序在 keil 集成开发环境上调试仿真以后,我们需要使用编译 软件对其编译,得到单片机所能识别的二进制代码,然后再用编程器将二进制代码烧写 到 at89c52 单片机中,最后连接好电路通电,观察现象。经过多次调试后达到了设计要 求。 5.3 调试过程调试过程 硬件调试的时候,at89c52不工作,检查发现晶体振荡器不能正常工作,换一个 晶振后系统正常工作。 通电调试的时候,8位led等不

47、发光,检查发现p0口没有接上拉电阻,加上一个8 位排阻后led灯正常发光。 软件调试时,发现数码管乱码,检查发现有几个引脚虚焊,改进后系统正常稳定 的工作。 中国地质大学江城学院毕业设计(论文)中国地质大学江城学院毕业设计(论文) 19 第一次设计延时程序时,由于延时的时间比较短,引起视觉错误,所以看到的效 果是八个流水灯发光不闪烁,且亮度都不高,改变延时后,流水灯正常发光闪烁。 结束语结束语 我在这次毕业设计过程中,受益匪浅。通过对自己在大学四年时间里所学的知识的 回顾,并充分发挥对所学知识的理解和对毕业设计的思考及书面表达能力,最终完成了 毕业设计。这为自己今后进一步深化学习,积累了一定宝

48、贵的经验。撰写论文的过程也 是专业知识的学习过程,它使我运用已有的专业基础知识,对其进行设计,分析和解决 一个理论问题或实际问题,把知识转化为能力的实际训练,培养了我运用所学知识解决 实际问题的能力。 通过这次毕业设,我对单片机硬件电路有了很多更新的认识,让原来纸面化的知识 变成了实际的,并从中得知了很多书本上无法得知的知识。同时,也让模拟电路、数字 电路和单片机应用相关的知识得到了巩固。并且我发现,只有理论水平提高了,才能够 将课本知识与实践相整合,理论知识服务于教学实践,并且以此增强自己的动手能力。 完成这次毕业设计之后,我知道了理论和实际的距离,也知道了理论和实际想结合的重 要性,尤其是

49、在编写程序方面还需要大量的练习,这也为以后的学习指明方向。 我们的学习不但要立足于书本,以解决理论和实际教学中的实际问题为目的,还要 以实践相结合,理论问题即实践课题,解决问题即课程研究,学生自己就是一个专家, 通过自己的手来解决问题比用脑子解决问题更加深刻。学习就应该采取理论与实践结合 的方式,理论的问题,也就是实践性的课题。这种做法既有助于完成理论知识的巩固, 又有助于带动实践,解决实际问题,加强我们的动手能力和解决问题的能力。 兼之本人理论知识方面的局限性和专业知识的水平,在 at89s52 的充分利用方面、 流水灯的花样流水方面还有许多需要提高的地方,相信在今后的学习和工作中随着经验

50、的逐步积累会有进一步的提高。 中国地质大学江城学院毕业设计(论文)中国地质大学江城学院毕业设计(论文) 20 致致 谢谢 本次毕业设计历时三个多月,从选题到最终完成设计,在刘志刚老师的指导下独立 完成。实现了设计任务书中的全部要求。 首先,衷心地感谢刘志刚老师。在本论文的写作过程中,刘老师倾注了大量的心血, 从选题到开题报告,从写作提纲,到一遍又一遍地指出每稿中的具体问题,严格把关, 循循善诱,在此我表示衷心感谢。 然后,感谢机械与电子信息学院在我的毕业设计中提供的设计环境、设计工具,以 及设计中所用到的所有的元器件。 另外,我还要感谢我的家人,是他们的辛勤工作换给我一个舒适的学习环境,是他

51、们的理解和支持使我能够在学校安心完成我的学业。 最后,要感谢我的母校中国地质大学江城学院四年来对我的大力培育,以及大学 四年来所有的老师,是他们为我打下电子信息工程专业知识的基础,此次毕业设计才会 顺利完成。 中国地质大学江城学院毕业设计(论文)中国地质大学江城学院毕业设计(论文) 21 参考文献参考文献 1 田立.田清.戴方震.51 单片机 c 语言程序设计快速入门.2007:128-220. 2 康华光.电子技术基础(模拟部分).北京.高等教育出版社.2003:60-80. 3 康华光.电子技术基础(数字部分).北京.高等教育出版社.2006: 89-323. 4 孟建华.郝晋霞.at89

52、s 系列单片机及在线编程技术.西安工程科技学院学报.2006(1): 6-17 5 赵学泉.张国华.电源电路.电子工业出版社.2004:152-178. 6 赵广林.常用电子元器件识别/检测/选用一读通.北京.电子工业出版社.1999:120-150. 7 沙占友等.新型单片开关电源的设计与应用.电子工业出版社.2001:280-305. 8 周立功.单片机实验与实践.北京.北京航空航天大学出版社.2004: 45-89. 9 关燕君.基于单片机的高精度信号采集系统的设计.吉林化工学院学报.2006(7): 1-4. 10 黄鹏.与时俱进教好“单片机原理及应用”课程.西江教育论丛.2006:

53、4-18. 11 陈钢.熊晓松.单片机在电机调速中波形输出的控制.湖北工业大学学报.2006(3): 6-8. 12 叶治政.叶靖国.开关稳压电源.北京.高等教育出版社.1989: 87-91. 13 李正浩.姜宝钧. 51单片机在led数码管显示中的应用.实验科学与技术.2006(11): 5-7. 14 刘文涛. protel 2004设计及应用基础教程与上机指导.北京清华大学出版社.2006:11-45. 15 姜志海.单片机原理及应用.北京.电子工业出版社.2005.7: 12-45. 16 fairchild semiconductor.in4007 specification.ge

54、neral purpose plastic rectifie.2007: 1-4. 17 t.c.lun.designing for board level electromagnetic compatibility.2005: 170-180. 18 analog devicecompany.8-bit 20 msps.60 mw sampling a/d converter datasheet.2002: 88-96. 中国地质大学江城学院毕业设计(论文)中国地质大学江城学院毕业设计(论文) 22 附录附录 1.硬件原理图硬件原理图 图图 1 系统硬件原理图系统硬件原理图 2keilcsl

55、 软件设计平台 单片机开发中除了必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变 为 cpu 可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极 少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于 mcs-51 中国地质大学江城学院毕业设计(论文)中国地质大学江城学院毕业设计(论文) 23 单片机的汇编软件有早期的 a51,随着单片机开发技术的不断发展,从普遍使用汇编语言 到逐渐使用高级语言开发,单片机的开发软件也在不断发展,kdl 软件是目前最流行开发 mcs51 系列单片机的软件,这从近年来各仿真机厂商纷纷宣布面支持 keil 即可看出。 k

56、eil 提供了包括 c 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在 内的完整开发方案,通过一个集成开发环境(uvision)将这些部分组合在一起。运行 keil 软件需 pentium 或一上的 cpu,16mb 或更多 ram、20m 以上空闲的硬盘空间。其方便 易用的集成环境、强大的软件仿真调试工具会令对单片机的编程事半功倍。在本课题中 使用的 keil uvision2 版本的 keil 集成开发环境,它支持众多不同公司的 mcs51 架构的 芯片,它集编辑,编译,c 语言的程序设计,界面友好,易学易用,功能。仿真等于一体, 同时还支持 plm、汇编和在调试程序,软件仿

57、真方面也有很强大的。 3.at89s52 单片机的内部结构以及各个引脚的功能 中国地质大学江城学院毕业设计(论文)中国地质大学江城学院毕业设计(论文) 24 图图 2 at89s52 结构框图结构框图 按照功能,at89s52 的引脚可分为主电源、外接晶体振荡或振荡器、多功能 i/o 口、 控制和复位等。 1 多功能 i/o 口 at89s52 共有四个 8 位的并行 i/o 口:p0、p1、p2、p3 端口,对应的引脚分别是 p0.0 p0.7,p1.0 p1.7,p2.0 p2.7,p3.0 p3.7,共 32 根 i/o 线。每根线可以单独 用作输入或输出。 p0 端口,该口是一个 8 位漏极开路的双向 i/o 口。在作为输出口时,每根引脚可以带 动 8 个 ttl 输入负载。当把“1”写入 p0 时,则它的引脚可用作高阻抗输入。当对外部程 序或数据存储器进行存取时,p0 可用作多路复用的低字节地址/数据总线,在该模式,p0 口拥有内部上拉电阻。在对 flash 存储器进行编程时,p0 用于接收代码字节;在校验时, 则输出代码字节;此时需要外加上拉电阻。 p1 端口,该口是带有内部上拉电阻的 8 位

温馨提示

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

评论

0/150

提交评论