篇一 :数码管动态显示实验报告

实验四数码管动态显示实验一

一、实验要求

1.  在Proteus软件中画好51单片机最小核心电路,包括复位电路和晶振电路

2.  在电路中增加四个7段数码管(共阳/共阴自选),将P1口作数据输出口与7段数码管数据引脚相连 ,P2.0~P2.3引脚输出选控制信号

3.  在Keil软件中编写程序,采用动态显示法,实现数码管分别显示数字1,2,3,4

二、实验目的

1.  巩固Proteus软件和Keil软件的使用方法

2.  学习端口输入输出的高级应用

3.  掌握7段数码管的连接方式和动态显示法

4.  掌握查表程序和延时等子程序的设计

三.实验说明

本实验是将单片机的P1口做为输出口,将四个数码管的七段引脚分别接到P1.0至P1.7。由于电路中采用共阳极的数码管,所以当P1端口相应的引脚为0时,对应的数码管段点亮。程序中预设了数字0-9的段码。由于是让四个数码管显示不同的数值,所以要用扫描的方式来实现。因此定义了scan函数,接到单片机的p2.0至p2.3

在实验中,预设的数字段码表存放在数组TAB中,由于段码表是固定的,因此存储类型可设为code。

在Proteus软件中按照要求画出电路,再利用Keil软件按需要实现的功能编写c程序,生成Hex文件,把Hex文件导到Proteus软件中进行仿真。为了能够更好的验证实验要求,在编写程序时需要延时0.5s,能让人眼更好的分辨;89C51的一个机器周期包含12个时钟脉冲,而我们采用的是12MHz晶振,每一个时钟脉冲的时间是1/12us,所以一个机器周期为1us。在keil程序中,子函数的实现是用void delay_ms(int x),其中x为1时是代表1ms。

四、硬件原理图及程序设计

(一)硬件原理图设计

电路中P1.0到P1.7为数码管七段端口的控制口,排阻RP1阻值为220Ω,p2.0到p2.3为数码管的扫描信号。AT89c51单片机的9脚(RST)为复位引脚,当RST为高电平的时间达到2个机器周期时系统就会被复位;31引脚(EA)为存取外部存储器使能引脚,当EA为高电平是使用单片机内部存储器,当EA为低电平时单片机则使用外部存储器。18、19引脚是接晶振脚。而接地和电源端在软件中已经接好,所以不用在引线。

…… …… 余下全文

篇二 :单片机c语言版数码管动态显示实验报告

数码管动态显示实验

一、实验要求

1.  在Proteus软件中画好51单片机最小核心电路,包括复位电路和晶振电路

2.  在电路中增加四个7段数码管(共阳/共阴自选),将P1口作数据输出口与7段数码管数据引脚相连 ,P2.0~P2.3引脚输出选控制信号

3.  在Keil软件中编写程序,采用动态显示法,实现数码管显示变量unsigned int show_value的值(show_value的值范围为0000~9999),即把show_value的千百十个位的值用数码管显示出来。

二、实验目的

1.  巩固Proteus软件和Keil软件的使用方法

2.  学习端口输入输出的高级应用

3.  掌握7段数码管的连接方式和动态显示法

4.  掌握查表程序和延时等子程序的设计

三.实验说明

(条理清晰,含程序的一些功能分析计算)

如下图(五)所示,由P1口将要显示的数字输给七段数码管;再由P2第四位输给数码管的公共端,作为扫描输入信号;用外部中断P3.2和P3.3分别接PB1与PB2,实现数字的增减。所要实现的功能是,开始运行电路功能图时,四个数码管分别显示0000,按下PB1增1,直到9999回到0000,相反按下PB2减1,直到0000回到9999。

在算相关数据时,由于要显示个十百千的不同数字,要调用disp函数, 

disp[0]=show/1000; //显示千位的值     disp[1]=show%1000/100; //显示百位的值

disp[2]=show%100/10; //显示十位的值   disp[3]=show%10;      //显示个位的值

…… …… 余下全文

篇三 :EDA八段动态数码管显示设计实验报告

无标题

第十周动态数码管显示设计报告

                  名: 

    号:

    业:

         

指导教师:

20## 11 8


目录

《EDA技术及应用》课程设计任务书……………………………………3

实验目的…………………………………………………………………5

设计要求…………………………………………………………………5

实验设备…………………………………………………………………5

扫描原理…………………………………………………………………5

设计任务…………………………………………………………………6

实验程序…………………………………………………………………6

时序仿真波形图…………………………………………………………7

仿真结果…………………………………………………………………8

模拟电路…………………………………………………………………8

设计总结…………………………………………………………………8

课程设计评分表…………………………………………………………9

《EDA技术及应用》课程设计任务书

一、设计题目

动态数码管显示设计

二、设计主要内容

本课题要求掌握使用Quartus II设计数字系统的设计思路和设计方法。学习VHDL基本逻辑电路的综合设计应用。掌握VHDL语言的语法规范,掌握时序电路描述方法。掌握多个数码管动态扫描显示的原理及设计方法。

设计一个八位数码管共阴极动态扫描显示控制电路,要求显示学生自己的学号。利用实验室设备完成系统设计并进行运行调试。

…… …… 余下全文

篇四 :数码管动态扫描实验实验报告及程序

实验七 数码管动态扫描实验

姓名 专业 学号 2010412381 成绩

一、实验目的

1. 掌握Keil C51软件与protues软件联合仿真调试的方法;

2. 掌握单片机对数码管的动态显示控制方式;

3. 掌握定时器的基本使用及编程方法。

二、实验仪器与设备

1.微机1台 2.Keil C51集成开发环境 3.Proteus仿真软件

三、实验内容

1. 用Proteus设计一8位数码管动态扫描显示电路。要求利用P0口 做数码管的段选线,P1.0~P1.2与74LS138译码器的3个输入端相连,其译码输出Y0~Y7作为数码管的位选线。参考电路见后面实验报告。

2. 编写程序,将数字1~8分别显示在8个数码管上,要求显示无闪烁。

3. 延长每个数码管选通的时间(如500ms),观察动态扫描过程。

4. 编写程序,利用Proteus中的“激励源/DCLOCK/数字类型/时钟”产生频率为1HZ的方波输出,并利用定时/计数器T1统计脉冲的个数,将统计结果动态实时的显示在数码管上。

5. 提高时钟频率(如100KHZ),观察显示情况。

四、实验原理

1. 动态扫描法:

1) 动态扫描法是对各数码管循环扫描、轮流显示的方法。由于一次只能让一个数码管显示,因此,要显示8位的数据,必须让数码管一个一个轮流显示才可以,同时每个数码管显示的时间大约在1ms到4ms之间,所以为了保证正确显示,每隔1ms,就得刷新一个数码管。当扫描显示频率较高时,利用人眼的视觉暂留特性,看不出闪烁现象,这种显示需要一个接口完成字型码的输出(段选),另一接口完成各数码管的轮流点亮(位选)。

2) 在进行数码显示的时候,要对显示单元开辟8个显示缓冲区,每个显示缓冲区装有显示的不同数据即可。

3) 对于显示的字型码数据采用查表方法来完成。

2. P0口

P0口作为地址/数据总线使用时是一个真正的双向端口;而作通用I/O口时,只是一个准双向口,由于其内部漏极开路,应外接10KΩ的上拉电阻,否则无法输出高电平。

…… …… 余下全文

篇五 :七段数码管的动态扫描显示实验报告

实验四 七段数码管的动态扫描显示

一、  实验目的

1.进一步熟悉QuartusII软件进行FPGA设计的流程;

2.掌握利用宏功能模块进行常用的计数器,译码器的设计;

3.学习和了解动态扫描数码管的工作原理的程序设计方法;

二、  实验原理及过程

实验板上面常用的4为联体的共阳极7段数码管。其接口电路是把所有数码管的8个笔划段a-h同名端连接起来,而每一个数码管由一个独立的公共极COM端控制。对于这种结构的数码管,采用动态显示的方法是最为广泛的一种显示方式之一。

在轮流点亮的过程中每位显示器的点亮时间都极为短暂,但由于人的视觉暂留现象以及发光二极管的余晖效应,尽管实际上每个显示器并非同时点亮,但只要扫描的速度足够快(如达到30Hz以上),给人的印象就是一组稳定的显示数据,不会有闪烁感。

  本次实验要求在实验板上实现显示00000000-99999999的十进制计数器。使用的是宏模块产生一个16位的二进制计数器counter()作为4个数码管的显示数据;编写一个分频模块div,其输出作为计数器counter()的时钟信号;编写数码管驱动模块segmain,完成7段译码和扫描显示控制

1、    建立工程,并建立顶层图。

2、         设计计数时钟

设计一分频器,对50Mhz分频输出到计数器,让计数器以较慢速度递增。建立.v文件,输入以下代码

module int_div(clk,div_out);

input clk;

output reg div_out;

reg[31:0] clk_div;

parameter CLK_FREQ='D50_000_000;

parameter DCLK_FREQ='D10;

…… …… 余下全文

篇六 :机器人控制-数码管动态显示-仿真实验报告

机器人控制

仿真实验二

——数码管动态显示

姓名:李铃  年级:20## 

系别:信息工程学院计科(师)

学号:1111000048

同组人姓名:杨晨  年级:20## 

系别:信息工程学院计科(师)

同组人学号:1111000054

20##514

【实验目的】

进一步熟悉keil仿真软件、proteus仿真软件的使用。了解并熟悉单片机I/O口和数码管的电路结构学会构建简单的数码管动态显示电路。掌握C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。

【实验要求】

利用proteus仿真软件和keil仿真软件实现数码管动态显示数字1-9。

【实验环境】

Proteus与keil联合,语言环境为汇编语言。

【实验用品】

proteus仿真软件,keil仿真软件,个人计算机一台。

【实验内容】

一、利用proteus软件画出电路图

1、打开proteus软件,点击P选择电器元件(见图1.1),在keywords中搜索要用到的电器元件(见图1.2和图1.3),在本次试验中选择型号为AT89C51单片机。找到后双击元件名称,这样元件就显示在DEVICES中了(见图1.4),选好后点击“OK”关闭窗口。

 

2、选中左侧的AT89C51元件,在作图区域内单击鼠标左键,会出现图1.5左边的图象,再次单击鼠标左键,会出现图1.5右边的图像,此时已经安放好了AT89C51元件。

3、按照上述步骤找齐电路中还需要的电器元件,包括:数码管(7SEG-MPX2-CA 1个),电容(CAP2个,CAP-ELEC1个),晶振(CRYSTAL1个),电阻(RES1个,RESPACK-8 1个)。

4、将各个元件组合,最终形成如图1.6的电路图。

二、利用keil软件编写程序并生成.asm文件和.hex文件

…… …… 余下全文

篇七 :数码管动态扫描实验报告

数码管动态扫描实验

一、实验目的

学习计数器的设计、分析合测试方法。

学习硬件扫描显示电路的设计方法。

二、实验仪器

1、PC机

2、SW-51PROC单片机综合实验平台

三、实验内容

编写一段程序,用单片机P0口和P2口的I/O输出去控制8位的数码管显示,实现如下功能:使数码管上显示1、2、3、4、5、6、7、8。

四、实验步骤:

1、用Protues设计数码管动态扫描显示电路;

2、在KeilC51中编写识别程序,通过后与Protues联合调试;

3、启动仿真,观察数码管显示是否正确;

4、用Protues设计脉冲计数电路,仿真调试、运行程序并查看效果。

五、电路设计及调试:

1、实验电路:

2、程序设计与调试:①实验程序:

【12345678】

#include<reg52.h>

#define uintunsigned int

#define ucharunsigned char

uchar codeDisplsy[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80};

uchar codeTemble[]={0,1,2,3,4,5,6,7};

void  delay(uint z)

{

  uchar t;

  while(z--) for(t=120;t>0;t--);

}

void  main()

{

    uchar i;

  P0=0xff;

  P1=0;

  while(1)

  {

       if(i==8)

       i=0;

…… …… 余下全文

篇八 :实验十二 数码管动态显示实验

实验十二  数码管动态显示

一、实验目的

1、掌握数码管的显示原理。

2、掌握利用数码管显示计算数机内部信息。

3、掌握数码管动态显示的原理及使用。

二、实验技术准备

1、 数码管排列图

          

      

实验箱共有8个共阴极数码管。

段码输入端:A、B、C、D、E、F、G、DP,8个数码管的段码

  是并联的,每个段码都通74LS244驱动器加以驱动。

位码控制端:S0、S1、S2、S3、S4、S5、S6、S7,8个位码是独立的,每个位码控制端经过一个与非门。

要使数码管显示数字,相应的段码应输入高电平,对于的位码也为高电平。(注:位码段浮空均为高电平。)

2、 AL与段码的对应关系

 dp g  f    e     d   c    b    a

        

       

 

3、特殊字符有 H P C F E L h c d b等,要会写出对应的十六进制表示的七段代码。

三、动态显示原理

因为实验箱8个数码管的段码是并联在一起的,一次只能显示一种字符。要使多个数码管显示多个字符,先使第一个数码管显示第一种字符, 位码控制端S0保持几个毫秒之后, 使第二个数码管显示第二种字符, 第二个位码控制端S1保持几个毫秒后, 然后再指向下一个数码管这样循环显示。由于人眼的视觉惯性(暂留)作用,在感觉上好象是多个数码管“同时”显示不同的字符。

…… …… 余下全文