内容发布更新时间 : 2024/12/28 6:11:08星期一 下面是文章的全部内容请认真阅读。
实验3 数码管静态显示
一.实验目的:
1.学习数码管的静态控制原理
2.学习用单片机的串行口扩展74LS373实现静态显示方法。 二.实验原理
8字形的数码管驱动方式分两种:共阴极 和 共阳极。 数码管是由发光二极管组成的,发光二极管有两种驱动方式,数码管自然也有两种驱动方式:共阴极 与 共阳极。
共阳极是指数码管内部LED的正极接在一起,想要点亮LED,拉低相应的负极即可。共阴极是指数码管内部LED的负极接在一起,想要点亮LED,拉高相应的正极即可。 什么是数码管编码?就是让数码管显示数字时,对应的IO输出的高低电平。
0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83, 0xc6,0xa1,0x86,0x8e。共阳极 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71。 共阴极
什么是段选?什么是位选?
段选就是显示数字时,这个数字对应的IO编码,也就是上面的数码管编码。 位选就是让8个数码管的哪一个数码管显示数字。
锁存器的功能就是可以把当前输入的状态在输出脚锁住,这样及时输入变化,输出也能保持不变。控制方式非常简单,只需控制74LS373的控制即可。 8位共阴数码管其中J2(B)为段锁存,J2(A)为位锁存。 实验原理图如下:
共阳极显示数字1
程序:共阴8位数码管显示1位数字 (旧板子第0位显示数字4)
#include
sbit duan=P2^2; 连接J2(B) sbit wei=P2^3; void main() {
While(1) {
P1=0xfe; //第0位显示 Wei=1; Wei=0;
Delay50ms(); P1=0x66;
duan=1; //显示数字4 duan=0; } }
Void delay50ms() {
Unsigned int i;
For(i=0;i<1000;i++); }