8位动态LED数码管显示实验——[全国大学生电子设计大赛].pdfVIP

  • 3
  • 0
  • 约6.17千字
  • 约 10页
  • 2022-08-30 发布于重庆
  • 举报

8位动态LED数码管显示实验——[全国大学生电子设计大赛].pdf

8 位动态 LED 数码管显示实验 2008-03-18 18:04 8.1 实物图与原理图 本实验仪配置带 8 位动态扫描显示模块一个。实物图如下: 为减少 IO 的使用,我们采用串入并出芯片 CD4094 来扩展了 IO 口,即采用3 个 IO 来实现数据的传输。 原理图如下: 所以,我们占用 3 个 IO 来传输数据,8 个 IO 来进行 8 个 LED 数码管的位 选。 在本实验仪中链接管教分布如下: STKP2.5 DATP2.6 CLKP2.7 B0、B1、B2、B3、 B4、 B5、 B6、 B7 接 P0 口 (P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 ) 由于上一节已经讲述了CD4094 驱动一位 LED 数码管的问题,这 里我们讲如何来扫描 8 位数码管。 8.2 LED 动态显示原理 根据原理图管脚连接,我们知道 P0 口控制了8 个 LED 数码管的 位选中,所以如果想让 8 个数码管都亮起来,我们可以逐位扫描 8 位数码管。 1 读万卷书 行万里路 动态显示原理:原理上同一时刻只有一位 LED 是点亮的,但只要 扫描的频率足够高(一般大于 25Hz) ,由于人眼的视觉暂留特性,直观上感觉 却是连续点亮的,这就是常说的动态扫描显示。 动态扫描的频率有一定的要求,频率太低,LED 将出现闪烁现 象。如频率太高,由于每个 LED 点亮的时间太短,LED 的亮度太低,所以一 般均取几个 ms 左右为宜。 8.3 DG3000 动态显示头文件 display_s.h 程序作用:显示头文件 display_s.h #ifndef _display_ #define _display_ #include intrins.h sbit SDA=P2^6; 定义显示管脚 sbit CLK=P2^7; unsigned char data display_bit; unsigned char code led[20]={0xc0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0 x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf,0x89,0x8C}; 2 读万卷书 行万里路 定义段码 延时程序 void delay(unsigned int k) { unsigned int i,j; for(i=0;ik;i++) for(j=0;j100;j++); } 数据传输 void send(unsigned char a) { unsigned char i; for(i=0;i8;i++) { if(_crol_(a,i)0x80) SDA=1; else SDA=

文档评论(0)

1亿VIP精品文档

相关文档