欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
單片機0-99秒表程序+電路(精確到0.1秒)
[打印本頁]
作者:
境s。
時間:
2018-12-8 17:02
標題:
單片機0-99秒表程序+電路(精確到0.1秒)
大二工科直女,單片機剛入坑,這是第一個全部由自己完成的處女作啦,在圖書館調試到腰酸背痛,但還是超級開心!!
我的單片機是淘寶買的學習板,所以電路圖直接發現有的咯
萌新們大家一起加油鴨~~
IMG20181208170115.jpg
(4.93 MB, 下載次數: 65)
下載附件
2018-12-8 17:01 上傳
單片機源程序如下:
#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit key2=P3^0;
sbit key3=P3^1;
sbit key4=P3^2;
sbit key5=P3^3;
sbit DU=P2^6;
sbit WE=P2^7;
uchar secs,sec, msec, usec;
uchar code tabel[]= {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F,};
void delay(uint z)
{
uint x,y;
for(x = z; x > 0; x--)
for(y = 114; y > 0 ; y--);
}
void display(uchar secs,sec,msec)
{
P0 = 0XFF;
WE = 1;
P0 = 0XFE;
WE = 0;
DU = 1;
P0 = tabel[secs];
DU = 0;
delay(5);
P0 = 0XFF;
WE = 1;
P0 = 0XFD;
WE = 0;
DU = 1;
P0 = tabel[sec];
DU = 0;
delay(5);
P0 = 0XFF;
WE = 1;
P0 = 0XFB;
WE = 0;
DU = 1;
P0 = tabel[msec];
DU = 0;
delay(5);
}
void dian()
{
P0 = 0XFF;
WE = 1;
P0 = 0XFD;
WE = 0;
DU = 1;
P0 = 0x80;
DU = 0;
delay(5);
}
void count()
{
if(usec == 10)
{
usec = 0;
msec++;
}
if(msec==10)
{
msec=0;
sec++;
}
if(sec==10)
{
sec=0;
secs++;
}
if(secs==10)
{
TR0=0;
TH0=0XDC;
TL0=0X00;
usec=0;
msec=0;
sec=0;
secs=0;
TR0=1;
}
}
void timer0() interrupt 1
{
TH0=0XDC;
TL0=0X00;
usec++;
count();
}
void init()
{
TMOD=0X01;
TH0=0XDC;
TL0=0X00;
EA=1;
ET0=1;
sec=0;
msec=0;
usec=0;
secs=0;
}
void keyscan()
{
if(key2==0)//判斷按鍵是否按下
{
delay(10);//延時10ms用以消抖
if(key2==0)//按鍵確實按下
{
while(key2==0)//松手檢測
{
display(secs,sec,msec);//還沒松手時,不斷刷新顯示函數,這樣數碼管就不會不顯示
}
TR0=1;//打開定時器0
}
}
if(key3==0)//判斷按鍵是否按下
{
delay(10);//延時10ms用以消抖
if(key3==0)//按鍵確實按下
{
while(key3==0)//松手檢測
{
TR0=0;//關閉定時器0
}
}
}
if(key4==0)//判斷按鍵是否按下
{
delay(10);//延時10ms用以消抖
if(key4==0)//按鍵確實按下
{
while(key4==0)//松手檢測
{
TR0=1;//關閉定時器0
}
}
}
if(key5==0)
{
delay(10);//延時10ms消抖
if(key5==0)//zero按鍵確實按下
{
TR0=0;//關閉定時器0
while(key5==0)//松手檢測
{
display(secs,sec,msec);//還沒松手時,不斷刷新顯示函數,這樣數碼管就不會不顯示
}
TH0=0; //重新裝初值
TL0=0;
sec=0;//初始化一下變量為默認的數值(0);
msec=0;
usec=0;
secs=0;
}
}
}
void main()
{
init();
while(1)
{ dian();
keyscan();
display(secs,sec,msec);
}
}
復制代碼
所有資料51hei提供下載:
秒表.rar
(22.78 KB, 下載次數: 29)
2018-12-8 17:00 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
開發板原理圖V3(1).pdf
(152.3 KB, 下載次數: 27)
2018-12-8 17:00 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
素質
時間:
2018-12-10 10:14
厲害了
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1