文章目录
- 摘要
- 实验器件简介
- 实验原理
- 硬件电路图
- 硬件电路连线
- 实验代码
- 实验结果
- 思考以及注意事项
- 实验视频教程
- 资源分享
摘要
本实验采用了普中科技的51单片机开发板
本实验以静态数码管显示实验为基础
https://blog.csdn.net/weixin_41995541/article/details/89392804
通过动态扫描方式静态显示八个数据
实验器件简介
- 74HC573
- 八进制三态非反转透明锁存器
- 功能表
- 74HC138
- 三通道输入、八通道输出的译码器,也称3-8译码器
- 管脚说明
- 真值表
实验原理
数码管静态显示:必须接一个8位数据线来保持显示的字形码。
动态显示的特点:
-
将所有的数码管的段选线并联在一起
-
由位选线控制是哪一位数码管被选中
-
选亮数码管采用动态扫描方式显示
- 即轮流向各位数码管送出字形码和相应的位选线
- 利用发光二极管的余晖效应和人眼的视觉暂留作用
- 使人感觉好像所有数码管同时在显示
-动态数码管的亮度要比静态显示的亮度差一些,所以限流电阻要略小
硬件电路图
完整电路图查看资源分享中 4–开发板原理图
硬件电路连线
参照上面的原理图连接:
- MCU的JP10接74HC573的J12
- MCU的JP11接74HC138的J6
- 开发板已经用跳线帽连接好
实验代码
#include <reg51.h>
#define u8 unsigned char
#define LED_8 P0
void DelayMS(u8 i);
u8 code segmentCode[23]={0xFF,
0x03,0x9F,0x25,0x0D,0x99,0x49,0x41,0x1F,0x01,0x09,
0x11,0xC1,0x63,0x85,0x61,0x71,
0x91,0xE3,0x13,0x31,0x83,0xD1
};
void main()
{
u8 i;
while(1)
{
for(i=0;i<8;i++)
{
P2 = i;
LED_8 = ~segmentCode[i+1];
DelayMS(1);
LED_8= 0x00;
}
}
}
void DelayMS(u8 i)
{
u8 j=100;
while(i--)
{
while(j--);
}
}
实验结果
- 一次实验
//注释代码DelayMS(1);
实验1成功但亮度太低
//注释代码LED_8 = 0x00;
实验2成功
//注释代码
//DelayMS(1);
//LED_8= 0x00;
实验3失败
- 二次实验
只用了P0进行实验,让位选和段选同时进行;
重新进行编码
实验成功
只用了P0进行实验,让位选和段选同时进行;
重新进行编码
实验失败,第一位有问题
思考以及注意事项
- 注意接线,弄清楚高位和低位的对应位置
- 重点:
- 重影和消影问题
- 因为位选P2口和段选P0口并不是在同一时间赋值导致存在时差,量的累积最后达到质变(看见重影)
- 所以需要通过代码 P0=0x00; 将段选清零(无显示)
- 从一次实验实验2结果可以看出实际上只要有代码DelayMS(1); 延时一毫秒
- 实验就可以成功,亮度也很亮,但实际上这个位选和段选依然存在时差
- 这个也有量的累积最后达到质变,但是相对于延时显示的1ms来说太短了,人眼无法捕捉
- 所以没得重影
- 动态扫描,最后显示出来的是静态画面。显然很耗费CPU,但是节约硬件资源,8个数码管只需要两个IO口
- 如果是静态方式的话,需要8个IO口来保持显示的数据,很耗硬件资源
- 可以用switch和case语句来专门指定每位数码管显示的字符
u8 i;
while(1)
{
for(i=0;i<8;i++)
{
switch(i)
{
case 0 :
LED_8 = ~segmentCode[6];
break;
case 1 :
LED_8 = ~segmentCode[10];
break;
case 2 :
LED_8 = ~segmentCode[11];
break;
case 3 :
LED_8 = ~segmentCode[14];
break;
case 4 :
LED_8 = ~segmentCode[12];
break;
case 5 :
LED_8 = ~segmentCode[13];
break;
case 6 :
LED_8 = ~segmentCode[16];
break;
case 7 :
LED_8 = ~segmentCode[15];
break;
case 8 :
LED_8 = ~segmentCode[18];
break;
}
DelayMS(1);
LED_8= 0x00;
}
}
实验视频教程
推荐视频:https://www.bilibili.com/video/av32132894/?p=25
资源分享
003-普中51单片机开发板教程+参考资料
链接:https://pan.baidu.com/s/1SHARpgOLFtkY0gQXOGLx7g 提取码:yqjq
复制这段内容后打开百度网盘手机App,操作更方便哦
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)