前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇單片機(jī)開發(fā)范文,相信會(huì)為您的寫作帶來(lái)幫助,發(fā)現(xiàn)更多的寫作思路和靈感。
關(guān)鍵詞 單片機(jī)開發(fā);仿真技術(shù);應(yīng)用;電子琴系統(tǒng);軟硬件協(xié)同仿真
中圖分類號(hào)TP39 文獻(xiàn)標(biāo)識(shí)碼A 文章編號(hào) 1674-6708(2011)56-0180-01
0 引言
目前,單片機(jī)正以高集成度、高可靠性,體積小、控制功能強(qiáng),低電壓、低功耗,便于生產(chǎn)便攜式產(chǎn)品、性價(jià)比高等優(yōu)點(diǎn)廣泛應(yīng)用于人們生活的各個(gè)領(lǐng)域?,F(xiàn)如今,單片機(jī)的開發(fā)應(yīng)用越來(lái)越受到重視。在單片機(jī)的開發(fā)應(yīng)用中最突出的就是仿真技術(shù),在開發(fā)過(guò)程中使用軟硬件協(xié)同仿真技術(shù),模擬整個(gè)系統(tǒng),能夠達(dá)到降低設(shè)計(jì)風(fēng)險(xiǎn),節(jié)省開發(fā)時(shí)間和費(fèi)用的目的。
1 單片機(jī)仿真技術(shù)綜述
單片機(jī)是采用超大規(guī)模集成電路技術(shù)把中央處理器、隨機(jī)存儲(chǔ)器、只讀存儲(chǔ)器、定時(shí)器等功能集成到一塊硅片上而構(gòu)成的功能完善的高集成計(jì)算機(jī)系統(tǒng)?,F(xiàn)如今它的開發(fā)應(yīng)用已引起人們的高度關(guān)注和重視。雖然單片機(jī)技術(shù)的發(fā)展極大地推動(dòng)了電子、計(jì)算機(jī)、通信等行業(yè)的飛速發(fā)展,成為當(dāng)前科研和教學(xué)中的熱門技術(shù)。但是在單片機(jī)開發(fā)過(guò)程中,由于原理設(shè)計(jì)完成后需要反復(fù)調(diào)制電路,往往會(huì)增加單片機(jī)的開發(fā)成本,成為推廣單片機(jī)研發(fā)的最大障礙。
近年來(lái),計(jì)算機(jī)仿真技術(shù)已取得了突飛猛進(jìn)的發(fā)展,這在一定程度上,也促成了單片機(jī)仿真技術(shù)。計(jì)算機(jī)仿真技術(shù)是一個(gè)多學(xué)科綜合技術(shù),基于計(jì)算機(jī)的工具,通過(guò)建立模型來(lái)模擬,數(shù)據(jù)處理分析,核查程序,使用真實(shí)的測(cè)試環(huán)境系統(tǒng)的動(dòng)態(tài)仿真模型。它具有高效、安全、受環(huán)境約束較少的特點(diǎn)。而軟硬件的協(xié)同仿真計(jì)算機(jī)仿真技術(shù)作為一個(gè)非常獨(dú)特的應(yīng)用程序的分支,近年來(lái)得到迅速發(fā)展。它主要是在最終硬件沒(méi)有準(zhǔn)備好之前就進(jìn)行軟件和硬件的協(xié)同驗(yàn)證??梢酝ㄟ^(guò)軟件和硬件的協(xié)同仿真技術(shù)的使用對(duì)虛擬模型進(jìn)行早期調(diào)試,并提供了一個(gè)虛擬平臺(tái)軟件調(diào)試,從而對(duì)整個(gè)系統(tǒng)包括硬件在內(nèi),進(jìn)行功能驗(yàn)證,為準(zhǔn)備硬件平臺(tái)大大節(jié)省了時(shí)間。
可以說(shuō),軟硬件協(xié)同仿真技術(shù)的出現(xiàn)為單片機(jī)開發(fā)應(yīng)用提供了一個(gè)很好的發(fā)展平臺(tái),具有十分重要的推廣價(jià)值。
2 仿真技術(shù)在單片機(jī)開發(fā)中的應(yīng)用分析
目前,軟件和硬件協(xié)同仿真技術(shù)對(duì)于低級(jí)別的模擬研究還比較完善,一般的模式是軟件調(diào)試環(huán)境、微處理器模型和硬件協(xié)同仿真RTL描述。在正常情況下,軟件環(huán)境和硬件環(huán)境有其自身的控制接口,通過(guò)一個(gè)總線周期由處理器和硬件交互發(fā)起的系列軟件。筆者在這里以電子琴的開發(fā)為例,介紹了軟硬件協(xié)同仿真技術(shù)在電子琴系統(tǒng)中的應(yīng)用。主要是采用偉福單片機(jī)仿真器模擬電子琴,以實(shí)現(xiàn)單片機(jī)軟硬件同步仿真。
2.1 系統(tǒng)總體設(shè)計(jì)
在電子琴系統(tǒng)中,仿真板作為硬件仿真和調(diào)試界面,單片機(jī)仿真軟件負(fù)責(zé)系統(tǒng)執(zhí)行、單步執(zhí)行、監(jiān)控?cái)帱c(diǎn)、內(nèi)存和寄存器數(shù)據(jù)返回給硬件仿真板時(shí)產(chǎn)生和捕獲、內(nèi)部功能模塊的運(yùn)行等功能。電子琴系統(tǒng)的設(shè)計(jì)應(yīng)包括AT89S51單片機(jī)、矩陣鍵盤、音頻模塊和顯示模塊。其主要目的是在該系統(tǒng)的硬件和軟件設(shè)計(jì)的前期驗(yàn)證其正確性和性能效率。
2.2 AT89S51單片機(jī)設(shè)計(jì)
AT89S51單片機(jī),其中有40個(gè)引腳,4K字節(jié)閃存芯片上的程序存儲(chǔ)器,128字節(jié)的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器,32個(gè)外部雙向口,五個(gè)中斷優(yōu)先級(jí)嵌套中斷,兩個(gè)16位可編程定時(shí)計(jì)數(shù)器,兩個(gè)全雙工串行通信端口,WDT電路,片上時(shí)鐘振蕩器,低功耗、高性能的8位芯片。芯片兼容標(biāo)準(zhǔn)MCS- 51指令集和80C51引腳結(jié)構(gòu),使用高密度,非易失性內(nèi)存技術(shù),可為許多嵌入式控制應(yīng)用提供具有成本效益的解決方案。
2.3 矩陣式鍵盤結(jié)構(gòu)設(shè)計(jì)
由于電子琴系統(tǒng)的按鍵數(shù)量較多,所以在本系統(tǒng)中將按鍵排列成矩陣形式。與直接連接式鍵盤結(jié)構(gòu)相比,雖然矩陣式鍵盤結(jié)構(gòu)要復(fù)雜些,識(shí)別方式也要復(fù)雜些,但它卻可以提高端口利用率。每個(gè)鍵的行和列,行線和列線通過(guò)電阻器的功率連接,每個(gè)鍵的狀態(tài)將成為數(shù)字“0”和“1”。輸出端行線,沒(méi)有按下按鈕時(shí),產(chǎn)量高,意味著沒(méi)有鍵按下列線輸入連接到芯片,一旦按下一個(gè)鍵,在輸入端電壓低,這種閱讀狀態(tài)輸入線可以告訴一個(gè)鍵是否被按下,能夠大大提高系統(tǒng)的性能。
2.4 音頻模塊及顯示模塊設(shè)計(jì)
AT89S51的定時(shí)器使用音頻脈沖,每個(gè)反向輸出脈沖的時(shí)間,到時(shí)候再反向,因此產(chǎn)生了各種不同頻率的脈沖信號(hào)后,蜂鳴器發(fā)揮出來(lái),我們可以形成一個(gè)優(yōu)美的音樂(lè),因而就形成了電子琴系統(tǒng)的音頻模塊。另外,將AT89S51單片機(jī)的P2端口的P2.0~P2.7連接到一共陰數(shù)碼管a-h(huán)的引腳上,可以實(shí)現(xiàn)電子琴系統(tǒng)的顯示模塊,能夠在數(shù)碼管上循環(huán)顯示數(shù)字0~9。
總之,單片機(jī)仿真技術(shù)由于考慮到軟件的實(shí)際情況,模擬運(yùn)行驗(yàn)證可以更真實(shí)的應(yīng)用環(huán)境,系統(tǒng)設(shè)計(jì)更容易早期發(fā)現(xiàn)問(wèn)題,避免設(shè)計(jì)錯(cuò)誤,克服芯片的開發(fā)成本高的缺點(diǎn)。模擬整個(gè)系統(tǒng)的軟件,可以降低設(shè)計(jì)風(fēng)險(xiǎn),同時(shí)節(jié)省了開發(fā)時(shí)間和開發(fā)成本,在運(yùn)行過(guò)程中,硬件連接和硬件仿真器是同出一轍。
3 結(jié)論
綜上所述,軟硬件協(xié)同仿真技術(shù)的使用,微控制器硬件將能夠不僅不需要模擬的全部功能,而且還能提高一個(gè)成功的系統(tǒng)設(shè)計(jì)信心。也就是說(shuō),軟硬件協(xié)同仿真技術(shù)可以方便系統(tǒng)設(shè)計(jì)調(diào)整,可以在設(shè)計(jì)前期評(píng)估性能,方便軟硬件的檢測(cè)??梢哉f(shuō)它在單片機(jī)開發(fā)中表現(xiàn)出來(lái)的卓越的仿真能力使其成為當(dāng)前最好的仿真工具之一,由此可見在單片機(jī)開發(fā)中仿真技術(shù)是一個(gè)十分值得推廣的技術(shù)??梢灶A(yù)言,隨著科學(xué)技術(shù)的不斷發(fā)展和計(jì)算機(jī)仿真技術(shù)的日益完善,單片機(jī)仿真技術(shù)定將得到更加廣泛的應(yīng)用,最終實(shí)現(xiàn)單片機(jī)開發(fā)應(yīng)用的最大效益。
參考文獻(xiàn)
[1]王衛(wèi)東,孫福玉.淺談?dòng)?jì)算機(jī)仿真技術(shù)[J].赤峰學(xué)院學(xué)報(bào),2006(2).
[2]劉娜,孫美英,趙英.如何提高單片機(jī)開發(fā)水平[J].科技信息(機(jī)械與電子),2007(21).
【關(guān)鍵詞】AT89S52;單片機(jī);開發(fā)板
0.引言
現(xiàn)狀之下,單片機(jī)技術(shù)有著極其廣泛的運(yùn)用,例如:工業(yè)控制、軍事設(shè)施以及航空航天技術(shù)等方面都能夠運(yùn)用到。然而單片機(jī)開發(fā)板的設(shè)計(jì)也具有一定的要求的,因此對(duì)單片機(jī)開發(fā)板進(jìn)行設(shè)計(jì),能夠?qū)崿F(xiàn)很多的功能,例如:跑馬燈、數(shù)碼管顯示、液晶顯示以及電路擴(kuò)展等[1]。鑒于此,本課題對(duì)“基于AT89S52的單片機(jī)開發(fā)板”進(jìn)行研究具有尤為深遠(yuǎn)的重要意義。
1.基于AT89S52的單片機(jī)開發(fā)板系統(tǒng)分析
1.1 單片機(jī)開發(fā)板的系統(tǒng)分析
以設(shè)計(jì)的基本要求為依據(jù),結(jié)合各個(gè)方面的因素,將AT89S52單片機(jī)當(dāng)作主控器,電路的重要組成模塊有蜂鳴器、液晶顯示以及矩陣鍵盤等。在考慮到程序效率的提升,對(duì)ISP進(jìn)行了設(shè)計(jì),使用時(shí)只需要直接燒錄芯片[2]。另外,想要讓擴(kuò)展功能得到方便,便需要對(duì)所有的I/O口進(jìn)行開放。
圖1 單片機(jī)開發(fā)系統(tǒng)框圖
1.2 開發(fā)環(huán)境與軟件應(yīng)用
在51單片機(jī)系列中,KeilC51是最受歡迎的開發(fā)軟件。它能夠支持多方面的功能,例如:匯編、C語(yǔ)言開發(fā)以及軟件仿真等。并且,用戶群也相當(dāng)龐大,資料也相當(dāng)豐富。本設(shè)計(jì)便運(yùn)用該軟件進(jìn)行編程和編譯,進(jìn)而形成HEX文件,最后運(yùn)用ISP進(jìn)行電路下載,再將其燒錄至單片機(jī)上進(jìn)行運(yùn)行,其燒錄的方式是直接性的。
1.3 基于開發(fā)板典型模塊電路的設(shè)計(jì)
基于開發(fā)板典型模塊電路的設(shè)計(jì)包括了主機(jī)電路、四位數(shù)碼管顯示電路以及液晶顯示電路。
(1)主機(jī)電路
MCS-51單片機(jī)具有十分廣泛的運(yùn)用,并且教材極其豐富,是單片機(jī)進(jìn)行學(xué)習(xí)的最佳選擇。AT89S52單片機(jī)則在軟件與硬件方面對(duì)MCS-51單片機(jī)進(jìn)行了兼容。因此,AT89S52單片機(jī)具有更加強(qiáng)大的功能,其擦寫次數(shù)大約為一千次。因此,在本設(shè)計(jì)中,對(duì)于主機(jī)電路的控制,便使用了AT89S52單片機(jī)。主機(jī)電路在構(gòu)成最小系統(tǒng)中的主要組成部分有振蕩,還有復(fù)位電路等。
(2)四位數(shù)碼管顯示電路
數(shù)碼管是一種顯示器件,并且在單片機(jī)應(yīng)用系統(tǒng)中能夠?qū)⑵鋸V泛運(yùn)用?;趦?nèi)部電路的連接,一共分為兩種,分別是共陰極、共陽(yáng)極。它的內(nèi)部的組成成分是發(fā)光二極管。共陰極數(shù)碼管與共陽(yáng)極數(shù)碼管,普遍上可理解為:每一個(gè)數(shù)碼管中的八個(gè)方管二極管的陰極均連接在一起的,為共陰極數(shù)碼管;每一個(gè)數(shù)碼管中的八個(gè)方管二極管的陽(yáng)極均連接在一起的,為共陽(yáng)極數(shù)碼管。
(3)液晶顯示電路
基于現(xiàn)如今工業(yè)設(shè)計(jì)的主要發(fā)展趨勢(shì),大致上是朝向低功耗與高性價(jià)比等方向發(fā)展的。并且,由于目前對(duì)環(huán)境提出了很高的要求,所以特別注重低碳生活。故此,在設(shè)計(jì)上,所運(yùn)用到的顯示電路也需要使用到低功耗的顯示設(shè)備,而液晶顯示電路則具備了低功耗的特點(diǎn)?,F(xiàn)狀之下,單片機(jī)常常運(yùn)用到的液晶顯示電路大致上有LCM1602、LCM12864以及LCM12232 等。在本次設(shè)計(jì)當(dāng)中,所運(yùn)用到的液晶顯示模塊為L(zhǎng)CM1602電路。它和單片機(jī)接口具有非常簡(jiǎn)單的特點(diǎn),只需要把LCM1602中的供電電路連接上,其他數(shù)據(jù)、控制口之間和單片機(jī)的并行I/O相連接,在此基礎(chǔ)上,充分利用單片機(jī)編程對(duì)液晶顯示的字符進(jìn)行控制。
對(duì)于數(shù)碼管,它和單片機(jī)的接口具有較為方便的特點(diǎn),所以只需要把單片機(jī)的八位并行I/O口和數(shù)碼管的段碼引腳進(jìn)行連接便可?;诎宋徊⑿蠭/O口輸出的不同的斷碼,數(shù)碼管就能夠顯示出不相同的數(shù)字[3]。但在連接數(shù)碼管比較多的情況之下,便需要運(yùn)用到動(dòng)態(tài)掃描,進(jìn)而將其連接至數(shù)碼管內(nèi)。本次設(shè)計(jì)所使用的到數(shù)碼管有四個(gè),為了能夠節(jié)省對(duì)I/O口的使用,便需要對(duì)I/O口進(jìn)行拓展,拓展所運(yùn)用到的為HC573芯片。該芯片主要是基于程序,對(duì)不同的數(shù)碼管進(jìn)行控制,進(jìn)而顯示出不同的數(shù)字。另外,為了讓數(shù)碼管顯示具有明亮醒目的優(yōu)勢(shì),便可以采用共陽(yáng)極數(shù)碼管,也可以采用成本比較低的三極管用來(lái)當(dāng)作驅(qū)動(dòng)電路。
2.基于單片機(jī)開發(fā)板軟件設(shè)計(jì)的建議
剛?cè)腴T的學(xué)者而言,對(duì)開發(fā)的流程以及開發(fā)的環(huán)境進(jìn)行充分了解是非常有必要的,對(duì)本課題在設(shè)計(jì)過(guò)程中所提供的硬件從模塊至系統(tǒng)進(jìn)行充分了解,進(jìn)而對(duì)單片機(jī)進(jìn)行認(rèn)知與開發(fā)?;谟布?,想要讓單片機(jī)開發(fā)板的器件能夠進(jìn)行工作,便需要軟件編程的充分支持。在本課題的設(shè)計(jì)中,所運(yùn)用到的編譯軟件為KeilC51,運(yùn)用到的計(jì)算機(jī)語(yǔ)言為C語(yǔ)言。鑒于此,筆者建議,對(duì)于初學(xué)者,需要對(duì)上述知識(shí)進(jìn)行充分掌握,進(jìn)而方可進(jìn)行單片機(jī)開發(fā)板開發(fā)試驗(yàn)。
3.結(jié)語(yǔ)
本課題所涉及到的設(shè)計(jì)中,單片機(jī)開發(fā)板還有非常多的電路,因?yàn)檎n題篇幅的局限性,所以無(wú)法將其整體性地進(jìn)行介紹。但是,所有的電路模塊大致上都是具備I/O資源、穩(wěn)壓電路以及抗干擾電路的特點(diǎn)的。在進(jìn)行開發(fā)實(shí)驗(yàn)時(shí),這種開發(fā)板可在工作中實(shí)現(xiàn)準(zhǔn)確、穩(wěn)定的優(yōu)勢(shì)。并且運(yùn)用于實(shí)際,也非常具有價(jià)值。
參考文獻(xiàn)
[1]周麗榮.基于AT89S52的單片機(jī)開發(fā)板設(shè)計(jì)[J].科學(xué)之友,2011,11(25):12-15.
論文摘要:目前單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,本文介紹了單片機(jī)的應(yīng)用并且根據(jù)自己的一些經(jīng)驗(yàn)談了單片機(jī)應(yīng)用過(guò)程中應(yīng)該掌握的幾個(gè)技巧。
目前單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒(méi)有單片機(jī)的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,廣泛使用的各種智能IC卡等等,這些都離不開單片機(jī)。更不用說(shuō)自動(dòng)控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械了。因此,單片機(jī)的學(xué)習(xí)、開發(fā)與應(yīng)用將造就一批計(jì)算機(jī)應(yīng)用與智能化控制的科學(xué)家、工程師。
一、單片機(jī)的特點(diǎn)應(yīng)用
單片機(jī)的特點(diǎn)主要有 :高集成度,體積小,高可靠性 ;控制功能強(qiáng);低電壓,低功耗,便于生產(chǎn)便攜式產(chǎn)品 ;易擴(kuò)展;優(yōu)異的性能價(jià)格比。目前,單片機(jī)的應(yīng)用領(lǐng)域 主要包括:辦公自動(dòng)化設(shè)備;單片機(jī)在機(jī)電一體化中的應(yīng)用;在實(shí)時(shí)過(guò)程控制中的應(yīng)用;單片機(jī)在日常生活及家用電器領(lǐng)域的應(yīng)用;在各類儀器儀表中引入單片機(jī),使儀器儀表智能化,提高測(cè)試的自動(dòng)化程度和精度,簡(jiǎn)化儀器儀表的硬件結(jié)構(gòu),提高其性能價(jià)格比;在計(jì)算機(jī)網(wǎng)絡(luò)和通信領(lǐng)域中的應(yīng)用;商業(yè)營(yíng)銷設(shè)備;單片機(jī)在醫(yī)用設(shè)備領(lǐng)域中的應(yīng)用;汽車電子產(chǎn)品;航空航天系統(tǒng)和國(guó)防軍事、尖端武器等領(lǐng)域,單片機(jī)的應(yīng)用更是不言而喻。
二、單片機(jī)開發(fā)中的幾個(gè)基本技巧
在單片機(jī)應(yīng)用開發(fā)中,代碼的使用效率問(wèn)題、單片機(jī)抗干擾性和可靠性等問(wèn)題仍困擾著?,F(xiàn)歸納出單片機(jī)開發(fā)中應(yīng)掌握的幾個(gè)基本技巧。
1、如何減少程序中的bug。對(duì)于如何減少程序的bug,應(yīng)該先考慮系統(tǒng)運(yùn)行中應(yīng)考慮的超范圍管理參數(shù)如下。物理參數(shù):這些參數(shù)主要是系統(tǒng)的輸入?yún)?shù),它包括激勵(lì)參數(shù)、采集處理中的運(yùn)行參數(shù)和處理結(jié)束的結(jié)果參數(shù)。資源參數(shù):這些參數(shù)主要是系統(tǒng)中的電路、器件、功能單元的資源,如記憶體容量、存儲(chǔ)單元長(zhǎng)度、堆疊深度。應(yīng)用參數(shù):這些應(yīng)用參數(shù)常表現(xiàn)為一些單片機(jī)、功能單元的應(yīng)用條件。過(guò)程參數(shù):指系統(tǒng)運(yùn)行中的有序變化的參數(shù)。
2、如何提高C語(yǔ)言編程代碼的效率。用C語(yǔ)言進(jìn)行單片機(jī)程序設(shè)計(jì)是單片機(jī)開發(fā)與應(yīng)用的必然趨勢(shì)。如果使用C編程時(shí),要達(dá)到最高的效率,最好熟悉所使用的C編譯器。先試驗(yàn)一下每條C語(yǔ)言編譯以后對(duì)應(yīng)的匯編語(yǔ)言的語(yǔ)句行數(shù),這樣就可以很明確的知道效率。在今后編程的時(shí)候,使用編譯效率最高的語(yǔ)句。各家的C編譯器都會(huì)有一定的差異,故編譯效率也會(huì)有所不同,優(yōu)秀的嵌入式系統(tǒng)C編譯器代碼長(zhǎng)度和執(zhí)行時(shí)間僅比以匯編語(yǔ)言編寫的同樣功能程度長(zhǎng)5-20%。對(duì)于復(fù)雜而開發(fā)時(shí)間緊的項(xiàng)目時(shí),可以采用C語(yǔ)言,但前提是要求你對(duì)該MCU系統(tǒng)的C語(yǔ)言和C編譯器非常熟悉,特別要注意該C編譯系統(tǒng)所能支持的數(shù)據(jù)類型和算法。雖然C語(yǔ)言是最普遍的一種高級(jí)語(yǔ)言,但由于不同的MCU廠家其C語(yǔ)言編譯系統(tǒng)是有所差別的,特別是在一些特殊功能模塊的操作上。所以如果對(duì)這些特性不了解,那么調(diào)試起來(lái)問(wèn)題就會(huì)很多,反而導(dǎo)致執(zhí)行效率低于匯編語(yǔ)言。
3、如何解決單片機(jī)的抗干擾性問(wèn)題。防止干擾最有效的方法是去除干擾源、隔斷干擾路徑,但往往很難做到,所以只能看單片機(jī)抗干擾能力夠不夠強(qiáng)了。在提高硬件系統(tǒng)抗干擾能力的同時(shí),軟件抗干擾以其設(shè)計(jì)靈活、節(jié)省硬件資源、可靠性好越來(lái)越受到重視。單片機(jī)干擾最常見的現(xiàn)象就是復(fù)位;至于程序跑飛,其實(shí)也可以用軟件陷阱和看門狗將程序拉回到復(fù)位狀態(tài);所以單片機(jī)軟件抗干擾最重要的是處理好復(fù)位狀態(tài)。一般單片機(jī)都會(huì)有一些標(biāo)志寄存器,可以用來(lái)判斷復(fù)位原因;另外你也可以自己在RAM中埋一些標(biāo)志。在每次程序復(fù)位時(shí),通過(guò)判斷這些標(biāo)志,可以判斷出不同的復(fù)位原因;還可以根據(jù)不同的標(biāo)志直接跳到相應(yīng)的程序。這樣可以使程序運(yùn)行有連續(xù)性,用戶在使用時(shí)也不會(huì)察覺(jué)到程序被重新復(fù)位過(guò)。
4、如何測(cè)試單片機(jī)系統(tǒng)的可靠性。當(dāng)一個(gè)單片機(jī)系統(tǒng)設(shè)計(jì)完成,對(duì)于不同的單片機(jī)系統(tǒng)產(chǎn)品會(huì)有不同的測(cè)試項(xiàng)目和方法,但是有一些是必須測(cè)試的:測(cè)試單片機(jī)軟件功能的完善性;上電、掉電測(cè)試;老化測(cè)試;ESD和EFT等測(cè)試。有時(shí)候,我們還可以模擬人為使用中,可能發(fā)生的破壞情況。例如用人體或者衣服織物故意摩擦單片機(jī)系統(tǒng)的接觸端口,由此測(cè)試抗靜電的能力。用大功率電鉆靠近單片機(jī)系統(tǒng)工作,由此測(cè)試抗電磁干擾能力等。
綜上所述,單片機(jī)已成為計(jì)算機(jī)發(fā)展和應(yīng)用的一個(gè)重要方面,單片機(jī)應(yīng)用的重要意義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)方法。從前必須由模擬電路或數(shù)字電路實(shí)現(xiàn)的大部分功能,現(xiàn)在已能用單片機(jī)通過(guò)軟件方法來(lái)實(shí)現(xiàn)了。這種軟件代替硬件的控制技術(shù)也稱為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命。此外在開發(fā)和應(yīng)用過(guò)程中我們更要掌握技巧,提高效率,以便于發(fā)揮它更加廣闊的用途。
參考文獻(xiàn):
[1]何立民.MCS-51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)系統(tǒng)配置與接口技術(shù).北京:北京 航空航天大學(xué)出版社,1990
關(guān)鍵詞:模塊化;單片機(jī);實(shí)驗(yàn)裝置
單片機(jī)課程是電氣自動(dòng)化專業(yè)的一門重要專業(yè)課,具有很強(qiáng)的綜合性與實(shí)踐性,能較好地培養(yǎng)學(xué)生解決實(shí)際工程問(wèn)題的能力,因此需要一種實(shí)用性強(qiáng)的單片機(jī)實(shí)驗(yàn)裝置。在傳統(tǒng)的單片機(jī)實(shí)驗(yàn)教學(xué)中,普遍采用單片機(jī)實(shí)驗(yàn)箱,實(shí)驗(yàn)箱將各種單元電路設(shè)計(jì)在一塊大印刷電路板上。它的優(yōu)點(diǎn)是結(jié)構(gòu)簡(jiǎn)單、技術(shù)成熟。其缺點(diǎn)主要有:(1)電路連接線很多,學(xué)生容易接錯(cuò);(2)實(shí)驗(yàn)電路固定,難以升級(jí)和更新,無(wú)法滿足新技術(shù)、新實(shí)驗(yàn)的要求;(3)靈活性和擴(kuò)展性差,不利于培養(yǎng)學(xué)生的綜合實(shí)驗(yàn)?zāi)芰蛣?chuàng)新能力。
針對(duì)實(shí)驗(yàn)箱的缺點(diǎn),結(jié)合電氣自動(dòng)化專業(yè)特點(diǎn),筆者設(shè)計(jì)了一種新型的模塊化單片機(jī)實(shí)驗(yàn)裝置,既能滿足單片機(jī)課程的實(shí)驗(yàn)教學(xué)和課程設(shè)計(jì)要求,又能滿足大學(xué)生課外創(chuàng)新活動(dòng)的需要。該實(shí)驗(yàn)裝置主要由單片機(jī)最小系統(tǒng)模塊、基本模塊、A/D和D/A轉(zhuǎn)換模塊、電機(jī)驅(qū)動(dòng)模塊、繼電器控制模塊等組成。
1 單片機(jī)最小系統(tǒng)模塊
單片機(jī)最小系統(tǒng)模塊是單片機(jī)系統(tǒng)的核心模塊,主要由3部分組成:電源部分、單片機(jī)最小系統(tǒng)電路和下載電路。為方便起見,電源部分采用USB供電和外部電源供電2種方式。單片機(jī)最小系統(tǒng)部分(如圖1所示)。由單片機(jī)、電源、復(fù)位電路、時(shí)鐘電路、存儲(chǔ)器選擇電路組成。為便于單片機(jī)芯片的插入和卸載,該模塊采用鎖緊卡座設(shè)計(jì);復(fù)位電路包括上電復(fù)位和手動(dòng)復(fù)位2種方式;時(shí)鐘電路的晶振部分采用排針插座,便于使用者更換不同頻率的晶振。
為了降低開發(fā)成本,該模塊選用STC單片機(jī),其內(nèi)部集成了ISP在線下載模塊,配合下載電路即具有在線下載程序的功能,下載電路如圖2所示。在下載電路中,采用PL2303芯片及其電路實(shí)現(xiàn)USB-UART的電平轉(zhuǎn)換。
2 基本模塊
基本模塊是單片機(jī)系統(tǒng)的基本功能實(shí)現(xiàn)模塊,主要包括LED燈電路、數(shù)碼管電路、液晶顯示電路、獨(dú)立按鍵電路和矩陣鍵盤電路。LED燈電路由8個(gè)LED燈組成。數(shù)碼管電路采用4位數(shù)碼管,為簡(jiǎn)化電路,采用動(dòng)態(tài)掃描方式,提供了4根位選線和8根段選線。液晶顯示部分包括1602液晶顯示電路和12864液晶顯示電路,2個(gè)顯示電路共用數(shù)據(jù)口,使用時(shí)選用不同的插座。獨(dú)立按鍵電路采用4個(gè)按鍵,每個(gè)按鍵都提供了獨(dú)立的接口。矩陣鍵盤電路實(shí)現(xiàn)4×4共16個(gè)按鍵的矩陣。
3 A/D和D/A轉(zhuǎn)換模塊
A/D轉(zhuǎn)換模塊如圖3所示,該模塊采用ADC0832芯片。ADC0832芯片是一種8位分辨率、雙通道A/D轉(zhuǎn)換芯片,其最高分辨可達(dá)256級(jí),能夠滿足一般的模擬量轉(zhuǎn)換要求。芯片的模擬電壓輸入范圍是0~5 V。芯片轉(zhuǎn)換時(shí)間僅為32 μs,數(shù)據(jù)轉(zhuǎn)換誤差小,轉(zhuǎn)換速度快、穩(wěn)定性強(qiáng)。
D/A轉(zhuǎn)換模塊如圖4所示,該模塊采用TLC5615芯片。TLC5615芯片是具有3線串行總線接口、10位CMOS電壓輸出型的數(shù)模轉(zhuǎn)換器,芯片工作電壓為+5 V,轉(zhuǎn)換后最大輸出模擬電壓是基準(zhǔn)電壓值的兩倍,輸出電壓和基準(zhǔn)電壓極性相同。
4 電機(jī)驅(qū)動(dòng)模塊
步進(jìn)電機(jī)驅(qū)動(dòng)電路如圖5所示。單片機(jī)的輸出引腳驅(qū)動(dòng)能力很小,而驅(qū)動(dòng)步進(jìn)電機(jī)需要較大電流,所以筆者采用ULN2003芯片放大驅(qū)動(dòng)電流。通過(guò)單片機(jī)引腳輸出的脈沖序列和方向控制信號(hào),被直接送入U(xiǎn)LN2003芯片進(jìn)行功率放大,達(dá)到步進(jìn)電機(jī)所需的驅(qū)動(dòng)電流和電壓時(shí),驅(qū)動(dòng)步進(jìn)電機(jī)工作。
5 繼電器控制模塊
繼電器控制電路如圖6所示。單片機(jī)的一個(gè)輸出引腳經(jīng)過(guò)電阻與三極管T1基極相連,電流通過(guò)三極管放大后,驅(qū)動(dòng)控制繼電器。通過(guò)三極管的基極電平可以控制繼電器的開和關(guān)。當(dāng)單片機(jī)引腳輸出高電平,三極管T1截止,繼電器不工作;反之,當(dāng)單片機(jī)引腳輸出低電平,三極管T1導(dǎo)通,繼電器得電吸合。
6 結(jié)束語(yǔ)
模塊化單片機(jī)實(shí)驗(yàn)裝置中的各個(gè)模塊獨(dú)立分開,學(xué)生可以根據(jù)實(shí)驗(yàn)需要自由選擇模塊構(gòu)建單片機(jī)系統(tǒng),還可以自行設(shè)計(jì)其他的擴(kuò)展功能模塊,與現(xiàn)有模塊一起使用構(gòu)建新的單片機(jī)系統(tǒng),具有很好的靈活性、開放性和可擴(kuò)展性。該單片機(jī)實(shí)驗(yàn)裝置投入應(yīng)用以來(lái),大大提高了學(xué)生的單片機(jī)系統(tǒng)應(yīng)用開發(fā)能力和創(chuàng)新能力。
參考文獻(xiàn)
[1] 董李江.多模塊單片機(jī)實(shí)驗(yàn)系統(tǒng)設(shè)計(jì)[J].中小企業(yè)管理與科技,2011(16):237-238.
[2] 王君,裴喜平,朱翔.“單片機(jī)原理及應(yīng)用”教學(xué)實(shí)驗(yàn)裝置的開發(fā)[J].實(shí)驗(yàn)技術(shù)與管理,2008,25(1):52-53.
論文摘要:“C程序設(shè)計(jì)”課程是電子類專業(yè)基礎(chǔ)必修課,主要是為單片機(jī)編程服務(wù),該課程的教學(xué)效果直接影響到后續(xù)單片機(jī)課程的學(xué)習(xí)。本文結(jié)合單片機(jī)系統(tǒng)開發(fā)的特點(diǎn),探討了C程序設(shè)計(jì)教學(xué)方法,為后續(xù)單片機(jī)課程的學(xué)習(xí)打下基礎(chǔ)。
隨著微電子技術(shù)的發(fā)展和廣泛應(yīng)用,基于單片機(jī)上的系統(tǒng)開發(fā),C語(yǔ)言作為一種高級(jí)的編程語(yǔ)言,越來(lái)越受到人們的關(guān)注。現(xiàn)在,無(wú)論是嵌入式系統(tǒng)開發(fā)企業(yè)還是電子設(shè)計(jì)競(jìng)賽、畢業(yè)設(shè)計(jì)等,一般都以C語(yǔ)言為主要開發(fā)工具。結(jié)合單片機(jī)的系統(tǒng)資源,用C語(yǔ)言開發(fā)符合實(shí)際工程需要的單片機(jī)系統(tǒng),對(duì)于編程者來(lái)說(shuō)就有重要的意義。
1.C在單片機(jī)教學(xué)中的地位
C語(yǔ)言作為一種結(jié)構(gòu)化的程序設(shè)計(jì)語(yǔ)言,它是程序開發(fā)工具中使用最廣泛一門編程語(yǔ)言。C語(yǔ)言具有很強(qiáng)的功能性、結(jié)構(gòu)性、可移植性。用C語(yǔ)言編寫程序比匯編更符合人們的思考習(xí)慣,程序開發(fā)者可以擺脫與硬件不必要的接觸,更專心地考慮程序的功能和算法而不是考慮一些細(xì)節(jié)問(wèn)題,這樣就減少了開發(fā)和調(diào)試的時(shí)間。由于它具有良好的程序結(jié)構(gòu),適用于模塊化程序設(shè)計(jì),因此采用C語(yǔ)言設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)程序時(shí),采用結(jié)構(gòu)化的、自頂向下、逐步求精的程序設(shè)計(jì)方法,將功能模塊化,由不同的模塊完成不同的功能。這樣可使整個(gè)應(yīng)用系統(tǒng)程序結(jié)構(gòu)清晰,易于調(diào)試和維護(hù)。
2.單片機(jī)教學(xué)現(xiàn)狀
單片機(jī)技術(shù)是現(xiàn)代電子工程領(lǐng)域一門飛速發(fā)展的技術(shù),是現(xiàn)代電子技術(shù)中的一項(xiàng)不可缺少的重要技術(shù)。隨著技術(shù)的不斷進(jìn)步和日益普及,單片機(jī)技術(shù)已滲透到各個(gè)領(lǐng)域,影響著我們的日常生活和工作。因此電子技術(shù)及相關(guān)專業(yè)的學(xué)生學(xué)習(xí)單片機(jī)技術(shù)越來(lái)越成為社會(huì)發(fā)展的需求。當(dāng)前,各大高校的電子、計(jì)算機(jī)類專業(yè)均開設(shè)單片機(jī)課程。
《單片機(jī)》是我院電子系一門實(shí)踐性極強(qiáng)的專業(yè)主干課程,是我校電子系重點(diǎn)建設(shè)課程之一,是本專業(yè)學(xué)生的必修課程。為了提高我系單片機(jī)教學(xué)效果,我們對(duì)單片機(jī)教學(xué)進(jìn)行了大膽改革,使用C語(yǔ)言開發(fā)單片機(jī),且課程的設(shè)計(jì)打破了學(xué)科體系的框架,將單片機(jī)和C語(yǔ)言的相關(guān)知識(shí)和技能按“項(xiàng)目”進(jìn)行整合,并將《C程序設(shè)計(jì)》課程列為電子類專業(yè)核心基礎(chǔ)課程之一。因此,《C程序設(shè)計(jì)》課程教學(xué)效果的好壞,將直接影響學(xué)生后續(xù)專業(yè)課程的學(xué)習(xí)。
從近幾年我系《C程序設(shè)計(jì)》課程的教學(xué)效果來(lái)看,學(xué)生普遍反映該課程的學(xué)習(xí)比較困難,課程的語(yǔ)法知識(shí)較多,理解和記憶都不太容易,即使記住了語(yǔ)法知識(shí)也不能靈活應(yīng)用;不知道學(xué)習(xí)C語(yǔ)言究竟有何用處,學(xué)完C后不能很好地利用C進(jìn)行單片機(jī)小型系統(tǒng)的開發(fā),缺乏知識(shí)的靈活應(yīng)用能力。因此,根據(jù)以往單片機(jī)教學(xué)所得經(jīng)驗(yàn),我覺(jué)得教師有必要在《C程序設(shè)計(jì)》課程的教學(xué)過(guò)程中在以下幾個(gè)方面引起足夠的重視,并在教學(xué)中加以改進(jìn),為后續(xù)單片機(jī)課程的學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ)。
3.《C程序設(shè)計(jì)》課程教學(xué)方法探索
3.1上好每堂課,激發(fā)學(xué)生的學(xué)習(xí)興趣
語(yǔ)言程序設(shè)計(jì)教學(xué)被認(rèn)為是一種需要師生雙方改進(jìn)的一門課程,因?yàn)榇蠖鄶?shù)語(yǔ)言教材中通常先給出一般的語(yǔ)法格式,然后逐步講解語(yǔ)法要點(diǎn),再給出實(shí)例。這種順序灌輸會(huì)使學(xué)生失去學(xué)習(xí)的興趣,所以我認(rèn)為在課堂教學(xué)環(huán)節(jié)應(yīng)采取以學(xué)生為主體、以教師為主導(dǎo)的教學(xué)模式,要求學(xué)生自己先看有關(guān)知識(shí)點(diǎn),并識(shí)記。教師采取精講實(shí)例,在這過(guò)程中引出相關(guān)知識(shí)點(diǎn),然后再舉一類似實(shí)例讓學(xué)生自己分析,鞏固知識(shí)點(diǎn)。教師應(yīng)把主要精力放在算法的分析和各語(yǔ)句語(yǔ)法的具體應(yīng)用上,同時(shí)培養(yǎng)學(xué)生自學(xué)能力,采取互動(dòng)機(jī)制,迫使學(xué)生主動(dòng)學(xué)習(xí)。
3.2注重演示,強(qiáng)化實(shí)驗(yàn),提高實(shí)踐操作能力
因?yàn)槭谡n對(duì)象是一年級(jí)新生,所以教師多用通俗易懂的語(yǔ)言進(jìn)行講解,多舉實(shí)例,使學(xué)生容易理解和消化。在教學(xué)過(guò)程中,盡量采用講解、演示方法,如在講解經(jīng)典算法后,按照理論方法所述,用DEV C++軟件進(jìn)行編程演示,從而加深學(xué)生對(duì)教學(xué)內(nèi)容的理解。
在教學(xué)過(guò)程中,教師應(yīng)將理論知識(shí)與實(shí)驗(yàn)內(nèi)容進(jìn)行整合,根據(jù)教學(xué)內(nèi)容并結(jié)合實(shí)際應(yīng)用設(shè)置實(shí)驗(yàn)題目,讓每個(gè)學(xué)生獨(dú)立完成。遇到學(xué)生不能解決的問(wèn)題,教師應(yīng)利用多媒體進(jìn)行演示解決問(wèn)題的過(guò)程,從而加深學(xué)生對(duì)教學(xué)內(nèi)容的理解并提高實(shí)踐操作能力。 3.3培養(yǎng)良好的編程風(fēng)格
3.3.1優(yōu)化程序
由于在許多工業(yè)測(cè)控領(lǐng)域中的嵌入式系統(tǒng)都采用單片機(jī)開發(fā),它們所需要的計(jì)算和控制工作日趨復(fù)雜,其中軟件的設(shè)計(jì)是最復(fù)雜和困難的,工作量大,特別是對(duì)于控制系統(tǒng),設(shè)計(jì)人員需要考慮單片機(jī)的軟硬件資源分配,但是單片機(jī)系統(tǒng)是一種資源十分有限的系統(tǒng)。這主要表現(xiàn)在CPU和片內(nèi)結(jié)構(gòu)簡(jiǎn)單、程序存儲(chǔ)器資源的不足。因此在用C語(yǔ)言進(jìn)行單片機(jī)開發(fā)時(shí),如何使用好這些有限的資源就顯得十分重要。雖然C語(yǔ)言具有許多的優(yōu)點(diǎn),但是生成的代碼相對(duì)要長(zhǎng),基本多占用存儲(chǔ)空間20%—50%。因而,在“C程序設(shè)計(jì)”課程教學(xué)中,教師不僅要教會(huì)學(xué)生如何編寫程序,而且應(yīng)在教學(xué)過(guò)程中向?qū)W生灌輸優(yōu)化代碼的思想,讓學(xué)生從大一開始就有開發(fā)項(xiàng)目的一些經(jīng)驗(yàn)。
3.3.2合理選用數(shù)據(jù)類型
C語(yǔ)言在程序開發(fā)中提供了的豐富的數(shù)據(jù)類型,尤其是關(guān)于用戶界面開發(fā)和一些動(dòng)畫與圖像技術(shù)的實(shí)現(xiàn)。但是在開發(fā)單片機(jī)系統(tǒng)時(shí),我們要按照實(shí)際需要,合理地選用數(shù)據(jù)類型。C語(yǔ)言中有Char等少數(shù)的數(shù)據(jù)類型是機(jī)器語(yǔ)言直接支持的數(shù)據(jù)類型,用此類數(shù)據(jù)類型的語(yǔ)句所生成的代碼較短,而其它的數(shù)據(jù)類型如整型、浮點(diǎn)型等數(shù)據(jù)要有一定的內(nèi)部程序或內(nèi)部函數(shù)的支持,相對(duì)來(lái)說(shuō)較復(fù)雜的數(shù)據(jù)類型的語(yǔ)句生成的代碼也復(fù)雜,不利于轉(zhuǎn)化成單片機(jī)的代碼。因此,在“C程序設(shè)計(jì)“教學(xué)過(guò)程中,要向?qū)W生適當(dāng)說(shuō)明選擇合適數(shù)據(jù)類型的好處,并盡可能地減少程序中使用的數(shù)據(jù)類型的種類,為以后學(xué)生的單片機(jī)學(xué)習(xí)打好基礎(chǔ)。
3.3.3灌輸模塊化程序設(shè)計(jì)思想
在普通微型計(jì)算機(jī)上進(jìn)行C語(yǔ)言程序開發(fā)設(shè)計(jì)時(shí),只需考慮程序功能實(shí)現(xiàn),而不必考慮程序代碼的長(zhǎng)短。但是在單片機(jī)上進(jìn)行C語(yǔ)言程序設(shè)計(jì)就必須考慮系統(tǒng)的硬件資源,要求設(shè)計(jì)的軟件程序結(jié)構(gòu)是合理、緊湊和高效的。同一任務(wù),有時(shí)用主程序完成是合理的,但有時(shí)需子程序效率最高,占用資源最少;有時(shí)并不是程序的算法越簡(jiǎn)單、長(zhǎng)度越短越好,由于有一些算法要調(diào)用一些內(nèi)部的子程序和函數(shù),生成的機(jī)器代碼質(zhì)量反而較低。不同的算法對(duì)程序代碼效率影響很大。因此,在進(jìn)行“C程序設(shè)計(jì)”教學(xué)時(shí),教師應(yīng)適當(dāng)向?qū)W生灌輸模塊化程序設(shè)計(jì)的思想,在不影響程序功能實(shí)現(xiàn)的情況下可以采用一些優(yōu)化算法,并且把程序分成若干個(gè)功能獨(dú)立的模塊,為學(xué)生今后的單片機(jī)項(xiàng)目開發(fā)做好鋪墊。
4.結(jié)語(yǔ)
單片機(jī)系統(tǒng)采用C語(yǔ)言開發(fā)與設(shè)計(jì),極大地促進(jìn)了單片機(jī)在生產(chǎn)、生活各個(gè)領(lǐng)域的應(yīng)用,提高了程序開發(fā)效率。因而,C語(yǔ)言學(xué)習(xí)效果的好壞,對(duì)今后單片機(jī)課程的學(xué)習(xí)具有深遠(yuǎn)的影響。除了講解C語(yǔ)言的基本語(yǔ)法外,更重要的是改善教學(xué)方法,利用各種方法培養(yǎng)學(xué)生的學(xué)習(xí)興趣,并向?qū)W生灌輸良好的編程風(fēng)格與編程方法,為今后的單片機(jī)課程的學(xué)習(xí)打下良好的基礎(chǔ)。
參考文獻(xiàn)
[1]向艷.“C程序設(shè)計(jì)”課程教學(xué)體系和模式探討[J].計(jì)算機(jī)教育,2010,(3):112-114.
[2]董蘊(yùn)寶,潘旭君.淺談C語(yǔ)言在單片機(jī)中的程序設(shè)計(jì)[J].科技信息,2009,(13):59-67.
[3]張洪靜.電類專業(yè)C語(yǔ)言教學(xué)探討[J].電腦知識(shí)與技術(shù),2010,(29):8280-8281.
[4]林益平,趙福建.單片機(jī)C語(yǔ)言課程教學(xué)的探索與實(shí)踐[J].電氣電子教學(xué)學(xué)報(bào),2007,(2):104-106.