您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 数码管显示演示课件.ppt
第3章数码管显示3.1概述3.1.1LED数码管简介对于0.5吋(对角线尺寸)LED数码管,每段对应一个发光管..13.1.2数字和字符的数码管显示图样..21234ABCD4321DCBATitleNumberRevisionSizeA4Date:24-Jul-2012SheetofFile:D:\C51_JIA_MA\教学用电路图.DdbDrawnBy:comabcdefgdpcomabcdefgdp3.1.3共阳和共阴数码管共阳极:点亮时加高电平共阴极:点亮时加低电平段码:高电平驱动段码:低电平驱动..31234ABCD4321DCBATitleNumberRevisionSizeA4Date:24-Jul-2012SheetofFile:D:\C51_JIA_MA\教学用电路图.DdbDrawnBy:e1d2com3c4dp5b6a7com8f9g10LED1e1d2com3c4dp5b6a7com8f9g10LED2e1d2com3c4dp5b6a7com8f9g10LED3123456781615141312111091234567816151413121110912345678161514131211109+5V3.2.4静态显示和动态显示3.2数码管显示静态显示每个数码管有独立的驱动电路,亮度高电路复杂,编程容易。独立的段码驱动电路3位共阳极数码管静态显示公共极直接接+5V电源(在“串口应用”讲解)..43.2.4静态显示和动态显示动态显示所有数码管的段码共有一套驱动电路采用扫描显示。亮度稍低,电路简单,编程复杂,CPU实时扫描显示占用CPU的时间。以4位共阳极数码管动态显示为例▶视频..51000010000100001一个扫描周期共阳极数码管动态显示“1234”的过程(位扫描)送1的段码送2的段码送4的段码送3的段码..6消隐——扫描切换时,先灭掉“当前显示的数码管”,然后送下一位的段码,再点亮下一位数码管使用公共教室,必须先下课,再上课,有一个“间隙”,否则会怎样?..71234ABCD4321DCBATitleNumberRevisionSizeA4Date:26-Aug-2012SheetofFile:D:\C51_JIA_MA\教学用电路图.DdbDrawnBy:EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10U1AT89C51I11I22I33B44B55I66I77GND9COM9C810O712O613O514O415O316O217O118I88U2ULN2803e1d2com3c4dp5b6a7com8f9g10LED1e1d2com3c4dp5b6a7com8f9g10LED2e1d2com3c4dp5b6a7com8f9g10LED3Q18550Q28550Q38550R110KR210KR310K12345678161514131211109PR1100GND+5V相对应的段码接在一起依次驱动(扫描)公共极8路OC反相器,驱动电流100mA(267页)排电阻,作用限流3/8在内部是接在一起的,所以可任意接一个就可以了动态显示电路外接感性负载(电动机/继电器)时,接负载电源..81234ABCD4321DCBATitleNumberRevisionSizeA4Date:26-Aug-2012SheetofFile:D:\C51_JIA_MA\教学用电路图.DdbDrawnBy:EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10U1AT89C51I11I22I33B44B55I66I77GND9COM9C810O712O613O514O415O316O217O118I88U2ULN2803e1d2com3c4dp5b6a7com8f9g10LED1e1d2com3c4dp5b6a7com8f9g10LED2e1d2com3c4dp5b6a7com8f9g10LED3Q18550Q28550Q38550R110KR210KR310K12345678161514131211109PR1100GND+5V0000000100000001000000010000000101011111110101P2口送“8的反相”的段码反相器同时送“8”段码:00000001,哪一个显示“8”呢?P0口“位”码动态显示为了正确显示段码与位码必须同步!反相..91234ABCD4321DCBATitleNumberRevisionSizeA4Date:11-Jul-2012SheetofFile:D:\C51_JIA_MA\教学用电路图.DdbDrawnBy:EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10U1AT89C51I11I22I33B44B55I66I77GND9COM9C810O712O613O514O415O316O217O118I88U2UNL2803e1d2com3c4dp5b6a7com8f9g10LED1e1d2com3c4dp5b6a7com8f9g10LED2e1d2com3c4dp5b6a7com8f9g10LED3Q18550Q28550Q38550R110KR210KR310K12345678161514131211109PR1100GND+5V0000000100000001000000010000000110101000011111110101111消隐消隐信号消隐信号无论段码如何,因为所有阳极都是低电平,所以全灭..10编写程序程C语言知识:宏(47页)宏定义的一般格式:#define宏名字符串或数字宏定义就是用宏名代替一个字符串,也就是简单的替换。不是必须的,但更便于编写、修改、理解程序。上述宏定义后P_duan和P2就是等效的,好处是:读程序时,P_duan的意义更清晰,表示段码驱动端口的意思。如果想改为其他端口,只需修改宏定义即可,而不必“修改程序”。..11C语言知识:一维数组(56页)为了便于访问将同一类型数据的有序集合——数组。数组的定义方式为:类型数组名[常数];这两数组均为一组常数定义为code,存储在程序存储器(ROM)中,定义为data,存储在内存中,是不合理的!!..12段码表的获取可通过“LED段码查询”实现。..131234ABCD4321DCBATitleNumberRevisionSizeA4Date:11-Jul-2012SheetofFile:D:\C51_JIA_MA\教学用电路图.DdbDrawnBy:EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10U1AT89C51I11I22I33B44B55I66I77GND9COM9C810O712O613O514O415O316O217O118I88U2UNL2803e1d2com3c4dp5b6a7com8f9g10LED1e1d2com3c4dp5b6a7com8f9g10LED2e1d2com3c4dp5b6a7com8f9g10LED3Q18550Q28550Q38550R110KR210KR310K12345678161514131211109PR1100GND+5V..14动态显示x的千/百/十/个位将x的千/百/十/个位的段码存入nx[]中“取余”..15将x的千/百/十/个位的段码存入nx[]中“取余”填写“显示数组”程序先整除再“%10”赋值位x/1000=11nx[0]=1千x/100=122nx[1]=2百x/10=1233nx[2]=3十x=12344nx[3]=4个X=1234..16利用循环语句填写“显示数组”程序及框图i=0取出X的最低位i4?是X除以10i++ixnx[3-i]=x%10位01234nx[3]=4个1123nx[2]=3十212nx[1]=2百31nx[0]=1千X=1234显示数组:nx[4]={千位,百位,十位,个位}否☞?先处理最低位比较方便,特别是使用循环语句时,也节省内存。处理完个位,就可以”舍掉”个位(除以10)……..17☞程序框图动态显示程序..18执行必要的程序i4?否是先送i位的段码再送i位的位码(扫描i位)显示i位延时消隐i+1(下一位)i=0(显示千位)i=0,1,2,3时,分别显示千/百/十/个位..19执行必要的程序i4?否是先送i位的段码再送i位的位码(扫描i位)显示i位延时消隐i+1(下一位)i=0(显示千位)i=4时,跳出for循环执行必要的程序,对于本例,没有任何其他程序,只有动态显示功能再次进入for循环——动态显示..20执行必要的程序i4?否是先送i位的段码再送i位的位码(扫描i位)显示i位延时消隐i+1(下一位)i=0(显示千位)虽然送出第i位的段码但位码送出之前,仍处于消隐状态,第i位不亮。处于消隐状态,所以位的COM无效程序执行到这儿,才显示第i位的数字☞交换一下会怎样?动态显示:必须反复执行..21第i位的COM有效,点亮了第i位,而第i位的段码没有送出,这样就把第(i-1)的数字瞬间显示在了第i位上啦,起不到消隐的目的。程序执行到这儿,才将第i位的数字显示第i位上▶视频这两个“动作”能否交换次序?结论:不可以,这就是“序”执行必要的程序i4?否是再送i位的段码先送i位的位码(扫描i位)显示i位延时消隐i+1(下一位)i=0(显示千位)..22
本文标题:数码管显示演示课件.ppt
链接地址:https://www.777doc.com/doc-3988070 .html