【增强版TX-1C 51单片机开发板试用体验】+数码管显示

  • sun5304
  • LV3工程师
  • |      2017-11-12 18:02:58
  • 浏览量 1397
  • 回复:0
本帖最后由 sun5304 于 2017-11-12 18:00 编辑 2.jpg 【增强版TX-1C51单片机开发板试用体验】+数码管的静态显示和动态显示 近几天学习了增强版TX-1C 51单片机开发板的数码管显示部分,现将这部分的学习体验分享如下: 数码管显示的原理是靠点亮内部的发光二极管来发光,显示一个8字需要7个小段,另外还有一个小数点,所以其内部一共有8个小的发光二极管,还有一个公共端,单个数码管都封装10个引脚,其中第3和第8引脚是连在一起的,我们现在练习用的开发板使用的是共阴数码管,图一 是码管的原理图,图二 是共阴数码管编码表。 当需要多位显示时,它们内部的公共端是独立的,而负责显示数字的线段全部是连接在一起的,独立的公共端可以控制多位一体数码管中的哪一位点亮,而连接在一起的段线可以控制这个能点亮数码管亮什么数字,通常我们把公共端叫做“位选线”,连接在一起的段线叫做“段选线”,有了这两个线后,通过单片机及外部驱动电路就可以控制任意的数码管显示任意的数字了。具体如何实现数码管的静态显示,请看以下代码: /********************************************************************** 程序功能: 让TX-1C学习板的第一个数码管静态的显示数字3。 **********************************************************************/ #include sbit dula=P2^6; //段选信号的锁存器控制 sbit wela=P2^7; //位选信号的锁存器控制 void main() { dula=0; wela=0; P0=0x4f; //数字“3”的代码 dula=1; dula=0; P0=0xfe; //选中第一个数码管 wela=1; wela=0; while(1); } 静态显示的效果请见 图三。 下面再来看看数码管的动态显示:动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。这样一来,就没有必要每一位数码管配一个锁存器,从而大大地简化了硬件电路。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。 下面的一段程序是让开发板上的第一个数码管动态地显示数字0~9和A~F: /********************************************************************* 程序功能: 让TX-1C学习板的第一个数码管动态地显示数字0到F。 **********************************************************************/ #include sbit dula=P2^6; //段选信号的锁存器控制 sbit wela=P2^7; //位选信号的锁存器控制 unsigned char code table={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //0-F的码表 void delay(unsigned int i) { unsigned int m,n; for(m=i;m>0;m--) for(n=90;n>0;n--); } void main() { unsigned char num; while(1) { for(num=0;num<16;num++) { P0=table; dula=1; dula=0; P0=0xfe; //选中第一个数码管 wela=1; wela=0; delay(1000); } } } 具体的动态显示效果请见图四。
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:0
x
收藏成功!点击 我的收藏 查看收藏的全部帖子