《八位数码管动态显示》由会员分享,可在线阅读,更多相关《八位数码管动态显示(13页珍藏版)》请在金锄头文库上搜索。
1、 第 页西华大学电气信息学院智能化测控应用系统设计报告1 1 前言(绪论)前言(绪论)20 世纪 80 年代以来,单片机的应用领域越来越广泛,已经深入到工业、农业、国防、科研、机关、教育、商业以及家电、生活、娱乐、玩具等各个领域中。单片机的发展有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。单片机应用的重要意义在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。作为新世
2、纪的大学生,应该站在时代发展的前沿掌握现代科学技术知识,调整自己的知识架构和能力架构,以适应社会发展的需要。新世纪需要具有丰富的现代科学知识、能独立解决面临任务、充满活力、有创新意识的新型人才。数码管动态显示是单片机应用中最为广泛的显示方式之一,也是比较简单的单片机应用,它在我们的生产生活中有着越来越广泛的应用前景。这种系统具有很强的适用性、灵活性、先进性,它的应用将使得我们的生活变得更加轻松。随着信息技术的不断发展,一些功能更强的应用系统将出现在我们生活学习中的各个方面,这将体现着高科技带刚给人们无穷魅力。本次课程设计我们的任务是用单片机实现八位数码管动态显示,我们需要设计出实现该功能的的电
3、路图,然后焊接元器件组成电路,再编辑程序以实现单片机的控制作用。通过课程设计我们可以巩固所学过的知识,对所学过的知识进行系统回顾和总结。由于课堂知识远远不能满足设计的需求,这需要们么主动去寻找更多资料,了解更多的知识。也可以培养设计能力和解决实际问题的能力,同时增加自学能力,通过设计完整的单片机系统也可较为熟悉的掌握组成系统、编程、调试等能力。通过设计数码管动态显示我们初步了解了单片机应用系统的研发过程及软件、硬件的设计方法。第 页西华大学电气信息学院智能化测控应用系统设计报告2 2 总体方案设计总体方案设计 2.12.1 具体方案具体方案方案一:用 STC89C52RC 单片机的 P1.0P
4、1.7 端口接 74HC573 的数据输入口 D0-D7,其数据输出口 O0-O7 接数码管的 ah 端,8 位数码管的 S1S8 通过 74HC138 译码器的 Y0Y7 来控制选通每个数码管的位选端。STC89C52RC 单片机的 P2.4P2.6 控制74HC138 的 A0,A1,A2 端子。在 8 位数码管上从右向左循环显示“0123456789”,能够比较平滑地看到拉幕的效果。单片机STC89C52 RC74HC573 选择 数码管的段数码管显示74HC138 控制 数码管选择电 源方案二:用 STC89C52RC 单片机 P0.1-P0.7 端口接两个四位数码管的a、b、c、d、
5、e、f、g、h 八个端口,单片机的 P2.0-P2.7 端口直接控制数码管的选通状态。能够通过程序编写能够在两个四位数码管组成的八位共阴极数码管上比较平整的从左到右循环显示“0123456789”,并且还能够实现其他方式的动态显示,如:从右到左循环显示、从两头中间显示、从中间向两端显示等等。第 页西华大学电气信息学院智能化测控应用系统设计报告单片机STC89C52 RC数 码 管 显 示电 源2.22.2 方案比较和选择方案比较和选择方案一主要是用单片机与寄存器 74HC573 和译码器 74HC138 配合控制数码管的显示,实现过程中信号需要经过器件的转换才能到达数码管。而方案二是用数码管直
6、接接入单片机,由上拉电阻驱动即可,这样电路简单明了,需要的器件也很少。考虑到器件的多少,电路的复杂程度,还有我们自身的能力问题,本次设计我们选择了方案二进行实验。第 页西华大学电气信息学院智能化测控应用系统设计报告3 3 单元模块设计单元模块设计整个硬件电路大体可分为电源模块,控制模块和显示模块三大部分。3.13.1 电源模块电源模块由于有 USB 接口 4 号引脚出来的是 5V 的直流电,因此可以直接作为单片机供电点了用,为了防止电流反灌,可加一个稳压二极管一保证电压的稳定。图 3.13.23.2 单片机单片机 STC89C52RCSTC89C52RCSTC89C52RC 单片新一代高速、低
7、功耗、超强抗干扰的单片机,指令代码完全兼容传统 8051 单片机,12 时钟、机器周期和 6 时钟、机器周期可以任意选择。主要特性如下:(1) 增强型 8051 单片机,6 时钟/机器周期和 12 时钟/机器周期可以任意 选择,指令代码完全兼容传统 8051.(2) 工作电压:5.5V3.3V(5V 单片机)/3.8V2.0V(3V 单片机)(3)工作频率范围:040MHz,相当于普通 8051 的 080MHz,实际工作 频率可达48MHz (4)用户应用程序空间为 8K 字节(5)片上集成 512 字节 RAM(6)通用 I/O 口(32 个),复位后为:P1/P2/P3/P4 是准双向口
8、/弱上拉, P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻。第 页西华大学电气信息学院智能化测控应用系统设计报告(7)ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无 需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程 序,数秒即可完成一片(8)具有 EEPROM 功能(9)具有看门狗功能(10)共 3 个 16 位定时器/计数器。即定时器 T0、T1、T2(11)外部中断 4 路,下降沿中断或低电平触发电路,Power Down 模式可 由外部中断低电平触发中断方式唤醒(12)通用异步串行口(UART)
9、,还可用定时器软件实现多个 UART(13)工作温度范围:-40+85(工业级)/075(商业级)(14)PDIP 封装图 3.2STC89C52RC 单片机的工作模式:第 页西华大学电气信息学院智能化测控应用系统设计报告(1)掉电模式:典型功耗0.1A,可由外部中断唤醒,中断返回后,继续执行原 程序(2)空闲模式:典型功耗 2mA(3)正常工作模式:典型功耗 4Ma7mA掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备3.33.3 LEDLED 数码管数码管LED(Light Emitting Diode)是发光二级管的缩写,其中有 8 只。发光二极管,与实验板 P1 端口
10、所接的二极管是相同的。分别记作 a,b,c,d,e,f,g,dp,其中 dp 为小数点,每只发光二极管都有一根电极引到外部引脚上,而另外一只引脚就连接在一起同样引到外部引脚上,记作公共端(COM) ,引脚排列因厂商而不尽相同。本次设计显示模块采用了两个四位数码管,内部的四个数码管共用 a-dp 这 8 根数据线,为人们的使用提供了方便,因为里面有四个数码管,所以它有四个公共端,加上 a-dp,共有 12 个引脚,下面便是一个共因的四位数码管的内部结构图及封装:图 3.3第 页西华大学电气信息学院智能化测控应用系统设计报告管脚顺序:从数码管的正面观看,以第一脚为起点,管脚的顺序是逆时针方向排列。
11、12-9-8-6(公共端)A-11 B-7 C-4 D-2 E-1 F-10 GT-5 DP-33.43.4 串口通信电路串口通信电路图 3.4 单片机串口通信电路在我们设计的单片机与 PC 机通信电路集成在采集器上,它通过一个外接的端口(选用四针水晶压接式插头,类似于电话插头)。工作电压取自电压开关控制回路的 VREG(5V) 电源。 现从 MAX232 芯片中两路发送接收中任选一路作为接口. 其发送接收的引脚对应。 如使 T1IN 接单片机的发送端 TXD ,则 PC 机 RS2232 的接收端要对应接 T1OUT 引脚。同时 R1OUT 接单片机的 RXD/TXD 引脚。PC 机的 RS
12、2232 的发送端 TXD 对应接R1IN 引脚。其接口电路如图所示。RS2232C 是目前最常用的串行接口标准, 用于计算机与计算机之间,计算机与外设之间的数据通信. 该标准的目的是定义数据终端设备(DTE) 之间的电气特性. RS2232C 提供了单片机与单片机、单片机与 PC 机之间串行数据通信的标准接口。通信距离可达 15m, 但 RS2232C 规定的逻辑电平与单片机的逻辑电平是不一致的。 因此在应用中,必须把微处理器的信号电平( TTL 电平) 转换为第 页西华大学电气信息学院智能化测控应用系统设计报告RS2232C 电平, 或者对二者进行逆转换。我们在这里选用专用电平转换芯片 M
13、AX232 来实现的。3.53.5 晶体振荡电路晶体振荡电路图 3.5晶振是电路中常用用的时钟元件,全称是叫晶体震荡器,在单片机系统里晶振的作用非常大,他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。高级的精度更高。有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO) 。晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶
14、振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。4 4 软件设计软件设计4.14.1 软件设计原理及设计工具软件设计原理及设计工具本次设计我们使用 Proteus 软件及 Protel 软件进行电路图的绘制工作,及其对原理图进行初步的仿真,程序部分运用了 Keil_uVision4 软件编写 C 语言程序,并进行程序调试工作,使其能够实现相应功能。第 页西华大学电气信息学院智能化测控应用系统设计报告4.2 软件设计流程框图软件设计流程框图开始程序初始化调用相应的显示模 块数码管显示结束第 页西华大学电气信息学院智能化测控应用系统设计报告5 5
15、系统功能及调试系统功能及调试本次设计的八位数码管动态显示,设计完成了八位数码管在单片机程序作用下实现不同的显示状态,如八位数码管的左移、右移、向两边移动、向中间移动显示,单个数码管的七段流动显示,八位数码管组合花样显示等。由于时间及能力有限本次设计只达到了五种动态显示状态。在电路图设计完成后先利用 proteus 进行功能仿真,确定所设计的原理图能够实现所需功能。在设计的的过程中我们还是出现了不少的问题,例如,在设计电路时,因为我们所设计的电路是单片机运用中最为基本的电路实现方式有很多种,在选择适用、可行又简单方便、便宜的电路原理图的过程中,我们不断的绘制,总结终于找出了满意的电路。在制作出原
16、理图之后,器件的选择和确定也十分的重要,在本次设计中我们需要用上拉排阻进行驱动,但在器件选型的时候,我们不慎选择了较大的电阻,只是数码管的显示不清晰。在没有多余元器件的情况下我们只好用小的电阻自行制作了简易的排阻。对于软件设计部分的问题就更多了,由于一开始没能仔细的研究本次课程设计给出的电路板的 PCB 图,在调节程序的时候,问题就出来了,对应于数码管的接口并不是我们想象中那样连接的,即它和我们自己认为的方向是反的,因此,写出程序显示的状态和理论状态是不一致的。另外由于 C 语言的编写方法和我们比较熟悉的汇编语言编写程序的方法,和很多小细节还是有很大出入的,因此,在编写程序的过程中偶尔也会出现两种编写程序方式混乱的状态,也影响了结果的实现。不过由于 C 语言的编写并没有那么的复杂,且我们要实现的功能也比较简单,本次设计还是比较顺利的完成了。第 页西华大学电气信息学院智能化测控应用系统设计报告6 6 结论结论本次课程