欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
3種按鍵實現(xiàn)不同功能的單片機(jī)源程序
[打印本頁]
作者:
初學(xué)者小樂
時間:
2019-7-19 17:27
標(biāo)題:
3種按鍵實現(xiàn)不同功能的單片機(jī)源程序
此程序為本人以前剛學(xué)時候編寫的,還存在許多未經(jīng)優(yōu)化的地方,也沒有多少注釋,請多擔(dān)待。
功能如下:
1、按下k1,流水燈閃爍。
2、按下k2,開始從20開始計時。
3、按下k3,停止計時,開始累加。
[W8WPN[Q62QXM5XMT3[34.png
(102.03 KB, 下載次數(shù): 36)
下載附件
2019-7-19 17:27 上傳
以下為部分程序:
#include "reg52.h"
#include "intrins.h"
#define led P1 //定義LED
sbit k1=P0^0;
sbit k2=P0^1;
sbit k3=P0^2 ; //定義按鍵
char code smguan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //數(shù)字定義
#define num1 P2
#define num2 P3//定義數(shù)碼管管腳
int a=0,b=2;
int c=0;d=2;
void delay(int i)
{
while(i--);
}
void delay800ms() //誤差 0us
{
unsigned char a,b,c;
for(c=95;c>0;c--)
for(b=138;b>0;b--)
for(a=29;a>0;a--);
_nop_(); //if Keil,require use intrins.h
_nop_(); //if Keil,require use intrins.h
}
void twinkle()
{
if(k1==1) //檢測按鍵K1是否按下
{
delay(1000); //消除抖動 一般大約10ms
if(k1==1) //再次判斷按鍵是否按下
{
while(1)
{led=0xaa;
delay(50000);
led=~led; //led狀態(tài)取反
delay(50000);
if((k2==1)||(k3==1))break;
}
}
}
}
void Timer1Init()
{
TMOD|=0X10;//選擇為定時器1模式,工作方式1,僅用TR1打開啟動。
TH1=0XFC; //給定時器賦初值,定時1ms
TL1=0X18;
ET1=1;//打開定時器1中斷允許
EA=1;//打開總中斷
TR1=1;//打開定時器
}
void time()
{
if(k2==1) //檢測按鍵K2是否按下
{
delay(1000); //消除抖動 一般大約10ms
if(k2==1) //再次判斷按鍵是否按下
{
Timer1Init(); //定時器1初始化
}
}
}
void Timer1() interrupt 3
{
static int i;
TH1=0XFC; //給定時器賦初值,定時1ms
TL1=0X18;
i++;
if(i==1000)
{
i=0;
num2=smguan[a++];
num1=smguan[b];
if(a==10)
{
a=0;
if(b==5)
{
b=2;
}
else b++;
}
}
if((k1==1)||(k3==1))TR1=0;
}
void Timer0Init()
{
TMOD|=0X01;//選擇為定時器0模式,工作方式1,僅用TR0打開啟動。
TH0=0XFC; //給定時器賦初值,定時1ms
TL0=0X18;
ET0=1;//打開定時器0中斷允許
EA=1;//打開總中斷
TR0=1;//打開定時器
}
void leijia()
{
while(1){
if(k3==1) //檢測按鍵K1是否按下
{
delay(80); //消除抖動 一般大約10ms
if(k3==1) //再次判斷按鍵是否按下
{ num2=smguan[c];
num1=smguan[d];
c=c+1;
if(c==10)
{
c=0;
if(d==5)
{
d=2;
}
else d=d+1;
}
}
}delay(20000);
if((k1==1)||(k2==1)){c=0;d=2;break;}
}
}
void main()
{
while(1)
{
twinkle();
time();
leijia();
}
}
復(fù)制代碼
新建 Microsoft Word 文檔.docx
(15.15 KB, 下載次數(shù): 5)
2019-7-19 17:27 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1