欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
單片機(jī)足球補(bǔ)時(shí)牌proteus仿真與源碼
[打印本頁(yè)]
作者:
胡小舔
時(shí)間:
2018-10-15 17:00
標(biāo)題:
單片機(jī)足球補(bǔ)時(shí)牌proteus仿真與源碼
足球補(bǔ)時(shí)牌仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png
(20.99 KB, 下載次數(shù): 17)
下載附件
2018-10-15 17:07 上傳
0.png
(15.47 KB, 下載次數(shù): 19)
下載附件
2018-10-15 17:07 上傳
單片機(jī)源程序如下:
#include<reg51.h> //51單片機(jī)頭文件
#include<intrins.h> //51庫(kù)函數(shù)
#define uchar unsigned char //宏定義
#define uint unsigned int
sbit duan = P2^0;//段選接P2.0引腳
sbit wei = P2^1; //位選接P2.1引腳
sbit BUZZ = P2^3;
char second = 0; //計(jì)數(shù),時(shí)間(秒鐘)
char minute = 0; //計(jì)數(shù),時(shí)間(分鐘)
/****
共陰級(jí)
table[10]表示不顯示
table[11] 表示“-”
**************/
uchar code table[] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d,
0x7d, 0x07, 0x7f, 0x6f, 0x00, 0x40};
uchar s[8];
uchar delay = 1;
uchar n = 0;
uint th,tl;
uchar speak = 0; //標(biāo)識(shí)蜂鳴器是否開始發(fā)聲
void delayms(uint t) //延時(shí)函數(shù)
{
uint i,j;
for(i=0;i<t;i++)
for(j=0;j<110;j++);
}
void init()
{
EA = 1; //開全局中斷
EX0 = 1;//INT0中斷允許
IT0 = 1;//觸發(fā)方式為下降沿觸發(fā)
EX1 = 1;//INT0中斷允許
IT1 = 1;//觸發(fā)方式為下降沿觸發(fā)
TMOD = 0x19;
TH0 = 0x4C; //給定初值
TL0 = 0x00;
TH1 = 0xff; //給定初值
TL1 = 0x00;
ET0 = 1; //定時(shí)器中斷打開
ET1 = 1;
TR0 = 0; //不啟動(dòng)定時(shí)器中斷
TR1 = 0; //
}
void fun()
{
s[0] = table[second%10];
s[1] = table[second/10];
s[2] = table[11];
s[3] = table[11];
s[4] = table[minute%10];
if(minute/10!=0) s[5] = table[minute/10];
else s[5] = table[10];
}
void show()
{
uchar i;
uchar temp = 0xdf;
fun();
for(i=0;i<6;i++){
duan = 0;
wei = 0;
P0 = 0x00;
duan = 1;
P0 = s[i];
duan = 0;
P0 = 0xff;
wei = 1;
P0 = temp;
wei = 0;
temp = _cror_(temp, 1);
TH1 = 0xff;
TL1 = 0x00;
TR1 = 1; //延時(shí)
while(delay<1);
TR1 = 0;
delay = 0;
}
}
void main()
{
init();
while(1){
show();
if(speak==1){
duan = 1;
P0 = table[10];
duan = 0;
P0 = 0xff;
wei = 1;
P0 = 0x01;
wei = 0;
TR1 = 1;
th = (65535-50000)/256;
tl = (65536-50000)%256;
TH1 = th;
TL1 = tl;
delayms(10000);
TR1 = 0;
speak=0;
}
}
}
void IN_T0() interrupt 0
{
minute++;
if(minute > 19)
minute=19;
}
void IN_T1() interrupt 2
{
TR0 = 1;
}
void timer0() interrupt 1
{
TH0 = 0x4C; //給定初值
TL0 = 0x00;
n++;
if(n==20){
n = 0;
if(minute ==0 && second==0){
TR0 = 0;
speak = 1;
}
else if(second==0){
minute --;
second = 59;
}
else{
second--;
}
}
}
void timer1() interrupt 3
{
if(speak==1)
{
BUZZ = ~BUZZ;
TH1 = th; //給定初值
TL1 = tl;
}
delay=1;
}
復(fù)制代碼
所有資料51hei提供下載:
足球補(bǔ)時(shí)牌.zip
(71.67 KB, 下載次數(shù): 27)
2018-10-15 16:59 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
linjie_hei
時(shí)間:
2018-10-15 18:34
看起來不錯(cuò),感謝分享
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1