实验3 数码管静态显示 下载本文

实验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 #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++); }