欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
c51單片機(jī)數(shù)碼管顯示C語(yǔ)言程序問(wèn)題,for循環(huán)為顯示秒數(shù)的數(shù)組賦值
[打印本頁(yè)]
作者:
q977165
時(shí)間:
2019-10-14 20:46
標(biāo)題:
c51單片機(jī)數(shù)碼管顯示C語(yǔ)言程序問(wèn)題,for循環(huán)為顯示秒數(shù)的數(shù)組賦值
目前在用c51的數(shù)碼管做一個(gè)秒表,使用了一個(gè)for循環(huán)為顯示秒數(shù)的數(shù)組賦值,但不知道什么原因,效果沒(méi)有實(shí)現(xiàn),下面是程序源代碼。
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit LED = P0^0;
sbit JA = P2^2;
sbit JB = P2^3;
sbit JC = P2^4;
uchar code led[]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
uchar ledbuff[8]={0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF};
uint cnt = 0;
uint sec = 0;
uchar i ;
uchar x ;
void delay(uint z);
int main(void)
{
i=0;
TMOD = 0x01; //0000 0001
TH0 = 0XFC;
TL0 = 0X18;
TR0 = 1;
EA = 1;
ET0 = 1;
while(1)
{if(cnt >=1000)
{
cnt=0;
ledbuff[0]=led[sec%10];
for(x=1;x<=8;x++)
{
ledbuff[x]=led[sec/(x*10)%10];
}
sec++;
}
}
return 0;
}
void interrupttimer0() interrupt 1
{
TH0 = 0XFC;
TL0 = 0X18;
P0 = 0XFF;
cnt++; //cnt放在中斷中了
switch(i)
{
case 0: JA=1;JB=1;JC=1;P0=ledbuff[i];i++;break;
case 1: JA=1;JB=1;JC=0;P0=ledbuff[i];i++;break;
case 2: JA=1;JB=0;JC=1;P0=ledbuff[i];i++;break;
case 3: JA=1;JB=0;JC=0;P0=ledbuff[i];i++;break;
case 4: JA=0;JB=1;JC=1;P0=ledbuff[i];i++;break;
case 5: JA=0;JB=1;JC=0;P0=ledbuff[i];i++;break;
case 6: JA=0;JB=0;JC=1;P0=ledbuff[i];i++;break;
case 7: JA=0;JB=0;JC=0;P0=ledbuff[i];i=0;break;
}
}
復(fù)制代碼
作者:
xianfajushi
時(shí)間:
2019-10-15 08:32
https://blog.csdn.net/xianfajushi/article/details/89448933
作者:
wulin
時(shí)間:
2019-10-15 10:01
主要是數(shù)據(jù)分解代碼有問(wèn)題,uint sec = 0;數(shù)據(jù)范圍0~65536,其次138位碼也有問(wèn)題,給你改好了。
無(wú)標(biāo)題.jpg
(139.45 KB, 下載次數(shù): 40)
下載附件
2019-10-15 09:59 上傳
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
//sbit LED = P0^0;
sbit JA = P2^2;
sbit JB = P2^3;
sbit JC = P2^4;
uchar code led[]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
uchar ledbuff[8]={0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f};
uint cnt = 0;
uint sec = 0;
uint y;
uchar i;
uchar x;
int main(void)
{
i=0;
TMOD = 0x01; //0000 0001
TH0 = 0XFC;
TL0 = 0X18;
TR0 = 1;
EA = 1;
ET0 = 1;
while(1)
{
if(cnt >=1000)
{
cnt=0;
sec++;//大于65535=0
y=sec;
for(x=0;x<=5;x++)
{
ledbuff[x]=led[y%10];
y/=10;
}
}
}
}
void interrupttimer0() interrupt 1
{
TH0 = 0XFC;
TL0 = 0X18;
cnt++; //cnt放在中斷中了
P0 = 0x00;//消隱
switch(i)
{
case 0: JA=1;JB=1;JC=1;break;
case 1: JA=0;JB=1;JC=1;break;
case 2: JA=1;JB=0;JC=1;break;
case 3: JA=0;JB=0;JC=1;break;
case 4: JA=1;JB=1;JC=0;break;
case 5: JA=0;JB=1;JC=0;break;
case 6: JA=1;JB=0;JC=0;break;
case 7: JA=0;JB=0;JC=0;break;
}
P0=ledbuff[i];
i++;
i%=8;
}
復(fù)制代碼
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1