多位数码管动态扫描protues仿真
四位数码管动态扫描

数码管学习数码管控制要点:扫描时间不能太短,太短数码管会只显示8,太长就不能看到几个数码管同时亮的感觉,不同的需要会选不同的扫描时间。
举个实例:在proteus里仿真如下,连接电路图。
注意:在proteus里可以不连51的最小系统,但是必须双击单片机在Edit Component设置晶振为12M或其它的。
使用P1口注意其内部没有集成上拉电阻,必须外接10K电阻。
51程序:/*四位数码管动态显示*/#include<reg52.h>#define uint unsigned int#define uchar unsigned charuint num;uchar code table[]={ //共阴数码管0~90x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};void delayms(uint z){ //延时毫秒函数uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void display(uint date){ //四位数码管显示函数uint a,b,c,d;a=date/1000;P0=0x0E;P2=table[a];delayms(10);b=date%1000/100;P0=0x0d;P2=table[b];delayms(10);c=date%100/10;P0=0x0b;P2=table[c];delayms(10);d=date%10;P0=0x07;P2=table[d];delayms(10);}void main(){ //主函数while(1){if(num==10000)num=0;display(num++);}}。
(九):proteus仿真辅助数码管的学习

(九):Proteus仿真辅助数码管的学习数码管又称LED数码管,它是由7段或8段LED构成的显示器件。
有共阴极和共阳极两种。
按其显示方式则可分为静态显示方式和动态显示方式两种。
关于数码管的其他知识请参阅相关参考文献,此处不作讨论。
下面我们将主要讲述数码管显示的仿真。
1.静态显示方式静态显示方式较为简单,编程十分容易,但占用IO口线较多。
实际使用中不太多见。
下面我们就通过一个简单的例子来予以说明。
例1.单片机的P2口接一个共阳极数码管,利用该数码管显示从0到9,然后返回到0的循环。
该例子较为简单,源文件如下图:源文件编辑结束以后,将其保存为汇编文件,然后进行编译/汇编,并产生相应的源代码,准备用于仿真。
下面我们编辑电路图。
此例的电路图十分简单,只需将一个共阳极数码管连到单片机的P2口即可。
数码管使用关键词“7Seg”进行查找。
可以看到有很多结果,注意区分共阳极“Anode”和共阴极“Cathode”即可。
这里我们选用较为简单的“7SEG-COM-ANODE”数码管。
最后得到的电路图如下图所示:绘制好电路图,我们就可以将前面所生成的源代码装入单片机,然后点击仿真按钮进行仿真。
可以看到数码管显示的数字按照我们程序中设定的要求进行变化着,仿真中的一个画面如上图所示。
2.动态显示方式动态显示方式是一种相对较为高级的显示方式,它编程较为复杂,但占用IO口线少,达到了节约硬件资源的目的,实际使用中较多利用。
下面我们也利用一个实例来详细说明这种显示方式。
例2.数码管动态显示方式。
单片机P2口接一个二位数码管的8位段码线,P3口的低二位接数码管的两位位码线。
程序使得二位数码管做0到99的循环显示。
该例源文件如下图所示:源文件编辑结束以后,将其保存为汇编文件,然后进行编译/汇编,并产生相应的源代码,准备用于仿真。
接下来我们绘制电路图。
此例电路图比较简单,如下图所示,但有几点需要注意:(1)单片机的IO口的驱动能力有限,所以此例我们选用了大功率晶体管驱动电路,即图中的两个NPN三极管,单片机通过控制它们的通断来达到控制位码的目的。
(整理)较为全面的基于PROTEUS仿真51单片机动态数码管课程设计(WORD版)

单片机课程设计题目动态数码管显示学院机电工程学院专业班级电子信息工程12-1班姓名组员指导教师张、王老师2015 年 5 月30 日课程设计量化评分标准目录一、概述 (1)1. 单片机简介 (1)2. Proteus简介 (2)3. 设计任务与要求 (3)二、硬件设计 (3)1. 单片机最小系统设计 (1)2. 数码管显示部分 (4)3. 数码管驱动部分 (5)三、软件设计 (6)1. 仿真原理图 (6)2. 仿真参数设置 (6)3. 仿真结果 (7)4. 程序流程图 (8)5. 程序代码.................................................... .9四、心得体会............................................... (11)五、参考文献 (12)精品文档一、概述1. 单片机简介如图1.1和图1.2分别为PDI P封装的AT89C52引脚图和实物图图1.1 引脚图图1.2 实物图AT89C52是一个低电压,高性能CMOS8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2 个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的 Flash存储器可有效地降低开发成本。
AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。
基于Proteus的单片机动态显示仿真设计

基于Proteus的单片机动态显示仿真设计摘要:本文以MCS-51单片机为例,介绍在Proteus中进行单片机的动态显示设计和仿真过程。
关键词:单片机;proteus动态显示;仿真单片机技术应用于各行各业,是一种实用的智能控制技术,单片机技术也是各大高校电类学生学习的主要专业课程,单片机应用技术所涉及的实践环节较多,且硬件投入较大,如果因为控制方案有误而进行相应的开发设计,会浪费较多的时间和经费。
Proteus仿真软件很好地解决了这些问题,它可以像Protel 一样绘制硬件原理图并实现硬件调试,再与Keil编程软件进行联调,实现对控制方案的验证。
尤其对于初学单片机的用户提供了极大的方便。
1 ProteusProteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。
它可以仿真、分析各种模拟器件和集成电路,该软件的特点是:1)实现了单片机仿真和SPICE电路仿真相结合。
具有模拟电路、数字电路仿真、单片机及其外围电路的仿真、各种虚拟仪器,如示波器等功能。
2)支持主流单片机系统的仿真。
3)提供软件调试功能。
在硬件仿真系统中具有全速、单步、设置断点等调试功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。
4)具有强大的原理图绘制功能。
Proteus软件的使用彻底改变了传统单片机学习和开发方式,初学者可以在没有实验硬件条件下进行仿真实验,开发者可以直接用Proteus进行电路设计和仿真运行程序,运行成功后再制作产品,缩短开发周期,节约开发成本。
下面笔者就以MCS-51单片机为例,介绍在Proteus中进行单片机的动态显示设计和仿真过程。
2 电路原理设计在MCS-51单片机用数码管显示信息时,由于每个数码管至少需要8个I/O口,如果需要多个数码管,则需要多个I/O口,而单片机I/O口是有限的。
实际应用中一般采用动态显示方式解决问题。
如何做呢?在编程时,需要输出段选和位选信号,位选信号选中其中一个数码管,然后输出段码,使该数码管显示所需要的内容,延时一段时间后,再选中另一个数码管,再输出对应的段码,高速交替,这就是动态显示。
基于Proteus的数码管动态显示与计数设计

www�ele169�com | 73应用技术0 引言随着社会的不断进步与发展,不同类型与性能的数码管相继发明出现。
数码管可以显示数字与相应信息,其亮度高、控制简单、性能稳定、呈现速度即时等诸多优点,使得数码管在电子设计应用中得到广泛应用。
本文运用Proteus 仿真软件,利用汇编语言进行编码,将程序写入并编译仿真实现数码管的动态显示与设计。
1 Proteus 简介Proteus 是一款高性能的EDA 工具软件,配置有完善的电子设计开发环境,器件库齐全,功能形象。
可进行原理图设计、搭建、仿真,PCB 设计等多功能操作。
支持C51、ARM、DSP 诸多处理器。
在软件中进行虚拟仿真,力求实证现实;在Proteus 软件中可直接在原理图搭建完成后,进行编译输出得到结果,进行实时电路分析与实物仿真。
Proteus 软件大大缩短了设计时间,降低器件损耗的开发成本,途径灵活,仿真结果准确,在实际开发与教学中得到广泛应用。
2 数码管动态显示与计数工作原理■2.1 定时器结构与原理定时器T0/T1的结构如图1所示,其中振荡器经12分频后作为定时器的时钟脉冲,T1引脚为外部计数脉冲输入端,通过开关进行选择。
反相器,或门,与门共同构成启/停控制信号。
TH 和TL 为加1计数器,TF 为中断标志。
每接收到一个脉冲,加1计数器自动加1,当计数器中的数被加为0时产生溢出标志,TF 将被置1。
计数器工作方式的选择和功能的实现需要配置相应的寄存器TMOD 和TCON。
■2.2 脉冲产生利用单片机U1 P3.0口进行脉冲的输出,通过定时器模式选择与初值的设定,完成定时器定时功能的实现。
运用定时器进行端口定时控制,实现每1ms 高低电平变换。
就可以实现一个占空比为50%的矩形脉冲输出。
图1 定时器T0(T1)结构图■2.3 脉冲计数利用单片机U1 P3.0口输出的脉冲连接到单片机U2的中断INT0口P3.2,通过脉冲的高低电平变换触发中断0,进行脉冲个数的计数,再通过数码管显示出数字信息。
使用Proteus 建立4位LED动态扫描显示

使用Proteus 建立4位LED动态扫描显示1.关键器件选型Pic18f452的特点:高灌/拉电流:25mA/25mA;3个外部中断引脚,定时器0模块:具有8位可编程预分频器的8/16位定时器/计数器;定时器1模块:16位定时器/计数器;定时器2模块:具有8位周期寄存器的8位定时器/计数器(时基为脉宽调制);定时器3模块:16位定时器/计数器;辅助振荡器时钟选项:定时器1/定时器3;2个捕捉/比较/PWM模块。
CCP引脚,可以配置为:捕捉输入:16位捕捉模块,最大分辨率是6.25ns(TCY/16);16位比较模块,最大分辨率为100ns(TCY);PWM输出:最大PWM是1~10位。
最大PWM频率:当8位分辨率为156kHz,10位分辨率为39kHz;主同步串口(MSSP)模块;2种运作模式:3线SPITM(支持所有4线SPI模式);I2CTM主从模式;2.系统设计基本原理:利用单片机的两个I/.O端口,一个送位选择码,一个送字型码。
每次选择一位LED公共端有效,然后送出字型码,延时后送下一组数据。
设计程序:#include <p18F452.h>#include <adc.h>#include <delays.h>rom near char look7[10]=//7-segment lookup table{0x3f, //00x06, //10x5b, //20x4f, //30x66, //40x6d, //50x7d, //60x07, //70x7f, //80x6f, //9};int result,i,w;void main( void ){TRISD=0x00;TRISC=0x00;PORTD=0x00;while(1){PORTC=0xfe;// configure A/D convertorOpenADC( ADC_FOSC_32 &ADC_RIGHT_JUST &ADC_8ANA_0REF,ADC_CH0 &ADC_INT_OFF );// A/D 时钟源,晶振32分频率// A/D 转换结果右对齐// A/D 参考电压源,电源工作电压// 通道选择// 中断关闭,查询模式Delay10TCYx( 5 ); // Delay for 50TCYConvertADC(); // Start conversionwhile( BusyADC() ); // Wait for completionresult = ReadADC(); // Read resultCloseADC(); // Disable A/D converter//display the resultfor(i=0;i<4;i++){w=result%10;PORTD=look7[w];Delay1KTCYx(5);result=result/10;PORTD=0x00;PORTC=(PORTC<<1)|1;}}}设计结果:2.结束语通过本次实验基本掌握了对数模转换的设计,更深入的了解了pic18f452的使用与功能,其次本次实验的完成也让我对程序的编写能力得到了提升。
8位LED数码管动态显示电路的仿真测试

数字电子技术仿真实验实验题目:8位LED数码管动态显示电路院系:电子与信息工程学院专业:电子信息工程班级:2010级X班老师:XXX姓名:XXX学号:XXXXXXXXXX8位LED数码管动态显示电路的仿真测试一,实验目的:(1)掌握LED数码管动态显示的工作原理。
(2)掌握BCD—七段显示译码器74LS48,3—8线译码器74LS138的应用。
(3)掌握MultiSIM中LED数码管的应用。
二,实验原理:LED数码管有静态显示和动态显示2种显示方式。
LED数码管工作于静态显示方式时,各位的共阴极(或共阳极)连接在一起并接地,且使用一片译码驱动芯片驱动一位七段LED数码管进行数码显示。
LED数码管工作于动态显示方式时,使用一片译码驱动芯片驱动多位七段LED数码管,有控制电路控制各位显示器分别进行数码显示,即每个显示器按照不同的时间轮流使用这片译码驱动芯片,从而是电路更加简单。
三,实验设配及元器件:四,仿真结果:1,显示相同数码电路的仿真测试:2,显示不同数码电路的仿真实验:(1)当频率为100HZ时:LED数码管显示的数码及显示的顺序:(2)当频率为100KHZ时:LED数码管显示的数码及显示的顺序:五,实验总结:通过此次实验,不仅让我对仿真更加熟悉,也加深了我对数字电子电路的理解。
在仿真过程中,我遇到了很多困难,经过思考和尝试,终于将实验做成功了。
例如刚开始我不知道字符信号发生器再那里,于是就在原件中一个一个的试,很快就在工具栏上的图标中找到了。
还有数码管,在元件库中找了很久,终于在Indicators下面的HEX_DISPLAY中才找到。
电路图连接完后,因为字符信号发生器没有接地,数码管始终不能显示。
改正后,刚开始又始终只有一位数码管显示,经过思考,原来是频率低了,当我把频率变大后,循环扫描的速度变得足够快,就可以看到8位LED数码管的持续发光。
protues课件数码管动态扫描电路的仿真实验

段码线占用一个8位I/O口,而位选控制使用一个I/O口
的4位口线。
13
图6-4 4位8段LED动态显示的原理电路
工作原理:动态显示就是通过段码线向显示器(所有
的)输出所要显示字符的段码。每一时刻,只有一位位 选线有效,其他各位都无效。逐位地每隔一定时间轮流
点亮各位显示器(扫描方式),由于LED数码管的余辉
型、“米”字型和“点阵”型LED显示器,如图10-2所
示。厂家也可根据用户的需要定做特殊字型的数码管。
图6-2
其他各种字型的LED显示器
8
6.1.2 LED数码管显示器的两种显示方式
LED数码管有静态显示和动态显示两种显示方式。
9
1.LED静态显示方式
静态显示指无论多少位LED数码管,都同时处于显示状态。
电路连接:数码管工作于静态显示方式时,各位的共阴极
(或共阳极)连接在一起并接地(或接+5V);每位的段码 线(a~dp)分别与一个8位的I/O口锁存器输出相连。
如果送往各个LED数码管所显示字符的段码一经确定,则
相应I/O口锁存器锁存的段码输出将维持不变,直到送入另 一个字符的段码为止。
优点:静态显示无闪烁,亮度较高,软件控制比较容易。
数码管显示单个数字
如图6-6所示为共阳极数码管。
7段数码管有段码和位码两个不同控制端。8
个数码管的段码a,b,c,d,e,f,g,dp并联在一起, 通过上拉电阻接到了51单片机的P0口,而每 一位数码管的位码则通过三极管分别接到51 单片机的P2口,其中P2口接三极管的基极, 发射极接到数码管的位码选择端。 电路符合数码管动态显示的原理。
11
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验题目:多位数码管动态扫描电路设计与调试一、实验要求与目的1、设计要求8位数码管显示“8.8.8.8.8.8.8.8.”,即点亮显示器所有段,持续约500ms 之后,数码管持续约1s ;最后显示“HELLO —10”,保持。
2、实验目的1、掌握数码管动态扫描显示原理及实现方法。
2、掌握动态扫描显示电路驱动程序的编写方法。
二、设计思路1、在Proteus 中设计仿真电路原理图。
2、在Keil C51软件中编译并调试程序,程序后缀必须是.c 。
调试时生成hex 文件,确认 无误后将生成的hex 文件添加到原理图的单片机中进行仿真。
3、观察电路仿真结果对程序进行更改直至达到预期结果三、实验原理p2[0..3]p0[0..7]p 00p 00p 07p 06p 0605p 02p 05p 04p 04p 03p 03p 02p 02p 01p 01p 07p 23p 22p 21p 20A 15B 14C 13D120112233445566779810911U27445A 02B 018A 13B 117A 24B 216A 35B 315A 46B 414A 57B 513A 68B 612A 79B 711C E 19A B /B A1U374HC245234567891RP1RESPACK-8XTAL218XTAL119RST9P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115AD[0..7]A[8..15]ALE 30EA 31PSEN29P1.0/T21P1.1/T2EX 2P1.23P1.34P1.45P1.56P1.67P1.78U4AT89C52图1 原理图LED数码管动态显示的基本做法在于从那时起轮流选通数码管的公共端,使得各数码管轮流导通,在选通相应数码管后,即在显示字段上得到显示字形码。
这种方式不但能提高数码管的发光效率,而且由于各个数码管的字段线是并联使用的,从而大大简化了硬件线路。
动态扫描显示接口是单片机系统中应用最为广泛的一种显示方式。
其接口电路是把所有显示器的8个笔画段A~DP同名端并联在一起,而每个显示器的公共极COM各自独立地受I/O线控制,CPU向字输出口送出字形码时,所有显示器由于同名端并连接收到相同的字形码,但究竟是哪个显示器亮,则取决于COM端,而这一端是由I/O控制的,所以就可以自行决定何时显示哪一位了。
而所谓动态扫描是指采用从分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。
在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。
采用总路线驱动器74HC245提供LED数码管的段驱动,输出高电平时点亮相应段;采用集电极开路的BCD-十进制译码器/驱动器完成LED数码管位驱动,输出低电平时选通相应位。
P2口每个口线输出灌电流不足以驱动一个数码管显示器的位—公共极,所以通过集电极开路的BCD—十进制译码器/驱动器7445驱动,即节约P2口线,又增加驱动能力。
四、功能概述及方案设计系统主要组成单元组成单元项目电路图完成的功能AT89C52XTAL218XTAL119RST9P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115AD[0..7]A[8..15]ALE30EA31PSEN29P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78U1AT89C52通过预置的程序控制电路的输出,即控制数码管的选通并输出驱动信号7445A15B14C13D12112233445566779810911U57445完成LED数码管位驱动,输出低电平时选通相应位74HC245A02B018A13B117A24B216A35B315A46B414A57B513A68B612A79B711CE19AB/BA1U674HC245提供LED数码管的段驱动,输出高电平时点亮相应段RESSPACK8 234567891RP2RESPACK-8限流电阻保护电路以免电流过大烧坏电路7SEG-MPX8-CC-BLUE 译码显示五、实验运行程序#include<intrins.h>#include<REGX52.H>#define TRUE 1#define dataPort P0#define ledConPort P2unsigned char code ch[8]={0x76,0x79,0x38,0x38,0x3f,0x40,0x06,0x3f}; void time(unsigned int ucMs);void main(void){unsigned char i,counter;for(i=0;i<30;i++){for(counter=0;counter<8;counter++){ledConPort=counter;dataPort=0xff;time(5);}}ledConPort=0xff;time(2000);while(TRUE){for(counter=0;counter<8;counter++){ledConPort=counter;dataPort=ch[counter];time(5);}}}void delay_5us(void) {_nop_(); _nop_(); }void delay_50us(void) {unsigned char i; for(i=0;i<4;i++) {delay_5us(); } }void delay_100us(void) {delay_50us(); delay_50us(); }void time(unsigned int ucMs) {unsigned char j; while(ucMs>0) {for(j=0;j<10;j++) delay_100us(); ucMs--; } }六、仿真结果p2[0..3]p0[0..7]p 00p 00p 07p 07p 06p 06p 05p 04p 04p 03p 03p 02p 02p 01p 01p 23p 22p 21p 20p 05A 15B 14C 13D120112233445566779810911U27445A 02B 018A 13B 117A 24B 216A 35B 315A 46B 414A 57B 513A 68B 612A 79B 711C E 19A B /B A1U374HC245234567891RP1RESPACK-8XTAL218XTAL119RST9P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115AD[0..7]A[8..15]ALE 30EA 31PSEN29P1.0/T21P1.1/T2EX 2P1.23P1.34P1.45P1.56P1.67P1.78U4AT89C52p2[0..3]p0[0..7]p 00p 00p 07p 07p 06p 06p 05p 04p 04p 03p 03p 02p 02p 01p 01p 23p 22p 21p 20p 05A 15B 14C 13D120112233445566779810911U27445A 02B 018A 13B 117A 24B 216A 35B 315A 46B 414A 57B 513A 68B 612A 79B 711C E 19A B /B A1U374HC245234567891RP1RESPACK-8XTAL218XTAL119RST9P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T 014P3.7/RD17P3.6/WR 16P3.5/T 115AD[0..7]A[8..15]ALE 30EA 31PSEN29P1.0/T 21P1.1/T2EX 2P1.23P1.34P1.45P1.56P1.67P1.78U4AT89C52七、实验心得指导教师评语和成绩评定:实验报告成绩:指导教师签字:年 月 日。