亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
單片機脈沖頻率計代碼
[打印本頁]
作者:
hrui
時間:
2021-8-11 15:57
標題:
單片機脈沖頻率計代碼
脈沖信號由AT89C51的P3.5輸入,由單片機測量出脈沖信號的頻率,并由4位數碼管顯示,具體電路如圖5-19 所示。P1.0腳外接一開關key,按一下key則進行頻率測試。其效果見如圖5-19——頻率7.458K的脈沖測試結果顯示。
1.png
(12.88 KB, 下載次數: 64)
下載附件
2021-8-11 16:07 上傳
軟件代碼
/*****脈沖信號由P3.5輸入,按下key顯示其頻率*****/
#include<reg51.h> //定義8051寄存器的頭文件
sbit KEY=P1^0;//聲明開關接于P1.0腳
unsigned char TAB[11]={
0xc0,0xf9,0xa4,0xb0,0x99, //數字0~4
0x92,0x82,0xf8,0x80,0x90, //數字5~9
0xbf};//"-"號
unsigned char disp[4];//聲明顯示區數組
unsigned char times = 0;
/********聲明基本變量*******/
bit status_F = 1; //是否完成測量狀態標志位
unsigned char scan = 0X01; //掃描信號
unsigned int freq = 0; //頻率數值變量
sfr16 DPTR = 0X82; //聲明DPTR
/*****函數聲明*****/
void delayms(int);
void measure(void);
void display(int);
/******主程序*****/
main(){
while(1){
if(KEY==0){ //按鍵按下開始測量
delayms(20);//延時消抖
if(KEY==0){ //確認按鍵按下
status_F=0;
startmeasure();
while(status_F==0);//等待1S時間到
}
}
display(freq);
}
}
/*********開始測量函數***********/
void startmeasure(){
P3=0XFF;
IE=0X82; //啟用T0、T1中斷
TMOD=0X51;//T1為計數器,T0為定時器,均為方式1
TH0=(65536-50000)/256 //定時器初值的高8位
TL0=(65536-50000)%256 //定時器初值的低8位
TH1=0;TL1=0;//設置T1歸零
TR0=1;TR1=1;//啟動T0、T1
}
/*********T0中斷服務程序,定時時間50mS***********/
void T0_int () interrupt1{
TH0=(65536-50000)/256 //定時器初值的高8位
TL0=(65536-50000)%256 //定時器初值的低8位
if(++times==20){ //若1S時間到
times=0; //重新計次
status_F=1; //完成測量
TR1=0,TR0=0; //關閉T1、T0
DPL=TL1;DPH=TH1; //脈沖計數值高、低8位
freq=DPTR;//脈沖計數值存入freq變量
}
}
/***********顯示函數*************/
void display(int dat){
uchar i;
if(dat>=10000){ //若計數值大于10K,即頻率超過10KHz
disp[0]=TAB[10];//負號填入千位數顯示區
disp[1]=TAB[10];//負號填入百位數顯示區
disp[2]=TAB[dat/10000];//計數值的"萬"位填入十位顯示區
disp[3]=TAB[(dat/1000)%10];//計數值的"千"位填入個位顯示區
}
else{ //頻率低于10KHz
disp[0]=TAB[(dat/1000)%10];//填入千位數顯示區
disp[1]=TAB[(dat/100)%10]; //填入百位數顯示區
disp[2]=TAB[(dat/10)%10]; //填入十位數顯示區
disp[3]=TAB[dat%10]; //填入個位數顯示區
}
P3=0x01;//初始掃描信號
for(i=0;i<4;i++){//掃描4次
P2 =0XFF; //關閉7段LED數碼管
P3=~scan;//輸出掃描信號
P2=disp[ i];//[ i]輸出顯示信號
delayms(4);//延時4ms
P3<<=1; //下一個掃描信號
}
}
復制代碼
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1