欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
單片機8個鍵的次數(shù)檢測 源程序 原理圖與Proteus仿真 代碼注釋很詳細(xì)
[打印本頁]
作者:
51黑電子迷
時間:
2017-5-7 20:51
標(biāo)題:
單片機8個鍵的次數(shù)檢測 源程序 原理圖與Proteus仿真 代碼注釋很詳細(xì)
下面是單片機8個鍵的次數(shù)檢測的proteus仿真原理圖(工程文件可到本帖附件中下載):
0.png
(18.53 KB, 下載次數(shù): 80)
下載附件
2017-5-7 20:48 上傳
單片機源程序:
//#include <reg51.h>
#include<STC12C5A60S2.H>
#define uchar unsigned char
void delay(uchar);
sbit k8=P1^0;
sbit k7=P1^1;
sbit k6=P1^2;
sbit k5=P1^3;
sbit k4=P1^4;
sbit k3=P1^5;
sbit k2=P1^6;
sbit k1=P1^7;
/*
// 檢測單鍵次數(shù)
main()
{ //m1:m0 00=標(biāo)準(zhǔn); 01=推挽; 10=輸入; 11=開漏輸出
uchar num;
P1M1 = 0Xff;
P1M0 = 0X00; //設(shè)定P1輸入
P2M1 = 0X00;
P2M0 = 0Xff; //設(shè)定P2推挽輸出
num=0; //次數(shù)初始化為0
while(1)
{
if(!k3) //檢測K3是否被按下
{
//已被按下
num++; // 次數(shù)加1
P2=~num; // 顯示次數(shù)
delay(200); // 延時200MS
}
}
}
*/
//檢測8個鍵的次數(shù)
main()
{ //m1:m0 00=標(biāo)準(zhǔn); 01=推挽; 10=輸入; 11=開漏輸出
uchar num[8]={0,0,0,0,0,0,0,0}; //各鍵的次數(shù)初始化為0
uchar key=0;
P1M1 = 0Xff;
P1M0 = 0X00; //設(shè)定P1輸入
P2M1 = 0X00;
P2M0 = 0Xff; //設(shè)定P2推挽輸出
// num=0; //次數(shù)初始化為0
while(1)
{
key=P1^0x80;//k2這個腳反了,需要取反
///////////////////////
if(key!=0xff) //檢測K3是否被按下
{
//已被按下
switch(key)
{
case 0xfe: //k8被按下
num[0]++; // 次數(shù)加1
P2=~num[0]; // 顯示次數(shù)
delay(200); // 延時200MS
break;
case 0xfd: //k7被按下
num[1]++; // 次數(shù)加1
P2=~num[1]; // 顯示次數(shù)
delay(200); // 延時200MS
break;
case 0xfb: //k6被按下
num[2]++; // 次數(shù)加1
P2=~num[2]; // 顯示次數(shù)
delay(200); // 延時200MS
break;
case 0xf7: //k5被按下
num[3]++; // 次數(shù)加1
P2=~num[3]; // 顯示次數(shù)
delay(200); // 延時200MS
break;
case 0xef: //k4被按下
num[4]++; // 次數(shù)加1
P2=~num[4]; // 顯示次數(shù)
delay(200); // 延時200MS
break;
case 0xdf: //k3被按下
num[5]++; // 次數(shù)加1
P2=~num[5]; // 顯示次數(shù)
delay(200); // 延時200MS
break;
case 0xbf: //k2被按下
num[6]++; // 次數(shù)加1
P2=~num[6]; // 顯示次數(shù)
delay(200); // 延時200MS
break;
case 0x7f: //k1被按下
num[7]++; // 次數(shù)加1
P2=~num[7]; // 顯示次數(shù)
delay(200); // 延時200MS
break;
default:
break;
}
} //*/
}
}
void delay(uchar k )
{
uchar x,y,z;
for(x=k;x>0;x--)
for(y=20;y>0;y--)
for(z=250;z>0;z--);
}
復(fù)制代碼
給大家分享一些我們老師給的一些經(jīng)典的單片機程序源碼, 一共有十多個.都有詳細(xì)的注釋,然大家快速的理解每一行代碼的意思。而且有proteus仿真原理圖。大家可以直接驗證程序的對錯.
本系列所有源碼打包下載地址(含proteus仿真工程文件和源程序):
http://www.raoushi.com/bbs/dpj-82474-1.html
本例程下載:
keytest.rar
(53.32 KB, 下載次數(shù): 9)
2017-5-7 20:49 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1