文档库 最新最全的文档下载
当前位置:文档库 › 单片机课程设计-8位8段LED数码管动态扫描显示

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

单片机课程设计-8位8段LED数码管动态扫描显示
单片机课程设计-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口线,又增加驱动能力。

四、仿真电路设计(电路原理图及关键单元说明)

8位8段LED数码管动态扫描显示实验电路

(1)AT89C52

AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。

AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C5 2可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。

(2)集电极开路bcd-十进制译码器/驱动器7445:

五、设计程序:

#include

#include

#define TURE 1

#define dataport P0 /*定义p0为段输出口*/

#define ledConPort P2 /*定义p2为位输出口*/

unsigned char code ch[8]={0x76,0x79,0x38,0x38,0x3f,0x40,0x6f,0x4f}; /*HELLO-93'对应的值*/

//unsigned char code ch[9]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f}; /*LED灯0~8译码*/

void time(unsigned int ucMs);//延时单位:ms

void main(void)

{

unsigned char i,counter=0; /*各LED灯状态值数组的索引*/

for(i=0;i<30;i++){//1,显示"8.8.8.8.8.8.8.8.",即点亮显示器所有段,持续约500ms;

for(counter=0;counter<8;counter++)

{

ledConPort=counter;

dataport= 0xff; /*点亮选中的LED灯*/

time(5); /*延时5ms*/

}

}

ledConPort=0xff;

time(200); //2、灭显示器,持续约200ms

while(TURE) //3、显示"HELLO-93",保持.

{

for(counter=0;counter<8;counter++)

{

ledConPort=counter;

dataport= ch[counter]; /*点亮选中的LED灯*/

time(5);/*延时5ms*/

}

}

}

void delay_5us(void)//延时5us,晶振改变时只改变这一个函数! {

_nop_();

_nop_();

//_nop_();

//_nop_();

}

/*********** delay_5ous **************/

void delay_50us(void)

{

unsigned char i;

for(i=0;i<4;i++)

{

delay_5us();

}

/*********** 延时100us **************/

void delay_100us(void)//延时100us

{

delay_50us();

delay_50us();

}

/*********** 延时单位: ms **********/

void time(unsigned int ucMs)//延时单位: ms

{

unsigned char j;

while(ucMs>0){

for(j=0;j<10;j++) delay_100us();

ucMs--;

}

}

六、仿真调试:

在仿真过程中,用Proteus画图软件并没什么大的问题,都是很简单的操作,用keil编写程序是有很多错误,修改了很多次。

七、实际目标时情况:

在8位8段LED数码管显示“8.8.8.8.8.8.8.8.”持续500ms,之后灭

显示器200ms;然后显示“WELCOM-1”,在老师的要求的课程设计的题目中,要求显示的是“WELCOM-1”但是实际上8位8段LED数码管显示不了字母W和M,所以我最后参考实验书显示“HELLO-93”。

八、课程设计心得体会:

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。

回顾起此次单片机课程设计,我仍感慨颇多,的确,从选题到定稿,从理论到实践,在

这努力的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对单片机掌握得不好,还有就是C语言,还是需要努力学习……通过这次课程设计之后,一定把以前所学过的知识重新温故。

课程设计真的有点累.然而,当我一着手清理自己的设计成果,漫漫回味这几周的心路历程,一种少有的成功喜悦即刻使倦意顿消.虽然这是我刚学会走完的第一步,也是人生的一点小小的胜利,然而它令我感到自己成熟的许多,另我有了一中”春眠不知晓”的感悟.通过课程设计,使我深深体会到,干任何事都必须耐心,细致.课程设计过程中,许多计算有时不免令我感到有些心烦意乱:有几次因为不小心我出错,只能毫不情意地重来.但一想起老师对我们耐心的教导,想到今后自己应当承担的社会责任,想到世界上因为某些细小失误而出现的令世人无比震惊的事故,我不禁时刻提示自己,一定呀养成一种高度负责,认真对待的良好习惯.这次课程设计使我在工作作风上得到了一次难得的磨练.

参考书籍:

《单片机应用系统设计技术》

《单片机原理与应用系统设计》

七段数码管显示

七段数码管显示设计报告 目录 一、设计任务 二、题目分析与整体构思 三、硬件电路设计 四、程序设计 五、心得体会

一.设计任务 数码的显示方式一般有三种:第一种是字型重叠式;第二种是分段式;第三种是点阵式。目前以分段式应用最为普遍,主要器件是七段发光二极管(LED)显示器。它可分为两种,一是共阳极显示器(发光二极管的阳极都接在一个公共点上),另一是共阴极显示器(发光二极管的阳极都接在一个公共点上,使用时公共点接地)。 数码管动态扫描显示,是将所用数码管的相同段(a~g 和p)并联在一起,通过选位通 信号分时控制各个数码管的公共端,循环依次点亮各个数码管。当切换速度足够快时,由于人眼的“视觉暂留”现象,视觉效果将是数码管同时显示。 根据七段数码管的显示原理,设计一个带复位的七段数码管循环扫描程序,本程序需要着重实现两部分: 1. 显示数据的设置:程序设定4 位数码管从左至右分别显示1、2、3、4; 2. 动态扫描:实现动态扫描时序。 利用EXCD-1 开发板实现七段数码管的显示设计,使用EXCD-1 开发板的数码管为四位共阴极数码管,每一位的共阴极7 段数码管由7 个发光LED 组成,7 个发光LED 的阴极连接在一起,阳极分别连接至FPGA相应引脚。四位数码管与FPGA 之间通过8 位拨码开关(JP1)进行连接。 二.题目分析与整体构思 使用EXCD-1 开发板的数码管为四位共阴极数码管,每一位的共阴极7 段数码管由7 个发光LED 组成,呈“”字状,7 个发光LED 的阴极连接在一起,阳极分别连接至FPGA 相应引脚。SEG_SEL1、SEG_SEL2、SEG_SEL3 和SEG_SEL4 为四位7 段数码管的位选择端。当其值为“1”时,相应的7 段数码管被选通。当输入到7 段数码管SEG_A~ SEG_G 和SEG_DP 管脚的数据为高电平时,该管脚对应的段变亮,当输入到7 段数码管 SEG_A~SEG_G 和SEG_DP 管脚的数据为低电平时,该管脚对应的段变灭。该四位数码管与FPGA 之间通过8 位拨码开关(JP1)进行连接,当DIP 开关全部拨到上方时(板上标示为:7SEGLED),FPGA 的相应IO 引脚和四位7 段数码管连接,7 段数码管可以正常工作;当DIP 开关全部拨到下方时(板上标示为:EXPORT5),FPGA 的相应IO引脚与7 段数码管断开,相应的FPGA 引脚用于外部IO 扩展。 注意:无论拨码开关断开与否,FPGA 的相应IO 引脚都是与外部扩展接口连接的,所 以当正常使用数码管时,不允许在该外部扩展接口上安装任何功能模块板。 数码管选通控制信号分别对应4 个数码管的公共端,当某一位选通控制信号为高电平时,其对应的数码管被点亮,因此通过控制选通信号就可以控制数码管循环依次点亮。一个数码管稳定显示要求的切换频率要大于50Hz,那么4 个数码管则需要50×4=200Hz 以上的切换频率才能看到不闪烁并且持续稳定显示的字符。 三.硬件电路设计 设计结构图如下:

八位七段数码管动态显示电路设计

八位七段数码管动态显示电路的设计 一七段显示器介绍 七段显示器,在许多产品或场合上经常可见。其内部结构是由八个发光二极管所组成,为七个笔画与一个小数点,依顺时针方向为A、B、C、D、E、F、G与DP等八组发光二极管之排列,可用以显示0~9数字及英文数A、b、C、d、E、F。目前常用的七段显示器通常附有小数点,如此使其得以显示阿拉伯数之小数点部份。七段显示器的脚位和线路图如下图4.1所示( 其第一支接脚位于俯视图之左上角)。 图4.1、七段显示器俯视图 由于发光二极管只有在顺向偏压的时候才会发光。因此,七段显示器依其结构不同的应用需求,区分为低电位动作与高电位动作的两种型态的组件,另一种常见的说法则是共阳极( 低电位动作)与共阴极( 高电位动作)七段显示器,如下图4.2所示。 ( 共阳极) ( 共阴极) 图4.2、共阳极(低电位动作)与共阴极(高电位动作)

要如何使七段显示器发光呢?对于共阴极规格的七段显示器来说,必须使用“ Sink Current ”方式,亦即是共同接脚COM为VCC,并由Cyclone II FPGA使接脚成为高电位,进而使外部电源将流经七段显示器,再流入Cyclone II FPGA的一种方式本实验平台之七段显示器模块接线图如下图4.5所示。此平台配置了八组共阳极之七段显示器,亦即是每一组七段显示器之COM接脚,均接连至VCC电源。而每一段发光二极管,其脚位亦均与Cyclone II FPGA接连。四位一体的七段数码管在单个静态数码管的基础上加入了用于选择哪一位数码管的位选信号端口。八个数码管的a、b、c、d、e、f、g、h、dp都连在了一起,8个数码管分别由各自的位选信号来控制,被选通的数码管显示数据,其余关闭。 图4.5、七段显示器模块接线图 七段显示器之常见应用如下 ?可作为与数值显示相关之设计。 ?电子时钟应用显示 ?倒数定时器 ?秒表 ?计数器、定时器 ?算数运算之数值显示器

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

实验题目:多位数码管动态扫描电路设计与调试 一、实验要求与目的 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 13D 12 01122334455667798109 11 U2 7445 A 02 B 018A 13B 117A 24B 216A 35B 315A 46B 414A 57B 513A 68B 612A 7 9 B 7 11 C E 19A B /B A 1 U3 74HC245 234567891 RP1 RESPACK-8 XTAL2 18 XTAL119 RST 9 P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD 17 P3.6/WR 16P3.5/T115AD[0..7]A[8..15] ALE 30EA 31PSEN 29 P1.0/T21 P1.1/T2EX 2P1.23P1.34P1.45P1.56P1.67P1.78 U4 AT89C52 图1 原理图

LED七段数码管数字钟1

《微机原理综合实验》 课程设计 学院:机电学院 班级: 12机械师 姓名:周汉斌 学号: 2012095644010 指导老师:覃孟扬

目录 一、设计任务书.................................. 错误!未定义书签。 二、设计题目 (3) 三、设计方案 (3) 四、硬件原理 (3) 1.七段数码管显示 (3) 2.键盘扫描显示 (5) 3.8253计数器和8259中断 (5) 4.硬件连接 (6) 五、程序流程图及程序清单 (6) 1.七段数码管显示 (8) 2. 键盘扫描显示 (9) 3.定时器设计 (12) 4.总程序设计 (15) 六、调试过程及结果 (29) 七、设计总结和体会 (30) 八、参考文献 (31)

一、设计题目 LED七段数码管数字钟: 1.设计并完成LED七段数码管数字钟电路。 2.数字钟显示格式为:HH:MM:SS。 3.具有通过键盘能够调整时、分、秒的功能。 二、设计方案 本设计采用LAB6000伟福仿真实验箱,利用4MHz脉冲信号源和多级分频电路产生脉冲信号,4MHz脉冲信号经过F/64分频后得到62.5KHz脉冲信号,将脉冲信号传递给8253定时器,定时器每0.000016秒中断一次,在中断服务程序中对中断次数进行计数,0.000016秒计数62500次就是1秒,然后在对秒计数得到分和小时值,并送入显示缓冲区,用总线方式控制数码管显示。同时,利用实验箱提供的键盘扫描电路和显示电路来调整时、分、秒。 三、硬件原理 1.七段数码管显示 图1. 七段数码管 七段数码管的字型代码表如下表:

显示字形g f e d c b a 段码 0 0 1 1 1 1 1 1 3fh 1 0 0 0 0 1 1 0 06h 2 1 0 1 1 0 1 1 5bh 3 1 0 0 1 1 1 1 4fh 4 1 1 0 0 1 1 0 66h 5 1 1 0 1 1 0 1 6dh 6 1 1 1 1 1 0 1 7dh 7 0 0 0 0 1 1 1 07h 8 1 1 1 1 1 1 1 7fh 9 1 1 0 1 1 1 1 6fh A 1 1 1 0 1 1 1 77h B 1 1 1 1 1 0 0 7ch C 0 1 1 1 0 0 1 39h D 1 0 1 1 1 1 0 5eh E 1 1 1 1 0 0 1 79h F 1 1 1 0 0 0 1 71h 表1. 段数码管的字型代码表 图2. 八段数码LED显示电路 实验箱提供了6位八段数码LED显示电路,只要按地址输出相应数据,就可以实现对显示器的控制。将KEY/LED CS接到CS0上,则实验箱中八位段码输出地址为08004H,位码输出地址为08002H。

8位数码管动态显示电路设计

电子课程设计 — 8位数码管动态显示电路设计 学院:电子信息工程学院 专业、班级: 姓名: 学号: 指导老师: 2014年12月

目录 一、设计任务与要求 (3) 二、总体框图 (3) 三、选择器件 (3) 四、功能模块 (9) 五、总体设计电路图 (10) 六、心得体会 (12)

8位数码管动态显示电路设计 一、设计任务与要求 1. 设计个8位数码管动态显示电路,动态显示1、2、3、4、5、6、7、8。 2. 要求在某一时刻,仅有一个LED 数码管发光。 3. 该数码管发光一段时间后,下一个LED 发光,这样8只数码管循环发光。 4. 当循环扫描速度足够快时,由于视觉暂留的原因,就会感觉8只数码管是在持续发光。 5、研究循环地址码发生器的时钟频率和显示闪烁的关系。 二、总体框图 设计的总体框图如图2-1所示。 图2-1总体框图 三、选择器件 1、数码管 数码管是一种由发光二极管组成的断码型显示器件,如图1所示。 U13 DCD_HEX 图1 数码管 数码管里有八个小LED 发光二极管,通过控制不同的LED 的亮灭来显示出 不同的字形。数码管又分为共阴极和共阳极两种类型,其实共阴极就是将八个 74LS161计数器 74LS138译码 器 数码管

LED的阴极连在一起,让其接地,这样给任何一个LED的另一端高电平,它便能点亮。而共阳极就是将八个LED的阳极连在一起。 2、非门 非门又称为反相器,是实现逻辑非运算的逻辑电路。非门有输入和输出两个端,电路符号如图2所示,其输出端的圆圈代表反相的意思,当其输入端为高电平时输出端为低电平,当其输入端为低电平时输出端为高电平。也就是说,输入端和输出端的电平状态总是反相的。其真值表如表1所示。 图2 非门 表1 真值表 输入输出 A Y 0 1 1 0 3、5V电源 5V VCC电源如图3所示。 图3 5V电源

数码管显示程序(汇编语言)

实验三数码显示 一、实验目的 了解LED数码管动态显示的工作原理及编程方法。 二、实验内容 编制程序,使数码管显示“DJ--88”字样。 三、实验程序框图 四、实验步骤 联机模式: (1)在PC机和实验系统联机状态下,运行该实验程序,可用鼠标左键单击菜单栏“文件”或工具栏“打开图标”,弹出“打开文件”的对话框,然后打开598K8ASM

文件夹,点击S6.ASM文件,单击“确定”即可装入源文件,再单击工具栏中编译装载,即可完成源文件自动编译、装载目标代码功能,再单击“调试”中“连续运行”或工具图标运行,即开始运行程序。 (2)数码管显示“DJ--88”字样。 脱机模式: 1、在P.态下,按SCAL键,输入2DF0,按EXEC键。 2、数码管显示“DJ--88”字样。 五、实验程序清单 CODE SEGMENT ;S6.ASM display "DJ--88" 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,0 c6h,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 ;00H 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

7段数码管显示电路

4.4 显示模块 4.4.1 7段数码管的结构与工作原理 7段数码管一般由8个发光二极管组成,其中由7个细长的发光二极管组成 数字显示,另外一个圆形的发光二极管显示小数点。 当发光二极管导通时,相应的一个点或一个笔画发光。控制相应的二极管导通,就能显示出各种字符,尽管显示的字符形状有些失真,能显示的数符数量也有限,但其控制简单,使有也方便。发光二极管的阳极连在一起的称为共阳极数码管,阴极连在一起的称为共阴极数码管,如图4.9所示。 4.4.2 7段数码管驱动方法 发光二极管(LED 是一种由磷化镓(GaP )等半导体材料制成的,能直接将电能转变成光能的发光显示器件。当其内部有一一电流通过时,它就会发光。 7段数码管每段的驱动电流和其他单个LED 发光二极管一样,一般为5~10mA ;正向电压随发光材料不同表现为1.8~2.5V 不等。 7段数码管的显示方法可分为静态显示与动态显示,下面分别介绍。 (1) 静太显示 所谓静态显示,就是当显示某一字符时,相应段的发光二极管恒定地寻能可截止。这种显示方法为每一们都需要有一个8位输出口控制。对于51单片机,可以在并行口上扩展多片锁存74LS573作为静态显示器接口。 静态显示器的优点是显示稳定,在发光二极管导通电注一定的情况下显示器的亮度高,控制系统在运行过程中,仅仅在需要更新显示内容时,CPU 才执行一次显示更新子程序,这样大大节省了CPU 的时间,提高了CPU 的工作效率;缺点是位数较多时,所需I/O 口太多,硬件开销太大,因此常采用另外一种显示方式——动态显示。

(2)动态显示 所谓动态显示就是一位一位地轮流点亮各位显示器(扫描),对于显示器的每一位而言,每隔一段时间点亮一次。虽然在同一时刻只有一位显示器在工作(点亮),但利用人眼的视觉暂留效应和发光二极管熄 灭时的余辉效应,看到的却是多个字符“同时”显示。显示器亮度既与点亮时的导通电流有关,也与点亮时间和间隔时间的比例有关。调整电流和时间参烽,可实现亮度较高较稳定的显示。若显示器的位数不大于8位,则控制显示器公共极电位只需一个8位I/O 口(称为扫描口或字位口),控制各位LED 显示器所显示的字形也需要一个8位口(称为数据口或字形口)。 动态显示器的优点是节省硬件资源,成本较低,但在控制系统运行过程中,要保证显示器正常显示,CPU 必须每隔一段时间执行一次显示子程序,这占用了CPU 的大量时间,降低了CPU 工作效率,同时显示亮度较静态显示器低。 综合以上考虑,由于温度显示为精确到小数点后两位,故只需4个数码管,又考虑到CPU 工作效率与电源效率,本毕业设计采用静态显示。为共阳极显示。 4.4.3 硬件编码 动74LS47是一款BCD 码转揣为7段输出的集成电路芯片,利用它可以直接驱动共阳 极的7段数码管。它的引脚分部和真值表分别下图。

数码管动态显示教案

电子综合设计实训 题目数码管动态显示 _ 姓名 专业 学号 指导教师 郑州科技学院电气工程学院

目录 摘要.................................................................................................. I 1背景. (1) 1.1介绍 (1) 1.2设计步骤 (2) 2 设计思路 (3) 2.1方案对比 (3) 3元件的选择 (6) 3.1单片机 (6) 3.2 显示元器件的选择 (6) 4 设计原理及功能说明 (8) 4.1 各部分功能说明 (8) 5 装配与调试 (14) 5.1装配 (14) 5.2调试 (14) 6 总结 (15) 附录 (17) 附录一:元件清单 (17) 附录二:电路源程序 (17)

数码管动态显示的设计 摘要 本文介绍了一种基于AT89C51单片机的8个数码管滚动显示单个数字的设计,让八位数码管滚动显示0、1、2、3、4、5、6、7,我们以液晶显示技术的发展为背景,选择了比较常用的液晶数码管显示模块,利用了单片机控制数码管模块的显示机理。研究学习AT89C51单片机其功能,对学习过的单片机,C语言课程进行巩固,设计一款在8只数码管上流动显示单个数字的程序,并用PROTEUS进行电路设计和实时仿真。该电路有两部分组成:AT89C51单片机和显示模块组成。AT89C51单片机具有超低功耗和CPU外围的高度整合性;显示模块数码管是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极,方便易用。实际应用中不需要外部任何元器件即可实现,具有接口电路简单、可靠,易于编程的特点,抗干扰性好等特点。 单片机技术使我们可以利用软硬件实现数码管准确显示各种数码。而且这种技术相对简单,性价比较高,在我们生活中应用很广泛,具有一定的发展前景。 关键词:AT89C51单片机;数码管;滚动显示

数码管完整版

例程18.数码管显示实验 数码管是一种半导体发光器件,其基本单元是发光二极管。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示),本实验所使用的是八段数码管。按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM 接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM 接到地线GND 上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。 数码管的每一段是由发光二极管组成,所以在使用时跟发光二极管一样,也要连接限流电阻,否则电流过大会烧毁发光二极管的。本实验用的是共阴极的数码管,共阴数码管在应用时应将公共极接到GND,

当某一字段发光二极管的阳极为低电平时,相应字段就点熄灭。当某一字段的阳极为高电平时,相应字段就点亮。介绍完原理, 我们开始准备实验用元器件。 八段数码管*1 220Ω直插电阻*8 面包板*1 面包板跳线*1 扎 我们参考实物连接图按原理图连接好电路。

数码管共有七段显示数字的段,还有一个显示小数点的段。当让数码管显示数字时,只要将相应的段点亮即可。例如:让数码管显示数字1,则将b、c 段点亮即可。将每个数字写成一个子程序。在主程序中每隔2s 显示一个数字,让数码管循环显示1~8 数字。每一个数字显示的时间由延时时间来决定,时间设置的大些,显示的时间就长些,时间设置的小些,显示的时间就短。 参考程序源代码:

实验四八位七段数码管动态显示电路的设计

八位七段数码管动态显示电路的设计 一、实验目的 1、了解数码管的工作原理。 2、学习七段数码管显示译码器的设计。 3、学习VHDL的CASE语句及多层次设计方法。 二、实验原理 七段数码管是电子开发过程中常用的输出显示设备。在实验系统中使用的是两个四位一体、共阴极型七段数码管。其单个静态数码管如下图4-4-1所示。 图4-1 静态七段数码管 由于七段数码管公共端连接到GND(共阴极型),当数码管的中的那一个段被输入高电平,则相应的这一段被点亮。反之则不亮。共阳极性的数码管与之相么。四位一体的七段数码管在单个静态数码管的基础上加入了用于选择哪一位数码管的位选信号端口。八个数码管的a、b、c、d、e、f、g、h、dp都连在了一起,8个数码管分别由各自的位选信号来控制,被选通的数码管显示数据,其余关闭。 三、实验内容 本实验要求完成的任务是在时钟信号的作用下,通过输入的键值在数码管上显示相应的键值。在实验中时,数字时钟选择1024HZ作为扫描时钟,用四个拨动开关做为输入,当四个拨动开关置为一个二进制数时,在数码管上显示其十六进制的值。 四、实验步骤 1、打开QUARTUSII软件,新建一个工程。 2、建完工程之后,再新建一个VHDL File,打开VHDL编辑器对话框。 3、按照实验原理和自己的想法,在VHDL编辑窗口编写VHDL程序,用户可参照光 盘中提供的示例程序。 4、编写完VHDL程序后,保存起来。方法同实验一。

5、对自己编写的VHDL程序进行编译并仿真,对程序的错误进行修改。 6、编译仿真无误后,根据用户自己的要求进行管脚分配。分配完成后,再进行全编译 一次,以使管脚分配生效。 7、根据实验内容用实验导线将上面管脚分配的FPGA管脚与对应的模块连接起来。 如果是调用的本书提供的VHDL代码,则实验连线如下: CLK:FPGA时钟信号,接数字时钟CLOCK3,并将这组时钟设为1024HZ。 KEY[3..0]:数码管显示输入信号,分别接拨动开关的S4,S3,S2,S1。 LEDAG[6..0]:数码管显示信号,接数码管的G、F、E、D、C、B、A。 SEL[2..0]:数码管的位选信号,接数码管的SEL2、SEL1、SEL0。 8、用下载电缆通过JTAG口将对应的sof文件加载到FPGA中。观察实验结果是否与 自己的编程思想一致。 五、实验现象与结果 以设计的参考示例为例,当设计文件加载到目标器件后,将数字信号源模块的时钟选择为1464HZ,拨动四位拨动开关,使其为一个数值,则八个数码管均显示拨动开关所表示的十六进制的值。

基于51单片机的LED数码管动态显示

基于51单片机的LED数码管动态显示 LED数码管动态显示就是一位一位地轮流点亮各位数码管,对于每一位LED数码管来说,每隔一段时间点亮一次,利用人眼的“视觉暂留"效应,采用循环扫描的方式,分时轮流选通各数码管的公共端,使数码管轮流导通显示。当扫描速度达到一定程度时,人眼就分辨不出来了。尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,认为各数码管是同时发光的。若数码管的位数不大于8位时,只需两个8位I/O口。 1 硬件设计 利用51单片机的P0口输出段码,P2口输出位码,其电路原理图如下所示。 在桌面上双击图标,打开ISIS 7 Professional窗口(本人使用的是v7.4 SP3中文版)。单击菜单命令“文件”→“新建设计”,选择DEFAULT模板,保存文件名为“DT.DSN”。在器件选择按钮中单击

“P”按钮,或执行菜单命令“库”→“拾取元件/符号”,添加如下表所示的元件。 51单片机AT89C51 一片 晶体CRYSTAL 12MHz 一只 瓷片电容CAP 22pF 二只 电解电容CAP-ELEC 10uF 一只 电阻RES 10K 一只 电阻RES 4.7K 四只 双列电阻网络Rx8 300R(Ω) 一只 四位七段数码管7SEG-MPX4-CA 一只 三极管PNP 四只 若用Proteus软件进行仿真,则上图中的晶振和复位电路以及U1的31脚,都可以不画,它们都是默认的。 在ISIS原理图编辑窗口中放置元件,再单击工具箱中元件终端图标,在对象选择器中单击POWER 和GROUND放置电源和地。放置好元件后,布好线。左键双击各元件,设置相应元件参数,完成电路图的设计。 2 软件设计 LED数码管动态显示是一位一位地轮流点亮各位数码管的,因此要考虑每一位点亮的保持时间和间隔时间。保持时间太短,则发光太弱而人眼无法看清;时间太长,则间隔时间也将太长(假设N位,则间隔时间=保持时间X(N-1)),使人眼看到的数字闪烁。在程序中要合理的选择合适的保持时间和间隔时间。而循环次数则正比于显示的变化速度。 LED数码管动态显示的流程如下所示。

实验四八位七段数码管动态显示电路的设计

八位七段数码管动态显示电路的设计 一、 实验目的 1、 了解数码管的工作原理。 2、 学习七段数码管显示译码器的设计。 3、 学习VHDL 的 CASE 语句及多层次设计方法。 二、 实验原理 七段数码管是电子开发过程中常用的输出显示设备。在实验系统中使用的是两个四位 一体、共阴极型七段数码管。其单个静态数码管如下图 4-4-1所示。 数码管与之相么。四位一体的七段数 数码管的位选信号端口。 八个数码管 个数码管分别由各自的位选信号来控制, 被选通的数码管显示数据,其余关闭。 三、 实验内容 本实验要求完成的任务是在时钟信号的作用下, 通过输入的键值在数码管上显示相应的 键值。在实验中时,数字时钟选择 1024HZ 作为扫描时钟,用四个拨动开关做为输入,当四 个拨动开关置为一个二进制数时,在数码管上显示其十六进制的值。 四、 实验步骤 1、 打开QUARTUSI 软件,新建一个工程。 2、 建完工程之后,再新建一个 VHDL File ,打开VHDL 编辑器对话框。 3、 按照实验原理和自己的想法,在 VHDL 编辑窗口编写 VHDL 程序,用户可参照光盘中 提供的示例程序。 4、 编写完VHDL 程序后,保存起来。方法同实验一。 5、 对自己编写的VHDL 程序进行编译并仿真,对程序的错误进行修改。 6、 编译仿真无误后,根据用户自己的要求进行管脚分配。分配完成后,再进行全编译 一次,以使管脚分配 生效。 7、 根据实验内容用实验导线将上面管脚分配的 FPGA f 脚与对应的模块连接起来。 如果是调用的本书提供的 VHDL 代码,则实验连线如下: CLK FPGA 寸钟信号,接数字时钟 CLOCK3并将这组时钟设为 1024HZ 。 由于七段数码管公共端连接到 I b ,当数码管的中的那一个段被输入高电 、 e 、 d 、 c 、 b 、 a 的

8位8段LED数码管动态扫描显示

项目名称:8位8段LED数码管动态扫描显示班级:09电二姓名:解健学号:09020313 一.实验目的 1.掌握数码管动态扫描显示原理及实现方法。 2.掌握动态扫描显示电路驱动程序的编写方法。 二.实验电路 三.元器件 四.实验步骤 第一步:先在Proteus软件中设计仿真电路原理图。 第二步:再在Keil C51软件中编写且编译程序,程序后缀必须是.c。然后在打开的“Option for Target‘Target 1’”选项卡,“Target”标签下频率设置为“11.0592”,“Output”标签下,将“Creat HEX File”项打勾选中,设置生成一个.hex文件。 第三步:接着将.hex文件导入原理图中U1芯片。双击U1,打开Edit Component对话框,选择生成的hex文件。 第四步:最后观察设计的电路图是否能得到预想的效果,若不能,进行检查,找到毛病且纠正。

流程图 实验现象: 显示器点亮所有段,持续约1s,然后灭显示器,持续2s,最后显示“hello-93”,保持。 附:程序 #include #include #define TRUE 1 #define dataPort P0 #define ledConPort P2 unsigned char code ch[8]={0x76,0x79,0x38,0x38,0x3f,0x40,0x6f,0x4f}; void time(unsigned int ucMs); void main(void) {unsigned char i,counter=0;

数码管动态扫描显示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

BCD七段数码管显示译码器电路

BCD七段数码管显示译码器电路 7段数码管又分共阴和共阳两种显示方式。如果把7段数码管的每一段都等效成发光二极管的正负两个极,那共阴就是把abcdefg这7个发光二极管的负极连接在一起并接地;它们的7个正极接到7段译码驱动电路74LS48的相对应的驱动端上(也是abcdefg)!此时若显示数字1,那么译码驱动电路输出段bc为高电平,其他段扫描输出端为低电平,以此类推。如果7段数码管是共阳显示电路,那就需要选用74LS47译码驱动集成电路。共阳就是把abcdefg的7个发光二极管的正极连接在一起并接到5V电源上,其余的7个负极接到74LS47相应的abcdefg输出端上。无论共阴共阳7段显示电路,都需要加限流电阻,否则通电后就把7段译码管烧坏了!限流电阻的选取是:5V电源电压减去发光二极管的工作电压除上10ma到15ma得数即为限流电阻的值。发光二极管的工作电压一般在1.8V--2.2V,为计算方便,通常选2V即可!发光二极管的工作电流选取在10-20ma,电流选小了,7段数码管不太亮,选大了工作时间长了发光管易烧坏!对于大功率7段数码管可根据实际情况来选取限流电阻及电阻的瓦数! 发光二极管(LED)由特殊的半导体材料砷化镓、磷砷化镓等制成,可以单独使用,也可以组装成分段式或点阵式LED显示器件(半导体显示器)。分段式显示器(LED数码管)由7条线段围成8型,每一段包含一个发光二极管。外加正向电压时二极管导通,发出清晰的光,有红、黄、绿等色。只要按规律控制各发光段的亮、灭,就可以显示各种字形或符号。图4 - 17(a)是共阴式LED数码管的原理图,图4-17(b)是其表示符号。使用时,公共阴极接地,7个阳极a~g由相应的BCD七段译码器来驱动(控制),如图4 - 17(c)所示。 BCD七段译码器的输入是一位BCD码(以D、C、B、A表示),输出是数码管各段的驱动信号(以F a~F g表示),也称4—7译码器。若用它驱动共阴LED数码管,则输出应为高有效,即输出为高(1)时,相应显示段发光。例如,当输入8421码DCBA=0100时,应显示,即要求同时点亮b、c、f、g段,熄灭a、d、e段,故译码器的输出应为F a~F g=0110011,这也是一组代码,常称为段码。同理,根据组成0~9这10个字形的要求可以列出8421BCD七段译码器的真值表,见表4 - 12(未用码组省略)。

数码管动态显示实验报告

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

七段数码管循环显示

(封面) 天津理工大学中环信息学院 电子技术课程设计 设计题目:七段数码管循环显示控制电路设计 姓名:诸钦峰学号:11160014 系别:电子信息工程系专业班级:物联网1班 开始日期: 2013年6月24日完成日期2013 年07月01日 指导教师:彭利标成绩评定等级

天津理工大学中环信息学院 课程设计任务书 系别:电子信息工程系班级:物联网1班姓名:诸钦峰学号:11160014 本表附在课程设计说明书的目录之后。

天津理工大学中环信息学院 课程设计成绩评定表 系别:电子信息工程系班级:物联网1班姓名:诸钦峰学号:11160014 本表附在课程设计任务书之后。

目录 一、设计意义 (4) 二、主要任务 (5) 2.设计方案比较 (5) 三、电路组成框图 (8) 1.数列循环电路的设计 (8) 2.序列显示电路的设计 (8) 2.1十进制自然数序列的显示电路 (8) 2.2奇数序列显示电路 (9) 2.3偶数序列显示电路 (9) 2.4音乐序列显示电路 (10) 3.脉冲产生电路的设计 (11) 4.二分频电路的设计 (11) 四、电路原理图 (12) 五、各电路的仿真测试 (14) 1.脉冲产生电路的仿真 (15) 2.二频分电路的仿真 (16) 六、元件清单 (16) 七、总结 (16)

一、设计意义 这次的课程设计主要是用计数器来实现的,这个七段数码管循环显示控制电路设计的实质就是要产生一系列有规律的数列, 然后通过一个七段数码管显示出来。这里使用的只要就是计数器, 计数器在时序电路中应用的很广泛,它不仅可以用于对脉冲进行计数,还可用于分频,定时,产生节拍脉冲以及其他时序信号。运用计数器的不同的功能和不同的接发就可以实现不同的序列输出了。 而这次的内容还包括分电路图的整合,使这个七段数码管能够按照要求那个依次输出自然序列,奇数序列,偶数序列还有音乐序列。为了实现这个循环输出的功能,在设计的时候还用到了一个以为寄存器,可以利用它的输出端来控制四个计数器的工作情况, 可以让四个计数器依次工作,就可以达到要求的依次循环输出数列。 最后还有一个部分就是脉冲的产生基于多谐振荡器可以产生方波,就可以利用它来产生脉冲信号了。而这个多谐振荡器采用的是 555 定时器来完成的。这个设计基本上就是由以上三个部分连接在一起组成的。 1、基本方案框图 计数器输出信号,将信号给译码器和脉冲信号再由脉冲信号和译码器分别编成自然序列,奇数序列,偶数序列和音乐序列,最后由数码管显示出来。 图1 七段数码管显示的基本方框图

七段LED数码管显示电路设计(精)

实验七七段LED数码管显示电路设计 一、实验目的 1.学习EDA软件的基本操作 2.学习使用原理图进行设计输入 3.初步掌握软件输入、编译、仿真和编程的过程 4.学习实验开发系统的使用方法 二、实验说明 本实验通过七段LED数码管显示电路的设计,初步掌握EDA 设计方法中的设计输入、编译、综合、仿真和编程的基本过程。七段LED数码管显示电路有四个数据输入端(D0-D3),七个数据输出端(A-G。 三、实验要求 1、完成七段LED数码管显示电路的原理图输入并进行编译 2、对设计的电路经行仿真验证 3、编程下载并在实验开发系统上验证设计结果 四、实验步骤 1、新建工程 2、新建Verilog HDL文件 3、在文本输入窗口键入代码 4、保存HDL文件

5、编译文件直至没有错误 6、新建波形文件 7、添加观察信号 8、添加输入激励,保存波形文件 9、功能仿真 七段LED数码管显示电路真值表: 输入D3D2D1D0G F E D C B A 000000111111 100010000110 200101011011 300111001111 401001100110 501011101101 601101111101 701110001111 810001111111

910011101111 A10101110111 B10111111100 C11001111001 D110111011110 E11101111001 F11111110001五、电路原理图 啊Verilog代码描述: module qiduan(data_in,data_out; input [3:0]data_in; output [6:0]data_out; reg [6:0]data_out; always @(data_in begin casex(data_in 4'b0000:data_out<=7'b0111111;

数码管动态显示(中断 延时)

W R D I P 31191 8T 9 R D 17W R 161213141512345678P S E N A L E /P C P P P P P P P P T T I p 1 D Y 4 - 6543210 5 V 80C51中断系统的结构

SCON TCON IE IP 硬件查询 从0~100循环显示程序, #include #define uint unsigned int #define uchar unsigned char

sbit wela=P2^7; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; void display(uchar bai,uchar shi,uchar ge); //数码管显示子程序void delay(uint z); //延时子程序 void init(); //初始化子程序 void main() { init();//初始化子程序 while(1) { if(aa==20) { aa=0; //千万别忘记计时器从0开始。 temp++; if(temp==100) { temp=0; } bai=temp/100; shi=temp%100/10; ge=temp%10; } display(bai,shi,ge); } } void delay(uint z) uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); }

数码管动态显示的51单片机时钟设计

一看就会,适合初学者参考 T0,T1同时开中断,和别人的有点不一样 源程序如下 //数码管设计的可调电子钟 //K1,K2分别调整小时和分钟 #include<> #include<> #define uchar unsigned char #define uint unsigned int uchar code DSY_CODE[]={0xC0,0xF9,0xA4,0xB0,0x99, //共阳段码 0x92,0x82,0xF8,0x80,0x90,0xFF}; uchar DSY_BUFFER[]={0,0,0xBF,0,0,0xBF,0,0}; //显示缓存uchar Scan_BIT; //扫描位,选择要显示的数码管 uchar DSY_IDX; //显示缓存索引 uchar Key_State; //P1端口按键状态 uchar h,m,s,s100; //十分秒,1/100s void DelayMS(uchar x) //延时 { uchar i; while(x--) for(i=0;i<120;i++); } void Increase_Hour() //小时处理函数 { if(++h>23)h=0; DSY_BUFFER[0]=DSY_CODE[h/10]; DSY_BUFFER[1]=DSY_CODE[h%10]; } void Increase_Minute()//分钟处理函数 { if(++m>59) { m=0;Increase_Hour(); } DSY_BUFFER[3]=DSY_CODE[m/10]; DSY_BUFFER[4]=DSY_CODE[m%10]; }

相关文档
相关文档 最新文档