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

正文內(nèi)容

單片機實驗報告[5篇范文]-閱讀頁

2024-10-21 07:06本頁面
  

【正文】 決;因此,專用單片機的發(fā)展自然形成了SoC化趨勢。因此,對單片機的理解可以從單片微型計算機、單片微控制器延伸到單片應(yīng)用系統(tǒng)。然而,普通51系列微控制器內(nèi)部資源有限,像我用Proteus構(gòu)建微控制器虛擬實驗室選用的AT89C52只有三個定時器、一個全雙工的串行口和中斷控制,并且其數(shù)據(jù)處理能力有限,不適合對大量數(shù)據(jù)進(jìn)行復(fù)雜分析和運算。針對微控制器的特點,我們首先考慮串行擴展,因為微控制器的I/O引腳有限,并行擴展一則外圍芯片面積比較大,二則對抑制EMI不利。加載程序,觀察實驗結(jié)果,如果不正確對程序進(jìn)行改進(jìn)后重復(fù)此操作。單片機實驗報告include define uint unsigned int void d(uint x){uint n。x0。nmain(){unsigned int i。i二、步進(jìn)馬達(dá)試驗編程實現(xiàn)馬達(dá)的正反轉(zhuǎn),調(diào)速等功能 在Keil ,按照下圖連接電路后將HC600S51單片機開發(fā)板接通電源,按下開關(guān),錄入。實驗結(jié)束后先斷電源再拆線,將元器件歸位后離開。//定義管腳 sbit PH2 = P1^1。sbit I11 = P1^3。sbit I12 = P1^5。void Go(){ //APH1 = 0。I11 = 0。//PH2為0 則B線圈為反向電流I02 = 1。//輸出0 delay(speed)。//輸出0 I11 = 1。//PH2為1 則B線圈為正向電流I02 = 0。delay(speed)。//PH1為1 則A線圈為正向電流I01 = 0。PH2 = 1。//輸出0 I12 = 1。PH1 = 1。I11 = 1。//PH2為0 則B線圈為反向電流I02 = 0。delay(speed)。for(j=0。i void main(){while(1){Go()。加載程序,觀察實驗結(jié)果,如果不正確對程序進(jìn)行改進(jìn)后重復(fù)此操作。(圖一)圖一 圖二 上圖圖二 include include define GPIO_KEY P1 //獨立鍵盤用P1口define uchar unsigned char define uint unsigned intvoid Delayms(unsigned int c)。void main(void){unsigned char ledValue, keyNum。while(1){keyNum = Key_Scan()。break。break。break。break。break。break。break。//返回按鍵K2的數(shù)據(jù)//返回按鍵K3的數(shù)據(jù)//返回按鍵K4的數(shù)據(jù)//返回按鍵K5的數(shù)據(jù)//返回按鍵K6的數(shù)據(jù)//返回按鍵K7的數(shù)據(jù)//返回按鍵K8的數(shù)據(jù)break。}GPIO_LED = ledValue。if(P1==0xff)goto Scan_r。Scan_1:while(P1!=0xff)。Scan_r:return n。for(。x){for(n=0。}} }四、矩陣鍵盤實驗編程由16個矩陣按鍵控制數(shù)碼管顯示相應(yīng)的數(shù)值 在Keil ,按照下圖連接電路后將HC600S51單片機開發(fā)板接通電源,按下開關(guān),錄入。實驗結(jié)束后先斷電源再拆線,將元器件歸位后離開。void Delayms(uint x)。uchar i。loop: i = ScanKey()。break。break。break。break。break。break。break。break。break。break。break。break。break。break。break。break。i=0。}void Delayms(uint x){uint n。x 0。n{。P1=0xf0。//無鍵按下,返回for(i=0,P1=0xfe。0xf0)!=0xf0){ Delayms(10)。0xf0)!=0xf0){ n=P1。}}P1=(P1//掃描下一行} goto Scan_r。while((P1amp。//等待鍵釋放Delayms(10)。return n。加載程序,觀察實驗結(jié)果,如果不正確對程序進(jìn)行改進(jìn)后重復(fù)此操作。(圖一)圖一單片機實驗報告圖二見上圖圖二 include define uchar unsigned char define uint unsigned int void Delayms(uint x)。main(){unsigned int LedNumVal。P0 = LED7Code[LedNumVal%16]。//調(diào)用延時程序}}單片機實驗報告void Delayms(uint x){uint n。x 0。n{。通過P2P2P24控制38譯碼器來對數(shù)碼管進(jìn)行位選,通過P0口經(jīng)過573的驅(qū)動控制數(shù)碼管的段選,通過P13控制573的使能端,為低電平時573才會有輸出。加載程序,觀察實驗結(jié)果,如果不正確對程序進(jìn)行改進(jìn)后重復(fù)此操作。(圖一)圖一 圖二單片機實驗報告圖三見上圖圖二、圖三 define uint unsigned int void Dsplay()。uchar mDS[6]。void main(){ uchar i。iloop:Dsplay()。}void Dsplay()//動態(tài)掃描顯示{uchar i。i{ P1=cDsCode[mDS[i]]。P2=P2//選通下一位}P2=0x00。for(。x){ for(n=0。}} }七、NE555脈沖發(fā)生器實驗(定時/計數(shù)器)在Keil ,按照下圖連接電路后將HC600S51單片機開發(fā)板接通電源,按下開關(guān),錄入。實驗結(jié)束后先斷電源再拆線,將元器件歸位后離開。uchar code EN_CHAR2[16]={“FREQ:HZ”}。//初始化定時器 ulong Freq。//用于計算1S鐘的void main(){ uchar i, freqValue[6]。TIMER_Configuration()。iLcdWriteData(EN_CHAR1[i])。//第二行顯示for(i=0。}while(1){if(TR0==0)//當(dāng)計數(shù)器停下的時候,表明計數(shù)完畢{Freq = Freq + TL1。//讀取TH的值LcdWriteCom(0xc8)。039。freqValue[1]=39。+Freq%100000/10000。039。freqValue[3]=39。+Freq%1000/100。039。freqValue[5]=39。+Freq%10。i{if(freqValue[i]==0x30){freqValue[i]=0x20。}}for(i=0。}Freq=0。//將計數(shù)器的值清零TL1=0。//開啟定時器TR1=1。TH0=0x3C。ET0=1。EA=1。TR1=1。if(TimeCount==20)//計時到1S {TR0=0。TimeCount=0。TL0=0xB0。}include“”void Lcd1602_Delay1ms(uint c)//誤差 0us {uchar a,b。c0。b0。a0。}}} ifndef LCD1602_4PINS //當(dāng)沒有定義這個LCD1602_4PINS時 void LcdWriteCom(uchar )//寫入命令 { LCD1602_E = 0。//選擇發(fā)送命令LCD1602_RW = 0。//放入命令Lcd1602_Delay1ms(1)。//寫入時序Lcd1602_Delay1ms(5)。} elsevoid LcdWriteCom(uchar )//寫入命令 { LCD1602_E = 0。//選擇寫入命令LCD1602_RW = 0。// Lcd1602_Delay1ms(1)。//寫入時序Lcd1602_Delay1ms(5)。Lcd1602_Delay1ms(1)。LCD1602_E = 1。LCD1602_E = 0。//使能清零LCD1602_RS = 1。//選擇寫入LCD1602_DATAPINS = dat。LCD1602_E = 1。//保持時間LCD1602_E = 0。//使能清零LCD1602_RS = 1。//選擇寫入LCD1602_DATAPINS = dat。LCD1602_E = 1。LCD1602_E = 0。LCD1602_E = 1。LCD1602_E = 0。//開顯示單片機實驗報告LcdWriteCom(0x0c)。//寫一個指針加1 LcdWriteCom(0x01)。//設(shè)置數(shù)據(jù)指針起點 } else void LcdInit()//LCD初始化子程序 { LcdWriteCom(0x32)。//在四位線下的初始化LcdWriteCom(0x0c)。//寫一個指針加1 LcdWriteCom(0x01)。//設(shè)置數(shù)據(jù)指針起點 } endif八、RS232串口通信實驗(接收與發(fā)送),理解并掌握對串口進(jìn)行初始化; (Baud 9600、數(shù)據(jù)位停止位效驗位無)做為上位機來做收發(fā)試驗;,接受窗口顯示收到的數(shù)據(jù)。加載程序,觀察實驗結(jié)果,如果不正確對程序進(jìn)行改進(jìn)后重復(fù)此操作。單片機實驗報告include include“” unsigned char ChCode[14] = “Received data:”。void main(){ unsigned char i, receiveData。for(i=0。} UsartConfiguration()。//讀取數(shù)據(jù)單片機實驗報告RI = 0。LcdWriteData(39。 +(receiveData / 100))。039。// 十位LcdWriteData(39。 +(receiveData % 10))。//設(shè)置為工作方式1 TMOD=0X20。//波特率加倍TH1=0XF3。TR1=1。for(。c){for(b=199。b){for(a=1。a)。//使能LCD1602_RS = 0。//選擇寫入LCD1602_DATAPINS = 。//等待數(shù)據(jù)穩(wěn)定LCD1602_E = 1。//保持時間LCD1602_E = 0。//使能清零LCD1602_RS = 0。//選擇寫入LCD1602_DATAPINS = 。LCD1602_E = 1。LCD1602_E = 0。LCD1602_DATAPINS = Lcd1602_Delay1ms(1)。//寫入時序Lcd1602_Delay1ms(5)。} endififndef LCD1602_4PINSvoid LcdWriteData(uchar dat)//寫入數(shù)據(jù) { LCD1602_E = 0。//選擇輸入數(shù)據(jù)LCD1602_RW = 0。//寫入數(shù)據(jù)Lcd1602_Delay1ms(1)。//寫入時序Lcd1602_Delay1ms(5)。} else void LcdWriteData(uchar dat)//寫入數(shù)據(jù) { LCD1602_E = 0。//選擇寫入數(shù)據(jù)LCD1602_RW = 0。Lcd1602_Delay1ms(1)。//寫入時序Lcd1602_Delay1ms(5)。LCD1602_DATAPINS = dat Lcd1602_Delay1ms(1)。//寫入時序Lcd1602_Delay1ms(5)。} endififndef LCD1602_4PINS void LcdInit()//LCD初始化子程序 { LcdWriteCom(0x38)。//開顯示不顯示光標(biāo)LcdWriteCom(0x06)。//清屏LcdWriteCom(0x80)。//將8位總線轉(zhuǎn)為4位總線LcdWriteCom(0x28)。//開顯示不顯示光標(biāo)LcdWriteCom(0x06)。//清屏LcdWriteCom(0x80)。我覺得軟件實驗就是讓我們初學(xué)者熟悉keil的使用,然后復(fù)習(xí)下匯編的思想和掌握程序的流程,所以軟件實驗可以很快的完成,并且慢慢熟悉調(diào)試的強大功能。當(dāng)然更重要的是這種好習(xí)慣,仿真完后再去在實驗板上驗證會比直接要來的確切而且便捷,至少不要老是去插拔線??偠灾@學(xué)期的單片機實驗還是收獲頗豐的。第五篇:單片機實驗報告單片機實驗報告一、實驗?zāi)康?、Protues兩款軟件 ,增強個人動手實踐能力 二、實驗內(nèi)容。:當(dāng)外部中斷來臨時,啟動流水燈,即令P2口的LED輪流循環(huán)點亮。要求:在Keil或Protues上看到數(shù)據(jù)轉(zhuǎn)換結(jié)果。要求:Protues使軟件間示波器顯示
點擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1