数码管的动态扫描显示

合集下载

数码管动态扫描显示考试(08级)

数码管动态扫描显示考试(08级)

数码管动态扫描显示---实验名电子钟数码管显示一、实验目的:1. 进一步掌握定时器的使用和编程方法。

2. 了解七段数码显示数字的原理。

掌握用一个段锁存器和一个位锁存器同时显示多位数字的技术。

二、实验设备: EL-MUT-III型单片机实验箱、8051CPU模块三、实验原理:数码管的显示常采用静态锁存和动态扫描两种原理,采用显示的电路结构也因显示原理不同而不同。

本试验采用动态显示。

动态显示就是一位一位地轮流点亮显示器的各个位(扫描)。

将8031CPU的P1口当作一个锁存器使用,提供动态显示的位码,74LS273作为段锁存器,提供动态显示的段码。

四、实验题目利用定时器1定时中断,控制电子钟走时,利用实验箱上的六个数码管显示分、秒,做成一个电子钟。

显示格式为:分秒定时时间常数计算方法为:定时器1工作于方式1,晶振频率为6MHZ,故预置值Tx为:(2+16-Tx)x12x1/(6x10+6)=0.1sTx=15535D=3CAFH,故TH1=3CH,TL1=AFH五、实验电路:图4-- 80C51通过273和P0口与8个LED链接的动态显示电路原理图六、实验接线:本实验用P1口和锁存器74L273组成。

将P1口的P1.0~P1.5与数码管的输入LED6~LED1数位选择相连,74LS273的O0~O7与LEDA~LED Dp的段码相连,片选信号CS273与CS0相连(口地址:CFA0H)。

去掉短路子连接。

七、程序流程图:T9.ASM图4-- 电子时钟流程图电子钟实验程序:NAME T9。

Asm ;数码显示实验PORT EQU 0CFA0H ;74LS273的地址BUF EQU 23H ;存放计数值SBF EQU 22H ;存放秒值MBF EQU 21H ;存放分值CSEG AT 0000HLJMP STARTCSEG AT 401BH ;定时器0的中断矢量LJMP CLOCKCSEG AT 4100HSTART: MOV R0,#40H ;40H-45H是显示缓冲区,依次存放MOV A,#00H ;分高位、分低位,0A,0A(横线) MOV @R0,A ;以及秒高位、秒底位INC R0MOV @R0,AINC R0MOV A,#0AHMOV @R0,AINC R0MOV @R0,AINC R0MOV A,#00HMOV @R0,AINC R0MOV @R0,AMOV TMOD,#10H ;定时器1初始化为方式1MOV TH1,#38H ;置时间常数,延时0.1秒MOV TL1,#00HMOV BUF,#00H ;置0MOV SBF,#00HMOV MBF,#00HSETB ET1 ;中断设置初始化SETB EASETB TR1DS1: MOV R0,#40H ;置显示缓冲区首址MOV R2,#01H ;R2置扫描初值,点亮最左边的LED6 DS2: MOV DPTR,#PORTMOV A,@R0 ;得到的段显码输出到段数据口ACALL TABLEMOVX @DPTR,AMOV A,R2 ;向位数据口P1输出位显码CPL AMOV P1,AMOV R3,#0FFH ;延时一小段时间DEL: NOPDJNZ R3,DELINC R0 ;显示缓冲字节加一CLR CMOV A,R2RLC A ;显码右移一位MOV R2,A ;最末一位是否显示完毕?,如无则JNZ DS2 ;继续往下显示MOV R0,#45HMOV A,SBF ;把秒值分别放于44H,45H中ACALL GETDEC R0 ;跳过负责显示"-"的两个字节DEC R0MOV A,MBF ;把分值分别放入40H,41H中ACALL GETSJMP DS1 ;转DS1从头显示起TABLE: INC A ;取与数字对应的段码MOVC A,@A+PCRETDB 3FH,06H,5BH,4FH,66H,6DH,7DH, 07H, 7FH,6FH, 40H ;子程序GET: MOV R1,A ;把从分或秒字节中取来的值的高ANL A,#0FH ;位屏蔽掉,并送入缓冲区MOV @R0,ADEC R0MOV A,R1 ;把从分或秒字节中取来的值的低SWAP A ;位屏蔽掉,并送入缓冲区ANL A,#0FHMOV @R0,ADEC R0 ;R0指针下移一位RET;========中断服务程序================================= CLOCK: MOV TL1,#0AFH ;置时间常数MOV TH1,#3CHPUSH PSWPUSH ACCINC BUF ;0.1秒计数加一MOV A,BUF ;计到10否?没有则转到QUIT退出中断CJNE A,#0AH,QUITMOV BUF,#00H ;置初值MOV A,SBFINC A ;秒值加一,经十进制调整后放入DA A ;秒字节MOV SBF,ACJNE A,#60H,QUIT ;计到60否?没有则转到QUIT退出中断MOV SBF,#00H ;是,秒字节清零MOV A,MBFINC A ;分值加一,经十进制调整后放入DA A ;分字节MOV MBF,ACJNE A,#60H,QUIT ;分值为60否?不是则退出中断MOV MBF,#00H ;是,清零QUIT: POP ACCPOP PSWRETI ;中断返回END准备:1)用P1或P3 作为键盘的输入口和8个按键连接。

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

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 0000HAJMP MAINORG 0100HMAIN: SP,#60HMOV 30H,#02HMOV 31H,#00HMOV 32H,#01HMOV 33H,#04HMOV 34H,#00HMOV 35H,#05HMOV 36H,#02HMOV 37H,#00HSTART:MOV R0,#30HMOV R3,#0FEHNEXT: MOV P1,#0FFHMOV A,@R0MOV DPTR,#TABMOVC A,@A+DPTRMOV P0,AMOV P1,R3LCALL DLY2MSINC R0JNB P1.7,STRATMOV A,R3RL AMOV R3,AAJMP NEXTDLY2MS:MOV R6,#2DL2: MOV R7,#250DL1:NOPNOPDJNZ R7,DL1DJNZ R6,DL2RETTAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END。

数码管动态显示实验报告

数码管动态显示实验报告

一、实验目的1. 掌握数码管动态扫描显示的原理和编程实现方法;2. 熟悉单片机与数码管之间的接口连接;3. 学会使用定时器中断控制数码管的动态显示;4. 培养动手能力和问题解决能力。

二、实验原理数码管动态显示是通过单片机控制多个数码管同时显示不同的数字或字符,利用人眼的视觉暂留效应,实现快速切换显示内容,从而在有限的引脚数下显示更多的信息。

实验中,我们采用动态扫描的方式,依次点亮数码管,通过定时器中断控制扫描速度。

三、实验器材1. 单片机开发板(如51单片机、AVR单片机等);2. 数码管(共阳/共阴自选);3. 连接线;4. 电阻;5. 实验台;6. 编译器(如Keil、IAR等)。

四、实验步骤1. 设计电路图:根据实验要求,设计单片机与数码管的连接电路图,包括数码管的段码、位选信号、电源等。

2. 编写程序:使用C语言或汇编语言编写程序,实现数码管的动态显示功能。

(1)初始化:设置单片机的工作模式、定时器模式、端口方向等。

(2)显示函数:编写显示函数,实现数码管的点亮和熄灭。

(3)定时器中断服务程序:设置定时器中断,实现数码管的动态扫描。

3. 编译程序:将编写的程序编译成机器码。

4. 烧录程序:将编译后的程序烧录到单片机中。

5. 连接电路:将单片机与数码管连接好,包括数码管的段码、位选信号、电源等。

6. 运行实验:打开电源,观察数码管的显示效果。

五、实验结果与分析1. 实验结果:数码管按照预期实现了动态显示功能,依次点亮每位数码管,并显示出不同的数字或字符。

2. 分析:(1)通过调整定时器中断的周期,可以改变数码管的扫描速度,从而控制显示效果。

(2)在编写显示函数时,要考虑到数码管的共阳/共阴特性,选择合适的点亮和熄灭方式。

(3)在实际应用中,可以根据需要添加其他功能,如显示时间、温度等。

六、实验总结1. 通过本次实验,掌握了数码管动态显示的原理和编程实现方法。

2. 熟悉了单片机与数码管之间的接口连接,提高了动手能力。

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

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

实验三定时器和中断实验一、实验目的1、学习51单片机内部定时器的使用方法。

2、掌握中断处理程序的方法。

3、掌握数码管与单片机的连接方法和简单显示编程方法。

4、学习和理解数码管动态扫描的工作原理。

二、实验内容1、使用定时器T0,定时1秒,控制P1口发光管循环点亮。

2、使用定时器T0,定时1秒,控制1个数码管循环显示数字0~9,每秒钟数字加一。

3、使用软件定时1秒,控制2个数码管循环显示秒数0~59,每秒钟数字加一。

4、使用定时器T0,定时1秒,控制2个数码管循环显示秒数0~59,每秒钟数字加一。

三、实验电路图四、实验说明1、数码管的基本概念(1)段码数码管中的每一段相当于一个发光二极管,8段数码管则具有8个发光二极管。

本次实验使用的是共阴数码管,公共端是1、6,公共端置0,则某段选线置1相应的段就亮。

公共端1控制左面的数码管;公共端6控制右面的数码管。

正面看数码管的引脚、段选线和数据线的对应关系为:图1 数码管封装图图2 数据线与数码管管脚连接关系段码是指在数码管显示某一数字或字符时,在数码管各段所对应的引脚上所加的高低电平按顺序排列所组成的一个数字,它与数码管的类型(共阴、共阳)(2)位码位码也叫位选,用于选中某一位数码管。

在实验图中要使第一个数码管显示数据,应在公共端1上加低电平,即使P2.7口为0,而公共端6上加高电平,即使P2.6口为1。

位码与段码一样和硬件连接有关。

(3)拉电流与灌电流单片机的I/O 口与其他电路连接时,I/O 电流的流向有两种情况:一种是当该I/O 口为高电平时,电流从单片机往外流,称作拉电流;另一种是该I/O 口为低电平时,电流往单片机内流,称为灌电流。

一般I/O 的灌电流负载能力远大于拉电流负载能力,对于一般的51 单片机而言,拉电流最大4mA,灌电流为20mA。

一般在数码管显示电路中采用灌电流方式(用共阳数码管),可以得到更高的亮度。

本实验电路中采用拉电流方式(用共阴数码管)。

简述七段数码管动态扫描显示原理

简述七段数码管动态扫描显示原理

简述七段数码管动态扫描显示原理
七段数码管动态扫描显示原理是指通过对七段数码管的各段进行逐个刷新,以实现数字、字母和符号等信息的显示。

七段数码管由7个LED灯组成,分别代表数字0~9和字母A~F等,可以通过控制各个LED的亮灭状态来显示不同的字符。

动态扫描显示原理是通过快速地在各个数码管之间切换显示内容,使得人眼无法察觉到切换的过程,从而产生连续的显示效果。

具体实现过程如下:
1. 将需要显示的数字或字符转换为相应的LED点亮状态,通过控制各个数码管的引脚来实现。

2. 通过控制锁存器的输入使得数据在锁存器中存储。

3. 通过控制锁存器的输出使得数据从锁存器输出到数码管的控制引脚上。

4. 通过控制位选锁存器的输出,选择显示的数码管。

5. 通过控制位选锁存器的使能引脚,控制数码管的亮灭状态。

6. 循环执行上述步骤,不断刷新各个数码管的显示内容,使得整个显示效果连续而流畅。

7. 根据需要的显示速度和亮度,可以调整刷新频率和亮灭时间的设置。

通过这种动态扫描的方式,只需要控制一部分引脚,就能够实现多
个七段数码管的显示,从而减少了所需的引脚数量和控制复杂度,提高了显示的效率和可靠性。

数码管动态扫描显示01234567

数码管动态扫描显示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.3CLR P0.4CLR P0.6CLR P0.0JMP 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原理图中把所有数码管的8个笔划段a-h同名端连在一起,而每一个显示器的公共极COM是各自独立地受I/O线控制。

CPU向字段输出口送出字形码时,所有显示器接收到相同的字形码,由8个PNP的三极管,来控制这8位哪一位工作,例如上面的例子中我们选中的是P2.7.就是最后的一位亮了. 同样的如果要第一位亮, 只需要把程序CLR P2.7改为CLR P2.0即可。

单片机数码管动态扫描显示课件

单片机数码管动态扫描显示课件
选择
在选择数码管时,需要根据实际需求选择合适的型号和规格,如显示位数、尺寸、亮度等。
为了控制数码管显示不同的数字或字母,需要将相应的二进制编码信号输入到数码管的各个LED段上。
编码方式
常见的数码管编码方式有BCD码、2421码、5421码等,不同的编码方式对应不同的编码表。
编码表
03
CHAPTER
总结词
数码管的亮度过高或过低都会影响显示的清晰度。如果亮度过高,会导致显示过于刺眼;如果亮度过低,则会导致显示不清晰。
详细描述
根据实际情况调整数码管的亮度,使其达到合适的显示效果。
解决方案
总结词
单片机资源占用过多可能会导致系统运行缓慢或崩溃。
THANKS
感谢您的观看。
开发环境
数据处理
将需要显示的数据(如数字、字母等)转换为数码管显示的编码,常用的编码方式有7段数码管编码和点阵编码。
数据传输
通过单片机的I/O口将处理后的数据显示到数码管上,根据数码管的连接方式和单片机型号选择合适的I/O口和传输方式。
05
CHAPTER
实际应用案例分析
VS
该设计通过单片机控制LCD显示屏,实现文字、图像等多种信息的显示。
单片机具有体积小、重量轻、价格低廉、可靠性高等优点,因此在自动化控制、智能仪表、家用电器等领域得到广泛应用。
特点
定义
单片机可以用于各种工业控制系统中,如自动化生产线、智能仪表等。
工业控制
智能家居
通信领域
单片机可以用于智能家居系统中,实现家电的远程控制、智能调节等功能。
单片机可以用于通信设备中,如调制解调器、路由器等。
单片机数码管动态扫描显示课件
目录
单片机基础知识数码管显示原理单片机数码管动态扫描显示原理单片机数码管动态扫描显示程序编写实际应用案例分析常见问题与解决方案

3_数码管动态扫描显示

3_数码管动态扫描显示
TCON TF1 申请 中断 TR1 TF0 TR0 D7 溢出 TH0 8位 TL0 5位 &
≥1
TMOD T0引脚 1 1 0 0 0 M0 M1 C/T 机器周期 GATE M0 1 D0 INT0引脚 M1 C/T GATE D7 D0
方式1 二、方式1
方式1的计数位数是16位 TL0作为低 作为低8 方式1的计数位数是16位,由TL0作为低8位、 16 TH0作为高 作为高8 组成了16位加1 16位加 TH0作为高8位,组成了16位加1计数器 。
一、定时/计数器的结构 定时/ 定时/计数器的实质是加1计数器(16位),由高 位和低8 由高8 定时/计数器的实质是加1计数器(16位),由高8位和低8位两 个寄存器组成。TMOD是定时/计数器的工作方式寄存器,确定工作 个寄存器组成。TMOD是定时/计数器的工作方式寄存器, 是定时 方式和功能;TCON是控制寄存器 控制T0 T1的启动和停止及设置 是控制寄存器, T0、 方式和功能;TCON是控制寄存器,控制T0、T1的启动和停止及设置 溢出标志。 溢出标志
定时/ 定时/计数器的工作方式
方式0 一、方式0
方式0 13位计数, TL0的低5 方式0为13位计数,由TL0的低5位(高3位未用)和TH0的 位计数 的低 位未用) TH0的 位组成。TL0的低 位溢出时向TH0进位,TH0溢出时 的低5 TH0进位 溢出时, 8位组成。TL0的低5位溢出时向TH0进位,TH0溢出时,置位 TCON中的TF0标志 中的TF0标志, CPU发出中断请求 发出中断请求。 TCON中的TF0标志,向CPU发出中断请求。
控制寄存器TCON 二、控制寄存器TCON
TCON的低4位用于控制外部中断,已在前面介绍。TCON的高4 TCON的低4位用于控制外部中断,已在前面介绍。TCON的高4位用于控 的低 的高 制定时/计数器的启动和中断申请。其格式如下: 制定时/计数器的启动和中断申请。其中断请求标志位。T1计数溢出时由硬件自动置 ):T1溢出中断请求标志位。 TF1(TCON.7):T1溢出中断请求标志位 T1计数溢出时由硬件自动置 TF1为 CPU响应中断后TF1由硬件自动清 响应中断后TF1由硬件自动清0 T1工作时 CPU可随时查 工作时, TF1为1。CPU响应中断后TF1由硬件自动清0。T1工作时,CPU可随时查 TF1的状态 所以,TF1可用作查询测试的标志 TF1也可以用软件置 的状态。 可用作查询测试的标志。 询TF1的状态。所以,TF1可用作查询测试的标志。TF1也可以用软件置 或清0 同硬件置1或清0的效果一样。 1或清0,同硬件置1或清0的效果一样。 TR1(TCON.6):T1运行控制位 TR1置 ):T1运行控制位。 T1开始工作 TR1置 开始工作; TR1(TCON.6):T1运行控制位。TR1置1时,T1开始工作;TR1置0时, T1停止工作 TR1由软件置 或清0 所以,用软件可控制定时/ 停止工作。 由软件置1 T1停止工作。TR1由软件置1或清0。所以,用软件可控制定时/计数器 的启动与停止。 的启动与停止。 TF0(TCON.5):T0溢出中断请求标志位,其功能与TF1类同。 TF0(TCON.5):T0溢出中断请求标志位,其功能与TF1类同。 ):T0溢出中断请求标志位 TF1类同 TR0(TCON.4):T0运行控制位 其功能与TR1类同。 ):T0运行控制位, TR1类同 TR0(TCON.4):T0运行控制位,其功能与TR1类同。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

*/
/***************************************************************************/
/*********************************包含头文件********************************/
上图中上面三条就是所谓的位选信号线,下面八条就是所谓的段选信号线。 下图是四位共阳数码管显示原理实验的电路图:
基于以上电路图我们来了解一下什么是数码管的动态扫描显示: 数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8 个显示笔划
"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM 增加位选通控制电路,位选通由各自独立 的I/O 线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形, 取决于单片机对位选通COM 端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形, 没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM 端,就使各个数码管轮流受控显示,这就是动 态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应, 尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪 烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O 端口,而且功耗更低。
根据这些说明可以总结出数码管动态扫描显示驱动程序的书写流程如下: 1、 送位选信号,选通其中的一位数码管。 2、 送段选信号,让选通的这位数码管显示一个数字。 3、 延时1-2ms。
4、 送另一个位选信号,选通另外一位数码管。
5、 送该位的段选信号。
6、 。。。。。。。。循环下去。
下面是完整的C程序代码:
数码管显示原理及其动态扫描显示的操作方法
不管将几位数码管连在一起,其显示原理是一样的,都是靠点亮内部的发光二级管来显示数字。一位数码管内 部有八个发光二极管组成,共阳极数码管的各发光二极管的阳极连在一起,共阴极数码管的各发光二极管的各阴极 连在一起。以共阳极数码管为例,要在一位数码管上显示一个数字吗,我们需要把阳极固定为高电平,通过操作阴 极的电平就可以了。多位数码管(共阳)是把各位数码管的阳极独立出来,各位相应的发光二极管的阴极连在一起, 操作时需要运用动态扫描显示的方法使其显示多位数字。其基本原理如下图所示:
wei2=0;
P0=0xff;
wei3=1;
P0=table[c];
Delay(1);
wei3=0;
P0=0xff;
wei4=1;
P0=table[d];
Delay(1);
wei4=0; } /****************************开始主函数************************************/ void main() {
{
P0=0xff; //关闭段选
wei1=1;
//送第一位位选信号
P0=table[a]; //送段选信号
Delay(1); //延时1毫秒
wei1=0;
//关闭 第一位位选
P0=0xff;
//关闭段选(消影)
wei2=1;
ቤተ መጻሕፍቲ ባይዱ
//送第二位位选
P0=table[b]; //送第二位位选信号
Delay(1);
/***************************************************************************/
/*
09计算机2班 孙兴林
*/
/*
2010年九月
*/
/*
数码管试验程序
*/
/*
目标器件:AT89C52
*/
/*
晶振:12.0000MHZ
*/
/*
编译环境:Keil uVision4
unsigned char x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
/*****************************定义显示子函数*********************************/
void Display(unsigned char a,unsigned char b,unsigned char c,unsigned char d)
while(1) {
Display(1,3,1,4);//数码管显示1314 } }
开始
送位选信号 送段选信号 延时 1~2ms
#include"reg52.h" /*********************************LED位选端口定义***************************/ sbit wei1=P1^0; sbit wei2=P1^1; sbit wei3=P1^2; sbit wei4=P1^3; /*******************************共阳LED段码表*******************************/ unsigned char code table[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92, 0x82,0xf8,0x80,0x90,0x40}; /******************************定义延时子函数********************************/ void Delay(unsigned char z) {
相关文档
最新文档