標(biāo)題:
單片機(jī)數(shù)碼管小程序:2組數(shù)碼管分別顯示加一和減一
[打印本頁(yè)]
作者:
騰飛的龍
時(shí)間:
2016-1-2 08:53
標(biāo)題:
單片機(jī)數(shù)碼管小程序:2組數(shù)碼管分別顯示加一和減一
/******************************************************
功能 :二組2位數(shù)碼管分別顯示1秒加一和減一
單片機(jī):STC12C5A60S2
晶振 :11.0582M
作者 :蘇義江
時(shí)間 :2016-1-2
注釋 :在大數(shù)碼管實(shí)驗(yàn)板實(shí)驗(yàn)通過,用定時(shí)器0定時(shí)
****************************************************/
#include <reg52.h>
//#include <intrins.h>
sbit wei= P0^6; //
sbit duan = P0^7; //
#define uchar unsigned char
#define uint unsigned int
uchar code table1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,
0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xBF};//共陽(yáng)LED段碼表
uchar code table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};//位碼
uchar t,a,b,c,d,shi=90,ge=0;//定義變量
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=610;y>0;y--);
}
void init()//定時(shí)器0初始化
{
TMOD=0X01;
TH0=0X4C;//11.0592M 50ms初值
TL0=0X00;
ET0=1;
TR0=1;
EA=1;
t=0;//計(jì)數(shù)初始為0
}
void display()//顯示函數(shù)
{
a=ge/10;
b=ge%10;
c=shi/10;
d=shi%10;
wei=1;
P2=0xfe;
wei=0;
duan=1;
P2=table1[a];
duan=0;
delay(5);
P2=0xff;
wei=1;
P2=0xfd;
wei=0;
duan=1;
P2=table1[b];
duan=0;
delay(5);
P2=0xff;
wei=1;
P2=0xfb;
wei=0;
duan=1;
P2=table1[c];
duan=0;
delay(5);
P2=0xff;
wei=1;
P2=0xf7;
wei=0;
duan=1;
P2=table1[d];
duan=0;
delay(5);
P2=0xff;
}
void main()
{
init();
while(1)
{
display();
}
}
void t0() interrupt 1//定時(shí)器0中斷服務(wù)函數(shù)
{
TH0=0X4C;
TL0=0X00;
t++;
if(t==20)//1秒到
{
t=0;//計(jì)數(shù)清零
ge++;
shi--;
if(ge==90)
ge=0;
if(shi==0)
shi=90;
}
}
復(fù)制代碼
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1