




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、智能儀表綜合課程設(shè)計(jì)成 績(jī) 評(píng) 定 表學(xué)生姓名班級(jí)學(xué)號(hào)專(zhuān) 業(yè)課程設(shè)計(jì)題目基于單片機(jī)的多功能函數(shù)發(fā)生器的設(shè)計(jì)評(píng)語(yǔ)組長(zhǎng)簽字:成績(jī)?nèi)掌?2015年 1月 9日課程設(shè)計(jì)任務(wù)書(shū)學(xué) 院專(zhuān) 業(yè)學(xué)生姓名班級(jí)學(xué)號(hào)課程設(shè)計(jì)題目基于單片機(jī)的多功能函數(shù)發(fā)生器的設(shè)計(jì)實(shí)踐教學(xué)要求與任務(wù):通過(guò)本課程設(shè)計(jì)使學(xué)生進(jìn)一步鞏固智能儀表綜合設(shè)計(jì)的基本概念、理論、分析方法和實(shí)現(xiàn)方法;增強(qiáng)學(xué)生軟件編程實(shí)現(xiàn)能力和解決實(shí)際問(wèn)題的能力。1、熟悉所確定的題目從問(wèn)題需求,數(shù)據(jù)結(jié)構(gòu),程序結(jié)構(gòu),難點(diǎn)及關(guān)鍵技術(shù)等方面進(jìn)行分析,形成系統(tǒng)的設(shè)計(jì)方案;2、根據(jù)方案設(shè)計(jì)硬件電路; 3、軟件編程并調(diào)試;4、完成文檔整理,按照軟件工程的要求完成設(shè)計(jì)論文;5、通過(guò)答
2、辯的形式對(duì)程序的功能進(jìn)行評(píng)價(jià)與驗(yàn)收。工作計(jì)劃與進(jìn)度安排:第12周-第13周:布置設(shè)計(jì)任務(wù),查資料,完成總體設(shè)計(jì)框架,完善設(shè)計(jì)內(nèi)容,系統(tǒng)調(diào)試,驗(yàn)收答辯。指導(dǎo)教師: 年 月 日專(zhuān)業(yè)負(fù)責(zé)人: 年 月 日學(xué)院教學(xué)副院長(zhǎng):年 月 日摘 要本文介紹一種用AT89C51單片機(jī)構(gòu)成的波形發(fā)生器,波形的周期可用程序改變,信號(hào)發(fā)生器采用數(shù)字波形合成技術(shù),通過(guò)硬件電路和軟件程序相結(jié)合,可輸出正弦波、方波、三角波、及其他波形,波形的頻率和幅度在一定范圍內(nèi)可任意改變。波形和頻率的改變通過(guò)軟件控制,幅度的改變通過(guò)硬件實(shí)現(xiàn)。介紹了波形的生成原理、硬件電路和軟件部分的設(shè)計(jì)原理。具有線路簡(jiǎn)單、結(jié)構(gòu)緊湊、性能優(yōu)越等特點(diǎn)。文章給出
3、了源代碼,通過(guò)仿真測(cè)試,其性能指標(biāo)達(dá)到了設(shè)計(jì)要求。 關(guān)鍵詞:?jiǎn)纹瑱C(jī);DAC;信號(hào)發(fā)生器目錄1 智能儀器儀表的簡(jiǎn)介11.1智能儀器儀表簡(jiǎn)介11.2智能儀器儀表的作用12 系統(tǒng)設(shè)計(jì)簡(jiǎn)介22.1 函數(shù)發(fā)生器的簡(jiǎn)介22.2 設(shè)計(jì)要求22.3 設(shè)計(jì)方案論證22.4 硬件設(shè)計(jì)電路33 系統(tǒng)硬件設(shè)計(jì)43.1 主控電路選擇43.2 顯示電路53.3數(shù)模轉(zhuǎn)換電路53.4時(shí)鐘及復(fù)位電路63.5系統(tǒng)總體電路圖64 設(shè)計(jì)語(yǔ)言及軟件介紹74.1 匯編語(yǔ)言介紹74.2 wave6000軟件介紹75系統(tǒng)軟件設(shè)計(jì)105.1程序流程圖.10 5.1.1主程序.10 5.1.2輸出顯示子程序115.2控制源程序.115.3調(diào)試及
4、仿真.185.4結(jié)論.19參考文獻(xiàn)201 智能儀器儀表的簡(jiǎn)介1.1智能儀器儀表簡(jiǎn)介儀器儀表(英文:instrumentation)儀器儀表是用以檢出、測(cè)量、觀察、計(jì)算各種物理量、物質(zhì)成分、物性參數(shù)等的器具或設(shè)備。真空檢漏儀、壓力表、測(cè)長(zhǎng)儀、顯微鏡、乘法器等均屬于儀器儀表。廣義來(lái)說(shuō),儀器儀表也可具有自動(dòng)控制、報(bào)警、信號(hào)傳遞和數(shù)據(jù)處理等功能,例如用于工業(yè)生產(chǎn)過(guò)程自動(dòng)控制中的氣動(dòng)調(diào)節(jié)儀表,和電動(dòng)調(diào)節(jié)儀表,以及集散型儀表控制系統(tǒng)也皆屬于儀器儀表。1.2智能儀器儀表的作用隨著科技的不斷發(fā)展,現(xiàn)代社會(huì)對(duì)各種信息參數(shù)的準(zhǔn)確度和精確度的要求都有了幾何級(jí)的增長(zhǎng),而如何準(zhǔn)確而又迅速的獲得這些參數(shù)就需要受制于現(xiàn)代信
5、息基礎(chǔ)的發(fā)展水平。在三大信息信息采集(即傳感器技術(shù))、信息傳輸(通信技術(shù))和信息處理(計(jì)算機(jī)技術(shù))中,傳感器屬于信息技術(shù)的前沿尖端產(chǎn)品,尤其是溫度傳感器技術(shù),在我國(guó)各領(lǐng)域已經(jīng)引用的非常廣泛,可以說(shuō)是滲透到社會(huì)的每一個(gè)領(lǐng)域,人民的生活與環(huán)境的溫度息息相關(guān),在工業(yè)生產(chǎn)過(guò)程中需要實(shí)時(shí)測(cè)量溫度,在農(nóng)業(yè)生產(chǎn)中也離不開(kāi)溫度的測(cè)量,因此研究溫度的測(cè)量方法和裝置具有重要的意義。 測(cè)量溫度的關(guān)鍵是溫度傳感器,溫度傳感器的發(fā)展經(jīng)歷了三個(gè)發(fā)展階段: 傳統(tǒng)的分立式溫度傳感器 模擬集成溫度傳感器 智能集成溫度傳感器。 在當(dāng)今信息化時(shí)代展過(guò)程中,各種信息的感知、采集、轉(zhuǎn)換、傳輸和處理的功能器件已經(jīng)成為各個(gè)應(yīng)用領(lǐng)域中不可缺
6、少的重要技術(shù)工具。傳感器是信息采集系統(tǒng)的首要部件,是實(shí)現(xiàn)現(xiàn)代化測(cè)量和自動(dòng)控制的主要環(huán)節(jié),是現(xiàn)代信息產(chǎn)業(yè)的源頭,又是信息社會(huì)賴以存在和發(fā)展的物質(zhì)與技術(shù)基礎(chǔ)。可見(jiàn)理解和撐握傳感器的知識(shí)與技術(shù)有著其極重要的意義。傳感器知識(shí)面廣,如果在實(shí)踐技能的鍛煉上下功夫,單憑課堂理論課學(xué)習(xí),勢(shì)必出現(xiàn)理論與實(shí)踐脫節(jié)的局面。任隨書(shū)本上把單片機(jī)技術(shù)介紹得多么重要、多么實(shí)用多么好用,同學(xué)們?nèi)匀粫?huì)感到那只是空中樓閣,離自己十分遙遠(yuǎn),或者會(huì)感到對(duì)它失去興趣,或者會(huì)感到它高深莫測(cè)無(wú)從下手,這些情況都會(huì)令課堂教學(xué)的效果大打折扣。 2 系統(tǒng)設(shè)計(jì)簡(jiǎn)介2.1函數(shù)發(fā)生器的簡(jiǎn)介函數(shù)發(fā)生器作為一種常用的信號(hào)源,是現(xiàn)代測(cè)試領(lǐng)域內(nèi)應(yīng)用最為廣泛的
7、通用儀器之一。在研制、生產(chǎn)、測(cè)試和維修各種電子元件、部件以及整機(jī)設(shè)備時(shí),都學(xué)要有信號(hào)源,由它產(chǎn)生不同頻率不同波形的電壓、電流信號(hào)并加到被測(cè)器件或設(shè)備上,用其他儀器觀察、測(cè)量被測(cè)儀器的輸出響應(yīng),以分析確定它們的性能參數(shù)。信號(hào)發(fā)生器是電子測(cè)量領(lǐng)域中最基本、應(yīng)用最廣泛的一類(lèi)電子儀器。它可以產(chǎn)生多種波形信號(hào),如正弦波,三角波,方波等,因而廣泛用于通信、雷達(dá)、導(dǎo)航、宇航等領(lǐng)域。2.2 設(shè)計(jì)要求本文是做基于單片機(jī)的信號(hào)發(fā)生器的設(shè)計(jì),將采用編程的方法來(lái)實(shí)現(xiàn)三角波、鋸齒波、矩形波、正弦波的發(fā)生。根據(jù)設(shè)計(jì)的要求,對(duì)各種波形的頻率和幅度進(jìn)行程序的編寫(xiě),并將所寫(xiě)程序裝入單片機(jī)的程序存儲(chǔ)器中。在程序運(yùn)行中,當(dāng)接收到來(lái)
8、自外界的命令,需要輸出某種波形時(shí)再調(diào)用相應(yīng)的中斷服務(wù)子程序和波形發(fā)生程序,經(jīng)電路的數(shù)/模轉(zhuǎn)換器和運(yùn)算放大器處理后,從信號(hào)發(fā)生器的輸出端口輸出。2.3 設(shè)計(jì)方案論證方案一:采用單片函數(shù)發(fā)生器(如8038),8038可同時(shí)產(chǎn)生正弦波、方波等,而且方法簡(jiǎn)單易行,用D/A轉(zhuǎn)換器的輸出來(lái)改變調(diào)制電壓,也可以實(shí)現(xiàn)數(shù)控調(diào)整頻率,但產(chǎn)生信號(hào)的頻率穩(wěn)定度不高。 方案二:采用鎖相式頻率合成器,利用鎖相環(huán),將壓控振蕩器(VCO)的輸出頻率鎖定在所需頻率上,該方案性能良好,但難以達(dá)到輸出頻率覆蓋系數(shù)的要求,且電路復(fù)雜。 方案三:采用單片機(jī)編程的方法來(lái)實(shí)現(xiàn)。該方法可以通過(guò)編程的方法來(lái)控制信號(hào)波形的頻率和幅度,而且在硬件
9、電路不變的情況下,通過(guò)改變程序來(lái)實(shí)現(xiàn)頻率的變換。此外,由于通過(guò)編程方法產(chǎn)生的是數(shù)字信號(hào),所以信號(hào)的精度可以做的很高。 鑒于方案一的信號(hào)頻率不夠穩(wěn)定和方案二的電路復(fù)雜,頻率覆蓋系數(shù)難以達(dá)標(biāo)等缺點(diǎn),所以決定采用方案三的設(shè)計(jì)方法。它不僅采用軟硬件結(jié)合,軟件控制硬件的方法來(lái)實(shí)現(xiàn),使得信號(hào)頻率的穩(wěn)定性和精度的準(zhǔn)確性得以保證,而且它使用的幾種元器件都是常用的元器件,容易得到,且價(jià)格便宜,使得硬件的開(kāi)銷(xiāo)達(dá)到最省。 圖1 函數(shù)發(fā)生器原理結(jié)構(gòu)框圖2.4 硬件設(shè)計(jì)電路數(shù)字信號(hào)可以通過(guò)數(shù)/模轉(zhuǎn)換器轉(zhuǎn)換成模擬信號(hào),因此可通過(guò)產(chǎn)生數(shù)字信號(hào)再轉(zhuǎn)換成模擬信號(hào)的方法來(lái)獲得所需要的波形。89C51單片機(jī)本身就是一個(gè)完整的微型計(jì)
10、算機(jī),具有組成微型計(jì)算機(jī)的各部分部件:中央處理器CPU、隨機(jī)存取存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、I/O接口電路、定時(shí)器/計(jì)數(shù)器以及串行通訊接口等,只要將89C51再配置鍵盤(pán)及、數(shù)模轉(zhuǎn)換及波形輸出、放大電路等部分,即可構(gòu)成所需的波形發(fā)生器,硬件原理方框圖如圖所示:圖2 函數(shù)發(fā)生器硬件原理框圖3.系統(tǒng)硬件設(shè)計(jì)3.1主控制器選擇AT89C51單處機(jī)內(nèi)部設(shè)置兩個(gè)16位可編程的定時(shí)器/計(jì)數(shù)器T0和T1,它們具有計(jì)數(shù)器方式和定時(shí)器方式兩種工作方式及4種工作模式。在波形發(fā)生器中,將其作定時(shí)器使用,用它來(lái)精確地確定波形的兩個(gè)采樣點(diǎn)輸出之間的延遲時(shí)間。模式1采用的是16位計(jì)數(shù)器,當(dāng)T0或T1被允許計(jì)數(shù)后,從初值
11、開(kāi)始加計(jì)數(shù),最高位產(chǎn)生溢出時(shí)向CPU請(qǐng)求中斷。中斷系統(tǒng)是使處理器具有對(duì)外界異步事件的處理能力而設(shè)置的。當(dāng)中央處理器CPU正在處理某件事的時(shí)候外界發(fā)生了緊急事件,要求CPU暫停當(dāng)前的工作,轉(zhuǎn)而去處理這個(gè)緊急事件。在波形發(fā)生器中,只用到片內(nèi)定時(shí)器計(jì)數(shù)器溢出時(shí)產(chǎn)生的中斷請(qǐng)求,即是在AT89C51輸出一個(gè)波形采樣點(diǎn)信號(hào)后,接著啟動(dòng)定時(shí)器,在定時(shí)器未產(chǎn)生中斷之前,AT89C51等待,直到定時(shí)器計(jì)時(shí)結(jié)束,產(chǎn)生中斷請(qǐng)求,AT89C51響應(yīng)中斷,接著輸出下一個(gè)采樣點(diǎn)信號(hào),如此循環(huán)產(chǎn)生所需要的信號(hào)波形。 如圖3所示,AT89C51從P0口接收來(lái)自鍵盤(pán)的信號(hào),并通過(guò)P1口輸出一些控制信號(hào),并在數(shù)碼管上顯示出來(lái)。圖
12、3 AT89C51引腳圖3.2顯示電路 顯示電路是用來(lái)顯示波形信號(hào)的頻率,使得整個(gè)系統(tǒng)更加合理,從經(jīng)濟(jì)的角度出發(fā),所以顯示器件采用LED數(shù)碼管顯示器。而且LED數(shù)碼管是采用共陽(yáng)極接法,當(dāng)主控端口輸出一個(gè)低電平后,與其相對(duì)應(yīng)的數(shù)碼管即變亮,顯示所需數(shù)據(jù)。圖4顯示電路3.3數(shù)模轉(zhuǎn)換電路由于單片機(jī)產(chǎn)生的是數(shù)字信號(hào),要想得到所需要的波形,就要把數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào),所以該文選用價(jià)格低廉、接口簡(jiǎn)單、轉(zhuǎn)換控制容易并具有8位分辨率的數(shù)模轉(zhuǎn)換器DAC0832。DAC0832主要由8位輸入寄存器、8位DAC寄存器、8位D/A轉(zhuǎn)換器以及輸入控制電路四部分組成。但實(shí)際上,DAC0832輸出的電量也不是真正能連續(xù)可
13、調(diào),而是以其絕對(duì)分辨率為單位增減,是準(zhǔn)模擬量的輸出。DAC0832是電流型輸出,在應(yīng)用時(shí)外接運(yùn)放使之成為電壓型輸出。 圖5數(shù)模轉(zhuǎn)換電路3.4時(shí)鐘及復(fù)位電路 8051單片機(jī)有兩個(gè)引腳(XTAL1,XTAL2)用于外接石英晶體和微調(diào)電容,從而構(gòu)成時(shí)鐘電路,其電路圖如圖3.5所示。 電容C1、C2對(duì)振蕩頻率有穩(wěn)定作用,其容量的選擇為30pf,振蕩器選擇頻率為12MHz的石英晶體。由于頻率較大時(shí),三角波、正弦波、鋸齒波中每一點(diǎn)的延時(shí)時(shí)間為幾微秒,故延時(shí)時(shí)間還要加上指令時(shí)間才能獲得較大的頻率波形。圖6時(shí)鐘及復(fù)位電路3.5系統(tǒng)總體電路圖圖7系統(tǒng)總體設(shè)計(jì)圖4 設(shè)計(jì)語(yǔ)言及軟件介紹4.1 匯編語(yǔ)言介紹匯編大多是
14、指匯編語(yǔ)言,匯編程序。把匯編語(yǔ)言翻譯成機(jī)器語(yǔ)言的過(guò)程稱(chēng)為匯編。在匯編語(yǔ)言中,用助記符(Memoni)代替操作碼,用地址符號(hào)(Symbol)或標(biāo)號(hào)(Label)代替地址碼。這樣用符號(hào)代替機(jī)器語(yǔ)言的二進(jìn)制碼,就把機(jī)器語(yǔ)言變成了匯編語(yǔ)言。于是匯編語(yǔ)言亦稱(chēng)為符號(hào)語(yǔ)言。用匯編語(yǔ)言編寫(xiě)的程序,機(jī)器不能直接識(shí)別,要由一種程序?qū)R編語(yǔ)言翻譯成機(jī)器語(yǔ)言,這種起翻譯作用的程序叫匯編程序,匯編程序是系統(tǒng)軟件中語(yǔ)言處理的系統(tǒng)軟件。隨著現(xiàn)代軟件系統(tǒng)越來(lái)越龐大復(fù)雜,大量經(jīng)過(guò)了封裝的高級(jí)語(yǔ)言如C/C+、Pascal/Object Pascal也應(yīng)運(yùn)而生。這些新的語(yǔ)言使得程序員在開(kāi)發(fā)過(guò)程中能夠更簡(jiǎn)單,更有效率,使軟件開(kāi)發(fā)人員
15、得以應(yīng)付快速的軟件開(kāi)發(fā)的要求。而匯編語(yǔ)言由于其復(fù)雜性使得其適用領(lǐng)域逐步減小。但這并不意味著匯編已無(wú)用武之地。由于匯編更接近機(jī)器語(yǔ)言,能夠直接對(duì)硬件進(jìn)行操作,生成的程序與其他的語(yǔ)言相比具有更高的運(yùn)行速度,占用更小的內(nèi)存,因此在一些對(duì)于時(shí)效性要求很高的程序、許多大型程序的核心模塊以及工業(yè)控制方面大量應(yīng)用。4.2 wave6000軟件介紹wave6000,這個(gè)軟件是南京偉福公司的單片機(jī)開(kāi)發(fā)軟件,一般就是用在C51單片機(jī)。不需要購(gòu)買(mǎi)仿真器,使用軟件模擬器就可以了,使用很方便的。 也支持KEILC,但最好不要在WAVE內(nèi)使用C,如果想用C編寫(xiě),還是用KEIL C方便。WAVE6000編譯軟件,采用中文界
16、面。用戶源程序大小不受限制,有豐富的窗口顯示方式,能夠多方位、動(dòng)態(tài)地展示程序的執(zhí)行過(guò)程。其項(xiàng)目管理功能強(qiáng)大,可使單片機(jī)程序化大為小,化繁為簡(jiǎn),便于管理。另外,其書(shū)簽、斷點(diǎn)管理功能以及外設(shè)管理功能等為51單片機(jī)的仿真帶來(lái)極大的便利。n1.數(shù)據(jù)存儲(chǔ)器n8051單片機(jī)數(shù)據(jù)存儲(chǔ)器用于暫存程序執(zhí)行過(guò)程中產(chǎn)生的數(shù)據(jù)和運(yùn)算結(jié)果等。n8051單片機(jī)數(shù)據(jù)存儲(chǔ)器也可以分為片內(nèi)數(shù)據(jù)存儲(chǔ)器和片外數(shù)據(jù)存儲(chǔ)器。當(dāng)片內(nèi)數(shù)據(jù)存儲(chǔ)器不夠用時(shí),可擴(kuò)展片外數(shù)據(jù)存儲(chǔ)器。一般情況下,片外數(shù)據(jù)存儲(chǔ)器的容量不超過(guò)64KB。與內(nèi)、外部的程序存儲(chǔ)器不同,內(nèi)部和外部數(shù)據(jù)存儲(chǔ)器空間存在重疊(內(nèi)部RAM的地址范圍為00H07FH, 外部RAM的地址
17、范圍為0000H0FFFFH,如圖3-1所示),通過(guò)不同指令來(lái)區(qū)別。當(dāng)訪問(wèn)內(nèi)部RAM時(shí),用MOV類(lèi)指令;當(dāng)訪問(wèn)外部RAM時(shí),則用MOVX類(lèi)指令,所以地址重疊不會(huì)造成操作混亂。n8051單片機(jī)的內(nèi)部數(shù)據(jù)存儲(chǔ)器空間共計(jì)128字節(jié),占用00H7FH地址范圍。特殊功能寄存器區(qū)也是128字節(jié),占用80H0FFH這段空間。n片內(nèi)數(shù)據(jù)存儲(chǔ)器分成三大部分:工作寄存器區(qū)、可位尋址區(qū)、通用RAM區(qū)。n2.特殊功能寄存器n特殊功能寄存器(SFR)也稱(chēng)為專(zhuān)用寄存器,特殊功能寄存器反映了51單片機(jī)的運(yùn)行狀態(tài)。很多功能也通過(guò)特殊功能寄存器來(lái)定義和控制程序的執(zhí)行。n在8051單片機(jī)中設(shè)置了21個(gè)特殊功能寄存器,它們不連續(xù)地
18、分布在地址為80H-FFH的128個(gè)字節(jié)的存儲(chǔ)空間中。n在這21個(gè)SFR中,凡是字節(jié)地址能被8整除(即16進(jìn)制的地址碼尾數(shù)為0或8)的11個(gè)單元均具有位尋址能力,有效的位地址共有82個(gè)。表3-3是特殊功能寄存器分布一覽表。n82個(gè)有效位地址可用位地址、位符號(hào)、單元地址.位序和寄存器名.位序四種方法來(lái)表示,但一般是用位符號(hào)或寄存器名.位序來(lái)表示的。n1.51單片機(jī)指令系統(tǒng)n(1)指令、指令系統(tǒng)的概念n指令是使計(jì)算機(jī)內(nèi)部執(zhí)行的一種操作,提供給用戶編程使用的一種命令。由構(gòu)成計(jì)算機(jī)的電子器件特性所決定,計(jì)算機(jī)只能識(shí)別二進(jìn)制代碼。以二進(jìn)制代碼來(lái)描述指令功能的語(yǔ)言,稱(chēng)之為機(jī)器語(yǔ)言。由于機(jī)器語(yǔ)言不便被人們識(shí)
19、別、記憶、理解和使用,因此給每條機(jī)器語(yǔ)言指令賦予助記符號(hào)來(lái)表示,這就形成了匯編語(yǔ)言。也就是說(shuō),匯編語(yǔ)言是便于人們識(shí)別、記憶、理解和使用的一種指令形式,它和機(jī)器語(yǔ)言指令一一對(duì)應(yīng),也是由計(jì)算機(jī)的硬件特性所決定的。n指令的描述形式有兩種:機(jī)器語(yǔ)言形式和匯編語(yǔ)言形式?,F(xiàn)在描述計(jì)算機(jī)指令系統(tǒng)及實(shí)際應(yīng)用中主要采用匯編語(yǔ)言形式。采用機(jī)器語(yǔ)言編寫(xiě)的程序稱(chēng)之為目標(biāo)程序。采用匯編語(yǔ)言編寫(xiě)的程序稱(chēng)之為源程序。計(jì)算機(jī)能夠直接識(shí)別并執(zhí)行的只有機(jī)器語(yǔ)言。匯編語(yǔ)言程序不能被計(jì)算機(jī)直接識(shí)別并執(zhí)行,必須經(jīng)過(guò)一個(gè)中間環(huán)節(jié)把它翻譯成機(jī)器語(yǔ)言程序,這個(gè)中間過(guò)程叫做匯編。匯編有兩種方式:機(jī)器匯編和手工匯編。機(jī)器匯編是用專(zhuān)門(mén)的匯編程序,
20、在計(jì)算機(jī)上進(jìn)行翻譯;手工匯編是編程員把匯編語(yǔ)言指令逐條翻譯成機(jī)器語(yǔ)言指令?,F(xiàn)在主要使用機(jī)器匯編,但有時(shí)也用到手工匯編。5 系統(tǒng)軟件設(shè)計(jì)5.1程序流程圖本文中子程序的調(diào)用是通過(guò)按鍵的選擇來(lái)實(shí)現(xiàn),在取得按鍵相應(yīng)的鍵值后,啟動(dòng)計(jì)時(shí)器和相應(yīng)的中斷服務(wù)程序,再直接查詢程序中預(yù)先設(shè)置的數(shù)據(jù)值,通過(guò)轉(zhuǎn)換輸出相應(yīng)的電壓,從而形成所需的各種波形。 系統(tǒng)程序主要包括主程序,輸出顯示子程序等程序模塊。 5.1.1主程序主程序的流程圖如圖4.1所示,在程序開(kāi)始運(yùn)行之后,首先是對(duì)各模塊進(jìn)行初始化,之后判斷信號(hào)頻率值,如符合所需的頻率,則重置時(shí)間常數(shù),并通過(guò)顯示器顯示出來(lái),不符則返回。在中斷結(jié)束后,還要來(lái)判斷波形是否符合
21、,如符合,則顯示其頻率,不符則返回,重新判斷。圖8 主程序流程圖5.1.2輸出顯示子程序如圖所示,在中斷服務(wù)子程序開(kāi)始后,通過(guò)判斷來(lái)確定各種波形的輸出,當(dāng)判斷選擇的不是方波后,則轉(zhuǎn)向?qū)φ也ǖ呐袛?,如此反?fù)。如果選擇的是方波,則用查表的方法求出相應(yīng)的數(shù)據(jù),并通過(guò)D/A轉(zhuǎn)換 器將數(shù)據(jù)轉(zhuǎn)換成模擬信號(hào),形成所需波形信號(hào)。圖9輸出顯示程序流程圖5.2 控制源程序#include <reg52.h>#include <absacc.h>#define uchar unsigned char#define DA0832 XBYTE0xffffuchar code tab13=0x3
22、f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39;uchar code num 93=0,0,1,0,3,0,0,2,9,0,2,8,0,2,7,0,2,6,0,2,5,0,2,4,0,2,3,0,2,2,0,2,1,0,2,0,0,1,9,0,1,8,0,1,7,0,1,6,0,1,5,0,1,4,0,1,3,0,1,2,0,1,1,0,1,0,0,0,9,0,0,8,0,0,7,0,0,6,0,0,5,0,0,4,0,0,3,0,0,2,0,0,1;uchar code tosin256=0x7F,0x82,0x85
23、,0x88,0x8B,0x8F,0x92,0x95,0x98,0x9B,0x9E,0xA1,0xA4,0xA7,0xAA,0xAD,0xB0,0xB3,0xB6,0xB8,0xBB,0xBE,0xC1,0xC3,0xC6,0xC8,0xCB,0xCD,0xD0,0xD2,0xD5,0xD7,0xD9,0xDB,0xDD,0xE0,0xE2,0xE4,0xE5,0xE7,0xE9,0xEB,0xEC,0xEE,0xEF,0xF1,0xF2,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFB,0xFC,0xFD,0xFD,0xFE,0xFE,0xFE,0xFE
24、,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFD,0xFD,0xFC,0xFB,0xFB,0xFA,0xF9,0xF8,0xF7,0xF6,0xF5,0xF4,0xF2,0xF1,0xEF,0xEE,0xEC,0xEB,0xE9,0xE7,0xE5,0xE4,0xE2,0xE0,0xDD,0xDB,0xD9,0xD7,0xD5,0xD2,0xD0,0xCD,0xCB,0xC8,0xC6,0xC3,0xC1,0xBE,0xBB,0xB8,0xB6,0xB3,0xB0,0xAD,0xAA,0xA7,0xA4,0xA1,0x9E,0x9B,0x98,0x95,0x92
25、,0x8F,0x8B,0x88,0x85,0x82,0x7F,0x7C,0x79,0x76,0x73,0x6F,0x6C,0x69,0x66,0x63,0x60,0x5D,0x5A,0x57,0x54,0x51,0x4E,0x4B,0x48,0x46,0x43,0x40,0x3D,0x3B,0x38,0x36,0x33,0x31,0x2E,0x2C,0x29,0x27,0x25,0x23,0x21,0x1E,0x1C,0x1A,0x19,0x17,0x15,0x13,0x12,0x10,0x0F,0x0D,0x0C,0x0A,0x09,0x08,0x07,0x06,0x05,0x04,0x03
26、,0x03,0x02,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0C,0x0D,0x0F,0x10,0x12,0x13,0x15,0x17,0x19,0x1A,0x1C,0x1E,0x21,0x23,0x25,0x27,0x29,0x2C,0x2E,0x31,0x33,0x36,0x38,0x3B,0x3D,0x40,0x43,0x46,0x48,0x4B,0x4E,0x51,0x54
27、,0x57,0x5A,0x5D,0x60,0x63,0x66,0x69,0x6C,0x6F,0x73,0x76,0x79,0x7C;uchar fun=1,b=0,c=0,d=0,e=0,tl,th,flag=0;sbit P3_0=P30;sbit P3_1=P31;sbit P3_2=P32;sbit P2_7=P27;uchar de1,de2;uchar A=3;void key1(void);void key2(void);void key3(void);void delay(uchar k);void main(void)TMOD=0X01;th=0xff;tl=0x1e;TH0=
28、th;TL0=tl;ET0=1;EA=1;EX1=1;PX1=1;IT1=1;TR0=1;while(1) P3_0=0; P3_1=1; P3_2=0;if(numflag*3!=0)P1=tabnumflag*3;delay(0.01);elseP1=0;P3_0=1; P3_1=0; P3_2=0;P1=tabnumflag*3+1;delay(0.01);P1=0;P3_0=0; P3_1=0; P3_2=0;P1=tabnumflag*3+2;delay(0.01);P1=0;P3_0=1; P3_1=1; P3_2=0;P1=tabfun+9;delay(0.01);P1=0; v
29、oid delay(uchar k) /延時(shí)程序for(de1=0;de1<10;de1+) for(de2=0;de2<k;de2+);void key1(void) /鍵選擇發(fā)波類(lèi)型,1為正弦波,2為三角波,3為方波fun+;if(fun=4)fun=0x01; void key2(void) /鍵加大頻率tl+=0x00;if(tl>0x1e)tl=0x01;if(flag>0)flag-;elseflag=30;void key3(void) /鍵減小頻率if(th>0x00)th-=0x1;if(flag<30)flag+;else flag=0;
30、void time0_int(void) interrupt 1 /中斷服務(wù)程序 TR0=0; if(fun=1) DA0832=tosinb/4*A; /正弦波 delay(flag) ; b+; else if(fun=2) /三角波 if(c<128) DA0832=c*2/4*A; delay(flag); else DA0832=(255-c)*2/4*A; delay(flag); c+; else if(fun=3) / 方波 d+; if(d<=128) DA0832=0x00; delay(flag); else DA0832=0xff/4*A; delay(fl
31、ag); TH0=th;TL0=tl;TR0=1;void int1 (void) interrupt 2 /int1中斷服務(wù)程序 if(P2!=0xff) delay(flag);if(P2=0xff) return; if(P2=0xef) key1(); if(P2=0xdf) key2(); if(P2=0xbf) key3();HEX輸出文件。5.3 調(diào)試及仿真經(jīng)軟件調(diào)試-仿真器proteus調(diào)試通過(guò),并燒錄芯片,得到所要求的設(shè)計(jì)結(jié)果。如圖5.4試驗(yàn)成功。(1)正弦波仿真圖: 圖10函數(shù)發(fā)生器仿真圖(2)方波仿真圖:圖11函數(shù)發(fā)生器仿真圖(3)三角波仿真圖:圖12函數(shù)發(fā)生器仿真圖5.4結(jié) 論課程設(shè)計(jì)是培養(yǎng)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 國(guó)潮風(fēng)下的元旦慶祝
- 中餐快餐的品牌定位與目標(biāo)市場(chǎng)
- 彩妝心得 化妝達(dá)人的心得分享幫你學(xué)習(xí)化妝技巧
- 真功夫快餐的發(fā)展趨勢(shì)與市場(chǎng)前景
- 泵站及頂管施工相關(guān)匯報(bào)材料
- 嘻哈春節(jié)歡樂(lè)的故事時(shí)光
- 施工現(xiàn)場(chǎng)健康與安全問(wèn)題
- 房地產(chǎn)項(xiàng)目管理中的數(shù)據(jù)分析
- 房地產(chǎn)項(xiàng)目的利益相關(guān)者管理
- 和合谷快餐的供應(yīng)鏈管理與食材保障
- 2024年度海南省國(guó)家電網(wǎng)招聘之電網(wǎng)計(jì)算機(jī)題庫(kù)附答案(典型題)
- (初級(jí))五級(jí)起重裝卸機(jī)械操作工職業(yè)技能鑒定理論考試題庫(kù)(含答案)
- 裂隙燈顯微鏡檢查
- 中國(guó)Linux軟件行業(yè)市場(chǎng)發(fā)展現(xiàn)狀及前景趨勢(shì)與投資分析研究報(bào)告(2024-2030版)
- 《新能源乘用車(chē)二手車(chē)鑒定評(píng)估技術(shù)規(guī)范 第1部分:純電動(dòng)》
- 《加坡的教育制度》課件
- 2025年國(guó)家知識(shí)產(chǎn)權(quán)局商標(biāo)審查協(xié)作中心招聘60人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 有源醫(yī)療器械現(xiàn)場(chǎng)檢查
- 品管圈PDCA改善案例-降低住院患者跌倒發(fā)生率
- 銀行催收實(shí)習(xí)心得
- 2024年高考政治總復(fù)習(xí)必修三《政治與法治》 綜合測(cè)試題及答案
評(píng)論
0/150
提交評(píng)論