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

正文內(nèi)容

基于mcs51單片機(jī)的在線仿真實(shí)驗(yàn)系統(tǒng)畢業(yè)論文-資料下載頁

2025-06-20 12:32本頁面
  

【正文】 運(yùn)行編寫好的程序,可以觀察到8路led燈規(guī)律的亮起、熄滅,;數(shù)碼管的最后兩位以1s位周期按十進(jìn)制累加計(jì)數(shù),當(dāng)計(jì)數(shù)到60之后,下一個(gè)周期變?yōu)?0,然后重新開始計(jì)數(shù),往復(fù)循環(huán)。仿真結(jié)果實(shí)現(xiàn)了實(shí)驗(yàn)要求。驗(yàn)證了硬件電路中有關(guān)138譯碼器,Led數(shù)碼管還有l(wèi)ed燈的電氣連接正確。 。 定時(shí)器中斷仿真界面 點(diǎn)陣顯示實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康模和ㄟ^此實(shí)驗(yàn)學(xué)習(xí)使用點(diǎn)陣顯示器,加強(qiáng)對(duì)單片機(jī)I/O端口的理解和控制。實(shí)驗(yàn)內(nèi)容:實(shí)驗(yàn)中,我們利用單片機(jī)P0口控制行線,用P2控制列線。要求用顯示09十個(gè)數(shù)字。循環(huán)顯示這十個(gè)數(shù)字。程序分析:先確定要顯示09這十個(gè)數(shù)字是,行線和列線所對(duì)應(yīng)的編碼,做成編碼表,用于查詢。確定顯示一個(gè)字需要的程序。應(yīng)該用掃描顯示的方法,一行一行的顯示,當(dāng)顯示間隔很短的時(shí)候,就能夠看到清晰的數(shù)字。否否否是是是開始取第X++個(gè)字取第Y++個(gè)列向量Y〉=8?初始化,變量X=0,Y=0 輸出對(duì)應(yīng)行向量和列向量Y=0〉=?X〉=10?X=10 點(diǎn)陣顯示流程圖 例程:includeunsigned char code tab[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,}。 unsigned char code digittab[10][8]={{0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00}, //0{0x00,0x00,0x00,0x00,0x21,0x7f,0x01,0x00}, //1{0x00,0x00,0x27,0x45,0x45,0x45,0x39,0x00}, //2{0x00,0x00,0x22,0x49,0x49,0x49,0x36,0x00}, //3{0x00,0x00,0x0c,0x14,0x24,0x7f,0x04,0x00}, //4{0x00,0x00,0x72,0x51,0x51,0x51,0x4e,0x00}, //5{0x00,0x00,0x3e,0x49,0x49,0x49,0x26,0x00}, //6{0x00,0x00,0x40,0x40,0x40,0x4f,0x70,0x00}, //7{0x00,0x00,0x36,0x49,0x49,0x49,0x36,0x00}, //8{0x00,0x00,0x32,0x49,0x49,0x49,0x3e,0x00}, //9}。unsigned int timecount1 , timecount2。 unsigned char tx , ty 。 char code dx516[3] _at_ 0x003b。void main(void){ ty=0。while(1){ if(ty10) { P2=tab[tx]。 P0=digittab[ty][tx]。 } if(++timecount1=50) { timecount1=0。 if(++tx=8) tx=0。 } if(++timecount2=20000) { timecount2=0。 if(++ty=10)ty=0。 }}}仿真結(jié)果及分析: led點(diǎn)陣顯示仿真界面P0輸出數(shù)據(jù)經(jīng)過573鎖存器,然后連接到點(diǎn)陣顯示上,可以保證有足夠 驅(qū)動(dòng)電壓。,點(diǎn)陣顯示屏上正顯示數(shù)字“2”。需要注意的是點(diǎn)陣顯示屏的二極管有極性,所以行線和列線不能接混接,否則沒有顯示。 獨(dú)立按鍵實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康模和ㄟ^次實(shí)驗(yàn),學(xué)習(xí)獨(dú)立按鍵的硬件電路,掌握獨(dú)立按鍵的檢測程序的寫法。實(shí)驗(yàn)內(nèi)容:實(shí)驗(yàn)中,要求利用數(shù)碼管的前兩位顯示 099 的十進(jìn)制數(shù),變化范圍為 099,程序開始默認(rèn)顯示 00,每按下第一個(gè)按鍵一次,顯示數(shù)值加 1;每按下第二個(gè)按鍵一次,顯示數(shù)值減一;每按下第三個(gè)按鍵一次,數(shù)值歸零。當(dāng)計(jì)數(shù)值到達(dá) 99 時(shí),再按下第一個(gè)按鍵時(shí)變回 00。觀察實(shí)驗(yàn)現(xiàn)象,分析程序,掌握單片機(jī)獨(dú)立按鍵檢測程序的編寫方法。 程序流程圖:是否是否是以十進(jìn)制顯示LedNumVal的值LedNumVal加199?LedNumVal=00?LedNuVal=99LedNumVal=0開始是否有鍵按下按下的是第幾個(gè)鍵LedNumVal減1否 獨(dú)立按鍵程序流程圖例程:include include sbit LS138A=P2^2。 sbit LS138B=P2^3。sbit LS138C=P2^4。 sbit K1=P1^0。sbit K2=P1^1。sbit K3=P1^2。unsigned int LedOut[8]。long int LedNumVal=0。unsigned char code Disp_Tab[] = { ~0xC0,~0xF9,~0xA4,~0xB0,~0x99,~0x92,~0x82,~0xF8,~0x80,~0x90,~0x88,~0x83,~0xC6,~0xA1,~0x86,~0xbf,~0xc7,~0x8c,~0xc1, ~0xff, ~0xf7 }。 void delay(unsigned int i){ char j。 for(i。 i 0。 i) for(j = 200。 j 0。 j)。}main(){ while(1) { unsigned char i。 P1=0xff。 if(K1==0) { while(K1==0)。 ++LedNumVal。 if(LedNumVal99) LedNumVal=0。 } else if(K2==0) { while(K2==0)。 LedNumVal。 if(LedNumVal0) LedNumVal=99。 } else if(K3==0) { while(K3==0)。 LedNumVal=0。 } else LedNumVal。 LedOut[0]=Disp_Tab[LedNumVal%10000/1000]。 LedOut[1]=Disp_Tab[LedNumVal%1000/100]。 LedOut[2]=Disp_Tab[LedNumVal%100/10]。 LedOut[3]=Disp_Tab[LedNumVal%10]。 for( i=0。 i4。 i++) { P0=0x00。 switch(i) { case 0:LS138A=0。 LS138B=0。 LS138C=0。 break。 case 1:LS138A=1。 LS138B=0。 LS138C=0。 break。 case 2:LS138A=0。 LS138B=1。 LS138C=0。 break。 case 3:LS138A=1。 LS138B=1。 LS138C=0。 break。 } P0 = LedOut[i]。 delay(100)。 } } }仿真結(jié)果及分析:,在proteus軟件仿真中,本文設(shè)計(jì)的數(shù)碼管顯示和獨(dú)立按鍵連接的硬件和對(duì)應(yīng)的軟件程序都能正常工作。K1,K2,,已掃描的方法不斷檢測三個(gè)端口是否出現(xiàn)低電平,即是否有鍵按下。數(shù)碼管采用的動(dòng)態(tài)驅(qū)動(dòng)的方法。經(jīng)過驗(yàn)證,本文設(shè)計(jì)正確,可以實(shí)現(xiàn)實(shí)驗(yàn)要求的功能。 獨(dú)立按鍵仿真界面 矩陣鍵盤實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康模和ㄟ^次實(shí)驗(yàn),學(xué)習(xí)矩陣鍵盤的檢測方法,掌握矩陣鍵盤檢測的原理。實(shí)驗(yàn)內(nèi)容:實(shí)驗(yàn)中,當(dāng)實(shí)驗(yàn)系統(tǒng)上電時(shí),數(shù)碼管不顯示,按下任意鍵會(huì)在第一個(gè)數(shù)碼管上顯示對(duì)應(yīng)的鍵值 0F。觀察實(shí)驗(yàn)現(xiàn)象,分析程序,學(xué)會(huì)矩陣鍵盤的檢測原理,能夠編寫矩陣鍵盤檢測程序,同時(shí)要學(xué)會(huì)如何消除鍵盤抖動(dòng),同時(shí)掌握 C51 中 switch case 多分支語句的寫法。程序流程圖:是否 矩陣鍵盤流程圖開始是否有鍵按下是第幾行的按鍵被按下是第幾列的按鍵被按下根據(jù)鍵值輸出數(shù)碼管字形碼例程:include define uchar unsigned char define uint unsigned int uchar dis_buf。 uchar temp。uchar key。 void delay(uchar x)。 unsigned char code LED7Code[] = {~0x3F,~0x06,~0x5B,~0x4F,~0x66,~0x6D,~0x7D,~0x07,~0x7F,~0x6F,~0x77,~0x7C,~0x39,~0x5E,~0x79,~0x71}。void delay(uchar x){ uchar j。 while((x)!=0) //CPU執(zhí)行x*12次 { for(j=0。j125。j++) {。} }} void keyscan(void) { temp = 0。 P1=0xF0。 temp=P1。 switch(temp) { case 0x70:key=0。break。 case 0xb0:key=4。break。 case 0xd0:key=8。break。 case 0xe0:key=12。break。 default: key=16。 } P1=0x0f。 temp=P1。 switch(temp) { case 0x07:key+=1。break。 case 0x0b:key+=2。break。 case 0x0d:key+=3。break。 case 0x0e:key+=4。break。 default: key=16。 } dis_buf = key。 dis_buf = dis_buf amp。 0x0f。 } void keydown(void) { P1=0xF0。 if(P1!=0xF0) { keyscan()。 / } } main() { P0=0xFF。 delay(10)。 while(1) { keydown()。 P0 = LED7Code[dis_buf%16]amp。0x7f。 } } 仿真結(jié)果及分析:,圖為按下第四個(gè)按鍵時(shí),仿真情況截圖。可以清晰的看到,按下第四個(gè)鍵之后,數(shù)碼管顯示出來了鍵值“4”。驗(yàn)證了本文設(shè)計(jì)的相關(guān)電路和程序設(shè)計(jì)的正確性。 矩陣鍵盤仿真界面 串口應(yīng)用實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康模和ㄟ^此實(shí)驗(yàn),學(xué)習(xí)單片機(jī)串口的功能,掌握單片機(jī)串口的工作原理和編程方法。實(shí)驗(yàn)內(nèi)容:實(shí)驗(yàn)中,首先要了解實(shí)現(xiàn)串行通信的硬件環(huán)境和數(shù)據(jù)格式的協(xié)議。要求利用單片機(jī)串口與 PC 機(jī)通信,編寫程序?qū)崿F(xiàn)將任意內(nèi)容,在 PC 機(jī)端利用串口調(diào)試助手工具,顯示出來。觀察實(shí)驗(yàn)現(xiàn)象,分析程序,掌握單片機(jī)串口程序的編寫方法,學(xué)會(huì)用串口調(diào)試工具。開始初始化,設(shè)置波特率,工作方式發(fā)送SBUF中的值 串口通信流程圖程序流程圖:例程:include include void delay(unsigned int i)。 unsigned int MESSAGE[]= {0x08。0xff}。unsigned char a。void main (void) { SCON = 0x50。 TMOD|= 0x20。 PCON|= 0x80。 TH1 = 0xF3。 TL1 = 0xF3。 TR1 = 1。 ES = 1。 EA = 1。 while(1) { a=0。 while(MESSAGE[a] != 0xff) {
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1