版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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引脚会产生一个低电平的中断请求信号,读取键值后,中断信号就会自动撤销。但是我在电路图的设计中用的是int非,即要求的是高电平的中断请求信号,所以按键时数码管不显示。2. 按一次键一下子就显示了好多个在获取键值函数中添加了判断按键松开的语句,最后发现这个模块基本就成功了。 六、心得体会具有良好
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 一抹红的诗句
- 石河子大学《习近平总书记关于教育的重要论述研究》2023-2024学年第一学期期末试卷
- 2024-2025学年高中历史第二单元工业文明的崛起和对中国的冲击第11课民国时期民族工业的曲折发展学案含解析岳麓版必修2
- 关于绿色上网的倡议书(15篇)
- 水利工程EPC项目合同
- 人力资源管理博士教师聘用合同
- 建筑安防系统监理合同协议
- 建筑装饰合同管理要点
- 租赁消防车辆合同
- 知识产权合同招标管理办法
- 《春节的文化与习俗》课件
- 手机棋牌平台网络游戏商业计划书
- 学校体育与社区体育融合发展的研究
- 医疗机构高警示药品风险管理规范(2023版)
- 一年级体质健康数据
- 八年级物理(上)期中考试分析与教学反思
- 国家开放大学《财政与金融(农)》形考任务1-4参考答案
- 2023银行网点年度工作总结
- 工厂反骚扰虐待强迫歧视政策
- 计算机教室(微机室)学生上机使用记录
- FAI首件检验报告
评论
0/150
提交评论