freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

單片機課程設計題目及答案畢業(yè)論文-資料下載頁

2025-06-18 07:10本頁面
  

【正文】 =0xff。P0=DSY_CODE[Num_Buffer[i]]。P2=j。DelayMS(1)。 }}//主程序void main(){uchar i。P0=0xff。P1=0xff。P2=0x00。Key_Code=0xff。while(1){Show_Counts_ON_DSY()。P1=0xff。Key_Code=P1。//有鍵按下時,數(shù)碼管刷新顯示 30 次,該行代碼同時起到延時作用if(Key_Code!=0xff)for(i=0。i30。i++) Show_Counts_ON_DSY()。switch(Key_Code){ case 0xfe: if(Key_Counts255) Key_Counts++。break。 case 0xfd: if(Key_Counts0) Key_Counts。break。 case 0xfb: Key_Counts=0。} Key_Code=0xff。}上海師范大學信息與機電工程學院—倪繼鋒15}《單片機 C 語言程序設計實訓 100 例基于8051 和 PROTEUS 仿真》案例16 4X4 矩陣鍵盤控制條形 LED 顯示/* 名稱:4X4 矩陣鍵盤控制條形 LED 顯示說明:運行本例時,按下 的 按 鍵 值 越 大 點 亮 的LED 越多。*/includeincludedefine uchar unsigned chardefine uint unsigned int//矩陣鍵盤按鍵特征碼表uchar code KeyCodeTable[]={0x11,0x12,0x14,0x18,0x21,0x22,0x24,0x28,0x41,0x42,0x44,0x48,0x81,0x82,0x84,0x88}。//延時void DelayMS(uint x){uchar i。while(x) for(i=0。i120。i++)。}//鍵盤掃描uchar Keys_Scan(){uchar sCode,kCode,i,k。//低 4 位置 0,放入 4 行P1=0xf0。//若高 4 位出現(xiàn) 0,則有鍵按下if((P1amp。0xf0)!=0xf0){DelayMS(2)。 if((P1amp。0xf0)!=0xf0){sCode=0xfe。 //行掃描碼初值for(k=0。k4。k++) //對 4 行分別進行掃描{ P1=sCode。 if((P1amp。0xf0)!=0xf0){ kCode=~P1。 for(i=0。i16。i++) //查表得到按鍵序號并返回if(kCode==KeyCodeTable[i]) 上海師范大學信息與機電工程學院—倪繼鋒16} 《單片機 C 語言程序設計實訓 100 例基于return(i)。8051 和 PROTEUS 仿真》案例}}} else sCode=_crol_(sCode,1)。}return(1)。//主程序void main(){uchar i,P2_LED,P3_LED。uchar KeyNo=1。 //按鍵序號,1 表示無按鍵while(1){KeyNo=Keys_Scan()。 //掃描鍵盤獲取按鍵序號 KeyNo if(KeyNo!=1){ P2_LED=0xff。P3_LED=0xff。for(i=0。i=KeyNo。i++)鍵值越大,點亮的 LED 越多{ if(i8)P3_LED=1。 else P2_LED=1。 } P3=P3_LED。 //點亮條形 LEDP2=P2_LED。 } }}17 數(shù)碼管顯示 4X4 矩陣鍵盤按鍵號/* 名稱:數(shù)碼管顯示 4X4 矩陣鍵盤按鍵號說明:按下任意鍵時,數(shù)碼管都會顯示其鍵的序號,掃描程序首先判斷按鍵發(fā)生在哪一列,然后根據(jù)所發(fā)生的行附加不同的值,從而得到按鍵的序號。*/上海師范大學信息與機電工程學院—倪繼鋒17include《單片機 C 語言程序設計實訓 100 例基于8051 和 PROTEUS 仿真》案例define uchar unsigned chardefine uint unsigned int//段碼uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, 0x88,0x83,0xc6,0xa1,0x86,0x8e,0x00}。sbit BEEP=P3^7。//上次按鍵和當前按鍵的序號,該矩陣中序號范圍 0~15,16 表示無按鍵uchar Pre_KeyNo=16,KeyNo=16。//延時void DelayMS(uint x){uchar i。while(x) for(i=0。i120。i++)。}//矩陣鍵盤掃描void Keys_Scan(){uchar Tmp。P1=0x0f。 //高 4 位置 0,放入 4 行DelayMS(1)。Tmp=P1^0x0f。//按鍵后 0f 變成 0000XXXX,X 中一個為 0,3 個仍為 1,通過異或把 3 個 1 變?yōu)?0,唯一的 0 變?yōu)?1switch(Tmp) //判斷按鍵發(fā)生于 0~3 列的哪一列{case 1: KeyNo=0。break。case 2: KeyNo=1。break。case 4: KeyNo=2。break。case 8: KeyNo=3。break。default:KeyNo=16。 //無鍵按下}P1=0xf0。 //低 4 位置 0,放入 4 列DelayMS(1)。Tmp=P14^0x0f。//按鍵后 f0 變成 XXXX0000,X 中有 1 個為 0,三個仍為 1;高 4 位轉移到低 4 位并異或得到改變的值switch(Tmp) //對 0~3 行分別附加起始值 0,4,8,12{case 1: KeyNo+=0。break。case 2: KeyNo+=4。break。case 4: KeyNo+=8。break。case 8: KeyNo+=12。}}//蜂鳴器void Beep()18上海師范大學信息與機電工程學院—倪繼鋒{uchar i。《單片機 C 語言程序設計實訓 100 例基于8051 和 PROTEUS 仿真》案例}for(i=0。i100。i++){DelayMS(1)。 BEEP=~BEEP。}BEEP=0。//主程序void main(){P0=0x00。BEEP=0。while(1){P1=0xf0。if(P1!=0xf0) Keys_Scan()。 //獲取鍵序號if(Pre_KeyNo!=KeyNo){ P0=~DSY_CODE[KeyNo]。Beep()。 Pre_KeyNo=KeyNo。} DelayMS(100)。}}18 開關控制 LED/* 名稱:開關控制 LED說明:開關 S1 和 S2 分別控制 LED1 和 LED2。*/includesbit S1=P1^0。 sbit S2=P1^1。 sbit LED1=P0^0。sbit LED2=P0^1。//主程序void main(){while(1){LED1=S1。上海師范大學信息與機電工程學院—倪繼鋒19}}LED2=S2。《單片機 C 語言程序設計實訓 100 例基于8051 和 PROTEUS 仿真》案例19 繼電器控制照明設備/* 名稱:繼電器控制照明設備說明:按下 K1 燈點亮,再次按下時燈熄滅*/includedefine uchar unsigned chardefine uint unsigned intsbit K1=P1^0。 sbit RELAY=P2^4。//延時void DelayMS(uint ms){uchar t。while(ms)for(t=0。t120。t++)。}//主程序void main(){P1=0xff。RELAY=1。while(1){if(K1==0){ while(K1==0)。 RELAY=~RELAY。 DelayMS(20)。 } }}20 數(shù)碼管顯示撥碼開關編碼/* 名稱:數(shù)碼管顯示撥碼開關編碼說明:系統(tǒng)顯示撥碼開關所設置的編碼 000~255 */includeincludedefine uchar unsigned char上海師范大學信息與機電工程學院—倪繼鋒20《單片機 C 語言程序設計實訓 100 例基于define uint unsigned int//各數(shù)字的數(shù)碼管段碼(共陰)8051 和 PROTEUS 仿真》案例uchar code DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。//顯示緩沖uchar DSY_Buffer[3]={0,0,0}。//延時void DelayMS(uint ms){uchar t。while(ms)for(t=0。t120。t++)。}//主程序void main(){uchar i,m,Num。P0=0xff。P2=0xff。while(1){m=0xfe。Num=P1。//讀取撥碼開關的值DSY_Buffer[0]=Num/100。DSY_Buffer[1]=Num/10%10。DSY_Buffer[2]=Num%10。for(i=0。i3。i++) //刷新顯示在數(shù)碼管上{ m=_crol_(m,1)。P2=m。 P0=DSY_CODE[DSY_Buffer[i]]。DelayMS(10)。 } }}21 開關控制報警器/* 名稱:開關控制報警器說明:用 K1 開關控制報警器,程序控制 輸出兩種不同頻率的聲音,模擬很逼真的報警效果*/includedefine uchar unsigned chardefine uint unsigned intsbit SPK=P1^0。sbit K1=P1^7。 //發(fā)聲函數(shù)上海師范大學信息與機電工程學院—倪繼鋒21void Alarm(uchar t){uchar i,j。《單片機 C 語言程序設計實訓 100 例基于8051 和 PROTEUS 仿真》案例}for(i=0。i200。i++){SPK=~SPK。for(j=0。jt。j++)。 //由參數(shù) t 行成不同的頻率}void main(){SPK=0。while(1){if(K1==1){ Alarm(90)。 Alarm(120)。} }}22 按鍵發(fā)音/* 名稱:按鍵發(fā)音說明:按下不同的按鍵會是 SOUNDER 發(fā)出
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1