/* 名稱:用定時器設(shè)計的門鈴說明:按下按鍵時蜂鳴器發(fā)出叮咚的門鈴聲。*/#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit Key=P1^7;sbit DoorBell=P3^0;uint p=0;//主程序void main
/* 名稱:按鍵控制 8X8LED 點陣屏顯示圖形說明:每次按下 K1 時,會使 8X8LED點陣屏循環(huán)顯示不同圖形。本例同時使用外部中斷和定時中斷。*/#include<reg51.h>#include<intrins.h>#define uchar unsigned char#d
/* 名稱:按鍵控制 8X8LED 點陣屏顯示圖形說明:每次按下 K1 時,會使 8X8LED點陣屏循環(huán)顯示不同圖形。本例同時使用外部中斷和定時中斷。*/#include<reg51.h>#include<intrins.h>#define uchar unsigned char#d
/* 名稱:定時器控制數(shù)碼管動態(tài)顯示說明:8 個數(shù)碼管上分兩組動態(tài)顯示年月日與時分秒,本例的位顯示延時用定時器實現(xiàn)。*/#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned i
/* 名稱:100 000s 以內(nèi)的計時程序說明:在 6 只數(shù)碼管上完成 0~99 999.9s。*/#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned int//段碼uchar codeDSY_CODE[]={0x3f,0x06,
/* 名稱:用計數(shù)器中斷實現(xiàn) 100 以內(nèi)的按鍵計數(shù)說明:本例用 T0 計數(shù)器中斷實現(xiàn)按鍵技術(shù),由于計數(shù)寄存器初值為 1,因此 P3.4 引腳的每次負(fù)跳變都會觸發(fā) T0 中斷,實現(xiàn)計數(shù)值累加。計數(shù)器的清零用外部中斷 0 控制
/* 名稱:10s 的秒表 說明:首次按鍵計時開始,再次按鍵暫停,第三次按鍵清零。*/#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit K1=P3^7; uchari,Second_Counts,Key_Flag_Idx
標(biāo)準(zhǔn)的C語言中沒有空語句。但在單片機的C語言編程中,經(jīng)常需要用幾個空指令產(chǎn)生短延時的效果。這在匯編語言中很容易實現(xiàn),寫幾個nop就行了。在keil C51中,直接調(diào)用庫函數(shù):#include // 聲明了void _nop_(void);_nop
/* 名稱:TIMER0 與 TIMER1 控制條形 LED說明:定時器 T0 定時控制上一組條形 LED,滾動速度較快定時器 T1 定時控制下一組條形 LED,滾動速度較慢*/#include<reg51.h>#include<intrins.h>#define uchar unsigned ch
/* 名稱:T0 控制 LED 實現(xiàn)二進(jìn)制計數(shù)說明:本例對按鍵的計數(shù)沒有使用查詢法,沒有使用外部中斷函數(shù),沒有使用定時或計數(shù)中斷函數(shù)。而是啟用了計數(shù)器,連接在 T0 引腳的按鍵每次按下時,會使計數(shù)寄存器的值遞增,其
/* 名稱:定時器控制 4 個 LED 滾動閃爍說明:4 只 LED 在定時器控制下滾動閃爍。*/#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit B1=P0^0; sbit G1=P0^1; sbit R1=P0^2; sbit Y1=P0
/* 名稱:TIMER0 控制流水燈說明:定時器控制 P0、P2口的 LED 滾動顯示,本例未使用中斷函數(shù)。*/#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned int//主程序void main(){u
/* 名稱:定時器控制單只 LED說明:LED 在定時器的中斷例程控制下不斷閃爍。*/#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit LED=P0^0; uchar T_Count=0; //主程序void main(){ TMOD
程序能跑起來并不見得你的代碼就是很好的c代碼了,衡量代碼的好壞應(yīng)該從以下幾個方面來看1,代碼穩(wěn)定,沒有隱患。2,執(zhí)行效率高。3,可讀性高。4,便于移植。下面發(fā)一些我在網(wǎng)上看到的技巧和自己的一些經(jīng)驗來和大家分
/* 名稱:INT0 及 INT1 中斷計數(shù)說明:每次按下第 1 個計數(shù)鍵時,第 1 組計數(shù)值累加并顯示在右邊 3 只數(shù)碼管上, 每次按下第 2 個計數(shù)鍵時,第2 組計數(shù)值累加并顯示在左邊 3 只數(shù)碼管上,后兩個按鍵分別清零。*/#in
/* 名稱:外部 INT0 中斷控制 LED說明:每次按鍵都會觸發(fā) INT0 中斷,中斷發(fā)生時將 LED 狀態(tài)取反,產(chǎn)生 LED 狀態(tài)由按鍵控制的效果*/#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit LE
/* 名稱:INT0 中斷計數(shù)說明:每次按下計數(shù)鍵時觸發(fā)INT0 中斷,中斷程序累加計數(shù),計數(shù)值顯示在 3 只數(shù)碼管上,按下清零鍵時數(shù)碼管清零*/#include<reg51.h>#define uchar unsigned char#define uint unsigned int//
/* 名稱:播放音樂說明:程序運行時播放生日快樂歌, 未使用定時器中斷,所有頻率完全用延時實現(xiàn)*/#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit BEEP=P3^7;//生日快樂歌的音符頻率表
/* 名稱:按鍵發(fā)音說明:按下不同的按鍵會是 SOUNDER 發(fā)出不同頻率的聲音。本例使用延時函數(shù)實現(xiàn)不同頻率的聲音輸出,以后也可使用定時器*/#include<reg51.h>#define uchar unsigned char#define uint unsigned int
/* 名稱:開關(guān)控制報警器說明:用 K1 開關(guān)控制報警器,程序控制 P1.0 輸出兩種不同頻率的聲音,模擬很逼真的報警效果*/#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit SPK=P1^0;sbit