久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1592|回復(fù): 0
收起左側(cè)

AT89c51單片機(jī)設(shè)計(jì)8路搶答器

[復(fù)制鏈接]
ID:718099 發(fā)表于 2020-3-29 13:39 | 顯示全部樓層 |閱讀模式
源程序如下

#include<at89x51.h>
#define uchar unsigned char
#define uint unsigned int
sbit k1=P1^7;
unsigned char code disp_code[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x00,0x40};
uchar biaozhi,xuanshou,s,z,z1,tiaoshi,bianliang1,bianliang2;
signed char time[]={0,0};
void delay(uint x)           //延時(shí)函數(shù)
{
uint i,j;
for(i=x;i>0;i--)
for(j=125;j>0;j--);
}
void xianshi()        //顯示函數(shù)
{
P3_6=1;
P3_0=0;
P3_7=1;
P0=disp_code[xuanshou];
delay(5);
if(xuanshou!=10)
{
P3_0=1;
P3_6=0;
P3_7=1;
P0=disp_code[time[0]/10];
delay(5);
P3_0=1;
P3_6=1;
P3_7=0;
P0=disp_code[time[0]%10];
delay(5);
}
if(tiaoshi==1)
{
P3_0=1;
P3_6=0;
P3_7=1;
P0=disp_code[time[1]/10];
delay(5);
P3_0=1;
P3_6=1;
P3_7=0;
P0=disp_code[time[1]%10];
delay(5);
}
P3_0=1;
P3_6=1;
P3_7=1;
}
void anjian()                //按鍵的識別和代碼的輸出
{
if(biaozhi==1)
{
if(P2!=0xff)
{
if(P2_0==0)
{
xuanshou=1;
}
if(P2_1==0)
{
xuanshou=2;
}
if(P2_2==0)
{
xuanshou=3;
}
if(P2_3==0)
{
xuanshou=4;
}
if(P2_4==0)
{
xuanshou=5;
}
if(P2_5==0)
{
xuanshou=6;
}
if(P2_6==0)
{
xuanshou=7;
}
if(P2_7==0)
{
xuanshou=8;
}
s=0;
time[0]=bianliang2;
biaozhi=2;
}
}
if(biaozhi==0)
{
if(P2!=0xff)
{
TR1=1;
}
}
}
void int1(void) interrupt 3                //蜂鳴器驅(qū)動函數(shù)的設(shè)計(jì)
{
k1=0;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
z++;
if(z==5)
{
z=0;
z1++;
k1=~k1;
}
if(z1==3)
{
k1=1;
z1=0;
TR1=0;
biaozhi=0;
xuanshou=10;
}
}
void int4(void) interrupt 0        //調(diào)節(jié)搶答時(shí)間函數(shù)               
{
biaozhi=3;
tiaoshi=0;
xuanshou=12;
time[0]++;
bianliang1=time[0];
}
void int5(void) interrupt 2        //調(diào)節(jié)做題時(shí)間函數(shù)
{
tiaoshi=1;
biaozhi=3;
xuanshou=10;
time[1]++;
bianliang2=time[1];
}
void int0(void) interrupt 1                //中斷遞增
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
s++;
if(s==20)
{
s=0;
time[0]--;
}
if(time[0]==0)         
{
time[0]=0;
TR0=0;
TR1=1;
}}
void main()//主函數(shù)
{
IT0=1;        //開啟外部中斷0和1,用來控制強(qiáng)大時(shí)間和做題時(shí)間
EX0=1;
IT1=1;
EX1=1;
TMOD=0x11;        //定時(shí)中斷的初始化
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
TF1=0;
ET1=1;
TF0=0;
EA=1;
ET0=1;
xuanshou=10;        //xuanshou=10 是讓其顯示“--”
P2=0xff;
P1_7=1;
while(1)        //死循環(huán)
{
if(biaozhi!=3)        //判斷主持開始搶答鍵是否按下
{
if(P3_1==0)
{
delay(2);
if(P3_1==0)
{
time[0]=bianliang1;                //把調(diào)節(jié)好的搶答時(shí)間代入顯示time[0]
TR0=1;
biaozhi=1;
xuanshou=11;
}}}
if(P1_2==0)                  //判斷是否按下調(diào)節(jié)時(shí)間 的確定按鈕
{
delay(2);
if(P1_2==0)
{
TR0=0;
TR1=0;
biaozhi=0;
tiaoshi=0;
xuanshou=10;
}}
if(P1_4==0)
{
delay(150);
if(P1_4==0)
{
biaozhi=3;
tiaoshi=0;
xuanshou=12;
time[0]--;
if(time[0]<=0)
{
time[0]=0;
}}}
if(P1_5==0)
{
delay(150);
if(P1_5==0)
{
tiaoshi=1;
biaozhi=3;
xuanshou=10;
time[1]--;
if(time[1]<=0)
{
time[1]=0;
}} }
anjian();
xianshi();
}}

文檔.doc

932.71 KB, 下載次數(shù): 5, 下載積分: 黑幣 -5

回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美色综合 | 日韩一区在线观看视频 | 天天操夜夜操 | 久久精品国产一区二区电影 | 亚洲精品久久久久久久久久久 | 狠狠色综合网站久久久久久久 | 国产视频一区二区 | 欧美久久久久久久 | 久久精品亚洲精品国产欧美 | 亚洲高清在线 | 欧美精品v | 国产精品久久久久久久久久不蜜臀 | 亚洲一区 中文字幕 | 精品国产欧美 | 国产亚洲精品综合一区 | 午夜欧美 | 人操人人 | 成年人国产在线观看 | 精品国产欧美一区二区三区成人 | 国产精品一区在线观看你懂的 | 日韩中文一区二区三区 | 断背山在线观看 | 毛片免费观看 | 尤物视频在线免费观看 | 又黑又粗又长的欧美一区 | 午夜一区 | 久久伊人影院 | 久热精品免费 | 亚洲成av人片在线观看 | 丝袜美腿一区二区三区 | 涩爱av一区二区三区 | 精品国产一二三区 | 国产精品99久久久久久www | 亚洲高清视频一区二区 | 午夜精品一区二区三区在线视频 | 婷婷五月色综合香五月 | av网站免费在线观看 | 成人免费一区二区三区视频网站 | 欧洲精品久久久久毛片完整版 | 国产精品永久免费 | 亚洲一区二区在线 |