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

正文內(nèi)容

基于mcs51單片機的在線仿真實驗系統(tǒng)畢業(yè)論文(編輯修改稿)

2025-07-17 12:32 本頁面
 

【文章內(nèi)容簡介】 SB串并選擇,高電平--并行;低電平--串行16NC17REST復(fù)位信號,低電平有效18VOUT/NC19LEDALED背光源供電引腳20LEDKLEDA接+5V,LEDK接GND,P0口是數(shù)據(jù)口,RD和WR分別是寄存器選擇和讀寫控制,具體功能如下表36所示。表36 液晶屏寄存器選擇和讀寫控制RDWR作用LL寫指令到指令寄存器(IR)LH讀忙標(biāo)志位(BF)和地址計數(shù)器(AC)HL寫數(shù)據(jù)到數(shù)據(jù)寄存器(DR)HH讀數(shù)據(jù)從數(shù)據(jù)寄存器(DR) 4 系統(tǒng)仿真及實驗設(shè)置 系統(tǒng)實驗設(shè)置概述目前單片機教學(xué)主要的手段還是課程的講授。按照計劃和教學(xué)大綱,有條不紊的進(jìn)行理論的學(xué)習(xí)。雖然這種教授的方法很系統(tǒng),很全面,可是弊端也是很明顯。學(xué)生被動的接受,老師不斷不斷的灌輸,老一套的教學(xué)方法,不僅容易使人疲勞,而且學(xué)生的接受程度不高,不能很好記憶和理解,更談不上實踐應(yīng)用。以此,單片機在許多學(xué)生的眼里是一門很難的課程。解決這種問題的方法就是從實驗入手,一興趣帶動學(xué)習(xí)。充分開發(fā)的學(xué)生學(xué)習(xí)的主動性,主動的尋求相關(guān)的知識,以強烈的求知欲完成對單片機理論的學(xué)習(xí)。這樣不僅輕松了老師,學(xué)生也會覺得更加的有趣,開發(fā)出更高的創(chuàng)造性。一開始的學(xué)習(xí)是很茫然的,甚至不知道從何處入手。以此設(shè)計一份由淺入深,由易入難的實驗要求是十分必要的。從而帶動學(xué)生一步步的深入,更好更快的完成單片機知識的學(xué)習(xí)。本文中設(shè)置的實驗?zāi)依怂杏布娐房梢詫崿F(xiàn)的功能,針對每一份外設(shè)進(jìn)行了不同的實驗。主要學(xué)習(xí)單片機的應(yīng)用,同時學(xué)習(xí)部分單片機常用的元件。在以后工作學(xué)習(xí)中,由此打下基礎(chǔ),可實現(xiàn)觸類旁通。 單片機程序設(shè)計目前,單片機編程應(yīng)用廣泛的是C語言,所以學(xué)習(xí)單片機C語言的應(yīng)用是十分必要的。不過,匯編語言有利于掌握單片機的底層結(jié)構(gòu),所以在實驗之初,匯編語言和C語言同時使用,以打下扎實的基礎(chǔ)。本文中設(shè)置的實驗,都給出了明確 的要求,學(xué)生可以按照要求進(jìn)行實驗,完成學(xué)習(xí)的過程。由于篇幅的限制,一下主要簡略介紹C語言開發(fā)單片機的內(nèi)容。 用C語言進(jìn)行單片機程序開發(fā)的優(yōu)點開發(fā)計算機程序所用的語言家族中,C語言是應(yīng)用最廣泛的一種,并且還延伸拓展到許多其他的領(lǐng)域。C語言有許多優(yōu)點,例如學(xué)習(xí)難度較小,支持平臺廣泛,技術(shù)資料也較多,喜愛用C語言進(jìn)行程序開發(fā)的程序員也是最多。目前C語言在許多的硬件開發(fā)中葉得到了應(yīng)用,譬如:MCS—51單片機,AVR單片機,ARM單片機,以及DSP等等。C語言和底層硬件的關(guān)系并不是十分的密切,C語言編寫的程序在經(jīng)過簡單修改后就可以應(yīng)用不同的處理器,同時C語言編寫的庫函數(shù)可以直接利用,大大減少了開發(fā)的時間,提高了開發(fā)的效率。單片機系統(tǒng)在不斷的發(fā)展過程中,也選擇了使用C語言進(jìn)行開發(fā)。C語言開發(fā)的單片機程序具有易讀、高效、可移植、易維護(hù)等諸多的優(yōu)點,所以現(xiàn)在單片機的應(yīng)用中已普遍的采用C語言進(jìn)行開發(fā)。C語言開發(fā)單片機程序相對于使用匯編語言有著明顯的優(yōu)勢。首先,程序員不需要完全的掌握單片機指令系統(tǒng),可以很容易的就學(xué)會使用C語言對單片機編程;其次,不需要分心管理寄存器和數(shù)據(jù)類型等各種細(xì)節(jié)問題,節(jié)省大量的時間。 單片機 C 語言中的基本數(shù)據(jù)類型和基礎(chǔ)語句 無論在什么樣的編程語言中,都有各種不同的數(shù)據(jù)類型,而且不同的數(shù)據(jù)類型所占用的數(shù)據(jù)存儲空間也是不同的。MCS51單片機所擁有的存儲空間總量是有限的,為了更節(jié)省的使用單片機的存儲空間,給不同的數(shù)據(jù)變量賦予不同的數(shù)據(jù)類型是很必要的。數(shù)據(jù)類型能夠提高單片機的利用效率。不同的數(shù)據(jù)類型不僅表示不同類型的數(shù)據(jù),還有不同的數(shù)據(jù)表示范圍。在使用某一個數(shù)據(jù)或者函數(shù)變量的時候,需要實現(xiàn)的聲明數(shù)據(jù)的類型。C51的編譯器能夠根據(jù)這個聲明明白不同的數(shù)據(jù)所屬的類型,從而正確的分配存儲空間。C語言中常用的數(shù)據(jù)類型如下表41所示:表41 常用數(shù)據(jù)類型數(shù)據(jù)類型表示符號表示范圍無符號字符型Unsigned char0到255有符號字符型Char128到127無符號整型Unsigned int0到65535有符號整型Int32768到32767在單片機的C語言中也有不同的邏輯語句,其中常用的基礎(chǔ)語句有:選擇邏輯語句if,循環(huán)邏輯語句while、do while 、for,多分枝選擇邏輯語句switch case五種語句。通常在單片機的C語言編程中也就使用這些邏輯語句了。 單片機 C 語言程序工程的基礎(chǔ)構(gòu)成單片機C語言編寫的工程項目可以分為C源文件和頭文件兩類。通常情況下,我們會將不同的函數(shù)寫在不弄的C源文件中,這樣編寫項目組織明確,利于開發(fā)。在程序完全編寫完之后將所有的源文件都鏈接到一起,這樣再通過編譯之后生成hex文件或者bin文件。不過常用的還是hex文件。C源文件的構(gòu)成和常用的C語言構(gòu)成完全相同,并且C元件也是以“.c”作為源文件的擴(kuò)展名。一個C語言的源程序可以由不同功能的幾個函數(shù)構(gòu)成,也可由由單一功能的一個函數(shù)構(gòu)成。不過在C語言的源程序中,一定會有一個主函數(shù)main()。程序運行會從主函數(shù)main()開始,在主函數(shù)中可以調(diào)用不能功能的其他函數(shù)。不過當(dāng)調(diào)用的函數(shù)是外部函數(shù)的時候,需要在主函數(shù)之前先進(jìn)行聲明,如此才能正常的調(diào)用。程序在主函數(shù)內(nèi)按順序執(zhí)行,當(dāng)主函數(shù)內(nèi)所有的語句都執(zhí)行完畢的時候,程序結(jié)束。C語言的頭文件主要包含了一定類型的函數(shù)和變量信息。當(dāng)程序比較簡單的時候我們可能用不到頭文件。但是當(dāng)程序比較復(fù)雜的時候,頭文件就是必不可少的。因為在程序中會有許多的函數(shù),而且函數(shù)之間可能因為互相的調(diào)用而又復(fù)雜的關(guān)系。此時函數(shù)的聲明就是十分復(fù)雜繁瑣的。如果把所有的函數(shù)聲明都同意加到頭文件中,然后在源程序開始的部分加上“inculde **.h”,就可以很好的解決。同時函數(shù)中所用各種全局變量也可以放入頭文件中。我們在單片機的C語言程序中,常用到的頭文件是“”。該頭文件中包含了51系列單片機所有特殊功能寄存器和位寄存器以及各種端口、定時器定義等內(nèi)容。在編寫單片機C語言程序的時候,加上“include ”,就可以直接使用我們熟悉各種特殊寄存器符號和端口符號等。,它包含了常用的各種數(shù)學(xué)函數(shù)。了解了單片機程序項目的結(jié)構(gòu)之后,我們就可以嘗試著編寫單片機C語言程序了。編寫C語言程序的時候,要注意形成良好的編程習(xí)慣。不同邏輯層次的語句用不同的縮進(jìn)層次表現(xiàn)出來,然后還要注意個程序加注釋。注釋的方法有“//”和“/*……*/”兩種。給程序加上注釋之后,能夠加強程序的可讀性,并且對于程序的再利用和移植使用都有很大的幫助。 實驗系統(tǒng)基本實驗程序設(shè)計和仿真結(jié)果為了配合本文中設(shè)計的單片機實驗系統(tǒng)的使用,更大程度的發(fā)揮單片機實驗系統(tǒng)的作用,編寫了下面了實驗。實驗內(nèi)同由淺入深,并且附錄了部分實驗的程序,可以供學(xué)生學(xué)習(xí)參考。因本文篇幅的限制,只列出了每個實驗的基礎(chǔ)要求和內(nèi)容,其他的內(nèi)容不再贅述。 單片機 I/O 口控制實驗實驗?zāi)康模和ㄟ^此實驗學(xué)習(xí) I/O 口的基本使用方法和如何編程。實驗內(nèi)容:利用P1口作為輸出,線點亮二極管,這樣觀察二極管亮滅的情況。然后修改程序,使特定的一個或幾個二極管點亮。這是單片機入門的第一個程序,總結(jié)單片機 C 語言的編程方法和思路,熟悉 C51 的基本結(jié)構(gòu),學(xué)會 KEIL 軟件的使用。軟件仿真:用keilc51編寫程序,生成hex文件。一、打開keil軟件之后,新建一個工程,保存文件,新建“.c”文檔并加入工程中。設(shè)置軟件,使keil軟件能夠產(chǎn)生hex文件。 keil軟件 單擊“Flash——Configure Flash Tools”,出現(xiàn)對話框options for target“Target1”。 。 keil軟件三、單擊“output”選項,勾中選項“Creat Hex File”, 。這樣就設(shè)置好了。四、然后編寫軟件程序。由于只是點亮二極管,程序十分簡單,只需要將P1置0就可以。單擊“Project——Build Target”,編譯連接之后,就會產(chǎn)生hex文件,文件在工程目錄下。. keil軟件 將單片機的P1口與8支led等連接上。將hex文件導(dǎo)入單片機中,; led燈仿真。 led燈仿真仿真結(jié)果分析:仔細(xì)觀察。程序已經(jīng)正確運行。如果想要點亮不同的二極管,只需要改變P1口輸出的值。P1口接二極管的陰極,所以任何一個P1口管腳輸出為0電平,都會點亮一只二極管。 閃爍燈實驗 實驗?zāi)康模罕緦嶒炇菃纹瑱C技術(shù)的基礎(chǔ)訓(xùn)練,通過該實驗使學(xué)生掌握單片機C語言程序的編寫方法,熟悉掌握I/O口的基本使用。實驗內(nèi)容:一,在P1端口上接發(fā)光二極管,使二極管在不停地一亮一滅。二,通過P1口接發(fā)光二極管,程序開始運行后,第一只二極管點亮,第二只二極管點亮,第一只二極管滅;,第三只二極管亮,第二只二極管滅;如此,直至第八只二極管亮,第一只二極管在點亮,第八只滅。一直循環(huán),并且觀察二極管是否如要求一樣的點亮。程序流程圖P1口置1開始P1口置零 閃爍燈流程圖編寫程序,例程如下:/********************************************將P2口同8路led燈相連*******************************************/include void delay(unsigned int i)。 main(){ P2 = 0x00。 delay(600)。 P2 = 0xff。 delay(600)。 }/*******延時函數(shù)*************/void delay(unsigned int i){ unsigned char j。 for(i。 i 0。 i) for(j = 150。 j 0。 j)。} 。 閃爍燈仿真仿真結(jié)果及分析:,可以觀察到8只led燈有規(guī)律的閃爍。二極管發(fā)光情況和P1口輸出數(shù)據(jù)一樣,當(dāng)P1為0時,全亮。要實現(xiàn)要求二的實驗現(xiàn)象,只需要讓P1口按如下規(guī)律變化:FEH——FDH——FBH——F7H——EFH——DFH——BFH——7FH——FEH——…… 驅(qū)動蜂鳴器實驗實驗?zāi)康模和ㄟ^此實驗學(xué)習(xí)驅(qū)動蜂鳴器的方法和編程。并且學(xué)會用 KEIL 軟件實現(xiàn)延時的精確計算和帶參數(shù)的函數(shù)的寫法和調(diào)用。 實驗內(nèi)容:一、編寫一段程序, 口控制(輸出3K 到4K 頻率的方波),使蜂鳴器發(fā)出嘹亮的響聲。二、嘗試按照音譜輸入一段程序, 口控制,使的蜂鳴器發(fā)出有旋律的音樂。 程序流程圖:精確延時,T約為300us左右開始 蜂鳴器驅(qū)動流程圖例程如下:include void delay(unsigned int i)。 sbit Beep=P1^5。 main(){ Beep=~Beep。 delay(1)。 Beep = ~Beep。 delay(1)。}/*******延時函數(shù)*************/void delay(unsigned int i){ unsigned char j。 for(i。 i 0。 i) for(j = 150。 j 0。 j)。}仿真實驗結(jié)果及分析: 蜂鳴器仿真。當(dāng)點擊運行按鈕后,發(fā)出嘹亮的響聲。說明硬件電路接線及選用器件均正確。 定時器應(yīng)用實驗實驗?zāi)康模和ㄟ^此實驗學(xué)習(xí)掌握單片機內(nèi)部定時計數(shù)器的使用和編程方法,并且學(xué)習(xí)掌握定時器查詢使用程序的編寫方法。實驗內(nèi)容:由51內(nèi)部定時器1,按方式1工作,即作為16位定時器使用。P1口連接8個發(fā)光二極管。使用定時器定時,編寫程序控制,要求開機之后第一、第二兩個二極管亮,1s之后,第三、第四兩個二極管亮,第一、第二兩個二極管滅,第2s之后,第五、第六兩個二極管亮,第三、第四兩個二極管滅,第3s之后,第七、第八兩個二極管亮,第五、第六兩個二極管滅, 第4s之后,再從頭開始循環(huán),一直循環(huán)往復(fù)。程序流程圖:等待1s等待1s等待1s等待1s4兩燈2滅6兩燈亮4滅8兩燈亮6滅開始2 兩燈亮8兩燈滅 定時器應(yīng)用流程圖例程:include include sbit Beep = P1^5 。 unsigned char n=0。void int1() interrupt 3 { TH0=0xd8。 TL0=0xef。 n++。} void main() { unsigned char p,m=0。 unsigned char i=0。 TMODamp。=0xf0。 TMOD|=0x10。 TH1=0xD8。TL1=0xEF。 IE=0x88。 TR1=1。 while(1) { if (n=100) { n=0。 m++。 } switch (m){ case 0:break。 case 1:P1=0x3f。break。 case 2:P1=0xcf。break。 case 3:P1=0xf3。break。 default :P1=0xfc。
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1