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

正文內(nèi)容

基于51單片機(jī)的c語言程序設(shè)計(jì)(文件)

2025-07-12 16:36 上一頁面

下一頁面
 

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