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

正文內(nèi)容

基于51單片機的c語言程序設(shè)計(已改無錯字)

2023-07-25 16:36:07 本頁面
  

【正文】 { DSY_Buffer[2]=0x0a。 if(DSY_Buffer[1]==0) //高位為0,若第二位為0同樣不顯示 DSY_Buffer[1]=0x0a。 } P0=DSY_CODE[DSY_Buffer[0]]。 P1=DSY_CODE[DSY_Buffer[1]]。 P2=DSY_CODE[DSY_Buffer[2]]。}//主程序void main(){ P0=0x00。 P1=0x00。 P2=0x00。 IE=0x81。 //允許INT0中斷 IT0=1。 //下降沿觸發(fā) while(1) { if(Clear_Key==0) Count=0。 //清0 Show_Count_ON_DSY()。 }}//INT0中斷函數(shù)void EX_INT0() interrupt 0{ Count++。 //計數(shù)值遞增}25 外部INT0中斷控制LED /* 名稱:外部INT0中斷控制LED 說明:每次按鍵都會觸發(fā)INT0中斷,中斷發(fā)生時將LED狀態(tài)取反,產(chǎn)生LED狀態(tài)由按鍵控制的效果*/includedefine uchar unsigned chardefine uint unsigned intsbit LED=P0^0。//主程序void main(){ LED=1。 EA=1。 EX0=1。 IT0=1。 while(1)。}//INT0中斷函數(shù)void EX_INT0() interrupt 0{ LED=~LED。 //控制LED亮滅}26 INT0及INT1中斷計數(shù)/* 名稱:INT0及INT1中斷計數(shù) 說明:每次按下第1個計數(shù)鍵時,第1組計數(shù)值累加并顯示在右邊3只數(shù)碼管上, 每次按下第2個計數(shù)鍵時,第2組計數(shù)值累加并顯示在左邊3只數(shù)碼管上,后兩個按鍵分別清零。*/includedefine uchar unsigned chardefine uint unsigned intsbit K3=P3^4。 //2個清零鍵sbit K4=P3^5。//數(shù)碼管段碼與位碼uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff}。uchar code DSY_Scan_Bits[]={0x20,0x10,0x08,0x04,0x02,0x01}。//2組計數(shù)的顯示緩沖,前3位一組,后3位一組uchar data Buffer_Counts[]={0,0,0,0,0,0}。uint Count_A,Count_B=0。//延時void DelayMS(uint x){ uchar t。 while(x) for(t=0。t120。t++)。}//數(shù)據(jù)顯示void Show_Counts(){ uchar i。 Buffer_Counts[2]=Count_A/100。 Buffer_Counts[1]=Count_A%100/10。 Buffer_Counts[0]=Count_A%10。 if( Buffer_Counts[2]==0) { Buffer_Counts[2]=0x0a。 if( Buffer_Counts[1]==0) Buffer_Counts[1]=0x0a。 } Buffer_Counts[5]=Count_B/100。 Buffer_Counts[4]=Count_B%100/10。 Buffer_Counts[3]=Count_B%10。 if( Buffer_Counts[5]==0) { Buffer_Counts[5]=0x0a。 if( Buffer_Counts[4]==0) Buffer_Counts[4]=0x0a。 } for(i=0。i6。i++) { P2=DSY_Scan_Bits[i]。 P1=DSY_CODE[Buffer_Counts[i]]。 DelayMS(1)。 }}//主程序void main(){ IE=0x85。 PX0=1。 //中斷優(yōu)先 IT0=1。 IT1=1。 while(1) { if(K3==0) Count_A=0。 if(K4==0) Count_B=0。 Show_Counts()。 }}//INT0中斷函數(shù)void EX_INT0() interrupt 0{ Count_A++。 }//INT1中斷函數(shù)void EX_INT1() interrupt 2{ Count_B++。 }27 定時器控制單只LED/* 名稱:定時器控制單只LED 說明:LED在定時器的中斷例程控制下不斷閃爍。*/includedefine uchar unsigned chardefine uint unsigned intsbit LED=P0^0。 uchar T_Count=0。//主程序void main(){ TMOD=0x00。 //定時器0工作方式0 TH0=(81925000)/32。 //5ms定時 TL0=(81925000)%32。 IE=0x82。 //允許T0中斷 TR0=1。 while(1)。}//T0中斷函數(shù)void LED_Flash() interrupt 1{ TH0=(81925000)/32。 //恢復(fù)初值 TL0=(81925000)%32。 if(++T_Count==100) // { LED=~LED。 T_Count=0。 }}28 TIMER0控制流水燈 /* 名稱:TIMER0控制流水燈 說明:定時器控制P0、P2口的LED滾動顯示,本例未使用中斷函數(shù)。*/includeincludedefine uchar unsigned chardefine uint unsigned int//主程序void main(){ uchar T_Count=0。 P0=0xfe。 P2=0xfe。 TMOD=0x01。 //定時器0工作方式1 TH0=(6553640000)/256。 //40ms定時 TL0=(6553640000)%256。 TR0=1。 //啟動定時器 while(1) { if(TF0==1) { TF0=0。 TH0=(6553640000)/256。 //恢復(fù)初值 TL0=(6553640000)%256。 if(++T_Count==5) { P0=_crol_(P0,1)。 P2=_crol_(P2,1)。 T_Count=0。 } } }}29 定時器控制4個LED滾動閃爍/* 名稱:定時器控制4個LED滾動閃爍 說明:4只LED在定時器控制下滾動閃爍。*/includedefine uchar unsigned chardefine uint unsigned intsbit B1=P0^0。sbit G1=P0^1。sbit R1=P0^2。sbit Y1=P0^3。uint i,j,k。//主程序void main(){ i=j=k=0。 P0=0xff。 TMOD=0x02。 //定時器0工作方式2 TH0=256200。 //200us定時 TL0=256200。 IE=0x82。 TR0=1。 //啟動定時器 while(1)。}//T0中斷函數(shù)void LED_Flash_and_Scroll() interrupt 1{ if(++k35) return。 //定時中斷若干次后執(zhí)行閃爍 k=0。 switch(i) { case 0: B1=~B1。break。 case 1: G1=~G1。break。 case 2: R1=~R1。break。 case 3: Y1=~Y1。break。 default:i=0。 } if(++j300) return。 //每次閃爍持續(xù)一段時間 j=0。 P0=0xff。 //關(guān)閉顯示 i++。 //切換到下一個LED}30 T0控制LED實現(xiàn)二進制計數(shù)/* 名稱:T0控制LED實現(xiàn)二進制計數(shù) 說明:本例對按鍵的計數(shù)沒有使用查詢法,沒有使用外部中斷函數(shù),沒有使用定時或計數(shù)中斷函數(shù)。而是啟用了計數(shù)器,連接在T0引腳的按鍵每次按下時,會使計數(shù)寄存器的值遞增,其值通過LED以二進制形式顯示*/include//主程序void main(){ TMOD=0x05。 //定時器0為計數(shù)器,工作方式1,最大計數(shù)值65535 TH0=0。 //初值為0 TL0=0。 TR0=1。 //啟動定時器 while(1) { P1=TH0。 P2=TL0。 }}31 TIMER0與TIMER1控制條形LED/* 名稱:TIMER0與TIMER1控制條形LED 說明:定時器T0定時控制上一組條形LED,滾動速度較快 定時器T1定時控制下一組條形LED,滾動速度較慢*/includeincludedefine uchar unsigned chardefine uint unsigned intuchar tc0=0,tc1=0。//主程序void main(){ P0=0xfe。 P2=0xfe。 TMOD=0x11。 //定時器0、定時器1均工作于方式1 TH0=(6553615000)/256。 //定時器0:15ms TL0=(6553615000)%256。 TH1=(6553650000)/256。 //定時器1:50ms TL1=(6553650000)%256。 IE=0x8a。 TR0=1。 //啟動定時器 TR1=1。 while(1)。}//T0中斷函數(shù)void Time0() interrupt 1{ TH0=(6553615000)/256。 //恢復(fù)定時器0初值 TL0=(6553615000)%256。 if(++tc0==10) //150ms轉(zhuǎn)換狀態(tài) { tc0=0。 P0=_crol_(P0,1)。 }}//T1中斷函數(shù)void Time1() interrupt 3{ TH0=(6553650000)/256。 //恢復(fù)定時器1初值 TL0=(6553650000)%256。 if(++tc1==10) //500ms轉(zhuǎn)換狀態(tài) { tc1=0。 P2=_crol_(P2,1)。 }}32 10s的秒表/* 名稱:10s的秒表 說明:首次按鍵計時開始,再次按鍵暫停,第三次按鍵清零。*/includedefine uchar unsigned chardefine uint unsigned intsbit K1=P3^7。uchar i,Second_Counts,Key_Flag_Idx。bit Key_State。uchar DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。//延時void DelayMS(uint ms){ uchar t。 while(ms) for(t=0。t120。t++)。}//處理按鍵事件void Key_Event_Handle(){ if(Key_State==0) { Key_Flag_Idx=(Key_Flag_Idx+1)%3。 switch(Key_Flag_Idx) { case 1: EA=1。ET0=1。TR0=1。break。 case 2: EA=0。ET0=0。TR0=0。break。 case 0: P0=0x3f。P2=0x3f。i=0。Second_Counts=0。 } }}//主程序void main(){ P0=0x3f。 //顯示00 P2=0x3f。 i=0。 Second_Counts=0。 Key_Flag_Idx=0。 //按鍵次數(shù)(取值0,1,2,3) Key_State=1。 //按鍵狀態(tài) TMOD=0x01。 //定時器0方式1 TH0=(6553650000)/256。 //定時器0:15ms TL0=(6553650000)%256。 while(1) { if(Key_State!=K1) { DelayMS(10)。 Key_State=K1。 Key_Event_Handle()。
點擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1