1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉
標題:
求一個動態(tài)數(shù)碼管顯示0-7從左到右來回顯示的程序 用定時器中斷
[打印本頁]
作者:
a89588038
時間:
2018-8-1 09:45
標題:
求一個動態(tài)數(shù)碼管顯示0-7從左到右來回顯示的程序 用定時器中斷
請教大神
這是個數(shù)碼管顯示0-7的程序,怎么改為動態(tài)數(shù)碼管顯示0-7從左到右來回顯示的程序 用定時器中斷。
#include "reg52.h"
typedef unsigned int u16;
typedef unsigned char u8;
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void Timer0Init()
{
TMOD|=0X01;
TH0=0XFC;
TL0=0X18;
ET0=1;
EA=1;
TR0=1;
}
void main()
{
Timer0Init();
while(1)
{
}
}
void Timer0() interrupt 1
{ u8 i;
static u16 j;
TH0=0XFC;
TL0=0X18;
// j++;
for(i=0;i<8;i++)
{
switch(i)
{
case(0):
LSA=0;LSB=0;LSC=0; break;
case(1):
LSA=1;LSB=0;LSC=0; break;
case(2):
LSA=0;LSB=1;LSC=0; break;
case(3):
LSA=1;LSB=1;LSC=0; break;
case(4):
LSA=0;LSB=0;LSC=1; break;
case(5):
LSA=1;LSB=0;LSC=1; break;
case(6):
LSA=0;LSB=1;LSC=1; break;
case(7):
LSA=1;LSB=1;LSC=1; break;
}
P0=smgduan[i];
for (j=20;j>0;j--);
P0=0x00;
}
}
作者:
a89588038
時間:
2018-8-18 15:37
已經(jīng)研究出來,在板上可以跑起來,分享給大家,有哪里寫的不好的幫我指出來
作者:
a89588038
時間:
2018-8-18 15:38
已經(jīng)研究出來,在板上可以跑起來,分享給大家,有哪里寫的不好的幫我指出來
#include "reg52.h"
typedef unsigned int u16;
typedef unsigned char u8;
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void delay(u16 i)
{
while(i--);
}
void DigDisplay()
{
u8 i;
int j;
for(i=0;i<8;i++)
{
switch(i)
{
case(0):
LSA=0;LSB=0;LSC=0; break;
case(1):
LSA=1;LSB=0;LSC=0; break;
case(2):
LSA=0;LSB=1;LSC=0; break;
case(3):
LSA=1;LSB=1;LSC=0; break;
case(4):
LSA=0;LSB=0;LSC=1; break;
case(5):
LSA=1;LSB=0;LSC=1; break;
case(6):
LSA=0;LSB=1;LSC=1; break;
case(7):
LSA=1;LSB=1;LSC=1; break;
}
P0=smgduan[i];
delay(65535);
P0=0x00;
}
for(j=7;j>=0;j--)
{
switch(j)
{
case(0):
LSA=0;LSB=0;LSC=0; break;
case(1):
LSA=1;LSB=0;LSC=0; break;
case(2):
LSA=0;LSB=1;LSC=0; break;
case(3):
LSA=1;LSB=1;LSC=0; break;
case(4):
LSA=0;LSB=0;LSC=1; break;
case(5):
LSA=1;LSB=0;LSC=1; break;
case(6):
LSA=0;LSB=1;LSC=1; break;
case(7):
LSA=1;LSB=1;LSC=1; break;
}
P0=smgduan[j];
delay(65535);
P0=0x00;
}
}
void main()
{
while(1)
{
DigDisplay();
}
}
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1