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

正文內(nèi)容

基于8051單片機(jī)的流水燈設(shè)計(jì)畢業(yè)設(shè)計(jì)-資料下載頁(yè)

2025-06-28 00:22本頁(yè)面
  

【正文】 習(xí)。由于需要做出實(shí)物,所以一定要學(xué)習(xí)相關(guān)的作圖軟件。在學(xué)習(xí)軟件時(shí)一定要邊做邊學(xué)軟件,下載一些軟件教程的視頻來(lái)看,然后邊看邊自己操作,千萬(wàn)不能拿著軟件教程書從第一頁(yè)開始看,這樣效率太低。5. 制作實(shí)物。作工科類畢業(yè)設(shè)計(jì)最好是能做出實(shí)物,如果條件允許的話。這樣可以鞏固理論知識(shí),又可以提高動(dòng)手能力,正所謂實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)。附 錄//filename://功能:流水燈include include include define uchar unsigned char //定義uchar 為無(wú)符號(hào)字符型 8位define uint unsigned int //定義uint為無(wú)符號(hào)整型 16位define count_T1_L 0xB0 //T1定時(shí)器初值 50MS定時(shí)define count_T1_H 0x3Cchar xdata PortA _at_ 0x7F01。 //A口地址char xdata PortB _at_ 0x7F02。 //B口地址char xdata PortC _at_ 0x7F03。 //C口地址char xdata PortComd _at_ 0x7F00。//命令口地址uchar count_Y=0。uchar count_N=0。uint lamp=0x7FFF。bit Flag_TM=0。 //T1溢出中斷標(biāo)志bit Flag_K=0。bit Flag_INV=0。 /******************************************************/void t1_int(void) interrupt 3 //T1溢出中斷{ TL1=count_T1_L。 //定時(shí)器初值 TH1=count_T1_H。 Flag_TM=1。 return。}/******************************************************/uchar KeyScan8155(void) //8155C口鍵盤掃描{ uchar i=0。 uchar key=0。 key=PortC。 key=~key。 keyamp。=0x07。 if((key0)amp。(Flag_K==0)) //判斷是否有鍵按下 { if(count_Y10) //為消除抖動(dòng)干擾只有連續(xù)10次掃描都有鍵按下才認(rèn)為鍵已按下 { Flag_K=1。 count_Y=0。 return(key)。 //返回按鍵值 } else { count_Y++。 } } else { count_Y=0。 if(key==0) { if(count_N10) //判斷是否有鍵放開 { Flag_K=0。 count_N=0。 } else { count_N++。 } } else { count_N=0。 } } return(0x00)。 }/******************************************************/void stateSel(uchar sel){ switch(sel) { case 0x00: lamp=0x7FFF。 break。 //單只亮 case 0x01: lamp=0x7F7F。 break。 //間隔2只亮 case 0x02: lamp=0x0FFF。 break。 //連續(xù)4只亮 case 0x03: lamp=0x0F0F。 break。 //間隔2組4只亮 case 0x04: lamp=0x00FF。 break。 //連續(xù)8只亮 case 0x05: lamp=0x000F。 break。 //連續(xù)12只亮 default:lamp=0x7FFF。 break。 }}/******************************************************/void Display_Led(uint lamp) //LED燈顯示{ uchar i=0。 uchar temp_H=0。 uchar temp_L=0。 uint Led_H=0x0000。 uint Led_L=0x0000。 temp_L=lampamp。0xFF。 temp_H=lamp0x08。 for(i=0。i8。i++) //數(shù)據(jù)轉(zhuǎn)換 高8位(將顯示數(shù)據(jù)轉(zhuǎn)換為PCB對(duì)應(yīng)值 列 1111b轉(zhuǎn)換為10101010) { Led_H=2。 if(temp_Hamp。0x01) Led_H|=0x8000。 temp_H=1。 } for(i=0。i8。i++) //數(shù)據(jù)轉(zhuǎn)換 低8位(同上,1111b轉(zhuǎn)換為01010101) { Led_L=2。 if(temp_Lamp。0x80) Led_L|=0x4000。 temp_L=1。 } Led_H|=Led_L。 PortA=Led_Hamp。0xFF。 //送顯示數(shù)據(jù)到8155 A口 PortB=Led_H8。 //送顯示數(shù)據(jù)到8155 B口}/******************************************************/void InitTimer(void) //定時(shí)計(jì)數(shù)初始化函數(shù){ TMOD=0x10。 //T1 16位定時(shí)器方式1 TL1=count_T1_L。 //定時(shí)器初值 TH1=count_T1_H。 TR1=1。 //啟動(dòng)定時(shí)器 ET1=1。 //允許計(jì)數(shù)器溢出中斷 EA=1。 //開總中斷}/******************************************************/void main(void){ uchar a=0。 uchar state=0。 bit start=0。 InitTimer()。 //定時(shí)器初始化 PortComd=0x03。 //8155初始化 A口 B口 為輸出 C口輸入 PortA=0xFF。 //顯示初始狀態(tài) PortB=0x7F。 while(1) { a=KeyScan8155()。 //按鍵掃描 if(a0) { switch(a) { case 0x01: start=~start。break。 //S105開始、暫停 case 0x02: if(state=5) state=0。 else state++。 stateSel(state)。 //顯示狀態(tài)切換 break。 case 0x04: Flag_INV=~Flag_INV。break。 //反向 default: break。 } } if(Flag_TM amp。 start) { Flag_TM=0。 if(Flag_INV) lamp=(lamp15)|(lamp1)。 //順時(shí)針循環(huán) else lamp=(lamp15)|(lamp1)。 //逆時(shí)針循環(huán) Display_Led(lamp)。 //LED顯示 } }}
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1