|
发表于 2017-8-22 23:20:52
|
显示全部楼层
本帖最后由 张鸿金 于 2017-8-22 23:28 编辑
不是有例程吗?你一个接一个的点亮,只要速度够快看起来就像同时亮起来一样。 阴极数码管:
#include<reg51.h>
sbit LS138A = P0^1;
sbit LS138B =P0^2;
sbit LS138C = P0^3;
unsigned char code Disp_Tab[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char i,j;
void main(){
for( i=0; i<8; i++)
{
P0 = Disp_Tab;
switch(i) //使用switch 语句控制138译码器 也可以是用查表的方式 学员可以试着自己修改
{
case 0S138A=0; LS138B=0; LS138C=0; break;
case 1S138A=1; LS138B=0; LS138C=0; break;
case 2S138A=0; LS138B=1; LS138C=0; break;
case 3S138A=1; LS138B=1; LS138C=0; break;
case 4S138A=0; LS138B=0; LS138C=1; break;
case 5S138A=1; LS138B=0; LS138C=1; break;
case 6S138A=0; LS138B=1; LS138C=1; break;
case 7S138A=1; LS138B=1; LS138C=1; break;
}
for (j = 0 ; j<90 ;j++) { ;} //扫描间隔时间
}
}
|
|