风风雨雨二十载,多少bug在心间。
代码编译不通过,急得抓耳直挠腮。
回想当年恩师讲,基础知道全忘干。
忙里偷闲回首看,权当引玉的抛转。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
一、LED数码管结构及工作原理
1、LED数码管结构
通常使用的是七段LED显示器,这种显示器由8个led构成,有共阴极和共阳极两种接法, 如图所示,分为a,b,c,d,e,f,g七段和一个点dp。
数码管结构
LED数码管工作原理
共阴极接法数码管的8个led的阴极连在一起,接公共端COM。使用时公共端接地,当led的阳极为高电平时,对应的发光二极管点亮。共阳极接法数码管则与之相反。
从管脚a~g及dp输入不同的8位二进制数,可显示不同的数字或字符,把控制数码管显示不同字符的8位二进制数称为段码。例如:对于共阳极数码管,若要显示0,其段码为0xc0。下表是共阴极数码管和共阳极数码管的字形码。
其中H表示16进制。
二、LED数码管的显示方法
数码管的显示方式有静态显示和动态显示两种。
1、静态显示
静态显示是指数码管显示某一字符时,相应的发光二极管恒定导通或恒定截止。这种显示方式的各位数码管相互独立,公共端恒定接地(共阴极)或接正电源(共阳极)。每个数码管的8个字段分别与一个8位I/O口相连。
2、动态显示
动态显示是一位一位地轮流点亮各位数码管,这种逐位点亮显示器的方式称为位扫描。通常,各位数码管的相应段选线并联在一起,由一个8位的I/O口控制;各位数码管的位选线(公共阴极或阳极)由另外的I/O口线控制。动态显示是运用人眼睛的时间暂存效应,实际上极短时间内各位数码管的轮流显示在人眼看来则为静止的。
三、proteus中一位数码管显示0~F的设计
1、画图
在proteus中数码管的关键字为7SEG-MPX1(位数)-CC或CA,其中CC表示的是共阴极接法数码管,CA表示的是共阳极接法数码管。以上两电路均为共阴极数码管,第1副比第2副图多了一个小数点。
注意,字形码8位led引脚接P0口时一定不要忘记接排阻(即一排电阻)respack-8(或7)。
2、写出程序。
程序中新知识点:数组,简单总结以下。
(1)数组形式为
变量[长度,元素的个数]
(2)变量,为定义时任意设定的,变量定义时需要设定某数据类型,比如此设计中为unsigned char ;
(3)长度,为常数,表示数组内元素的个数,此项可以大于或等于赋值时元素的个数,也可以省略不写。本程序中在定义时就没写。
文章评论(0条评论)
登录后参与讨论