我是個初學者這,個是自己編寫的,帶仿真
仿真.png (179.74 KB, 下載次數: 92)
下載附件
2017-12-20 19:53 上傳
單片機控制數碼管顯示顯示組號 倒計時與分數
0.png (5.42 KB, 下載次數: 106)
下載附件
2017-12-20 23:47 上傳
單片機源程序如下:
- #include<reg51.h>
- #define uchar unsigned char
- uchar duanma [10] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
- uchar weima [6] = {0x01,0x02,0x04,0x08,0x10,0x20};
- uchar xianshi[6] = {0,0,0,0,0,0};
- uchar cj [9]= {0,0,0,0,0,0,0,0,0};
- uchar jishu1,jishu2,zuhao,daojishi,miao,jifen,chengji;
- bit qiangda=1;
- sbit k1=P0^0;
- sbit k2=P0^1;
- sbit k3=P0^2;
- sbit k4=P0^3;
- sbit k5=P0^4;
- sbit k6=P0^5;
- sbit k7=P0^6;
- sbit k8=P0^7;
- sbit chafen=P3^4;
- sbit jianfen=P3^5;
- sbit jiafen=P3^6;
- sbit fuwei=P3^7;
- sbit fengming=P3^2;
- void yanshi10ms()
- {
- unsigned char i,j;
- for(i=20;i>0;i--)
- for(j=250;j>0;j--);
- }
- void chushihua()
- {
- TMOD=0x11;
- TH0=(65536-10000)/256;
- TL0=(65536-10000)%256;
- TH1=(65536-1000)/256;
- TL1=(65536-1000)%256;
- EA=1;
- ET0=1;
- TR0=1;
- ET1=1;
- }
- void main(void)
- {
- chushihua();
- while(1)
-
- { //蜂鳴器控制
- if(daojishi==20)
- {
- TR1=1;
- }
- if (daojishi==19)
- {
- TR1=0;
- }
- if(daojishi==1)
- {
- TR1=1;
- }
- if (daojishi==0)
- {
- TR1=0;
- }
-
-
- if(fuwei==0) //按鈕 復位
- {
- yanshi10ms();
- if(fuwei==0)
- {
- qiangda=0;
- zuhao=0;
- daojishi=0;
- chengji=0;
- }
- while(fuwei==0);
- }
- if(jiafen==0) //加減分
- {
- yanshi10ms();
- if(jiafen==0)
- {
- cj[zuhao]=cj[zuhao]+10;
- if(cj[zuhao]>=100)
- {
- cj[zuhao]=90;
- }
- chengji=cj[zuhao];
- while(jiafen==0) ;
- }
- }
- if(jianfen==0) //加減分
- {
- yanshi10ms();
- if(jianfen==0)
- {
- cj[zuhao]=cj[zuhao]-10;
- if(cj[zuhao]==-10)
- {
- cj[zuhao]=0;
- }
- chengji=cj[zuhao];
- while(jianfen==0) ;
- }
- }
-
-
-
-
- if(chafen==0) //查分
- {
- zuhao++;
- if(zuhao==9)zuhao=1;
- chengji=cj[zuhao];
- while(chafen==0);
- }
- if(qiangda==0)
- {
- if(k1==0)
- {
- yanshi10ms();
- if(k1==0)
- {
- zuhao=1;
- daojishi=20;
- qiangda=1;
- }
- while(k1==0) ;
- }
- if(k2==0)
- {
- yanshi10ms();
- if(k2==0)
- {
- zuhao=2;
- daojishi=20;
- qiangda=1;
- }
- while(k2==0);
- }
- if(k3==0)
- {
- yanshi10ms();
- if(k3==0)
- {
- zuhao=3;
- daojishi=20;
- qiangda=1;
- }
- while(k3==0);
- }
- if(k4==0)
- {
- yanshi10ms();
- if(k4==0)
- {
- zuhao=4;
- daojishi=20;
- qiangda=1;
- }
- while(k4==0);
- }
- if(k5==0)
- {
- yanshi10ms();
- if(k5==0)
- {
- zuhao=5;
- daojishi=20;
- qiangda=1;
- }
- while(k5==0);
- }
- if(k6==0)
- {
- yanshi10ms();
- if(k6==0)
- {
- zuhao=6;
- daojishi=20;
- qiangda=1;
- }
- while(k6==0);
- }
- if(k7==0)
- {
- yanshi10ms();
- if(k7==0)
- {
- zuhao=7;
- daojishi=20;
- qiangda=1;
- }
- while(k7==0);
- }
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
八路搶答器.zip
(70.34 KB, 下載次數: 64)
2017-12-20 19:14 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|