52系列单片机
答案:2 悬赏:60
解决时间 2021-02-16 23:22
- 提问者网友:猖狂醉薇
- 2021-02-16 02:19
求52单片机99秒倒计时(循环)
最佳答案
- 二级知识专家网友:单身小柠`猫♡
- 2021-02-16 02:30
#include
#define uchar unsigned char
#define uint unsigned int
sbit wela = P2^6; //位选
sbit dula = P2^5; //段选
uchar num, sec;
uchar code table1[] = { //段编码
0xc0, 0xcf, 0xa4, 0xb0,
0x99, 0x92, 0x82, 0xf8,
0x80, 0x90, 0x88, 0x83,
0xa7, 0xa1, 0x86, 0x8e};
uchar code table2[] = { //位编码
0x01, 0x02, 0x04, 0x08,
0x10, 0x20, 0x40, 0x80};
void delay(uint xms) {
uint i, j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
void display(uchar dat)
{
uchar shi, ge;
shi = dat / 10;
ge = dat % 10;
wela = 1;
P0 = table2[0];
wela = 0;
P0 = 0xff;
dula = 1;
P0 = table1[shi];
dula = 0;
delay(5);
wela = 1;
P0 = table2[1];
wela = 0;
P0 = 0xff;
dula = 1;
P0 = table1[ge];
dula = 0;
delay(5);
}
void main() {
TMOD = 0x01;
TH0 = (65536-50000)/256;
TL0 = (65536-50000)%256;
ET0 = 1;
TR0 = 1;
EA = 1;
sec = 0;
while(1)
{
display(sec);
if(num==20)
{
num = 0;
sec++;
if(sec==100)
sec = 0;
}
}
}
void timer0() interrupt 1
{
TH0 = (65536-50000)/256;
TL0 = (65536-50000)%256;
num++;
}晶振12M
#define uchar unsigned char
#define uint unsigned int
sbit wela = P2^6; //位选
sbit dula = P2^5; //段选
uchar num, sec;
uchar code table1[] = { //段编码
0xc0, 0xcf, 0xa4, 0xb0,
0x99, 0x92, 0x82, 0xf8,
0x80, 0x90, 0x88, 0x83,
0xa7, 0xa1, 0x86, 0x8e};
uchar code table2[] = { //位编码
0x01, 0x02, 0x04, 0x08,
0x10, 0x20, 0x40, 0x80};
void delay(uint xms) {
uint i, j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
void display(uchar dat)
{
uchar shi, ge;
shi = dat / 10;
ge = dat % 10;
wela = 1;
P0 = table2[0];
wela = 0;
P0 = 0xff;
dula = 1;
P0 = table1[shi];
dula = 0;
delay(5);
wela = 1;
P0 = table2[1];
wela = 0;
P0 = 0xff;
dula = 1;
P0 = table1[ge];
dula = 0;
delay(5);
}
void main() {
TMOD = 0x01;
TH0 = (65536-50000)/256;
TL0 = (65536-50000)%256;
ET0 = 1;
TR0 = 1;
EA = 1;
sec = 0;
while(1)
{
display(sec);
if(num==20)
{
num = 0;
sec++;
if(sec==100)
sec = 0;
}
}
}
void timer0() interrupt 1
{
TH0 = (65536-50000)/256;
TL0 = (65536-50000)%256;
num++;
}晶振12M
全部回答
- 1楼网友:陪伴是最长情的告白
- 2021-02-16 03:44
亲,你好!很高兴可以帮你回答。是这样的mcs-52系列单片机芯片比51芯片多了个定时寄存器,芯片的内存也比51大点,其它就没什么区别了。不多用个定时器二者程序都可以用没什么差别的。亲,希望我的回答对你有所帮助谢谢:)
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯