03-数码管静态显示
# include "reg52.h"
void delay(unsigned char i)
{
while(i--);
}
unsigned char code table[] =
{
0xc0,//0
0xf9,//1
0xa4,//2
0xb0,//3
0x99,//4
0x92,//5
0x82,//6
0xf8,//7
0x80,//8
0x90,//9
0x88,//A
0x83,//B
0xc6,//C
0xa1,//D
0x86,//E
0x8e //F
};
void HC138 (unsigned char n)
{
switch(n)
{
case 4:
P2 = (P2 & 0x1f) | 0x80;
break;
case 5:
P2 = (P2 & 0x1f) | 0xa0;
break;
case 6:
P2 = (P2 & 0x1f) | 0xc0;
break;
case 7:
P2 = (P2 & 0x1f) | 0xe0;
break;
}
}
void show (unsigned char pos,unsigned char dat)
{
HC138(7);//数码管的内容
P0 = table[dat];
HC138(6);//数码管的位置
P0 = 0x01 << pos;
}
void showseg()
{
unsigned char i,j;
for(i = 0;i <8;i++)
{
for(j = 0;j <10 ;j++)
{
show(i,j);
delay(60000);
}
}
for(j = 0; j<10;j++)
{
HC138(6);
P0 = 0xff;
HC138(7);
P0 = table[j];
delay(60000);
}
}
void main()
{
while(1)
{
showseg();
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律