/* 名稱:ADC0809 數(shù)模轉(zhuǎn)換與顯示說明:ADC0809 采樣通道 3 輸入的模擬量,轉(zhuǎn)換后的結(jié)果顯示在數(shù)碼管上。*/#include<reg51.h>#define uchar unsigned char#define uint unsigned int//各數(shù)字的數(shù)碼管段碼(共陰)uc
/* 名稱:用 ADC0808 控制 PWM 輸出說明:使用數(shù)模轉(zhuǎn)換芯片 ADC0808,通過調(diào)節(jié)可變電阻 RV1 來調(diào)節(jié)脈沖寬度,運行程序時,通過虛擬示波器觀察占空比的變化。*/#include<reg51.h>#define uchar unsigned char#define
/* 名稱:單片機與 PC 通信說明:單片機可接收 PC 發(fā)送的數(shù)字字符,按下單片機的K1 鍵后,單片機可向 PC 發(fā)送字符串。在 Proteus 環(huán)境下完成本 實 驗 時 , 需 要 安 裝 Virtual Serial Port Driver 和串口調(diào)試助手
/* 名稱:單片機向主機發(fā)送字符串說明:單片機按一定的時間間隔向主機發(fā)送字符串,發(fā)送內(nèi)容在虛擬終端顯示。*/#include<reg51.h>#define uchar unsigned char#define uint unsigned int//延時void DelayMS(uint ms)
/* 名稱:甲機串口程序說明:甲機向乙機發(fā)送控制命令字符,甲機同時接收乙機發(fā)送的數(shù)字,并顯示在數(shù)碼管上。*/#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit LED1=P1^0; sbit LED2
/* 名稱:甲機發(fā)送控制命令字符說明:甲單片機負責向外發(fā)送控制命令字符“A”、“B”、“C”,或者停止發(fā)送,乙機根據(jù)所接收到的字符完成 LED1 閃爍、LED2 閃爍、雙閃爍、或停止閃爍
/* 名稱:報警與旋轉(zhuǎn)燈說明:定時器控制報警燈旋轉(zhuǎn)顯示,并發(fā)出仿真警報聲。*/#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit SPK=P3^7;uchar FRQ=0x00; //延時
/* 名稱:按鍵控制定時器選播多段音樂說明:本例內(nèi)置 3 段音樂,K1 可啟動停止音樂播放,K2 用于選擇音樂段。*/#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit
/* 名稱:演奏音階說明:本例使用定時器演奏一段音階,播放由 K1 控制。*/#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit K1=P1^0; sbit SPK=P3^4; uint i=0; //音符索引//14 個
/* 名稱:用定時器設計的門鈴說明:按下按鍵時蜂鳴器發(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
/* 名稱: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ù)寄存器初值為 1,因此 P3.4 引腳的每次負跳變都會觸發(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
/* 名稱:T0 控制 LED 實現(xiàn)二進制計數(shù)說明:本例對按鍵的計數(shù)沒有使用查詢法,沒有使用外部中斷函數(shù),沒有使用定時或計數(shù)中斷函數(shù)。而是啟用了計數(shù)器,連接在 T0 引腳的按鍵每次按下時,會使計數(shù)寄存器的值遞增,其
/* 名稱: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