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

正文內(nèi)容

51單片機c語言程序設(shè)計源代碼(已修改)

2025-07-19 11:35 本頁面
 

【正文】 281 51單片機C語言教程,點亮第一個發(fā)光二極管( P27)include //52系列單片機頭文件sbit led1=P1^0。 //聲明單片機P1口的第一位void main() //主函數(shù){ led1=0。 /*點亮第一個發(fā)光二極管*/ },點亮P1口的若干二極管( P39)include //52系列單片機頭文件void main() //主函數(shù){ P1=0xaa。 //while(1)。},編寫第一個發(fā)光二極管以間隔1S亮滅閃動的程序( P42)include //52系列單片機頭文件define uint unsigned int //宏定義sbit led1=P1^0。 //聲明單片機P1口的第一位uint i,j。void main() //主函數(shù){ while(1) //大循環(huán) { led1=0。 /*點亮第一個發(fā)光二極管*/ for(i=1。i0。i) //延時 for(j=110。j0。j)。 led1=1。 /*關(guān)閉第一個發(fā)光二極管*/ for(i=1000。i0。i) //延時 for(j=110。j0。j)。 } }。( P48)include //52系列單片機頭文件define uint unsigned int //宏定義sbit led1=P1^0。 //聲明單片機P1口的第一位void delay1s()。 //聲明子函數(shù)void main() //主函數(shù){ while(1) //大循環(huán) { led1=0。 /*點亮第一個發(fā)光二極管*/ delay1s()。 //調(diào)用延時子函數(shù) led1=1。 /*關(guān)閉第一個發(fā)光二極管*/ delay1s()。 //調(diào)用延時子函數(shù) } }void delay1s() //子函數(shù)體{ uint i,j。 for(i=500。i0。i) for(j=110。j0。j)。}、滅800ms的方式閃動。( P49)include //52系列單片機頭文件define uint unsigned int //宏定義sbit led1=P1^0。 //聲明單片機P1口的第一位void delayms(uint)。 //聲明子函數(shù)void main() //主函數(shù){ while(1) //大循環(huán) { led1=0。 /*點亮第一個發(fā)光二極管*/ delayms(200)。 //延時200毫秒 led1=1。 /*關(guān)閉第一個發(fā)光二極管*/ delayms(800)。 //延時800毫秒 } }void delayms(uint xms) { uint i,j。 for(i=xms。i0。i) //i=xms即延時約xms毫秒 for(j=110。j0。j)。}(),以間隔500ms,實現(xiàn)流水燈程序( P53)include //52系列單片機頭文件include define uint unsigned int //宏定義define uchar unsigned charvoid delayms(uint)。 //聲明子函數(shù)uchar aa。void main() //主函數(shù){ aa=0xfe。 //賦初值11111110 while(1) //大循環(huán) { P1=aa。 delayms(500)。 //延時500毫秒 aa=_crol_(aa,1)。 //將aa循環(huán)左移1位后再賦給aa } }void delayms(uint xms) { uint i,j。 for(i=xms。i0。i) //i=xms即延時約xms毫秒 for(j=110。j0。j)。}( P59)include //52系列單片機頭文件sbit dula=P2^6。 //申明U1鎖存器的鎖存端sbit wela=P2^7。 //申明U2鎖存器的鎖存端void main(){wela=1。 //打開U2鎖存器P0=0xFE。 //送入位選信號wela=0。 //關(guān)閉U2鎖存器dula=1。 //打開U1鎖存器P0=0x7F。 //送入段選信號dula=0。 //關(guān)閉U2鎖存器while(1)。 //程序停止到這里},依次顯示0到F,循環(huán)下去。( P61)include //52系列單片機頭文件define uchar unsigned chardefine uint unsigned intsbit dula=P2^6。 //申明U1鎖存器的鎖存端sbit wela=P2^7。 //申明U2鎖存器的鎖存端uchar num。unchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}。void delayms(uint)。void main(){ wela=1。 //打開U2鎖存端 P0=0xco。//送入位選信號 wela=0。 //關(guān)閉U2鎖存端 while(1) { for(num=0。num16。num++) //16個數(shù)循環(huán)顯示 { dula=1。 //打開U1鎖存端 P0=table[num]。 //送入段選信號 dula=0。 //關(guān)閉U1鎖存端 delay(500)。 // } }}void delayms(uint xms){ uint i,j。 for(i=xms。i0。i) //i=xms即延時約xms毫秒 for(j=110。j0。j)。 },然后關(guān)閉它,立即讓第二個數(shù)碼管顯示2,,在關(guān)閉它……一直到最后一個數(shù)碼管顯示6,關(guān)閉它之后再回來顯示第一個數(shù)碼管,一直循環(huán)下去。( P62),用定時器1的方式1實現(xiàn)數(shù)碼管前兩位59s循環(huán)計時。( P75),變化范圍為00~59,開始時顯示00,每按下S2鍵一次,數(shù)值加1;每按下S3鍵一次,數(shù)值減1;每按下S4鍵一次,數(shù)值歸零;按下S5鍵一次,利用定時器功能使數(shù)值開始自動每秒加1,再次按下S5鍵,數(shù)值停止加1,保持顯示原數(shù)。( P82)include //52系列單片機頭文件define uchar unsigned chardefine uint unsigned int sbit key1=P3^4。sbit key2=P3^5。sbit key3=P3^6。sbit key4=P3^7。sbit dula=P2^6。 //申明U1鎖存器的鎖存端sbit wela=P2^7。 //申明U2鎖存器的鎖存端uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}。void delayms(uint)。uchar numt0,num。void display(uchar numdis) //顯示子函數(shù){ uchar shi,ge。 //分離兩個分別要顯示的數(shù) shi=numdis/10。 ge=numdis%10。 dula=1。 P0=table[shi]。 //送十位段選數(shù)據(jù) dula=0。 P0=0xff。 //送位選數(shù)據(jù)前關(guān)閉所有顯示,防止打開位選鎖存時 wela=1。 //原來段選數(shù)據(jù)通過位選鎖存器造成混亂 P0=0xfe。 //送位選數(shù)據(jù) wela=0。 delayms(5)。 //延時 dula=1。 P0=table[ge]。 //送個位段選數(shù)據(jù) dula=0。 P0=0xff。 wela=1。 P0=0xfd。 wela=0。 delayms(5)。}void delayms(uint xms) { uint i,j。 for(i=xms。i0。i) //i=xms即延時約xms毫秒 for(j=110。j0。j)。}void init() //初始化函數(shù){ TMOD=0x01。//設(shè)置定時器0為工作方式1(0000 0001) TH0=(6553645872)/256。//裝初值50ms一次中斷 TL0=(6553645872)%256。 EA=1。 //開總中斷 ET0=1。 //開定時器0中斷 }void keyscan(){ if(key1==0) { delayms(10)。 if(key1==0) { num++。 if(num==60)//當?shù)?0時重新歸0 num=0。 while(!key1)。//等待按鍵釋放 } } if(key2==0) { delayms(10)。 if(key2==0) { if(num==0)//當?shù)?時重新歸60 num=60。 num。 while(!key2)。 } } if(key3==0) { delayms(10)。 if(key3==0) { num=0。 //清0 while(!key3)。 } } if(key4==0) { delayms(10)。 if(key4==0) { while(!key4)。 TR0=~TR0。//啟動或停止定時器0 } }}void main(){ init()。//初始化函數(shù) while(1) { keyscan()。 display(num)。 }}void T0_time() interrupt 1{ TH0=(6553645872)/256。//重裝初值 TL0=(6553645872)%256。 numt0++。 if(numt0==20) //如果到了20次,說明1秒時間到 { numt0=0。 //然后把num清0重新再計20次 num++。 if(num==60) num=0。 } },數(shù)碼管不顯示,順序按下矩陣鍵盤后,數(shù)碼管上依次顯示0~F,六個數(shù)碼管同時靜態(tài)顯示即可。( P87)include //52系列單片機頭文件define uchar unsigned chardefine uint unsigned int sbit dula=P2^6。 //申明U1鎖存器的鎖存端sbit wela=P2^7。 //申明U2鎖存器的鎖存端uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}。void delayms(uint xms) { uint i,j。 for(i=xms。i0。i) //i=xms即延時約xms毫秒 for(j=110。j0。j)。}void display(uchar num){ P0=table[num]。 //顯示函數(shù)只送段選數(shù)據(jù) dula=1。 dula=0。}void matrixkeyscan(){ uchar temp,key。 P3=0xfe。 temp=P3。 temp=tempamp。0xf0。 if(temp!=0xf0) { delayms(10)。 temp=P3。 temp=tempamp。0xf0。 if(temp!=0xf0) { temp=P3。 switch(temp) { case 0xee: key=0。 break。 case 0xde: key=1。 break。 case
點擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1