您的位置 首页 观点

第7课 数码管动态显示

在第6课里,我们讲到数码管的静态显示,利用静态显示法,通过控制位选和段选,可以让数任意几位数码管显示任意字符,但由于所有位

在第6课里,咱们讲到数码管的静态显现,使用静态显现法,经过操控位选和段选,能够让数恣意几位数码管显现恣意字符,但由于一切位数码管的相同的段选悉数接在一同,所以只能一起显现相同的数字,例如8位一起显现8字,1、3、5位一起显现3字。但咱们想一下,假如咱们要让数码管同一时间显现不同的数字,如图1所示的现象,用静态显现的办法就不能够完成,这儿就只能用到动态显现的办法,今日这一节咱们首要解说数码管动态显现的原理的程序完成的办法。

图1 数码管一起显现123456
在解说动态显现办法之前,咱们先介绍在种数码管及单片机程序开发进程常用的办法-数组编码法。
1、数组编码
在跟数码管相关的程序中,能够对位进行编码,也可对段进行编码,这儿咱们以段编码进行解说。经过第8课的程序咱们知道,在位选确认后,要显现数字8时,P0=0x80,显现数字3时P0=0xb0,也便是0xb0,0x80别离能够表明数字3和8,按此办法,咱们把在数码管上显现0-f,16个数字悉数用16准则表明出来,这16个16进制数就称为数码管可显现0-f的相应的编码,如图2所示(留意共阳和共阴极数码管相应的编码有所不同,这儿以试验板上共阳极的为例)。
图2 共阳极数码管编码
在编程中,编码的表明办法如下:
unsigned char code table[]={
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e };
这儿编码表明的办法与C语言中数组界说的办法根本相同。table是数组名,后边需加[],中括号中需加上数组中元素的个数,也能够不写。等号的右边用一个大括号将一切元素包括起来,里边的元素之间用“,”离隔,在大括号外用“;”完毕。等号左面的unsigned char 是数据元素的数据类型,这儿界说为无符号字符型,也便是元素的值规模只能是0-255之间。Code表明把这个数组界说为编码,这样界说的优点是其元素转化成二进文件后或许直接存储到程序存储器中,当然这儿也能够不加code,可是这样编译后会将其直接存储到数据存储器中,要知道单片机中数据存储器的容量对错常有限的,界说为code后可节省单片机数据存储器的空间。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/guandian/317330.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部