数码管显示控制_第1页
数码管显示控制_第2页
数码管显示控制_第3页
数码管显示控制_第4页
数码管显示控制_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、项目三数码管显示控制P1Mb尸目录数码管循环显示09C语言语句结构单片机C54 敕学课件E-mail: sun20060218163xom单片机C54 敕学课件E-mail: sun20060218163xom名个数码管动态扫描显示单片机C54 敕学课件E-mail: sun20060218163xom单片机C54 敕学课件E-mail: sun20060218163xom099计数器显示(静态显示)七段字形译码器74LS47应用单片机C54 敕学课件E-mail: sun20060218163xom项目三数码管显示控制=亠龙;冬玄事劈亠亠么“ c 6 “数码管循环显示09工作任务利用AT89

2、S52单片机的P1 口的P2.0-P2.6七个引脚,使其依次 连接到一个共阴极LED数码管的ah七个位段控制引脚上,数码管的 公共端接地,编写程序使数码管上循环显示09十个数字。预备知识:单片机系统中人机交流的显示部分主要有以下三种构成方式:1、LED发光二极管显示(已学);2、LED数码管显示(本章学习);3、LCD液晶显示;单片机 C51 教学课件E-mail: sun20060218项目三数码管显示控制亠一1. LED数码管返冋本节LED数码管是将8个发光二极管封装而成的,每段为一发光二极管, 其字形结构如图(a)所示。选择不同字段发光,可显示出不同的字形, 例如,当a、b、c、d、e、

3、f、g字段亮时,显示出字符“8” ;当a、f、 g、c、d字段亮时,显示出字符“5” o图(b)所示为单个LED数码管的 引脚排列图,图中co/n引脚是单个LED数码管的公共端。单片机C# 敕学课件E-mail: sun20060218单片机C# 敕学课件E-mail: sun20060218(a)字型结构图(b)引脚排列 M单片机C55 敕学课件E-mail: sun20060218项目三数码管显示控制单片机 C51 敕学课件E-mail: sun20060218163xom项目三数码管显示控制共阳极数码管共阴极数码管内部8个LED的阳极连接在一起作为公共引出端; 只有在公共端接高电平时,该

4、数码管才会亮。内部8个LED的阴极连接在一起作为公共引出端; 只有在公共端接低电平时,该数码管才会亮。返回本节ONDLED数码管引脚及内部结构单片机 C# 敕学课件E-mail: sun20060218163xom项目三数码管显示控制单片机C54 敕学课件E-mail: sun20060218163xom项目三数码管显示控制r .二厂2.数码r9 VD7 D6 D5 D4 D3 D2 DI DOdpgfedcba数码管编码规则返回本节单片机C54 敕学课件E-mail: sun20060218163xom项目三数码管显示控制单片机C54 敕学课件E-mail: sun20060218163xo

5、m项目三数码管显示控制LED数码管字型编码表显示字符共阴极字型码共阳极字型码显示字符共阴极字型码共阳极字型码03FHCOH87FH80H106HF9H96FH90H25BHA4HA |77H88H34FHBOHB7CH83H466H99HC39HC6H56DH92HD5EHA1H67DH82HE79 H86H707HF8HF71H8EH单片机C54 敕学课件E-mail: sun20060218163xom项目三数码管显示控制返冋本节3.数码管的显示方法(1)动态显示。4 一位一位地轮流点亮各位数码管的显示方式。即在某一时段,只选中一位数码管的“位选端”,并送出相应的字型编码,在下一时段按顺序

6、选通另外一位数码管,并送出相应的字 型编码。依此规律循环下去,即可使各位数码管分别间断地显示出相 应附字符。这一过彳呈称为动态扫皤显示。(2)静态显示。指数码管显示某一字符时,相应的发光二极管恒定导通 或恒定截止。一各位数码管相互独立,公共端恒定接地(共阴极)或+5V (共阳 极)。每个数码管的八个位段分别与一个八位I/O端口相连。I/O端口 只要有字型码输出,数码管就显示给定字符,并保持不变,直到I/O 口输出新的段码。单片机C# 敕学课件E-mail: sun20060218163xom项目三数码管显示控制4O电路设计(1 ) 74LS24574LS245是8路同相三态双向数据总线驱动芯片

7、,具有双向三态功能 ,既可以输出,也可以输入数据。结构如图所示。A、B : 总线端DI返冋本节ENABLEVq0 GB1 B2 B3B4 B5 B6 B7 86I 20191817161514131211专输%I127/| 2| 3456789|lOA1A2 A3 A4 A5A6 A7 A8 GND单片机C51 敕学课件E-mail: sun20060218163xom项目三数码管显示控制(2)1111示电路设计按照工作任务要求,数码管显示电路是由单片机最小应用系统、一 片1位的共阴极LED数码管、一片74LS245驱动芯片外加限流电阻RN1 ( RX8关键词)构成,如图所示。返冋本卩U119

8、R110k1830pFA1 22uF29303?12345678XTAL1XTAL2RSTP0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7PSENP2.0/A8P2.1/A9P2.2/A10P2.3/A11ALEP2.4/A12EAP2.5/A13P1.0/T2P2.6/A14P2.7/A15P3.0/RXDP1.1/T2EXP3.1/TXDP1.2P3.2/INT0P1.3P3.3/INT1P1.4P3.4/T0P1.5P3.5/T1P1P3.6WRP1.7P3.7/RD-U221 22232342

9、452562672789HfHfBHI一19T獰嚣爲篇CEAB/BA74LS24517216315414513612711 818101234567BBBBBBBBRN11615141312ITTo300AT89C52单片机C# 敕学课件E-mail: sun20060218163xom项目三数码管显示控制数字的字型码按顺序排好!建立表格(用数组来实现)如下所示:返冋本节5 程序设计1 数码管显示功能实现分析由于显示的数字09的字型码没有规律可循,只能采用査表的方 式來完成我们所需的要求了。这样我们按着数字09的顺序,把每个I 加能机 C创 敕学课件E-mail: sun20060218项目三

10、数码管显示控制unsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;2 数码管显示程序如下:include 包含AT89X52.H头文件unsigned char codetable=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;unsigned char dispcount;void delay (void)unsigned char ij;for(i=40;i0;i-)for(j=40;j0;j-) for(k=248;k0;k-);0 0

11、I返冋本节void main(void) while(1)for(dispcount=0;dispcount =(5)等于:“=(6)不等于:“!”2. 关系表达式用关系运算符将两个表达式连接起來的式子,称为关系表达式。 关系表达式的值只有两种可能,即“真”和“假”,分别用“和二、逻辑运算符和逻辑表达式关系运算符一 描述的是单个条件。1 逻辑运算符(1)“&(逻辑与)是二元运算符,当且仅当两个运算量的值都为“真” 时,运算结果是“真”,否则为假;(2)(逻辑或)是二元运算符,当且仅当两个运算量的值都为“假”时,运算结果是“假”,否则为真;(3)“! ”(逻辑非)是一元运算符,当运算量的值为“真

12、”时,运算结果: “假”,当运算量的值为“假”时,运算结果是“真”。2. 逻辑表达式用逻辑运算符将关系表达式或逻辑量连接起來的式子,称为逻辑表 达式。一般逻辑表达式用于描述多个条件的组合。注意:对于参与运算的量,只要是非零,就被当作是“真”。I 加能机 C创 敕学课件E-mail: sun20060218项目三数码管显示控制switch语句在多分支程序中,当分支较多时,使用if嵌套稈序兀长而且可读件 降低。此时可使用C语言提供的switch语句。switch (表达式)case常量表达式仁语句1case常量表达式2:语句2 case常量表达式n:语句ndefault:语句 n+1注意事项塔(1

13、) 各个case的常量表达式的值必须不同;(2) 注意break语句的使用;(3) default子句可以省略不写(除非有必要)。单片机C54 敕学课件E-mail: sun20060218163xom项目三数码管显示控制五.循环结构控制语句1 .while 语句其特点是:先判断表达式,后执行语句。2. do-while 语句do-while语句特点是先执行循环体,然后判断循环条件是否成立。其一般形式如下:do循环体语句while(表达式);注意“;”不可少。while和dowhile区别:前者若条件不成立,则不执行循环 体;而后者即使条件不成立,也要 执行循环体语句1次。3. for语句fo

14、r (表达式1;表达式2;表达式3)语句两无限循环:for(;);一while(1);单片机C54 敕学课件E-mail: sun20060218163xom项目三数码管显示控制for语句求解步骤:(1) 堤求解表达式1;(2) 求解表达式2,其值为真,则执行for语句屮指定的内嵌语句(循环体),然后执行第(3)步如果为假,则结束循环;(3) 求解表达式3;(4) 转回第2步继续执行。break语句一结束整个循环过程,不再判断循环条件是否成立。break语句 只能用于循环语句和switch语句中。sntinue 语句:continue语句一只结束本次循环,而不是终止整个循环的执行。 conti

15、nue语句 只能用于循环语句屮;多个数码管动态扫描显示工作任务:显示器由6个共阴极LED数码管构成,使用AT89S52单片机,P0 口输出显示段码,经由一片74LS245驱动输出给LED数码管,P1 口输出位码(片选)给LED数码管。通过动态扫描程序使6个数码 管显示“123456”。一、多个数码管动态显示电路设计1 电路构成(1) 单片机最小应用系统(2) 一片74LS245驱动芯片构成(3) 限流排阻(RX8)(4) 6位数码管单片机C54 敕学课件E-mail: sun20060218163xom项目三数码管显示控制 _ - 2管脚分配XTAL1XTAL2RSTPSEN ALE EAP1

16、.0/T2 P1.1/T2EX.23.4.5G 71i 1 1i 1 1 4 ppppppPO.O/ADO PO.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7P2.0/A8P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15P3.0/RXD P3.1/TXD P3.2/iNT0 P3.3/IFJTTP3.4/T0 P3.5/T1P3.6/WRP3.7/RU3938337436535634733801234567AAAA AAAA3221F232425F

17、2728211121314151617UE AB/BAAT89S521817B16 C15D14E13尸12GO123W567 bbbbbbbb电路图改进措施单片机C54 敕学课件E-mail: sun20060218163xom项目三数码管显示控制二、多个数码管动态显示程序设计1. 多个数码管动态显示功能实现分析动态扫描一逐个控制各个数码管的COM端使各个数码管轮流点亮。在轮流点亮数码管的扫描过程中,每位数码管的点亮时间极为短暂(约1ms) o但由于人的视觉暂留现象及发光二极管的余辉,给人的印象就是一组稳定的显示数据。2动态扫描优缺点(1) 优点可以节省I/O端口资源;硬件电路也较简单。(2

18、) 缺点显示稳定度不如静态显示方式; 占用了更多的CPU时间。3. 动态扫描程序如下示单片机C54 敕学课件E-mail: sun20060218163xom项目三数码管显示控制单片机C54 敕学课件E-mail: sun20060218163xom项目三数码管显示控制include 包含 AT89X52.H 头文件unsigned char code Tab=0x3F,0x06,0x5B,0x40x66,0x6D,0x7D,0x07,0x7F,0x6F;unsigned char code Col=0xfe,0xfd,0xfb,0x亿Oxef,Oxdf; 位码void DelayOunsig

19、ned char i; for(i=0;i250;i+);void main()同时显示123456unsigned char j; while(1)for(j=1 ;j7;j+)PO=Tabj; P1=Colj-1; DelayO; P1=Oxff; DelayO;开(共阴)数码管关数码管单片机C54 敕学课件E-mail: sun20060218163xom项目三数码管显示控制三、C语言数组1. 一维数组(必须要先定义,后使用)格式:类型说明符 数组名整型表达式;使用说明:1 同一数乩 数据类型须相同;2 数组名书写规则与标示符相同;3 数组大小不许动态定义;4 数组元素默认初始值为0;5

20、.C语言不对越界使用函数进行检测。2. 二维数组格式:类型说明符数组名常量表达式1常量表达式2; 二维数组初始化与一维数组类似。可以按行分开赋值,如:inttable43=1, 2, 3,4, 5, 6,7, 8, 9,10, 11, 12;亦可按行连续赋值,如:inttable43=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12;0 0099计数器显示(静态显示)目录工作任务利用AT89S52单片机来制作一个099计数器。要求使用一个手动计数按钮,实现099的计数,并且通过两个共 阴数码管显示计数结果,数码管显示采用静态显示方式。一、099计数显示电路设计1 电路

21、构成(1) 单片机最小应用系统;(2) 2个共阴极数码管;(3) 1个开关电路;(4) P0口输出时的上拉电阻。单片机C54 敕学课件E-mail: sun20060218163xom项目三数码管显示控制h卩则单片机C54 教学课件E-mail: sun20060218项目三数码管显示控制2引脚分配(1)P10管脚接一个按钮,作为手动计数的按钮/30pF IX1匚U1R110k30pF10k1247 XTAL1P0.0/AD0P0.1/AD1P0.2/AD2XTAL2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6RSTP0.7/AD7P2.0/A8P2.1/A9P2.2/A1

22、0PSENP2.3/A11ALEP2.4/A12EAP2.5/A13P2.6/A14P2.7/A15P1.0/T2P3.0/RXDP1.1/T2EXP3.1/TXDP1.2P3.2/HTr0P1.3P3.3/1NTTP1.4P3.4/TDP1.5P3.5/T1P1.6P36WRP1.7P3.7/RD19189AT89C5229303?人丄丄存口业Zj厂FT AvVRP139383736站32P20P21P2222H2123P2224P2325P2426P2527P2621P20h卩则单片机C54 教学课件E-mail: sun20060218项目三数码管显示控制二、049计数显示程序设计静态显

23、示的概念指数码管显示某一字符时,相应的发光二极管恒定导通或恒定截止。2. 静态显示的优缺点(1) 优点较小的电流就可以获得较高的亮度; 占用CPU时间较少;编稈简单.显示便于益测和控制。(2) 缺点占用较多的I/O 口线;硬件电路复朵,成本高; 只适合显示位数较少的场合。3. 计数显示实现分析(1) 单片机对按键的识别的过程处理;(2) 单片机对正确识别的按键进行计数,计数满时,又从0开始计数;(3) 单片机对计数值要进行数码显示,计数值是16进制数,我们要把其 拆开成十位和个位数字分别送出显示。计数值对10求余,可得个位数字;计数值对10整除,可得十位数字;(4) 通过查表方式,分别显示出个

24、位和十位数字。4. 099计数显示c语言程序include 包含 AT89X52.H 头文件unsigned char code table=0x3fJ0x06,0x5bJ0x4f,0x66, 0x6d,0x7d,0x0750x7f,0x6f;unsigned char Count;定文变量放置计数数值void delaylOms(void)定义 10ms 延时函数h卩则单片机C54 教学课件E-mail: sun20060218void main(void)Count=0;P0=tableCount/10;P2=tableCount%10; while(1)if(P1_0=0) delay1

25、0ms(); if(P1_0=0) Count+; if(Count=100) Count=0;单片机C54教学课件主函数计数变量初始为0十位数码管显示0个位数码管显示0按键扫描,计数显示处理键按下?延时去抖动确定键按下计数加1计数到100?到100回0E-mail: su n20060218项目三 数码管显示控制P0=tableCounV10; 显示十位数 kP2=tableCount%10; 显示个位数while(P1_0=0); 等键释放三、C语言函数C语言程序是由一个个函数构成的,函数是C程序的基本模 块,是构成结构化程序的基本单元。f一个C语言程序,是由一个main()函数(又称主函

26、数)和若干个其它函数结合而成的,有且仅有一个main()数。C语言程序总 是从main()函数开始执行。升Q 0 0h nn单片机C54 敕学课件E-mail: sun20060218163xom项目三数码管显示控制1函数的分类(1)从用户的角度一类是标准函数(系统提供的库函数,用户可直接使用);一类是用户自定义函数(用户根据根据问题需要自己定义,以解决用 户的专门问题)。(2)从函数定义的形式上划分无参数函数;有参数函;空函数。函数定义的一般形式:函数类型说明符 函数名(形式参数表)函数体ZEa)无参数函数 无参数函数的定义形式为: 函数类型说明符函数名()函数体语句 如本例中的void m

27、ain()就是一个无参数函数。b)有参数函数 有参数函数的定义形式为: 函数类型说明符函数名(形式参数表)函数体语句2函数的调用函数调用的一般形式如下: 函数名(实参列表);(1)说明:1)在实参表屮,实参的个数与顺序必须和形参的个数与顺序相同, 实参的数据类型必须和对应的形参数据类型相同。2)无参数调用时,调用的函数名后括号不能省略。3)函数间可以互相调用,但不能调用main()函数。(2)函数三种调用方式1) 函数语句。形式:函数名();eg: delaylOms ();2) 函数表达式。eg: result=3*max(a,b);3) 函数参数。被调函数作为一个函数的实参。eg: m=m

28、ax (max (a,b) ,c);(3) 一个函数调用另一个函数必须要具备的条件1) 如果使用库函数,一般还需在文件开头用include命令将调用库函 数所需的有关信息包含到本文件中来。2) 如果自定义函数,且该函数与调用它的函数(主调函数)在同一个文件中,一般应在主调函数中对被调用函数作声明,除非被调函数的 定义在主调函数之前。如果不是在本文件中定义的函数,那么在程序 开始要用extern修饰符进行函数原型说明。3.函数的返回值在C语言屮,一般使用return语句由被调函数向主调函数返回值,该语句有下列用途;(1)它能立即从所在的函数屮退出,返回到调用它的程序中去;(2)返回一个值给调用它

29、的函数。 返回语句一般有如下的形式:return; return表达式; return (表达式);函数返回值类型:自定义函数的返回值类型; 如无定义,系统默认为一 int型的值。单片机C54 敕学课件E-mail: sun20060218163xom项目三数码管显示控制七段字形译码器74 LS47应用常用的BCD码译码器有TTL之7446、7447、7448、7449与CMOS之4511等等。其屮7446、7447必须使用共阳极七段显示器, 7448、7449、4511等则使用共阴极七段显示器。74LS47是4位二进制编码十进制数(BCD码)从A、B、 C和D引脚输入,译码成七段字形码, 从

30、QA、QB、QC QD QE QF 和QG引脚输出。74LS47是输出低 电平有效的七段字形译码器。输入端由高到低依次为AQABQBCQCDQDBI/RBOQERBIQFLTQG26DCBAo单片机C51教学课件E-mail: sun20060218项目三数码管显示控制1) L试灯输入,是为了检查数码管各段是否能正常发光而 设置的。当LT=O时,无论输入A, B, C, D为何种状态,译码器输出 均为低电平,若驱动的数码管正常,是显示&2) BI:灭灯输入,是为控制多位数码显示的灭灯所设置的。 BI=O时。不论LT和输入A, B, C, D为何种状态,译码器输出均为高 电平,使共阳极7段数码管

31、熄灭。3) RBI:灭零输入,它是为使不希望显示的0熄灭而设定的。 当对每一位A=B=C=D=O时,本应显示0,但是在RBI=0作用下,使译 码器输出全1。其结果和加入灭灯信号的结果一样,将0熄灭。4) RBO:灭零输出,它和灭灯输入BI共用一端,两者配合使 用,可以实现多位数码显示的灭零控制。Numerical DesignationsResultant Displays012345679910 H 12131415BESS%18cFt单片机C54 敕学课件E-mail: sun20060218163xom项目三数码管显示控制Electrical Characteristics。馆e co

32、Emended operating free 日itempe日 tueange (unless otherwise noted)SymbolParameterConditionsMlnTyp(Note 8)MaxUniftsV|Input Clamp Voltage= Min. I| = -8 mA-1.5VV0HHIGH LevelOutput Voltage= Min: Ioh = h怡x: Vil = Max. Bl .RBO273.4VOFFOutput HIGH Current Segment OutputsVcc = 5.5V,V0=l5Va-i250uAVolLOW LevelOutput VoltageVcc = Min: l0L= Max,V,H = lVlinsa-g0.350.5Vl0L = 3.2 mA: BI/RBO0.5lOL = 12 mA: a -g0.250.4lOL = 1.6 mA, BI/RBO0.4hInput Current MaxInput VoltageVcc = Max: V, = 7V100uAVcc = Max? V, = 10VIihHIGH Level Input

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论