LED动态扫描显示实验

LED动态扫描显示实验
LED动态扫描显示实验

51单片机实验报告二

名称:LED动态扫描显示

目的:掌握数码LED的动态扫描显示原理;

学习延时子程序的编写和使用。

原理:

为了节省输出端口数,数码LED显示一般采用动态扫描的方法,将所有数码LED的共阴极接在一个位型输出口上,将所有数码管的相同段接在一起作为字型口,软件控制每个数码LED轮流显示,任一时刻只一个数码亮,但扫描速度足够快时,视觉效果是8个数码LED同时亮。

电路图:

流程图:

汇编程序:

ORG 0000H

AJMP MAIN

ORG 0080H

MAIN:

CLR P2.0 ;选中第一个数码管MOV P0, #3FH ;显示0

LCALL DELAY ;调用延时

MOV P0, #0FFH ;关显示

SETB P2.0

CLR P2.1 ;选中第二个数码管MOV P0, #06H ;显示1

LCALL DELAY

MOV P0, #0FFH

SETB P2.1

CLR P2.2 ;选中第三个数码管MOV P0, #5BH ;显示2

LCALL DELAY

MOV P0, #0FFH

SETB P2.2

CLR P2.3 ;选中第四个数码管MOV P0, #4FH ;显示3

LCALL DELAY

MOV P0, #0FFH

SETB P2.3

CLR P2.4 ;选中第五个数码管

MOV P0, #66H ;显示4

LCALL DELAY

MOV P0, #0FFH

SETB P2.4

CLR P2.5 ;选中第六个数码管

MOV P0, #6DH ;显示5

LCALL DELAY

MOV P0, #0FFH

SETB P2.5

CLR P2.6 ;选中第七个数码管

MOV P0, #7DH ; 显示6

LCALL DELAY

MOV P0, #0FFH

SETB P2.6

CLR P2.7 ;选中第八个数码管

MOV P0, #07H ; 显示7

LCALL DELAY

SETB P2.7

MOV P0, #0FFH

AJMP MAIN ;重新开始

DELAY: ;延时子程序

MOV R7 ,#2

D1: MOV R6, #25

D2: DJNZ R6, D2

DJNZ R7, D1

RET

END

现象及结论:8只数码管循环滚动显示单个数字0—7。如此循环。

单片机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; //显示个位的值 本实验需要用到IE寄存器与TCON寄存器。 四、硬件原理图及程序设计 (一)硬件原理图设计

led动态扫描

LED动态扫描实验 一、实验目的: 1、掌握数码LED的动态扫描显示原理 2、学习延时子程序的编写的使用 二、实验原理: 共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。 数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。

三、实验内容及过程: 1、流程图

2、实验中碰到的问题 实验中我用了两排插孔来代替数码管的两排引脚焊接在实验板上,东西都焊好之后,把数码管插在插孔里,有的时候就会出现接触不好的状况,我认为,以后还是把数码管焊上去才不会出现接触的问题。 四、实验现象: 在烧入程序后,数码管上的数字呈现从1开始逐个递增的显示 五、程序: ORG 0000H MAIN: MOV 7AH,#00H MOV 7BH,#00H MOV 7CH,#00H MOV 7DH,#00H MOV R1,#7AH MAIN0: MOV A,7AH MAIN1: CJNE A,#0AH,BJW MOV 7FH,R1 JW: MOV @R1,#00H INC R1

实验 典型环节的动态特性实验报告

实验一典型环节的动态特性 一.实验目的 1.通过观察典型环节在单位阶跃信号作用下的相应曲线,熟悉它们的动态特性。 2.了解各典型环节中参数变化对其动态特性的影响。 二.实验内容 1.比例环节 G(S)= K 所选的几个不同参数值分别为K1= 33 ; K2= 34 ; K3= 35 ; 对应的单位阶跃响应曲线(在输出曲线上标明对应的有关参数值): 2.积分环节

G(S)= S T i 1 所选的几个不同参数值分别为T i1= 33 ; T i2= 33 ; T i3= 35 : 对应的单位阶跃响应曲线(在输出曲线上标明对应的有关参数值): 3.一阶惯性环节 G(S)= S T K c 1 令K不变(取K= 33 ),改变T c取值:T c1= 12 ;T c2= 14 ;T c3= 16 ;

对应的单位阶跃响应曲线(在输出曲线上标明对应的有关参数值): 4. 实际微分环节 G(S)= S T S T K D D D 1 令K D 不变(取K D = 33 ),改变T D 取值:T D 1= 10 ;T D 2= 12 ;T D 3= 14 ;

对应的单位阶跃响应曲线(在输出曲线上标明对应的有关参数值): 5.纯迟延环节 G(S)= S eτ- 所选的几个不同参数值分别为τ1= 2 ;τ2= 5 ;τ3= 8 ; 对应的单位阶跃响应曲线(在输出曲线上标明对应的有关参数值):

6. 典型二阶环节 G(S)= 2 2 2n n n S S K ωξωω++ 令K 不变(取K = 33 ) ① 令ωn = 1 ,ξ取不同值:ξ1=0;ξ2= 0.2 ,ξ3= 0.4 (0<ξ<1);ξ4=1;ξ5= 3 (ξ≥1); 对应的单位阶跃响应曲线(在输出曲线上标明对应的有关参数值): ②令ξ=0,ωn 取不同值:ωn 1= 1 ;ωn 2= 2 ; 对应的单位阶跃响应曲线(在输出曲线上标明对应的有关参数值):

LED动态扫描显示实验

51单片机实验报告二 名称:LED动态扫描显示 目的:掌握数码LED的动态扫描显示原理; 学习延时子程序的编写和使用。 原理: 为了节省输出端口数,数码LED显示一般采用动态扫描的方法,将所有数码LED的共阴极接在一个位型输出口上,将所有数码管的相同段接在一起作为字型口,软件控制每个数码LED轮流显示,任一时刻只一个数码亮,但扫描速度足够快时,视觉效果是8个数码LED同时亮。 电路图:

流程图: 汇编程序: ORG 0000H AJMP MAIN ORG 0080H MAIN: CLR P2.0 ;选中第一个数码管MOV P0, #3FH ;显示0 LCALL DELAY ;调用延时 MOV P0, #0FFH ;关显示 SETB P2.0 CLR P2.1 ;选中第二个数码管MOV P0, #06H ;显示1 LCALL DELAY MOV P0, #0FFH SETB P2.1 CLR P2.2 ;选中第三个数码管MOV P0, #5BH ;显示2 LCALL DELAY MOV P0, #0FFH SETB P2.2 CLR P2.3 ;选中第四个数码管MOV P0, #4FH ;显示3 LCALL DELAY

MOV P0, #0FFH SETB P2.3 CLR P2.4 ;选中第五个数码管 MOV P0, #66H ;显示4 LCALL DELAY MOV P0, #0FFH SETB P2.4 CLR P2.5 ;选中第六个数码管 MOV P0, #6DH ;显示5 LCALL DELAY MOV P0, #0FFH SETB P2.5 CLR P2.6 ;选中第七个数码管 MOV P0, #7DH ; 显示6 LCALL DELAY MOV P0, #0FFH SETB P2.6 CLR P2.7 ;选中第八个数码管 MOV P0, #07H ; 显示7 LCALL DELAY SETB P2.7 MOV P0, #0FFH AJMP MAIN ;重新开始 DELAY: ;延时子程序 MOV R7 ,#2 D1: MOV R6, #25 D2: DJNZ R6, D2 DJNZ R7, D1 RET END 现象及结论:8只数码管循环滚动显示单个数字0—7。如此循环。

EDA设计课程实验报告数码管动态显示实验报告

EDA设计课程实验报告 实验题目:数码管动态显示实验 学院名称: 专业:电子信息工程 班级: 姓名:高胜学号 小组成员: 指导教师: 一、实验目的 学习动态扫描显示的原理;利用数码管动态扫描显示的原理编写程序,实现自己的学号的显示。 二、设计任务及要求

1、在SmartSOPC实验箱上完成数码管动态显示自己学号的后八个数字。 2、放慢扫描速度演示动态显示的原理过程。 三、系统设计 1、整体设计方案 数码管的八个段a,b,c,d,e,f,g,h(h是小数点)都分别连接到SEG0~SEG7,8个数码管分别由八个选通信号DIG0~DIG7来选择,被选通的数码管显示数据,其余关闭。如果希望8个数码管显示希望的数据,就必须使得8个选通信号DIG0~DIG7分别被单独选通,并在此同时,在段信号输入口SEG0~SEG7加上该对应数码管上显示的数据,于是随着选通信号的扫描就能实现动态扫描显示的目的。虽然每次只有1个数码管显示,但只要扫描显示速率足够快,利用人眼的视觉余辉效应,我们仍会感觉所有的数码管都在同时显示。 2、功能模块电路设 (1)输入输出模块框图(见图1) 图1 (2)模块逻辑表达(见表1) 表1(数码管显示真值表) clk_1k dig seg ↑01111111 C0 ↑10111111 F9

注:数码管显示为01180121 (3)算法流程图(见图2) (4)Verilog源代码 module scan_led(clk_1k,d,dig,seg); //模块名scan_led input clk_1k; //输入时钟 input[31:0] d; //输入要显示的数据output[7:0] dig; //数码管选择输出引脚

实验二 数码管动态扫描显示实验

实验二数码管动态扫描显示实验 一、实验目的 1.学习和理解数码管动态扫描的工作原理。 2.学习和掌握数码管动态扫描的电路接口设计及程序编写。 二、实验设备 1.USB线 2.单片机最小系统教学实验模块 3.动态数码管显示模块 三、实验要求 1. 使8位数码管动态显示“0 1 2 3 4 5 6 7”字样 2. 使8位数码管动态显示时间2013年4月18日,即“2 0 1 3 04 18”字样 3. 用Proteus仿真软件画出实验电路图,将在uVision3 IDE软件中生成*.hex 下载到Proteus仿真电路图中的单片机芯片中,观察实验现象。 四、实验原理 1. 8段数码管显示原理 数码管中的每一段相当于一个发光二极管,8段数码管则具有8个发光二极管。对于“共阳极”的数码管,内部每个发光二极管的阳极被接在一起,成为该各段的公共选通线;发光二极管的阴极则成为段选线。对于“共阴极”数码管,则正 好相反,内部发光二极管的阴极接在一起,阳极成为段选 线。这两种数码管的驱动方式是不同的。当需要点亮“共 阳极”数码管的一段时,公共段需接高电平(即写逻辑1)、 该段的段选线接低电平(即写逻辑0),从而该段被点亮。 当需要点亮“共阴极”数码管的一段时,公共段需接低电平 (即写逻辑0)、该段的段选线接高电平(即写逻辑1), 该段被点亮。 数码管的段位顺序如右图所示: 一般来说在一个字节中按照dpgfedcba的顺序放置字型码,比如在一个“共阴极”数码管上要显示“1”,则b、c段需被点亮,因此在段选线中写入06H。例如使用P0口接段选线,则使用下面的语句即可点亮数码管: P0=0x06; 对应规则: dp----->D7 g----->D6 f----->D5 e----->D4

单片机动态数码显示设计实验报告

微机原理与接口技术 实验报告 实验题目:动态数码显示设计 指导老师: 班级:计算机科学与技术系 姓名: 2014年 12月3日

实验十三动态数码显示设计 一、实验目的 1.掌握动态数码显示技术的设计方法。 2.掌握扫描在程序设计中的应用。 二、设计原理 如图13.1所示,在单片机的P1端口接动态数码管的字形码笔段,在单片机的P2端口接动态数码管的数位选择端。在单片机P3.0管脚处接一个开关,当开关连接高电平时,态数码管上显示“12345”字样;当开关连接低电平时,态数码管上显示“HELLO”字样。 三、参考电路 图13.1 动态数码显示电路原理图

四、电路硬件说明 (1)在“单片机系统”区域中,把单片机的P1.0-P1.7端口连接到“动态数码显示”区域中的a-h端口上。 (2)在“单片机系统”区域中,把单片机的P2.0-P2.7端口通过8联拨动拨码开关JP1连接到“动态数码显示”区域中的S1-S8端口上。 (3)在“单片机系统”区域中,把单片机的P3.0端口通过8联拨动拨码开关JP2连接到拨动开关区域中的SW1端口上。 五、程序设计内容 (1)动态扫描方法: 动态接口采用各数码管循环轮流显示的方法,当循环显示频率较高时,利用人眼的暂留特性,看不出显示的闪烁现象,这种显示需要一个接口完成字形码的输出(字形选择),另一接口完成各数码管的轮流点亮(数位选择)。 (2)在进行数码显示的时候,要对显示单元开辟8个显示缓冲区,在每个显示缓冲区装有显示的不同数据即可。 (3)对于显示不同字形码的数据采用查表方法来完成。 六、程序流程图 (如图13.2所示) 图13.2 动态数码显示程序流程图

LED数码管动态扫描显示实验

单片机实验五LED数码管动态扫描显示实验 一.实验目的 掌握LED数码管动态扫描显示的原理和编程实现方法。 二.实验原理 LED数码管动态扫描显示即各数码管循环轮流显示,当循环显示频率较高时,利用人眼的暂留特性,看不出闪烁现象,这种显示需要一个接口完成字形码的输出(段码),另一接口完成各数码管的点亮(位选)。 三.实验内容及要求 1.对于显示的字形码数据此实验采用查表的方法来完成。 2.此实验要求是在八个数码管中显示学生的班级号(如11040601)或日历年月日(如2014 05 20)。 四.实验电路 图中,SEG1为八个封装在一起的共阴数码管,RP1为排阻,其余同实验三,导线以总线形式完成。 五.实验步骤 1.在KEIL4中编写、调试、编译程序。 2.在PRTUSE中设计电路,加载HEX文件运行。 3.(1)将单片机实验箱通过USB口与PC机连接; (2)用杜邦线(8根线)将实验箱上的JP8与J16连接(去掉原J15和J16之间的短路跳线帽),JP10与J12连接。 (3)打开实验箱电源开关POWER;

(4)打开STC自动下载器,将步骤1中创建的*.HEX文件下载到单片机,完成后观测LED数码管显示内容。 六.实验参考程序 (请同学自己编写实验程序) 七.思考题 1.某同学在实验时数码管闪烁,可能的原因是什么? 2.为节省I/O口,可采用7段译码器(比如CD4511,74LS 等)和3-8译码器74LS138,如何连接电路并编程。 LDE数码管动态试验 ORG 0000H AJMP MAIN ORG 0100H MAIN: SP,#60H MOV 30H,#02H MOV 31H,#00H MOV 32H,#01H MOV 33H,#04H MOV 34H,#00H MOV 35H,#05H MOV 36H,#02H MOV 37H,#00H START:MOV R0,#30H MOV R3,#0FEH NEXT: MOV P1,#0FFH MOV A,@R0 MOV DPTR,#TAB MOVC A,@A+DPTR MOV P0,A MOV P1,R3 LCALL DLY2MS INC R0 JNB P1.7,STRAT MOV A,R3 RL A MOV R3,A AJMP NEXT DLY2MS:MOV R6,#2 DL2: MOV R7,#250 DL1:NOP

动态法测杨氏模量实验报告

动态法测量杨氏模量 一、 实验目的 1. 理解动态法测量杨氏模量的基本原理。 2. 掌握动态法测量杨氏模量的基本方法,学会用动态法测量杨氏模量。 3. 了解压电陶瓷换能器的功能,熟悉信号源和示波器的使用。学会用示波器观察判断样品共振的方法。 4. 培养综合运用知识和使用常用实验仪器的能力。 二、 实验原理: 在一定条件下,试样振动的固有频率取决于它的几何形状、尺寸、质量以及它的杨氏模量。如果在实验中测出试样在不同温度下的固有频率,就可以计算出试样在不同温度下的杨氏模量。 根据杆的横振动方程式 02 244=??+??t y EJ S x y ρ (1) 式中ρ为杆的密度,S 为杆的截面积,?= s dS y J 2 称为惯量矩(取决于截面的形状),E 即为杨氏模量。 如图1所示,长度L 远远大于直径d (L >>d )的一细长棒,作微小横振动(弯曲振动)时满足的动力学方程(横振动方程)为 02244=??+??t EJ y S x y ρ (1) 棒的轴线沿x 方向,式中y 为棒上距左端x 处截面的y 方向位 移,E 为杨氏模量,单位为Pa 或N/m 2;ρ为材料密度;S 为 截面积;J 为某一截面的转动惯量,??=s ds y J 2。 横振动方程的边界条件为:棒的两端(x =0、L )是自由端,端点既不受正应力也不受切向力。用分离变量法求解方程(1),令)()(),(t T x X t x y =,则有 2 24411dt T d T EJ S dx X d X ?-=ρ (2) 由于等式两边分别是两个变量x 和t 的函数,所以只有当等式两边都等于同一个常数时等式才成立。假设此常数为K 4,则可得到下列两个方程 044 4=-X K dx X d (3) 0422=+T S EJ K dt T d ρ (4) 如果棒中每点都作简谐振动,则上述两方程的通解分别为 图1 细长棒的弯曲振动

LCD液晶显示实验实验报告及程序

实验三 LCD1602液晶显示实验 姓名专业学号成绩 一、实验目的 1.掌握Keil C51软件与proteus软件联合仿真调试的方法; 2.掌握LCD1602液晶模块显示西文的原理及使用方法; 3.掌握用8位数据模式驱动LCM1602液晶的C语言编程方法; 4.掌握用LCM1602液晶模块显示数字的C语言编程方法。 二、实验仪器与设备 1.微机一台 C51集成开发环境仿真软件 三、实验内容 1.用Proteus设计一LCD1602液晶显示接口电路。要求利用P0口接LCD1602 液晶的数据端,~做LCD1602液晶的控制信号输入端。~口扩展3个功能键 K1~K3。参考电路见后面。 2.编写程序,实现字符的静态和动态显示。显示字符为 第一行:“1.姓名全拼”,第二行:“2.专业全拼+学号”。 3.编写程序,利用功能键实现字符的垂直滚动和水平滚动等效果显示。显示字 符为:

“1.姓名全拼 2.专业全拼+学号 EXP8 DISPLAY ” 主程序静态显示“My information!” 四、实验原理 液晶显示的原理:采用的LCD显示屏都是由不同部分组成的分层结构,位于最后面的一层是由荧光物质组成的可以发射光线的背光层,背光层发出的光线在穿过第一层偏振过滤层之后进入包含成千上万水晶液滴的液晶层,液晶层中的水晶液滴都被包含在细小的单元格结构中,一个或多个单元格构成屏幕上的一个像素。当LCD中的电极产生电场时,液晶分子就会产生扭曲,从而将穿越其中的光线进行有规则的折射,然后经过第二层过滤层的过滤在屏幕上显示出来。 1.LCD1602采用标准的14引脚(无背光)或16引脚(带背光)接口,各引脚 接口说明如表:

最新动态扫描显示电路设计

动态扫描显示电路设 计

动态扫描显示电路设计 摘要:所谓动态扫描显示,就是让各位LED按照一定的顺序轮流地发光显示。只要每秒扫描次数大于24次以上,就观察不到闪烁现象,人眼看起来很稳定。静态扫描显示与动态显示相比,有显著降低LED功耗,大大减少LED的外部引线等优点。目前动态扫描显示技术已经被广泛应用于新型数字仪表、智能仪器和智能显示屏中。 本次课程实践中运用QuartusII软件,采用VHDL文本设计和原理图相结合的层次化方式实现数码动态扫描显示电路设计。首先,分别用VHDL语言编写8位数码扫描显示电路程序和分频器程序,作为底层文件;顶层文件用原理图的设计方法,调用底层文件生成的符号,从而实现动态扫描显示。用VHDL设计一个8位数码扫描显示电路,利用QuartusII9.0进行编辑输入、编译及时序仿真。其中,由于分频器的分频系数过大时,在仿真波形上很难看出波形的变化,如本设计是从100MHz分频到1KHz,分频系数为一万,所以可以通过改变减小分频系数,如改为10分频,就得到变化的波形,来验证数码动态扫描显示电路设计的正误。 关键字:LED 动态扫描显示电路 Quartus II 分频器层次化设计 一、工作原理: 1、动态扫描显示的工作原理: 8位数码扫描显示的电路符号如下图(1)所示。输入信号:时钟信号CLK。输出控制信号:段控制信号SG[6..0];位控制控制信号BT[7..0]。如图(2)所示是8位数码扫描显示电路,其中每个数码管的8个段h、g、f、e、

d、c、b、a(h是小数点)都分别连接在一起,8个数码管分别由8个选通信号 k1~k8来选择。被选通的数码管显示数据,其余关闭。如在某一时刻,k3为高电平,其余选通信号为低电平,这时仅为k3对应的数码管显示来自段信号端的数据,而其他7个数码管呈现关闭状态。根据这种电路状况,如果希望在8个数码管显示希望的数据,就必须使得8个选通信号k1~k8分别被选通,与此同时,在段信号输入口加上希望在该对应数码管上显示的数据,于是随着选通信号的扫变,就能实现扫描显示的目的。 实验参考扫描显示程序中CLK是扫描时钟;SG为7段控制信号,由高到低为分别接g、f、e、d、c、b、a7个段;BT是位选控制信号,接图(2)中的8个位选通信号:k1、k2、…k8。程序中CNT8是一个3位技术器,作扫描计数信号,有进程P2生成;进程P3是7断译码查表输出程序,进程P1是对8个数码管选通的扫描程序,例如当CNT8等于“001”时,K2对应的数码管被选通,同时,H被赋值3,再有进程P3译码输出“1001111”,显示在数码管上即为“3”;当CNT8扫变时将能在8个数码管上显示数据:23689ABC。 图(1)8位数码扫描电路的符号

微机原理数码显示实验报告

广东海洋大学寸金学院学生实验报告书 实验名称数码显示课程名称微机原理与接口技术系机电工程系专业机械设计制造及其自动化班级14机械2班学生姓名陈瑞玲学号20141032102 实验地点实验楼103 实验日期 一、实验目的: 了解LED数码管动态显示的工作原理及编程方法。 二、实验内容: 编制程序,使数码管显示“GOOD88”字样。 三、实验结果: 实验程序框图 实验步骤 联机模式: (1)在PC机和实验系统联机状态下,运行该实验程序,可用鼠标左键单击菜单栏“文件”或工具栏“打开图标”,弹出“打开文件”的对话框,然后打开598K8ASM文件夹,点击S6.ASM文件,单击“确定”即可装入源文件,再单击工

具栏中编译装载,即可完成源文件自动编译、装载目标代码功能,再单击“调试”中“连续运行”或工具图标运行,即开始运行程序。 (2)数码管显示“GOOD88”字样。 脱机模式: 1、在P.态下,按SCAL键,输入2DF0,按EXEC键。 2、数码管显示“GOOD88”字样。 实验程序清单 CODE SEGMENT ;S6.ASM display "GOOD88" ASSUME CS:CODE ORG 2DF0H START: JMP START0 PA EQU 0FF20H ;字位口 PB EQU 0FF21H ;字形口 PC EQU 0FF22H ;键入口 BUF DB ?,?,?,?,?,? data1: db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h db 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH,0F0H START0: CALL BUF1 ;缓冲区写初值 CON1: CALL DISP ;调显示子程序 JMP CON1 ;循环 DISP: MOV AL,0FFH ; 位码 MOV DX,PA ;数码管字位口 OUT DX,AL ;关位码 MOV CL,0DFH ; 最高位位码;显示子程序 ,5ms MOV BX,OFFSET BUF ;取缓冲区首址 DIS1: MOV AL,[BX] ;取缓冲区数字 MOV AH,00H ;清零 PUSH BX ;压栈 MOV BX,OFFSET DATA1 ;字表首址 ADD BX,AX ;加偏移量 MOV AL,[BX] ;取字形代码 POP BX ;出栈 MOV DX,PB ;字形口 OUT DX,AL ;送字形码 MOV AL,CL ;取位码 MOV DX,PA ;位口 OUT DX,AL ;送位口 PUSH CX ;压栈

数码管动态扫描显示01234567

实验5 数码管动态扫描显示01234567 原理图:8个数码管它的数据线并联接到JP5, 位控制由8个PNP型三级管驱动后由JP8引出。 相关原理: 数码管是怎样来显示1,2,3,4呢?数码管实际上是由7个发光管组成8字形构成的,加上小数点就是8个。我们分别把他命名为 A,B,C,D,E,F,G,H。

搞懂了这个原理, 我们如果要显示一个数字2, 那么 A,B,G,E,D这5个段的发光管亮就可以了。也就是把B,E,H(小数点)不亮,其余全亮。根据硬件的接法我们编出以下程序。当然在此之前,还必须指定哪一个数码管亮,这里我们就指定最后一个P2.7。 LOOP: CLR P2.7 ;选中最后的数码管 SETB P0.7 ;B段不亮 SETB P0.5 ;小数点不亮 SETB P0.1 ;C段不亮 CLR P0.2 ;其他都亮 CLR P0.3 CLR P0.4 CLR P0.6 CLR P0.0 JMP LOOP ;跳转到开始重新进行

END 把这个程序编译后写入单片机,可以看到数码管的最后一位显示了一个数字2。 也许你会说:显示1个2字就要10多行程序,太麻烦了。 显示数字2则是C,F,H(小数点)不亮,同时由于接法为共阳接法,那么为0(低电平)是亮 为1(高电平)是灭。从高往低排列,(p0.7_p0.0)写成二进制为01111110, 把他转化为16进制则为A2H。我们可以根据硬件的接线把数码管显示数字编制成一个表格, 以后直接调用就行了。 有了这个表格上面显示一个2的程序则可简化为: LOOP: CLR P2.7 ;选中左边的数码管 MOV P0,#0A2H ;送数字2的代码到P0口 JMP LOOP ;跳转到开始重新进行 END

单片机原理 数码管动态显示实验-单片机原理-实验报告

单片机原理数码管动态显示实验-单片机原理-实验报告宁德师范学院计算机系 实验报告 (2014—2015学年第 2学期) 课程名称单片机原理实验名称数码管动态显示实验专业计算机科学与技 术(非师范) 年级 2012级学号 B2012102147 姓名王秋指导教师杨烈君实验日期2015.4.17 实验目的: 1. 巩固Proteus软件和Keil软件的使用方法 2. 学习端口输入输出的高级应用 3. 掌握7段数码管的连接方式和动态显示法 4. 掌握查表程序和延时等子程序的设计 实验要求: 1. 在Proteus软件中画好51单片机最小核心电路,包括复位电路和晶振电路 2. 在电路中增加八位7段数码管(共阳/共阴自选),将P2口作数据输出口与7段数码管数据引 脚相连,P3引脚输出位选控制信号 3. 在Keil软件中编写程序,采用动态显示法,实现数码管分别显示数字1-8 4. 实现指定数值的显示 (可使用缓存数值) 5. 实现类似时钟的效果,如“ 13-23-25” 13时23分25秒 6. 实现时钟的自动计时 7. 扩展要求: 结合LED显示,实现带数码显示的交通灯

实验设备(环境): 1(计算机 2(Proteus ISIS 7 Professional应用程序 3(Keil应用程序 实验内容: 数码管动态显示技术要求实现: 1(动态显示法,实现数码管分别显示数字1-8; 2(实现指定数值的显示 (可使用缓存数值) (33355223); 3(实现类似时钟的效果,如“ 13-23-25” 13时23分25秒; 4(实现时钟的自动计时; 扩展要求: 结合LED显示,实现带数码显示的交通灯; 实验步骤、实验结果及分析: 1 实验步骤: 1、使用Proteus ISIS 7 Professional应用程序,建立一个.DSN文件 2、在“库”下拉菜单中,选中“拾取元件”(快捷键P),分别选择以下元件:AT89C51、CAP、CAP-ELEC、 CRYSTAL、RESPACK-8。 3、构建仿真电路: 连接图

单片机课程设计-8位8段LED数码管动态扫描显示资料

华南理工大学广州汽车学院 单片机课程设计 题目:8位8段LED数码管动态扫描 专业:电子信息工程 班级:09电信(1)班 姓名:付锦辉 学号:200930062745

一、内容要求: 在8位8段LED数码管显示“8.8.8.8.8.8.8.8.”持续500ms,之后灭 显示器200ms;然后显示“WELCOM-1”(由于8位8段LED数码管显示不能显示字母W 和M,所以改为显示“HELLO-93”) 二、目的和意义 1、掌握数码管动态扫描显示原理及实现方法。 2、掌握动态扫描显示电路驱动程序的编写方法。 三、总体方案设计思路 LED数码动态显示的基本做法在于分时轮流选通数码管的公共端,使得各数码管轮流导通,再选通相应的数码管后,即显示字段上得到显示字形码。这种方式数码管的发光效率,而且由于各个数码管的字段线是并联使用的,从而大大简化了硬件线路。 动态扫描显示接口是单片机系统中应用最为广泛的一种显示方式。其接口电路是把所有显示器的8个笔画段A-DP同名端并联在一起,而每个显示器的公共极COM各自独立地接受I/O线控制,CPU向字段输出口送出字段形码是,所有显示器由于同名端并连接收到相同的字形码,但究竟是哪个显示器亮,则取决于COM端,而这一端是由I/O控制的,所以就可以自行决定何时显示哪一位了。而所谓动态扫描是指采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。 再轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上个位显示器并非同时点亮,但只要扫描的速度足够快,给人的影响就是一组稳定的显示数据,不会有闪烁感。 采用总线驱动器74HC245提供LED数码管的段驱动,输出高电平时点亮相应段;采用集电极开路的BCD-十进制译码器/驱动器完成LED数码管位驱动,输出低电平时选通相应位。P2口每个口线输出灌电流不足以驱动一个数码管显示器的位-公共极,所依通过集电极开路的BCD-十进制译码器/驱动器7445驱动,即节约P2口线,又增加驱动能力。 四、仿真电路设计(电路原理图及关键单元说明)

实验五 LED动态扫描显示实验

实验十二 LED 动态扫描显示实验 一、 实验目的 1、 掌握数码管动态显示、动态显示原理; 2、 掌握数码管驱动电路接法; 3、 掌握用汇编语言编写数码管驱动程序方法。 二、 实验内容 1、 利用定时器中断技术,编写具有时、分、秒、百分秒的时钟程序,用压缩BCD 码形式存储; 2、 编写LED 数据管显示代码转换程序; 3、 编写动态显示程序,将时、分、秒、百分秒的数值在8位LED 数码管上 动态显示。 三、 实验原理 R 88 300x 8 动态扫描数码管显示电路 将段选信号SEG_CS 连接至0XDxxx ,将位选信号BIT_CS 连接至 0XBxxx ,/WR 信号连接至单片机P3.6(/WR),因此段选地址为:0X0D000,

位选地址为:0X0B000。 将/INT0、/INT1连接至KEY1、KEY2。 四、实验步骤 1、建立工程项目。 2、主程序流程图。 3、显示代码译码参考子程序 R0指向时钟存储单元首地址,R1指向显示缓冲区首地址。DISPCD: MOV DPTR,#DISPTBL MOV R7,#04H CODEAGN:MOV A,#0FH ANL A,@R0 MOVC A,@A+DPTR MOV @R1,A INC R1 MOV A,#0F0H ANL A,@R0 SWAP A MOVC A,@A+DPTR MOV @R1,A INC R0 INC R1 DJNZ R7,CODEAGN

RET DISPTBL:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH 4、动态扫描显示子程序 R0指向显示缓冲区首地址。 DISPLAY:MOV R7,#08H MOV R6,#01H MOV R0,#50H DISPAGN:MOV A,@R0 MOV DPTR,#0D000H MOVX @DPTR,A INC R0 ;此处设断点观察显示状态 MOV A,R6 MOV DPTR,#0B000H MOVX @DPTR,A RL A ;此处设断点观察显示状态 MOV R6,A LCALL DELAY DJNZ R7,DISPAGN RET 理解R6在本子程序中的作用。 5、位间隔延时子程序 DELAY: MOV R4,#10;修改R4的初值观察显示状态DELAY1: MOV R5,#00H DJNZ R5,$ DJNZ R4,DELAY1 RET 五、总结与思考 1、共阴极和共阳极数码管显示代码有什么区别? 2、动态扫描显示和静态显示的区别?

键盘扫描及动态LED 显示实验报告

《单片机》实验报告 一.实验题目 实验4.7 7279 键盘扫描及动态LED 显示实验 二.实验要求 本实验利用7279 进行键盘扫描及动态LED 数码管显示控制。 三.实验源程序 #include //*** 函数定义*** void long_delay(void); // 长延时 void short_delay(void); // 短暂延时 void delay10ms(unsigned char); // 延时10MS void write7279(unsigned char, unsigned char); // 写入到HD7279 unsigned char read7279(unsigned char); // 从HD7279读出 void send_byte(unsigned char); // 发送一个字节 #define uchar unsigned char #define uint unsigned int uchar bianma[]={0x1b,0x13,0x0b,0x03,0x1a,0x12,0x0a,0x02,0x19,0x11,0x09,0x01,0x18,0x10,0x08,0x 00}; unsigned char receive_byte(void); // 接收一个字节 //*** 变量及I/O口定义*** unsigned char digit[5]; unsigned char key_number, j, k,mk; //mk为按键次数计数值 unsigned int tmr; unsigned long wait_cnter; sbit cs=P1^0; // cs at P1.0 sbit clk=P1^1; // clk 连接于P1.1 sbit dat=P1^2; // dat 连接于P1.2 sbit key=P1^3; // key 连接于P1.3

数码管动态显示实验报告

实验四数码管动态显示实验一 一、实验要求 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引脚是接晶振脚。而接地和电源端在软件中已经接好,所以不用在引线。 如下图所示:

共阳极数码管的动态扫描驱动

共阳极数码管的动态扫描驱动 发布人:来自网络发布时间:2010-6-16 飞凌官网 数码管实际上是由7个发光管组成8字形构成的,加上小数点就是8个。 什么是共阳极呢?就是他们的公共端接正极。扫描型的意思是,几位的数码管的段选都是并联的,由他们的位选位来控制哪一位的数码管来亮。看看上面的照片,由两个黑糊糊的三极管,来控制两边的数码管哪一边亮。 动态扫描显示接口是单片机中应用最为广泛的一种显示方式之一。其接口电路是把所有显示器的8个笔划段a-h同名端连在一起,而每一个显示器的公共极COM 是各自独立地受I/O线控制。CPU向字段输出口送出字形码时,所有显示器接收到相同的字形码,但究竟是那个显示器亮,则取决于COM端,而这一端是由I /O控制的,所以我们就可以自行决定何时显示哪一位了。而所谓动态扫描就是指我们采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。 在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。 可以看到他的COM端由四个PNP型的三极管控制,控制端分别接在P2.0, P2.1,P2.2, P2.3,字段则分别接在P0.0--0.7口。 假如我们要让左边的数码管显示一个2字 可以编以下的程序。 CLR P2.3;选中左边第一个数码管 SETB P2.0;不选右边第一个数码管 SETB P2.1;不选右边第二个数码管 SETB P2.2;不选右边第三个数码管 SETB P0.7;小数点不亮 SETB P0.5; F段不亮 SETB P0.2;C段不亮 CLR P0.6;G亮 CLR P0.4 ;E段亮 CLR P0.3 ;D段亮 CLR P0.1 ;B段亮

二阶电路动态响应实验报告

实验二:二阶电路动态响应 学号:1528406027 姓名:李昕怡成绩: 一、 实验目的 1. 深刻理解和掌握零输入响应、零状态响应及完全响应. 2. 深刻理解欠阻尼、临界阻尼、过阻尼的意义. 3. 研究电路元件参数对二阶电路动态响应的影响. 4. 掌握用Multisim 软件绘制电路原理图的方法. 二、 实验原理及思路 实验原理: 用二阶微分方程描述的动态电路称为二阶电路。 如图所示的RLC 串联电路是一个典型的二阶电路,可以用下述二阶线性常系数微分方程来描述: 22u u u c c c c d d LC RC U dt dt ++= 定义衰减系数(阻尼系数)R L α= ,自由振荡角频率(固有频率)0ω=1. 零输入响应. 动态电路在没有外施激励时,由动态元件的初始储能引起的响应,称为零输入响应。 (1) 当R >. (2) 当R . (3) 当R <. 2. 零状态响应.

动态电路的初始储能为零,由外施激励引起的电路响应称为零状态响应.与零输入响应类似,电压电流的变化规律取决于电路结构、电路参数,可以分为过阻尼、欠阻尼、临界阻尼等三种充电过程。 实验思路: 1. 用方波信号作为输入信号,调节方波信号的周期,观测完整的响应曲线. 2. 用可变电阻R 代替电路中的电阻,计算电路的临界阻尼,调整R 的大小,使电路分别处于欠阻尼、临界阻尼和过阻尼的情况,观测电容两端的瞬态电压变化. 3. 测定衰减振荡角频率d ω和衰减系数α.在信号发生器上读出信号的震荡周期T d ,则: 22d d d f T π ωπ== 1 2 1ln d h T h α= 其中h 1、h 2分别是两个连续波峰的峰. 三、 实验内容及结果 1. 计算临界阻尼 . 1.348R k ≈Ω 2.Multisim 仿真. (1)从元器件库中选择可变电阻、电容、电感,创建如图所示电路. (2)将J1与节点0相连,用Multisim 瞬态分析仿真零输入响应(参数欠阻尼、临界阻尼、过阻尼三种情况),观测电容两端的电压,将三种情况的曲线绘制在同一张图上,从上至下分别是:R 1=10%R (欠阻尼),R 1=1.348k Ω(临界阻尼),R 1=90%R (过阻尼).

LED动态扫描

摘要:以单片机AT89S52为核心,通过LED显示模块界面。本文对显示“上、下、左、右、一、二、三、四”和桃心图案进行具体分析讲解,使用了Proteus仿真软件和伟福仿真软件,成功的制作出产品。 关键字:单片机;动态扫描;文字显示系统

1.引言:随着社会的发展和进步,许多人性化的电子产品用在我们的日常生活之中,而单片机被广泛的运用到我的送接触的事物上,比如再银行交易窗口的滚动字幕,还有就是各种彩灯的控制,手机、电脑、机器人等各行各业之中。我的设计式满足现代社会的需求而设计,满足了人们的要求。作为用单片机控制的智能产品之一,在单片机设计中开辟出一块新的领域。本文主要介绍用单片机控制LED 点阵模块显示器,运用动态扫描的原理和特点,具体研究方法是:以单片机AT89S52为核心,通过LED显示模块界面。本文对显示“上、下、左、右、一、二、三、四”和桃心图案进行具体分析讲解,使用了Proteus仿真软件和伟福仿真软件,成功的制作出产品。这项成果给人们带来了快乐,提高了人们的生活质量。 2.设计方案及原理 动态显示方式中,同一个瞬间所有的数码管显示都是相同的, 不能显示不同的数字。在单片机里,首先显示一个数, 然后关掉.然后显示第二个数,又关掉, 那么将看到连续的数字显示,轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。 工作时,单片机的p0口输出显示段码,由一片74LS245驱动输出给LED 管,由PB口输出位码,经74LS06输出给LED管。要求显示“123456”时,段选码,位选码每送入一次后延时一定时,因人眼的视觉暂留,所以给人看上去每个数码管总在亮。用8051,74ls06,74ls245 连接实现。 3.硬件设计 3.1 硬件介绍 (1)74LS245引脚图和电路用法 (1)(74LS245是我们常用的芯片,用来驱动led或者其他的设备,用法很简单如上图,这里简单的给出一些资料,他是8路同相三态双向总线收发器,可双向传输数据。 (2)74LS245还具有双向三态功能,既可以输出,也可以输入数据。 (3)当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。

相关文档
最新文档