从0到999计数的编程单片机
答案:2 悬赏:80 手机版
解决时间 2021-11-12 12:11
- 提问者网友:孤凫
- 2021-11-12 08:53
从0到999计数的编程单片机
最佳答案
- 五星知识达人网友:七十二街
- 2021-11-12 09:21
这个 是 汇编 做的 仿真实例,仿真试试。
全部回答
- 1楼网友:独行浪子会拥风
- 2021-11-12 10:13
什么单 片机?是对外部脉冲计数还是过1 秒自动加1追问其实我什么都不懂,应该是1秒加1吧追答硬件不同,程序是不同的
//0-999计数
#include
#define uchar unsigned char
#define uint unsigned int
uint num=0;
sbit dula=P2^6;
sbit wela=P2^7;
//共阴数码管七段码
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77};
void Delay1ms(uint i) //1ms延时程序
{
uint j;
for(;i>0;i--)
{
for(j=0;j<164;j++)
{;}
}
}
void display(uchar a1,uchara2,uchar a3)//显示子程序
{
P0=table[a1];
dula=1;
dula=0;
P0=0xfe;
wela=1;
wela=0;
Delay1ms(2);
P0=table[a2]; //显示万位
dula=1;
dula=0;
P0=0xfd;
wela=1;
wela=0;
Delay1ms(2);
P0=table[a3]; //显示千位
dula=1;
dula=0;
P0=0xfb;
wela=1;
wela=0;
Delay1ms(2);
}
void main(void )//主程序
{
while(1)
{
Delay1ms(1000);
num++;
b1=num/100;
b2=num/10%10;
b3=num%10;
display(b1,b2,b3)
}
}
//0-999计数
#include
#define uchar unsigned char
#define uint unsigned int
uint num=0;
sbit dula=P2^6;
sbit wela=P2^7;
//共阴数码管七段码
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77};
void Delay1ms(uint i) //1ms延时程序
{
uint j;
for(;i>0;i--)
{
for(j=0;j<164;j++)
{;}
}
}
void display(uchar a1,uchara2,uchar a3)//显示子程序
{
P0=table[a1];
dula=1;
dula=0;
P0=0xfe;
wela=1;
wela=0;
Delay1ms(2);
P0=table[a2]; //显示万位
dula=1;
dula=0;
P0=0xfd;
wela=1;
wela=0;
Delay1ms(2);
P0=table[a3]; //显示千位
dula=1;
dula=0;
P0=0xfb;
wela=1;
wela=0;
Delay1ms(2);
}
void main(void )//主程序
{
while(1)
{
Delay1ms(1000);
num++;
b1=num/100;
b2=num/10%10;
b3=num%10;
display(b1,b2,b3)
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯