创新设计实践控制数码管显示电路设计

上传人:无*** 文档编号:141437686 上传时间:2022-08-24 格式:DOC 页数:20 大小:399.03KB
收藏 版权申诉 举报 下载
创新设计实践控制数码管显示电路设计_第1页
第1页 / 共20页
创新设计实践控制数码管显示电路设计_第2页
第2页 / 共20页
创新设计实践控制数码管显示电路设计_第3页
第3页 / 共20页
资源描述:

《创新设计实践控制数码管显示电路设计》由会员分享,可在线阅读,更多相关《创新设计实践控制数码管显示电路设计(20页珍藏版)》请在装配图网上搜索。

1、 创新设计实践 控制数码管显示电路设计 专业:年级/班级:姓名:实训时间:实训地点:指导教师: 目录一、 题目*3 1、 摘要*32、 引言*3二、 要求*3三、 方案*3四、 设计*41、 硬件*42、 软件*10五、 调试结论*15六、 收获*15一、 题目控制数码管显示电路设计1、摘要本题是基于单片机的控制数码管每隔1s一个数字,分别显示1、2、3、4、5、6、7、8的设计,设计由单片机作为核心控制器,通过ZLG7290驱动器控制实现显示功能。2、引言在单片机技术日趋成熟的今天,其灵活的硬件电路的设计和软件的设计,让单片机得到了广泛的应用,几乎是从小的电子产品,到大的工业控制,单片机都起

2、到了举足轻重的作用。单片机小的系统结构几乎是所有具有可编程硬件的一个缩影,可谓是“麻雀虽小,五脏俱全”。现在是一个知识爆炸的新时代。新产品、新技术层出不穷,电子技术的发展更是日新月异。可以毫不夸张的说,电子技术的应用无处不在,电子技术正在不断地改变我们的生活,改变着我们的世界。在这快速发展的年代,时间对人们来说是越来越宝贵,在快节奏的生活时,人们一旦遇到重要的事情而忘记了时间,这将会带来很大的损失,因此我们需要一个计时系统来提醒这些忙碌的人。现今,采用了数码管显示技术,精度高,稳定性好,使用方便。二、要求1、用单片机实现简易数字显示,实现每隔1s分别显示1、2、3、4、5、6、7、8的功能。2

3、、 学会熟练使用protel制图。3、 使用实验箱调试程序。三 、方案1.数码管驱动显示设计方案一:采用74LS 244芯片为驱动芯片 74LS244是8路3态缓冲驱动,也叫做线驱动或者总线驱动门电路。简单地说,它有8个输入端,8个输出端。其输入数据可以保持较长时间,简单输入接口扩展通常使用的典型芯片。方案二:采用ZLG7290芯片为驱动芯片ZLG7290能够直接驱动8 位共阴式 数码管 数码管是一种半导体发光器件,其基本单元是发光二极管。(实物参照图片)(或64 只独立的LED),同时还可以扫描管理多达64 只按键。其中有8 只按键还可以作为功能键使用,就像电脑键盘上的Ctrl、Shift、

4、Alt 键一样。另外ZLG7290B 内部还设置有连击计数器,能够使某键按下后不松手而连续有效。采用I2C 总线方式,与微控制器的接口仅需两根信号线。可控扫描位数,可控任一数码管闪烁。 能同时驱动显示和开关,使用方便,效率高。 所以选择方案二。2、定时器设计方案一:采用单片机自带定时器 显示程序放在主程序时执行速度比较快,使用自带定时器使电路简洁。利用单片机的定时,时间精确、稳定、可靠,并可以利用单片机的功能很好地进行时间显示、指示、输出、原理简单,使用元器件少,相对来说在实物调试时出现的问题少。该方案还有一个好处是成本低。此外,经过无数人的证明,利用单片机完全可以实现定时功能,失败的风险小。

5、方案二:采用专业芯片该方案应用稳定的高频脉冲信号作为定时器的时间基准,可以说也有同单片机一样的精确、稳定、可靠的输出时间,且对软件编写要求不高,能很好地实现设计要求的功能。但是该方案复杂,一般不容易弄白它的原理,而且应用的元器件较多,在实物调试时出现的问题可能比较多。由于元器件比较多,所以相对来说实物的成本也比较高,而且调试时出现的问题可能比较多。而且在PCB步线时更加麻烦。由于原理复杂,所以成功完成该设计的概率较低。经过考虑我选择方案一。所以: 利用ZLG7290驱动芯片驱动数码管显示和开关,通过AT89SC52单片机控制实现数码管显示每隔1s一个数字,分别显示1、2、3、4、5、6、7、8

6、。ZLG7290在键盘部分具有键盘去抖动处理、双键互锁处理、连击键处理及功能键处理的功能;在显示部分具有对显示部分的基本控制功能即寄存器映像控制和命令解释控制。如实现寄存器的位操作;对显示缓存 、移位;对操作数译码等。ZLG7290驱动芯片可以实现循环左移、循环右移等功能,且该芯片使用简便、可信度高。 利用数码管显示系统采用动态显示方式,用P0口来控制LED数码管的段控线,而用P2口来控制其位控线。动态显示采用动态扫描的方法循环点亮每一个数码管,这样虽然在任何时刻都只有一位数码管被点亮,但由于人眼存在视觉残留效应,只要每位数码管间隔时间足够短,就可以给人以同时显示的感觉。 利用AT89SC52

7、单片机做CPU,因其低功耗 、高性能且设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。流程图如下:将数组中取数元素送代码端开始变量赋初值Yes修改变量i8输出位码控制数据延时四、设计1、硬件设计1)驱动芯片ZLG7290a) ZLG7290的引脚图b)ZLG7290硬件接口电路图c)功能框图2)89S52单片机引脚图AT89S52是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS -51指令系统及80

8、C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。 AT89S52具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个 全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 此外,AT89S52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断

9、系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三 种封装形式,以适应不同产品的需求。主要功能特性: 兼容MCS-51指令系统 8k可反复擦写(1000次)ISP Flash ROM 32个双向I/O口 4.5-5.5V工作电压 3个16位可编程定时/计数器 时钟频率0-33MHz 全双工UART串行中断口线 256x8bit内部RAM 2个外部中断源 低功耗空闲和省电模式 中断唤醒省电模式 3级加密位 看门狗(WDT)电路 软件设置空闲和省电功能 灵活的ISP字节和分页编程 双数据寄存器指针3)LE

10、D显示屏的基本结构 本系统设计中,控制系统采用单片机+CPLD的方案来实现,整个控制系统可分为:信号接收及处理模块和CPLD的扫描控制模块和LED点阵驱动模块,如图1 所示。本系统的关键技术是使用双口RAM和CPLD芯片,解决LED显示屏中高速数据传输和快速扫描控制的难题,大大提高了动态显示的刷新率。 信号接收与处理模块的功能是AT89S52单片机通过串口接收PC送来的点阵信息,同时对点阵信息做各种不同的处理。利用双口RAM IDT7007在单片机和ATF1508AS之间以共享的方式建立高速的数据交换通道。4)数码管的模块设计数码管的引脚图数码管是一种把多个LED显示段集成在一起的显示设备。有

11、两种类型,一种是共阳型,一种是共阴型。共阳型就是把多个LED显示段的阳极接在一起,又称为公共端。共阴型就是把多个LED显示段的阴极接在一起,即为公共商。阳极即为二极管的正极,又称为正极,阴极即为二极管的负极,又称为负极。通常的数码管又分为8段,即8个LED显示段,这是为工程应用方便如设计的,分别为A、B、C、D、E、F、G、DP,其中DP 是小数点位段。而多位数码管,除某一位的公共端会连接在一起,不同位的数码管的相同端也会连接在一起。即,所有的A段都会连在一起,其它的段也是如此,这是实际最常用的用法。数码管显示方法可分为静态显示和动态显示两种。静态显示就是数码管的8段输入及其公共端电平一直有效

12、。动态显示的原理是,各个数码管的相同段连接在一起,共同占用8 位段引管线;每位数码管的阳极连在一起组成公共端。利用人眼的视觉暂留性,依次给出各个数码管公共端加有效信号,在此同时给出该数码管加有效的数据信号,当全段扫描速度大于视觉暂留速度时,显示就会清晰显示出来。 系统采用动态显示方式,用P0口来控制LED数码管的段控线,而用P2口来控制其位控线。动态显示通常都是采用动态扫描的方法进行显示,即循环点亮每一个数码管,这样虽然在任何时刻都只有一位数码管被点亮,但由于人眼存在视觉残留效应,只要每位数码管间隔时间足够短,就可以给人以同时显示的感觉。5)电路分析晶振电路右图所示为时钟电路原理图,在AT89

13、S51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2。而在芯片内部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。复位电路单片机复位的条件是:必须使RST/VPD 或RST引(9)加上持续两个机器周期(即24个振荡周期)的高电平。例如,若时钟频率为12 MHz,每机器周期为1s,则只需2s以上时间的高电平,在RST引脚出现高电平后的第二个机器周期执行复位。单片机常见的复位如图所示。电路为上电复位电路,它是利用电容充电来实现的。在接电瞬间,RESE

14、T端的电位与VCC相同,随着充电电流的减少,RESET的电位逐渐下降。只要保证RESET为高电平的时间大于两个机器周期,便能正常复位。该电路除具有上电复位功能外,若要复位,只需按图中的RESET键,此时电源VCC经电阻R1、R2分压,在RESET端产生一个复位高电平。6)protel电路图2、软件设计1)主程序#includeconfig.h/*长延时ms*/void delayms(uint ms) uint j; for(;ms0;ms-); for(j=0;j1000;j+);/*/ 函数名:getkey()/ 功能 :读取zlg7290芯片键值/ 入口 :无/ 出口 :uchar/*/

15、uchar getkey() uchar rece,keyini=1;rece=0;IRcvStr(zlg7290,1,&rece,1);/向有子地址器件读取多字节数ISendStr(zlg7290,0x00,&keyini,1); /键值有效delayms(10);return rece;/*/函数名:sendcmd()/功能 :向ZLG7290的07,08单元发送控制命令 /入口 :cmd1.cmd2 两个控制命令出口 :输出1,ok;输出0 fail/*/uchar sendcmd(uchar cmd1,uchar cmd2) uchar Data2;Data0=cmd1;Data1=c

16、md2;ISendStr(zlg7290,0x07,Data,2);delayms(10);return 1;/*/ 函数名 :sendbuf()/ 功能 :向ZLG7290显示缓冲区发送数据,并显示 入口,/ 入口 :dispbuf发送数据首址/ num 发送个数/ 出口 :无/*/void sendbuf(uchar * dispbuf,uchar num)uchar i;for(i=0;inum;i+)sendcmd(0x60+i,*dispbuf);dispbuf+;/*/ 函数名 :dispdata()/ 功能 :区别于sendbuf,该函数会将发送的数据直接译码成/ 显示的数据。/

17、 入口 : x 要显示的起始led/ *p 显示数据首址/ num 显示数据个数/ 出口 : 无/*/void dispdata (uchar x,uchar *p,uchar num) uchar cmd2; for(;(x8)#x+,p+) cmd0=0x60+x; cmd1=*p&0x1f; ISendStr(zlg7290,0x07,cmd,2); /ISendStr(zlg7290,0x0d,&x,1); /控制显示位数 num-; void main() uchar key=0x01,i; uchar time7; bit keyi=0; uchar keybuf9=0x0

18、0,0x12,0x00,0x30,0x12,0x06,0x05,0x02,0x04;/定义初始化字 rst=0; /delayms(1); rst=1; /读入前写1ISendStr(zlg7290,0x00,&key,1); /键值有效while(1)for(i=0;(i16)&(keyint=0);i+) key=getkey(); /有键按下则采集并保存键值 delayms(10); keybufi=key;/简单采集键值 dispdata (0,&key,1); 2)zlg7290的头文件 #ifndef zlg7290_h#define zlg7290_hextern void de

19、layms(uint ms);extern void sendbuf(uchar *dispbuf,uchar num); /向ZLG7290显示缓冲区发送数据 入口dispbuf首址,发送个数numextern uchar sendcmd(uchar cmd1,uchar cmd2); /向ZLG7290的07,08单元发送控制命令 输出1,ok;输出0 failextern uchargetkey(); /读取键值extern void dispdata (uchar x,uchar *p,uchar num); /按位下载且译码#endif3)config头文件#ifndef confi

20、g_h /公共头文件及一些常量定义#define config_h /宏定义#ifndef uchar#define uchar unsigned char#endif#ifndef uint#define uint unsigned int#endif/器件地址定义#define zlg7290 0x70 /ZLG7290的IIC地址-从地址#define pcf8563 0xa2 /时钟日历芯片pcf8563从地址#definecatw02 0xA0/2k位串行E2PROM芯片从地址/zlg子地址定义#define subkey 0x01 /键值#define subcmdbuf 0x07

21、/命令#define subdpram 0x10/显示缓冲区/包含头文件#include reg51.h#includeport.h /注意头文件的顺序#include viic_c51.h#includezlg7290.h#endif4)port头文件#ifndef port_h#define port_h/#include/端口定义/sbit SDA=P10;/sbit SCL=P11;/sbit rst=P12;/sbit keyint=P32;/=0,有键按下/sbit intptr=P14;#endif5)C文件#include#define len 16 /读取键值个数bit k1

22、=0; /显示时间bit k2=0; /编辑时间bit k3=0;/ 定时bit k4=0; / 报警bit k5=0; /修改时间移位bit k6=0;/+1bit k7=0; /-1bit k=0;void judgekey(uchar key)/judge which key is pressed if(key=0x01) k1=1; else if(key=0x02) k2=1; else if(key=0x03) k3=1; else if(key=0x04) k4=1; else if(key=0x05) k5=1; else if(key=0x06) k6=1; else if(

23、key=0x07) k7=1; else k=0; /其它无效键按下 6)VIIC_C51.C文件此程序是I2C操作平台(主方式的软件平台)的底层的C子程序,如发送数据及接收数据,应答位发送,并提供了几个直接面对器件的操作函数,它很方便的与用户程序连接并扩展. 注意:函数是采用软件延时的方法产生SCL脉冲,固对高晶振频率要作 一定的修改.(本例是1us机器周期,即晶振频率要小于12MHZ)7)头文件名 VIIC_C51.H这个头文件对应的库是VIIC_C51.LIB,库中有几个模拟I2C的函数,加入此文件 即可使用I2C平台(主方式的软件平台), 函数是对LPC764的I2C的IO口实现,即其

24、P1.3 (SDA) , P1.2(SCL),51系列机型可以通用. 注意: 函数是采用软件延时的方法产生SCL脉冲,固对高晶振频率要作 一定的修改.(本例是1us机器周期,即晶振频率要小于12MHZ).(函数的使用可参考给出的事例程序.) 五、调试结论本次课程设计使用的是汇编语言编程,然后再Keil软件里编译调试的。先在实验箱上连接好电路,打开keil软件,然后新建一个工程,在工程里面建立一个.asm文件,通过载入工程转换为.hex文件,接着编译、修改程序,知道编译通过即可。 1. 电路电器检查没问题,但是调试时数码管都不亮在按下某个键时,ZLG7290的INT引脚会产生一个低电平的中断请求

25、信号,读取键值后,中断信号就会自动撤销。但是我在电路图的设计中用的是INT非,即要求的是高电平的中断请求信号,所以按键时数码管不显示。2. 按一次键一下子就显示了好多个在获取键值函数中添加了判断按键松开的语句,最后发现这个模块基本就成功了。 六、心得体会具有良好的职业素质和较高的职业技能是构成二十一世纪,面向现代化企业生产、管理一线的高素质技术人员的两个基本要素。职业素质的提高与职业技能的掌握都具有养成教育的特征,应该贯穿到教育的整个过程。本次实训,我们分别做了3个项目,分别是电路图设计(protel电路图和pcb)和软件编程,还有实验箱调试。通过这一次的创新实训,我们不仅掌握了用protel

26、软件设计电路图还学会了应用,还学会了应用proteus软件进行仿真。同时学习了一些单片机的有关知识,了解了其规格、型号及使用的方法。还懂得了ZLG7290驱动的使用方法。更主要的是,我还学会了实验箱的用法及利用实验箱和仿真器的方法。在学习中,我才发现学习单片机不仅仅需要软件的知识,还需要硬件的知识。俗话说“好的开始是成功的一半”。说起课程设计,我认为最重要的就是做好设计的预习,认真的研究老师给的题目,选一个自己有兴趣的题目。其次,老师对实验的讲解要一丝不苟的去听去想,因为只有都明白了,做起设计就会事半功倍,如果没弄明白,就迷迷糊糊的去选题目做设计,到头来一点收获也没有。最后,要重视程序的模块化

27、,修改的方便,也要注重程序的调试,掌握其方法。硬件的设计都要我们自己动手去查找资料以及自己去设计,软件的编程也要我们不断的调试,最终一个能完成课程设计的劳动成果出来了,很高兴它能按着设计的思想与要求运动起来。当然,这其中也有很多问题,第一、不够细心比如由于粗心大意画电路图的时候忘记接电源线和接地线,由于对课本理论的不熟悉导致编程出现错误。第二,是在学习态度上,这次课设是对我的学习态度的一次检验。对于这次单片机综合课程实习,我的第一大心得体会就是作为一名工程技术人员,要求具备的首要素质绝对应该是严谨。我们这次实习所遇到的多半问题多数都是由于我们不够严谨。第三,在做人上,我认识到,无论做什么事情,只要你足够坚强,有足够的毅力与决心,有足够的挑战困难的勇气,就没有什么办不到的。实训组员:20

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!