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

正文內(nèi)容

基于51單片機的c語言程序設計(留存版)

2025-08-08 16:36上一頁面

下一頁面
  

【正文】 P2=wei。 } }}09 8只數(shù)碼管閃爍顯示數(shù)字串電路如上圖/* 名稱:8只數(shù)碼管閃爍顯示數(shù)字串 說明:數(shù)碼管閃爍顯示由0~7構(gòu)成的一串數(shù)字 本例用動態(tài)刷新法顯示一串數(shù)字,在停止刷新時所有數(shù)字顯示消失。 } } P2=0x00。 P2=m。 //最近按鍵 P0=0xfe。 while(x) for(i=0。} //主程序void main(){ uchar k,t,Key_State。 case 3: P0=0x0f。 P2=DSY_Index[i]。 for(i=1。 Num_Buffer[0]=Key_Counts%10。 //有鍵按下時,數(shù)碼管刷新顯示30次,該行代碼同時起到延時作用 if(Key_Code!=0xff) for(i=0。 //低4位置0,放入4行 P1=0xf0。 uchar KeyNo=1。i120。 //低4位置0,放入4列 DelayMS(1)。 BEEP=0。//延時void DelayMS(uint ms){ uchar t。 P0=0xff。 for(i=0。 while(x) for(t=0。//生日快樂歌的音符頻率表,不同頻率由不同的延時來決定uchar code SONG_TONE[]={212,212,190,212,159,169,212,212,190,212,142,159, 212,212,106,126,159,169,190,119,119,126,159,142,159,0}。 while(1) { PlayMusic()。 P2=0x00。//數(shù)碼管段碼與位碼uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff}。 Buffer_Counts[3]=Count_B%10。 }//INT1中斷函數(shù)void EX_INT1() interrupt 2{ Count_B++。 P0=0xfe。sbit Y1=P0^3。 case 2: R1=~R1。 }}31 TIMER0與TIMER1控制條形LED/* 名稱:TIMER0與TIMER1控制條形LED 說明:定時器T0定時控制上一組條形LED,滾動速度較快 定時器T1定時控制下一組條形LED,滾動速度較慢*/includeincludedefine uchar unsigned chardefine uint unsigned intuchar tc0=0,tc1=0。 }}//T1中斷函數(shù)void Time1() interrupt 3{ TH0=(6553650000)/256。TR0=1。 //按鍵狀態(tài) TMOD=0x01。uchar Count=0。*/includeincludedefine uchar unsigned chardefine uint unsigned int//段碼uchar code DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。 TR0=1。i=5。}//T0中斷函數(shù)控制數(shù)碼管刷新顯示void DSY_Show() interrupt 1{ TH0=(81924000)/32。 //2ms定時 TL0=(81922000)%32。//主程序void main(){ P0=0xff。 P1=0x80。 p++。 IE=0x82。 //輸出位碼和段碼 P0=~M[i][j]。 //顯示下一個數(shù)字 }}37 按鍵控制8X8LED點陣屏顯示圖形/* 名稱:按鍵控制8X8LED點陣屏顯示圖形 說明:每次按下K1時,會使8X8LED點陣屏循環(huán)顯示不同圖形。//主程序void main(){ P3=0x80。 //4ms定時 TL0=(81924000)%32。 if(++Count!=2) return。 TMOD=0x01。 P2=DSY_CODE[Count%10]。 if(Second_Counts==100) Second_Counts=0。 i=0。t++)。}//T0中斷函數(shù)void Time0() interrupt 1{ TH0=(6553615000)/256。 //初值為0 TL0=0。 switch(i) { case 0: B1=~B1。 } } }}29 定時器控制4個LED滾動閃爍/* 名稱:定時器控制4個LED滾動閃爍 說明:4只LED在定時器控制下滾動閃爍。 if(++T_Count==100) // { LED=~LED。 while(1) { if(K3==0) Count_A=0。 if( Buffer_Counts[2]==0) { Buffer_Counts[2]=0x0a。}//INT0中斷函數(shù)void EX_INT0() interrupt 0{ LED=~LED。 P1=DSY_CODE[DSY_Buffer[1]]。k++)。 if(K2==0) Play(2)。sbit K2=P1^5。 DelayMS(10)。 while(ms)for(t=0。//主程序void main(){ while(1) { LED1=S1。i++) { DelayMS(1)。 case 8: KeyNo=3。sbit BEEP=P3^7。i++) //查表得到按鍵序號并返回 if(kCode==KeyCodeTable[i]) return(i)。 while(x) for(i=0。 Key_Code=0xff。i++)。 break。 for(i=0。 DelayMS(200)。 }}13 K1K4 分組控制LED/* 名稱:K1K4 分組控制LED 說明:每次按下K1時遞增點亮一只LED,全亮時再次按下則再次循環(huán)開始, K2按下后點亮上面4只LED,K3按下后點亮下面4只LED,K4按下后關(guān)閉所有LED*/includedefine uchar unsigned chardefine uint unsigned int//延時void DelayMS(uint x){ uchar i。sbit K2=P1^1。0x40)==0) P2=_cror_(P2,1)。j8。j++) { P0=0xff。 P0=DSY_CODE[i]。i8。}//主程序void main(){ uchar i=0。GREEN_B=0。GREEN_B=1。*/includedefine uchar unsigned chardefine uint unsigned intsbit RED_A=P0^0。i7。i120。 DelayMS(150)。i++) { P2=_crol_(P2,1)。 P2=Pattern_P2[i]。GREEN_A=0。GREEN_A=1。 while(x) for(t=0。t++)。 while(1) { for(i=0。i30。 while(1) { //刷新若干次,保持一段時間的穩(wěn)定顯示 for(i=0。 //K1 else if((P1amp。sbit LED3=P0^2。 } if(K4==0) { while(K4==0)。 Key_State=1。i120。 //P1口按鍵狀態(tài)分別為K10xfe,K20xfd,K30xfb switch(Key_NO) { case 0xfe: Key_Counts++。//延時void DelayMS(uint x){ uchar i。 P0=0xff。 }}16 4X4矩陣鍵盤控制條形LED顯示/* 名稱:4X4矩陣鍵盤控制條形LED顯示 說明:運行本例時,按下的按鍵值越大點亮的LED越多。0xf0)!=0xf0) { kCode=~P1。 //點亮條形LED P2=P2_LED。break。 }}//蜂鳴器void Beep(){ uchar i。sbit S2=P1^1。 } }}20 數(shù)碼管顯示撥碼開關(guān)編碼/* 名稱:數(shù)碼管顯示撥碼開關(guān)編碼 說明:系統(tǒng)顯示撥碼開關(guān)所設置的編碼000~255*/includeincludedefine uchar unsigned chardefine uint unsigned int//各數(shù)字的數(shù)碼管段碼(共陰)uchar code DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。i++) //刷新顯示在數(shù)碼管上 { m=_crol_(m,1)。 } }}22 按鍵發(fā)音/* 名稱:按鍵發(fā)音 說明:按下不同的按鍵會是SOUNDER發(fā)出不同頻率的聲音。}void main(){ P1=0xff。j++) { BEEP=~BEEP。 if(DSY_Buffer[2]==0) //高位為0時不顯示 { DSY_Buffer[2]=0x0a。 EX0=1。 Buffer_Counts[2]=Count_A/100。 PX0=1。 while(1)。 if(++T_Count==5) { P0=_crol_(P0,1)。 //啟動定時器 while(1)。 //切換到下一個LED}30 T0控制LED實現(xiàn)二進制計數(shù)/* 名稱:T0控制LED實現(xiàn)二進制計數(shù) 說明:本例對按鍵的計數(shù)沒有使用查詢法,沒有使用外部中斷函數(shù),沒有使用定時或計數(shù)中斷函數(shù)。 TR0=1。//延時void DelayMS(uint ms){ uchar t。Second_Counts=0。 Second_Counts++。 //設置優(yōu)先級,T0高于INT0 IT0=1。 P0=0x00。 } }}//T0中斷函數(shù)void Timer0() interrupt 1{ uchar i。//主程序void main(){ P3=0x80。 //數(shù)組行i=0時顯示年月日,i=1時顯示時分秒}36 8X8LED點陣顯示數(shù)字/* 名稱:8X8LED點陣顯示數(shù)字 說明:8X8LED點陣屏循環(huán)顯示數(shù)字0~9,刷新過程由定時器中斷完成。 if(++i==8) i=0。}//T0中斷控制點陣屏顯示void Show_Dot_Matrix() interrupt 1{ TH0=(655362000)/256。 TMOD=0x00。 } else if(p800) { TH0=(81921000)/32。 //i在0,1,2中取值,因為只要3個圖形 TR0=1。 //T0方式1 TH0=(655362000)/256。 //啟動T0 while(1)。 //輸出位碼和段碼 P0=DSY_CODE[Table_of_Digits[i][j]]。 //如果0~4位則分別向高一位進位 } else break。i!=1。sbit Dot=P0^7。 TMOD=0x06。 while(1) { if(Key_State!=K1) { DelayMS(10)。ET0=0。 P2=_crol_(P2,1)。 TMOD=0x11。break。 P0=0xff。 //定時器0工作方式1 TH0=(6553640000)/256。 uchar T_Count=0。 } for(i=0。uint Count_A,Count_B=0。 //下降沿觸發(fā) while(1) { if(Clear_Key==0) Count=0。//計數(shù)值分解后各個待顯示的數(shù)位uchar DSY_Buffer[]={0,0,0}。 while(x) for(t=0。}//按周期t發(fā)音void Play(uchar t){ uchar i。 for(j=0。 Num=P1。t++)。 //獲取鍵序號 if(Pre_KeyNo!=KeyNo) { P0=~DSY_CODE[KeyNo]。break。 P1=0x0f。 P3_LED=0xff。 if((P1amp。 switch(Key_Code) { case
點擊復制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1