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

正文內(nèi)容

基于51單片機的c語言程序設(shè)計(參考版)

2025-06-27 16:36本頁面
  

【正文】 。 } else if(p800) { TH0=(81921000)/32。 if(p400) //若需要拖長聲音,可以調(diào)整400和800 { TH0=(8192700)/32。 } }}//T0中斷控制點陣屏顯示void Timer0() interrupt 1{ DoorBell=~DoorBell。 while(1) { if(Key==0) //按下按鍵啟動定時器 { TR0=1。 //700us定時 TL0=(8192700)%32。 TMOD=0x00。uint p=0。*/includedefine uchar unsigned chardefine uint unsigned intsbit Key=P1^7。 //i在0,1,2中取值,因為只要3個圖形 TR0=1。 j=0。}//INT0中斷(定時器由鍵盤中斷啟動)void Key_Down() interrupt 0{ P0=0xff。 P1=_crol_(P1,1)。 P0=0xff。}//T0中斷控制點陣屏顯示void Show_Dot_Matrix() interrupt 1{ TH0=(655362000)/256。 //允許定時器0、外部0中斷 i=0xff。 IT0=1。 //T0方式1 TH0=(655362000)/256。 P1=0xff。uchar i,j。 本例同時使用外部中斷和定時中斷。 if(++Num_Index==10) Num_Index=0。 if(++i==8) i=0。 //輸出位碼和段碼 P0=~Table_of_Digits[Num_Index*8+i]。 //恢復(fù)初值 TL0=(81922000)%32。 //啟動T0 while(1)。 IE=0x82。 //T0方式0 TH0=(81922000)/32。 Num_Index=0。uchar i=0,t=0,Num_Index。 //數(shù)組行i=0時顯示年月日,i=1時顯示時分秒}36 8X8LED點陣顯示數(shù)字/* 名稱:8X8LED點陣顯示數(shù)字 說明:8X8LED點陣屏循環(huán)顯示數(shù)字0~9,刷新過程由定時器中斷完成。 //保持刷新一段時間 t=0。 j=(j+1)%8。 //輸出位碼和段碼 P0=DSY_CODE[Table_of_Digits[i][j]]。 //恢復(fù)初值 TL0=(81924000)%32。 //啟動T0 while(1)。 IE=0x82。 //計數(shù)器T0方式0 TH0=(81924000)/32。//主程序void main(){ P3=0x80。uchar i,j=0。*/includeincludedefine uchar unsigned chardefine uint unsigned int//段碼,最后一位是“”的段碼uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf}。 //如果0~4位則分別向高一位進位 } else break。i++) //進位處理 { if(Digits_of_6DSY[i]==10) { Digits_of_6DSY[i]=0。 // for(i=0。 Count=0。 //恢復(fù)初值 TL0=(6553650000)%256。 } }}//T0中斷函數(shù)void Timer0() interrupt 1{ uchar i。 if(i==1) Dot=1。 P3=j。i!=1。 //啟動T0 while(1) { j=0x7f。 IE=0x82。 //計數(shù)器T0方式1 TH0=(6553650000)/256。 Count=0。 P0=0x00。t++)。 while(ms) for(t=0。sbit Dot=P0^7。//6只數(shù)碼管上顯示的數(shù)字uchar Digits_of_6DSY[]={0,0,0,0,0,0}。}34 100 000s以內(nèi)的計時程序/* 名稱:100 000s以內(nèi)的計時程序 說明:在6只數(shù)碼管上完成0~99 。 }}//T0計數(shù)器中斷函數(shù)void Key_Counter() interrupt 1{ Count=(Count+1)%100。 //啟動T0 while(1) { P0=DSY_CODE[Count/10]。 //設(shè)置優(yōu)先級,T0高于INT0 IT0=1。 //允許INT0中斷 EA=1。 //計數(shù)值為1 ET0=1。 TMOD=0x06。//主程序void main(){ P0=0x00。*/includedefine uchar unsigned chardefine uint unsigned int//段碼uchar code DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00}。 //滿100(10s)后顯示00 }}33 用計數(shù)器中斷實現(xiàn)100以內(nèi)的按鍵計數(shù)/* 名稱:用計數(shù)器中斷實現(xiàn)100以內(nèi)的按鍵計數(shù) 說明:本例用T0計數(shù)器中斷實現(xiàn)按鍵技術(shù),由于計數(shù)寄存器初值為1,因此 ,實現(xiàn)計數(shù)值累加。 P2=DSY_CODE[Second_Counts%10]。 Second_Counts++。 //恢復(fù)定時器0初值 TL0=(6553650000)%256。 Key_Event_Handle()。 while(1) { if(Key_State!=K1) { DelayMS(10)。 //定時器0方式1 TH0=(6553650000)/256。 //按鍵次數(shù)(取值0,1,2,3) Key_State=1。 Second_Counts=0。 //顯示00 P2=0x3f。Second_Counts=0。P2=0x3f。break。ET0=0。break。ET0=1。}//處理按鍵事件void Key_Event_Handle(){ if(Key_State==0) { Key_Flag_Idx=(Key_Flag_Idx+1)%3。t120。//延時void DelayMS(uint ms){ uchar t。bit Key_State。*/includedefine uchar unsigned chardefine uint unsigned intsbit K1=P3^7。 P2=_crol_(P2,1)。 //恢復(fù)定時器1初值 TL0=(6553650000)%256。 P0=_crol_(P0,1)。 //恢復(fù)定時器0初值 TL0=(6553615000)%256。 while(1)。 TR0=1。 //定時器1:50ms TL1=(6553650000)%256。 //定時器0:15ms TL0=(6553615000)%256。 TMOD=0x11。//主程序void main(){ P0=0xfe。 P2=TL0。 TR0=1。 //定時器0為計數(shù)器,工作方式1,最大計數(shù)值65535 TH0=0。 //切換到下一個LED}30 T0控制LED實現(xiàn)二進制計數(shù)/* 名稱:T0控制LED實現(xiàn)二進制計數(shù) 說明:本例對按鍵的計數(shù)沒有使用查詢法,沒有使用外部中斷函數(shù),沒有使用定時或計數(shù)中斷函數(shù)。 P0=0xff。 } if(++j300) return。break。break。break。break。 //定時中斷若干次后執(zhí)行閃爍 k=0。 //啟動定時器 while(1)。 IE=0x82。 //定時器0工作方式2 TH0=256200。 P0=0xff。uint i,j,k。sbit R1=P0^2。*/includedefine uchar unsigned chardefine uint unsigned intsbit B1=P0^0。 T_Count=0。 if(++T_Count==5) { P0=_crol_(P0,1)。 TH0=(6553640000)/256。 TR0=1。 //定時器0工作方式1 TH0=(6553640000)/256。 P2=0xfe。*/includeincludedefine uchar unsigned chardefine uint unsigned int//主程序void main(){ uchar T_Count=0。 T_Count=0。 //恢復(fù)初值 TL0=(81925000)%32。 while(1)。 IE=0x82。 //定時器0工作方式0 TH0=(81925000)/32。 uchar T_Count=0。 }27 定時器控制單只LED/* 名稱:定時器控制單只LED 說明:LED在定時器的中斷例程控制下不斷閃爍。 }}//INT0中斷函數(shù)void EX_INT0() interrupt 0{ Count_A++。 if(K4==0) Count_B=0。 IT1=1。 PX0=1。 DelayMS(1)。i++) { P2=DSY_Scan_Bits[i]。 } for(i=0。 if( Buffer_Counts[5]==0) { Buffer_Counts[5]=0x0a。 Buffer_Counts[4]=Count_B%100/10。 if( Buffer_Counts[1]==0) Buffer_Counts[1]=0x0a。 Buffer_Counts[0]=Count_A%10。 Buffer_Counts[2]=Count_A/100。t++)。 while(x) for(t=0。uint Count_A,Count_B=0。uchar code DSY_Scan_Bits[]={0x20,0x10,0x08,0x04,0x02,0x01}。 //2個清零鍵sbit K4=P3^5。 //控制LED亮滅}26 INT0及INT1中斷計數(shù)/* 名稱:INT0及INT1中斷計數(shù) 說明:每次按下第1個計數(shù)鍵時,第1組計數(shù)值累加并顯示在右邊3只數(shù)碼管上, 每次按下第2個計數(shù)鍵時,第2組計數(shù)值累加并顯示在左邊3只數(shù)碼管上,后兩個按鍵分別清零。 while(1)。 EX0=1。//主程序void main(){ LED=1。 }}//INT0中斷函數(shù)void EX_INT0() interrupt 0{ Count++。 //下降沿觸發(fā) while(1) { if(Clear_Key==0) Count=0。 IE=0x81。 P1=0x00。 P2=DSY_CODE[DSY_Buffer[2]]。 } P0=DSY_CODE[DSY_Buffer[0]]。 if(DSY_Buffer[2]==0) //高位為0時不顯示 { DSY_Buffer[2]=0x0a。 //獲取3個數(shù) DSY_Buffer[1]=Count%100/10。sbit Clear_Key=P3^6。//計數(shù)值分解后各個待顯示的數(shù)位uchar DSY_Buffer[]={0,0,0}。 //播放生日快樂 DelayMS(500)。 }}void main(){ BEEP=0。 } DelayMS(10)。kSONG_TONE[i]/3。j++) { BEEP=~BEEP。 while(SONG_LONG[i]!=0||SONG_TONE[i]!=0) { //播放各個音符,SONG_LONG為拍子長度 for(j=0。t++)。 while(x) for(t=0。//生日快樂歌節(jié)拍表,節(jié)拍決定每個音符的演奏長短uchar code SONG_LONG[]={9,3,12,12,12,24,9,3,12,12,12,24,9,3,12,12,12,12,12,9,3,12,12,12,24,0}。 }}23 播放音樂/* 名稱:播放音樂 說明:程序運行時播放生日快樂歌, 未使用定時器中斷,所有頻率完全用延時實現(xiàn)*/includedefine uchar unsigned chardefine uint unsigned intsbit BEEP=P3^7。 if(K3==0) Play(3)。
點擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1