時間:2022-09-10 09:19:51
序論:在您撰寫單片機應用論文時,參考他人的優秀作品可以開闊視野,小編為您整理的7篇范文,希望這些建議能夠激發您的創作熱情,引導您走向新的創作高度。
單片機的特點主要有:高集成度,體積小,高可靠性;控制功能強;低電壓,低功耗,便于生產便攜式產品;易擴展;優異的性能價格比。目前,單片機的應用領域主要包括:辦公自動化設備;單片機在機電一體化中的應用;在實時過程控制中的應用;單片機在日常生活及家用電器領域的應用;在各類儀器儀表中引入單片機,使儀器儀表智能化,提高測試的自動化程度和精度,簡化儀器儀表的硬件結構,提高其性能價格比;在計算機網絡和通信領域中的應用;商業營銷設備;單片機在醫用設備領域中的應用;汽車電子產品;航空航天系統和國防軍事、尖端武器等領域,單片機的應用更是不言而喻。
二、單片機開發中的幾個基本技巧
在單片機應用開發中,代碼的使用效率問題、單片機抗干擾性和可靠性等問題仍困擾著?,F歸納出單片機開發中應掌握的幾個基本技巧。
1、如何減少程序中的bug。對于如何減少程序的bug,應該先考慮系統運行中應考慮的超范圍管理參數如下。物理參數:這些參數主要是系統的輸入參數,它包括激勵參數、采集處理中的運行參數和處理結束的結果參數。資源參數:這些參數主要是系統中的電路、器件、功能單元的資源,如記憶體容量、存儲單元長度、堆疊深度。應用參數:這些應用參數常表現為一些單片機、功能單元的應用條件。過程參數:指系統運行中的有序變化的參數。
2、如何提高C語言編程代碼的效率。用C語言進行單片機程序設計是單片機開發與應用的必然趨勢。如果使用C編程時,要達到最高的效率,最好熟悉所使用的C編譯器。先試驗一下每條C語言編譯以后對應的匯編語言的語句行數,這樣就可以很明確的知道效率。在今后編程的時候,使用編譯效率最高的語句。各家的C編譯器都會有一定的差異,故編譯效率也會有所不同,優秀的嵌入式系統C編譯器代碼長度和執行時間僅比以匯編語言編寫的同樣功能程度長5-20%。對于復雜而開發時間緊的項目時,可以采用C語言,但前提是要求你對該MCU系統的C語言和C編譯器非常熟悉,特別要注意該C編譯系統所能支持的數據類型和算法。雖然C語言是最普遍的一種高級語言,但由于不同的MCU廠家其C語言編譯系統是有所差別的,特別是在一些特殊功能模塊的操作上。所以如果對這些特性不了解,那么調試起來問題就會很多,反而導致執行效率低于匯編語言。
3、如何解決單片機的抗干擾性問題。防止干擾最有效的方法是去除干擾源、隔斷干擾路徑,但往往很難做到,所以只能看單片機抗干擾能力夠不夠強了。在提高硬件系統抗干擾能力的同時,軟件抗干擾以其設計靈活、節省硬件資源、可靠性好越來越受到重視。單片機干擾最常見的現象就是復位;至于程序跑飛,其實也可以用軟件陷阱和看門狗將程序拉回到復位狀態;所以單片機軟件抗干擾最重要的是處理好復位狀態。一般單片機都會有一些標志寄存器,可以用來判斷復位原因;另外你也可以自己在RAM中埋一些標志。在每次程序復位時,通過判斷這些標志,可以判斷出不同的復位原因;還可以根據不同的標志直接跳到相應的程序。這樣可以使程序運行有連續性,用戶在使用時也不會察覺到程序被重新復位過。
4、如何測試單片機系統的可靠性。當一個單片機系統設計完成,對于不同的單片機系統產品會有不同的測試項目和方法,但是有一些是必須測試的:測試單片機軟件功能的完善性;上電、掉電測試;老化測試;ESD和EFT等測試。有時候,我們還可以模擬人為使用中,可能發生的破壞情況。例如用人體或者衣服織物故意摩擦單片機系統的接觸端口,由此測試抗靜電的能力。用大功率電鉆靠近單片機系統工作,由此測試抗電磁干擾能力等。
綜上所述,單片機已成為計算機發展和應用的一個重要方面,單片機應用的重要意義還在于,它從根本上改變了傳統的控制系統設計思想和設計方法。從前必須由模擬電路或數字電路實現的大部分功能,現在已能用單片機通過軟件方法來實現了。這種軟件代替硬件的控制技術也稱為微控制技術,是傳統控制技術的一次革命。此外在開發和應用過程中我們更要掌握技巧,提高效率,以便于發揮它更加廣闊的用途。
參考文獻:
[1]何立民.MCS-51系列單片機應用系統設計系統配置與接口技術.北京:北京航空航天大學出版社,1990
[2]蔡美琴等.MCS-51單片機系統及其應用.北京:高等教育出版社,1992
[3]孫涵芳.MCS-51/96系列單片機原理及應用.北京:北京航空航天大學出版社,1996
摘要:本文設計一種智能電子解說系統,具有智能化、個性化、高音質、實用性強等特點。讓游客按照設定的經典路線,選擇景點或展位的講解使每個觀眾不但得到每個展位、景點的完整信息,而且感受到高清晰、低噪聲的音響效果,電子旅游解說系統的出現,使看起來簡單的解說系統融入了科技的因素。
本文正是基于凌陽公司的SPCE061A單片機并采用A2000語音壓縮算法對語音信號進行了壓縮存儲以及播放。由游客控制選擇按鍵來播放語音,這樣大大降低了外面的干擾,使每個觀眾不但得到每個展位、景點的完整信息,而且感受到高清晰、低噪聲的音響效果。
關鍵詞:旅游;電子解說;電子導游;凌陽單片機
1緒論
隨著改革開放和經濟的發展,旅游業也獲得了長足的發展,節假日外出旅游已成為人們的首選。對大多數零散游客來說,希望有一種不受制于人的輔助導游手段,迫切需要一種攜帶方便、操作簡便的電子語音導游器。
本文設計一種智能電子解說系統,選用了凌陽公司的SPCE061A單片機并采用A2000語音壓縮算法對語音信號進行了壓縮存儲,經過這樣處理合成后的語音音質良好,放音時間持久,而且機體積很小。
2凌陽單片機簡介
SPCE061A是凌陽科技研發生產的性價比很高的一款十六位單片機。該芯片擁有8路10位精度的ADC,其中一路為音頻轉換通道,并且內置有自動增益電路。這為實現語音錄入提供了方便的硬件條件。
凌陽音頻壓縮算法處理的語音信號范圍是200Hz-3.4KHz的電話語音。根據不同的壓縮比分為以下幾種:SACM_A2000、SACM_S480、SACM_S240。SACM-A2000音頻壓縮算法的壓縮比較小,編碼速率可選擇16kbit/s、20kbit/s、24kbit/s三種之一,具有高質量、高碼率的特點,適于高保真語音或音樂。
3硬件系統設計
本系統的硬件部分主要實現路線的顯示和景點語音的播放。根據景區景點設計一條經典路線,將沿途主要景點用高亮三色LED顯示。紅色表示還沒有聽過解說的最近的景點,黃色表示正在聽取解說詞的景點,綠色表示最后播放過解說詞的景點。語音播放按鍵分為景點相應放音、暫停、繼續放音、結束等。音頻信號存儲在凌陽語音儲存芯片中。語音信號放大由凌陽公司開發的專門用于語音信號放大的芯片SPY0030A完成。整個系統的控制由凌陽單片機SPCE061A實現。具體硬件系統框圖如圖1所示。
4軟件系統設計
本設計選用了SACM-A2000語音壓縮算法對語音信號進行了壓縮存儲。再利用中斷進行鍵盤掃描程序循環掃描按鍵,獲取按鍵信息后和內置的操作碼比較,用來確定播放相應的語音和顯示相應的LED燈。景點的解說詞事先利用凌陽內置提供的工具進行壓縮和存儲。
系統的主程序流程圖如圖2所示,假設主要講解景點共4處,分別由KEY1~KEY4控制播放,KEY5是暫停播放、KEY6是繼續播放、KEY7停止播放。開機時對系統初始化,包含對顯示景點的初始化、對語音播放模塊初始化、對鍵盤初始化等。在鍵盤初始化中設置時基頻率為128Hz的中斷,并打開中斷。這是為在中斷中掃描鍵盤,利用延時法去抖動,延時時間是響應多少次128Hz中斷過程。在KEY1~KEY4鍵控制下播放景點解說詞實際是提取相應景點的語音信息的起始存儲地址,然后執行相應的語音播放程序。由于語音播放中斷服務子程序必須放在TMA-FIQ中斷源上,進入中斷服務程序必須先保護寄存器,接著判斷是不是TMA-FIQ中斷。若是,還要判斷是哪一段語音要播放,也就是要獲取播放語音的起始地址。在TMA-FIQ中斷調用F_FIQ_Service_SACM_A2000函數譯碼播放。
5制作
錄制的語音文件在播放前需轉換為SACM_A2000格式的壓縮文件。語音壓縮可以使用凌陽語音壓縮工具(CompressTool)完成。該壓縮工具支持.wav格式的語音壓縮,但要求壓縮語音資源屬性為8kHz,16位,單聲道。
6結論
經過測試,電子語音導游器的性能達到了設計目標,具體如下:各景點語音解說資料、開機歡迎語音信息播放正常,聲音清晰;各按鍵功能正常,各LED管顯示正常。凌陽公司的SPCE061A的結構特點及其相關的開發平臺,為我們開發帶語音特色的產品方案帶來了很大的方便,本系統僅是SPCE061A的一個基本應用,體現了SPCE061A多種資源對產品開發的極大支持,同時體現了其的語音特色。
參考文獻
單片機的特點主要有:高集成度,體積小,高可靠性;控制功能強;低電壓,低功耗,便于生產便攜式產品;易擴展;優異的性能價格比。目前,單片機的應用領域主要包括:辦公自動化設備;單片機在機電一體化中的應用;在實時過程控制中的應用;單片機在日常生活及家用電器領域的應用;在各類儀器儀表中引入單片機,使儀器儀表智能化,提高測試的自動化程度和精度,簡化儀器儀表的硬件結構,提高其性能價格比;在計算機網絡和通信領域中的應用;商業營銷設備;單片機在醫用設備領域中的應用;汽車電子產品;航空航天系統和國防軍事、尖端武器等領域,單片機的應用更是不言而喻。
二、單片機開發中的幾個基本技巧
在單片機應用開發中,代碼的使用效率問題、單片機抗干擾性和可靠性等問題仍困擾著?,F歸納出單片機開發中應掌握的幾個基本技巧。
1、如何減少程序中的bug。對于如何減少程序的bug,應該先考慮系統運行中應考慮的超范圍管理參數如下。物理參數:這些參數主要是系統的輸入參數,它包括激勵參數、采集處理中的運行參數和處理結束的結果參數。資源參數:這些參數主要是系統中的電路、器件、功能單元的資源,如記憶體容量、存儲單元長度、堆疊深度。應用參數:這些應用參數常表現為一些單片機、功能單元的應用條件。過程參數:指系統運行中的有序變化的參數。
2、如何提高C語言編程代碼的效率。用C語言進行單片機程序設計是單片機開發與應用的必然趨勢。如果使用C編程時,要達到最高的效率,最好熟悉所使用的C編譯器。先試驗一下每條C語言編譯以后對應的匯編語言的語句行數,這樣就可以很明確的知道效率。在今后編程的時候,使用編譯效率最高的語句。各家的C編譯器都會有一定的差異,故編譯效率也會有所不同,優秀的嵌入式系統C編譯器代碼長度和執行時間僅比以匯編語言編寫的同樣功能程度長5-20%。對于復雜而開發時間緊的項目時,可以采用C語言,但前提是要求你對該MCU系統的C語言和C編譯器非常熟悉,特別要注意該C編譯系統所能支持的數據類型和算法。雖然C語言是最普遍的一種高級語言,但由于不同的MCU廠家其C語言編譯系統是有所差別的,特別是在一些特殊功能模塊的操作上。所以如果對這些特性不了解,那么調試起來問題就會很多,反而導致執行效率低于匯編語言。
3、如何解決單片機的抗干擾性問題。防止干擾最有效的方法是去除干擾源、隔斷干擾路徑,但往往很難做到,所以只能看單片機抗干擾能力夠不夠強了。在提高硬件系統抗干擾能力的同時,軟件抗干擾以其設計靈活、節省硬件資源、可靠性好越來越受到重視。單片機干擾最常見的現象就是復位;至于程序跑飛,其實也可以用軟件陷阱和看門狗將程序拉回到復位狀態;所以單片機軟件抗干擾最重要的是處理好復位狀態。一般單片機都會有一些標志寄存器,可以用來判斷復位原因;另外你也可以自己在RAM中埋一些標志。在每次程序復位時,通過判斷這些標志,可以判斷出不同的復位原因;還可以根據不同的標志直接跳到相應的程序。這樣可以使程序運行有連續性,用戶在使用時也不會察覺到程序被重新復位過。
4、如何測試單片機系統的可靠性。當一個單片機系統設計完成,對于不同的單片機系統產品會有不同的測試項目和方法,但是有一些是必須測試的:測試單片機軟件功能的完善性;上電、掉電測試;老化測試;ESD和EFT等測試。有時候,我們還可以模擬人為使用中,可能發生的破壞情況。例如用人體或者衣服織物故意摩擦單片機系統的接觸端口,由此測試抗靜電的能力。用大功率電鉆靠近單片機系統工作,由此測試抗電磁干擾能力等。
綜上所述,單片機已成為計算機發展和應用的一個重要方面,單片機應用的重要意義還在于,它從根本上改變了傳統的控制系統設計思想和設計方法。從前必須由模擬電路或數字電路實現的大部分功能,現在已能用單片機通過軟件方法來實現了。這種軟件代替硬件的控制技術也稱為微控制技術,是傳統控制技術的一次革命。此外在開發和應用過程中我們更要掌握技巧,提高效率,以便于發揮它更加廣闊的用途。
參考文獻:
[1]何立民.MCS-51系列單片機應用系統設計系統配置與接口技術.北京:北京航空航天大學出版社,1990
[2]蔡美琴等.MCS-51單片機系統及其應用.北京:高等教育出版社,1992
[3]孫涵芳.MCS-51/96系列單片機原理及應用.北京:北京航空航天大學出版社,1996
本設計采用MicrochipPIC16C54單片機,選用南通光電器件廠GR40101紅外發射二極管和GD1611硅PIN型光敏二極管作為紅外發射和接收器件,舟山海山電器有限公司生產的微型電機QDB-30-3.0作為泵液晶驅動。系統采用單鍵模式完成暫停、設定泵液量等功能。電路采用節電方式設計,待機電流小于100μA,并可提供微型電機所需的500mA負載電流,可監測電池電壓,欠壓報警。系統原理如圖1所示。
圖中TX(紅外發射管)、R1、R5、Q4組成紅外發射電路,單片機RA1口輸出一定頻率的脈沖控制三極管Q4的通斷,從而控制紅外發射管TX的發射頻率。由單片機RA3口為發射電路提供電源,是為了節能。當RA1口將要發射脈沖時,RA3口置高,發射電路加電。RX(紅外接收管)、R2、R11、R12、R13、R16、Q6、C3組成紅外接收電路,RX接收紅外脈沖,整形后由Q6放大。接收電路必須嚴格控制放大倍數,確保紅外反射接收距離在10cm左右。接收電路電源由單片機RB1口提供,在發射脈沖后,將RB1口置高。R6、R7、R8、Q3組成電池電壓監測電路,當電源電壓降到一定值時,Q3截止,單片機RB3口為高電平,欠壓報警。D2、D3、R9、R10、Q1、Q5組成電機供電電路,提供微型電機所需的3V電壓、500mA負載電流,當需驅動電機泵液時,由單片機RB2口輸出低電平,Q發射極為電機供電。D1、C4、Q2、R3組成電機控制電路,泵液時先為電機供電,然后單片機RA2口輸出高電平驅動電機運轉。LED為工作狀態指示燈,單一按鍵SW為多功能鍵,可完成設定泵液量、暫停、手動泵液等功能。
2軟件設計
本電路硬件設計通過控制各單元電路供電達到節能的目的,軟件上利用PIC單片機的休眼、看門狗溢出喚醒特性以及對發射脈沖個數的控制進一步降低能耗,使其待機電流小于100μA,4節4號堿性電池可提供15000次以上的使用次數或200天以上的使用時間。程序流程如圖2所示。
程序開始先對單片機各端口初始化,并設置好看門狗溢出時間,程序工作一個周期后,自動進入休眠模式,由看門狗溢出喚醒單片機進入下一周期。進入一個工作周期前,首先判斷是電池上電第1次工作,還是看門狗溢出喚醒單片機。如果是電池上電第1次工作,指示燈應給出指示,并對泵液量進行設定。進入工作周期后要判斷按鍵是否按下,若按下按鍵,則判斷是手動泵液還是暫停泵液器工作,這兩者靠按鍵時間長短決定。
紅外收發程序對提高泵液器抗干擾能力、降低泵液器能耗起著關鍵作用。經過實驗選定一個發射脈沖頻率使其對外界光干擾不敏感。為了最大限度地降低能耗,程序對發射脈沖的個數和方法進行設計,先發2個試探脈沖,若接收到,則按選定頻率連續發60個脈沖,然后判斷接收方收到的脈沖數是否在允許的范圍內,是則泵液,否則進入休眠模式;若接收方未收到試探脈沖,則直接進入休眠模式。每次泵液器工作后,都檢查電池電壓,若發現電壓低,立即由指示燈給出報警,提示更換電池。
論文摘要:目前單片機滲透到我們生活的各個領域,本文介紹了單片機的應用并且根據自己的一些經驗談了單片機應用過程中應該掌握的幾個技巧。
目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網絡通訊與數據傳輸,廣泛使用的各種智能IC卡等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫療器械了。因此,單片機的學習、開發與應用將造就一批計算機應用與智能化控制的科學家、工程師。
一、單片機的特點應用
單片機的特點主要有:高集成度,體積小,高可靠性;控制功能強;低電壓,低功耗,便于生產便攜式產品;易擴展;優異的性能價格比。目前,單片機的應用領域主要包括:辦公自動化設備;單片機在機電一體化中的應用;在實時過程控制中的應用;單片機在日常生活及家用電器領域的應用;在各類儀器儀表中引入單片機,使儀器儀表智能化,提高測試的自動化程度和精度,簡化儀器儀表的硬件結構,提高其性能價格比;在計算機網絡和通信領域中的應用;商業營銷設備;單片機在醫用設備領域中的應用;汽車電子產品;航空航天系統和國防軍事、尖端武器等領域,單片機的應用更是不言而喻。
二、單片機開發中的幾個基本技巧
在單片機應用開發中,代碼的使用效率問題、單片機抗干擾性和可靠性等問題仍困擾著?,F歸納出單片機開發中應掌握的幾個基本技巧。
1、如何減少程序中的bug。對于如何減少程序的bug,應該先考慮系統運行中應考慮的超范圍管理參數如下。物理參數:這些參數主要是系統的輸入參數,它包括激勵參數、采集處理中的運行參數和處理結束的結果參數。資源參數:這些參數主要是系統中的電路、器件、功能單元的資源,如記憶體容量、存儲單元長度、堆疊深度。應用參數:這些應用參數常表現為一些單片機、功能單元的應用條件。過程參數:指系統運行中的有序變化的參數。
2、如何提高C語言編程代碼的效率。用C語言進行單片機程序設計是單片機開發與應用的必然趨勢。如果使用C編程時,要達到最高的效率,最好熟悉所使用的C編譯器。先試驗一下每條C語言編譯以后對應的匯編語言的語句行數,這樣就可以很明確的知道效率。在今后編程的時候,使用編譯效率最高的語句。各家的C編譯器都會有一定的差異,故編譯效率也會有所不同,優秀的嵌入式系統C編譯器代碼長度和執行時間僅比以匯編語言編寫的同樣功能程度長5-20%。對于復雜而開發時間緊的項目時,可以采用C語言,但前提是要求你對該MCU系統的C語言和C編譯器非常熟悉,特別要注意該C編譯系統所能支持的數據類型和算法。雖然C語言是最普遍的一種高級語言,但由于不同的MCU廠家其C語言編譯系統是有所差別的,特別是在一些特殊功能模塊的操作上。所以如果對這些特性不了解,那么調試起來問題就會很多,反而導致執行效率低于匯編語言。
3、如何解決單片機的抗干擾性問題。防止干擾最有效的方法是去除干擾源、隔斷干擾路徑,但往往很難做到,所以只能看單片機抗干擾能力夠不夠強了。在提高硬件系統抗干擾能力的同時,軟件抗干擾以其設計靈活、節省硬件資源、可靠性好越來越受到重視。單片機干擾最常見的現象就是復位;至于程序跑飛,其實也可以用軟件陷阱和看門狗將程序拉回到復位狀態;所以單片機軟件抗干擾最重要的是處理好復位狀態。一般單片機都會有一些標志寄存器,可以用來判斷復位原因;另外你也可以自己在RAM中埋一些標志。在每次程序復位時,通過判斷這些標志,可以判斷出不同的復位原因;還可以根據不同的標志直接跳到相應的程序。這樣可以使程序運行有連續性,用戶在使用時也不會察覺到程序被重新復位過。4、如何測試單片機系統的可靠性。當一個單片機系統設計完成,對于不同的單片機系統產品會有不同的測試項目和方法,但是有一些是必須測試的:測試單片機軟件功能的完善性;上電、掉電測試;老化測試;ESD和EFT等測試。有時候,我們還可以模擬人為使用中,可能發生的破壞情況。例如用人體或者衣服織物故意摩擦單片機系統的接觸端口,由此測試抗靜電的能力。用大功率電鉆靠近單片機系統工作,由此測試抗電磁干擾能力等。
綜上所述,單片機已成為計算機發展和應用的一個重要方面,單片機應用的重要意義還在于,它從根本上改變了傳統的控制系統設計思想和設計方法。從前必須由模擬電路或數字電路實現的大部分功能,現在已能用單片機通過軟件方法來實現了。這種軟件代替硬件的控制技術也稱為微控制技術,是傳統控制技術的一次革命。此外在開發和應用過程中我們更要掌握技巧,提高效率,以便于發揮它更加廣闊的用途。
參考文獻:
[1]何立民.MCS-51系列單片機應用系統設計系統配置與接口技術.北京:北京航空航天大學出版社,1990
論文摘要:目前單片機滲透到我們生活的各個領域,本文介紹了單片機的應用并且根據自己的一些經驗談了單片機應用過程中應該掌握的幾個技巧。
目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網絡通訊與數據傳輸,廣泛使用的各種智能IC卡等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫療器械了。因此,單片機的學習、開發與應用將造就一批計算機應用與智能化控制的科學家、工程師。
一、單片機的特點應用
單片機的特點主要有:高集成度,體積小,高可靠性;控制功能強;低電壓,低功耗,便于生產便攜式產品;易擴展;優異的性能價格比。目前,單片機的應用領域主要包括:辦公自動化設備;單片機在機電一體化中的應用;在實時過程控制中的應用;單片機在日常生活及家用電器領域的應用;在各類儀器儀表中引入單片機,使儀器儀表智能化,提高測試的自動化程度和精度,簡化儀器儀表的硬件結構,提高其性能價格比;在計算機網絡和通信領域中的應用;商業營銷設備;單片機在醫用設備領域中的應用;汽車電子產品;航空航天系統和國防軍事、尖端武器等領域,單片機的應用更是不言而喻。
二、單片機開發中的幾個基本技巧
在單片機應用開發中,代碼的使用效率問題、單片機抗干擾性和可靠性等問題仍困擾著。現歸納出單片機開發中應掌握的幾個基本技巧。
1、如何減少程序中的bug。對于如何減少程序的bug,應該先考慮系統運行中應考慮的超范圍管理參數如下。物理參數:這些參數主要是系統的輸入參數,它包括激勵參數、采集處理中的運行參數和處理結束的結果參數。資源參數:這些參數主要是系統中的電路、器件、功能單元的資源,如記憶體容量、存儲單元長度、堆疊深度。應用參數:這些應用參數常表現為一些單片機、功能單元的應用條件。過程參數:指系統運行中的有序變化的參數。
2、如何提高C語言編程代碼的效率。用C語言進行單片機程序設計是單片機開發與應用的必然趨勢。如果使用C編程時,要達到最高的效率,最好熟悉所使用的C編譯器。先試驗一下每條C語言編譯以后對應的匯編語言的語句行數,這樣就可以很明確的知道效率。在今后編程的時候,使用編譯效率最高的語句。各家的C編譯器都會有一定的差異,故編譯效率也會有所不同,優秀的嵌入式系統C編譯器代碼長度和執行時間僅比以匯編語言編寫的同樣功能程度長5-20%。對于復雜而開發時間緊的項目時,可以采用C語言,但前提是要求你對該MCU系統的C語言和C編譯器非常熟悉,特別要注意該C編譯系統所能支持的數據類型和算法。雖然C語言是最普遍的一種高級語言,但由于不同的MCU廠家其C語言編譯系統是有所差別的,特別是在一些特殊功能模塊的操作上。所以如果對這些特性不了解,那么調試起來問題就會很多,反而導致執行效率低于匯編語言。
3、如何解決單片機的抗干擾性問題。防止干擾最有效的方法是去除干擾源、隔斷干擾路徑,但往往很難做到,所以只能看單片機抗干擾能力夠不夠強了。在提高硬件系統抗干擾能力的同時,軟件抗干擾以其設計靈活、節省硬件資源、可靠性好越來越受到重視。單片機干擾最常見的現象就是復位;至于程序跑飛,其實也可以用軟件陷阱和看門狗將程序拉回到復位狀態;所以單片機軟件抗干擾最重要的是處理好復位狀態。一般單片機都會有一些標志寄存器,可以用來判斷復位原因;另外你也可以自己在RAM中埋一些標志。在每次程序復位時,通過判斷這些標志,可以判斷出不同的復位原因;還可以根據不同的標志直接跳到相應的程序。這樣可以使程序運行有連續性,用戶在使用時也不會察覺到程序被重新復位過。4、如何測試單片機系統的可靠性。當一個單片機系統設計完成,對于不同的單片機系統產品會有不同的測試項目和方法,但是有一些是必須測試的:測試單片機軟件功能的完善性;上電、掉電測試;老化測試;ESD和EFT等測試。有時候,我們還可以模擬人為使用中,可能發生的破壞情況。例如用人體或者衣服織物故意摩擦單片機系統的接觸端口,由此測試抗靜電的能力。用大功率電鉆靠近單片機系統工作,由此測試抗電磁干擾能力等。
綜上所述,單片機已成為計算機發展和應用的一個重要方面,單片機應用的重要意義還在于,它從根本上改變了傳統的控制系統設計思想和設計方法。從前必須由模擬電路或數字電路實現的大部分功能,現在已能用單片機通過軟件方法來實現了。這種軟件代替硬件的控制技術也稱為微控制技術,是傳統控制技術的一次革命。此外在開發和應用過程中我們更要掌握技巧,提高效率,以便于發揮它更加廣闊的用途。
參考文獻:
[1]何立民.MCS-51系列單片機應用系統設計系統配置與接口技術.北京:北京航空航天大學出版社,1990
[論文摘要]以單片機為基礎,分別以轎車溫控系統和貯液容器溫控系統為例,闡述單片機在溫控系統中的應用原理。
一、單片機在貯液容器溫控系統中的應用
該系統中以貯液容器溫度為被控參數,蒸汽流量為控制參數,輸入貯液容器冷物料的初溫為前饋控制,構成前饋一反饋控制系統。發揮前饋控制和反饋控制的各自優勢,將可測而不可控的干擾由前饋控制克服,其他干擾由反饋控制克服,從而達到控制貯液容器溫度。滿足工藝要求的目的。
(一)硬件設計。選單片機AT89C51為主機,配以兩路傳感變送器、多路開關、A/D轉換器、D/A轉換器、V/I轉換器、調節閥等實現對貯液容器溫度的自動控制,同時還設有報警電路、鍵盤和顯示電路。系統在穩態時,貯液容器的溫度恒定在工藝要求的數值不變。當冷物料的初始溫度與其設定值相比發生變化時,如果變化很小,將完全由前饋控制來克服這一變化給系統帶來的影響;如果變化大,前饋控制不能完全克服這一變化給系統帶來的影響,反饋控制則開始動作。當冷物料的初始溫度不變,而由其他干擾引起貯液容器的溫度發生變化時,只有反饋控制動作,最終使系統重新達到穩態。
1.前向通道的設計
采用JUMU90系列的溫度傳感變送器,其輸入范圍為:0℃~500℃,輸出為4mA~20mA(DC),測量精度為0.5%.選用10位逐次逼近式A/D轉換芯片AD571[2],接收到有效的CONVERT命令后,內部的逐次逼近寄存器從最高位開始順次經電流輸出的DAC在比較器上與模擬量經5k8電阻所產生的電流相比較。檢測完所有位后,SAP中包含轉換后的10位二進制碼。轉換完成后,SAP發出DR信號(低電平有效),單片機查詢到DR=0時,便使其打開三態緩沖器輸出數據。
2.后向通道的設計
(1)D/A轉換器的設計。為了滿足系統的精度要求,選用10位的D/A轉換器DAC1020。由于其內部不帶有鎖存器,所以必須通過I/O口才能與AT89C51單片機連接,又由于AT89C51的字長是8位的,一次操作只能傳輸8位數據.因此AT89C51必須進行兩次操作才能把一個完整的10位數據送到AC1020。為了使10位數據能夠同時送人DAC1020,避免輸出電壓波形出現毛刺現象,故必須采用雙緩沖器方式。AT89C51先把高2位數據輸出到74LS74(1),接著把低8位數據輸出到74LS377,與此同時74LS377的片選信號也作為74LS74(2)的時鐘脈沖,把74IS74(1)的內容打人74LS74(2)中,從而使一個完整的數據同時到達DAC1020的數據輸入端.這樣就消除了DAC輸出端的毛刺現象。
(2)執行器及調理電路的設計。系統中選用的是ZMAN16BG,ZGICr18Ni9Ti型號的對數流量特性的調節閥。閥的輸入信號為氣信號,而D/A轉換器的輸出為Ov~5V的電壓信號.所以在D/A轉換器和調節閥之間要加一個V/I轉換器和一個電氣閥門定位器,將0v~5v的電壓信號先轉換成4mA~20mA的電流信號后,再將4mA~20mA的電流信號轉換成0.02MPa~0.1MPa的氣信號。使調節閥接收氣信號而工作。
(二)軟件設計。經分析,系統軟件可采用結構化模塊程序設計,主要有系統主程序、看門狗中斷服務程序、鍵盤掃描子程序、顯示子程序、報警子程序、A/D轉換子程序、D/A轉換子程序、PID數據處理子程序、BCD碼轉換子程序。
主程序開始后,先對單片機AT89C51和8155芯片進行初始化,接下來是開中斷,調用鍵盤掃描子程序,選通多路模擬開關的1號通道,將采集的數據送人A/D轉換器轉換后傳入單片機。若溫度越限就報警處理,否則直接處理后送顯示,再選通多路模擬開關的2號通道,將采集的數據送人A/D轉換器轉換后送人單片機進行總的運算處理,輸出給D/A轉換器變成模擬信號去改變調節閥的開度。
二、單片機在汽車空調溫控系統中的應用(一)硬件系統。本系統選用ATMEL公司的AT89系列單片機中的AT89C52,AT89C52單片機是一種新型的低功耗、高性能且內含8K字節閃電存儲器的8位CMOS微控制器,與工業標準MCS一51指令系列和引腳完全兼容。有超強的加密功能,其片內閃電存儲器的編程與擦除完全用電實現,數據不易揮發,編程/擦除速度快。AT89C52芯片內部有6個中斷源:兩個外部中斷INTO和INT1.三個定時器中斷(定時器0,1,2)和一個串行口中斷。在本系統中涉及到AT89C52芯片的中斷源有五個:分別是外部中斷INT1,定時/計數器T0,T1和T2以及串行口中斷。本測控系統采用電平激活方式,也即是INT1=0;一旦INT1引腳的采樣值為低電平,則TCON寄對于定時器TO和Tl,通過寄存器TMOD,TCON來控制和選擇定時/計數器的功能和操作模式。這些寄存器的內容靠軟件設置,系統復位時,寄存器的所有位都被清零。而T2的工作是靠對T2CON寄存器進行軟件設置而定義的。本系統采用定時TO來計算車廂溫度采集的時間間隔,設置為工作方式1,即l6位計數定時方式:定時Tl作波特率發生器使用,選擇在工作方式2,即8位自動加載方式;定時器T2用于確定混合風門步進電機輸入脈沖的頻率,設置位l6位常數自動重裝人的工作方式。
當采用12MHz的晶振時,計數速率為lMHz.微機串口通常采用RS232電平,而單片機串口是1TrL電平,二者不兼容。所以,接口必須做電平轉換處理。采用MAXIM公司的MAX232電平轉換芯片。單片機串行口的TXD,RXD和GND經電平轉換分別與微機的RXD,TXD和SG相連,MAX232電平轉換芯片的第9,10引腳分別接單片機的l0和11引腳。DB9串口的第2,3引腳分別接MAX232電平轉換芯片的7,8引腳。通過MAX232的TTL電平和RS232的輸入/輸出端口,自動地調節了單片機串口的TTL電平信號和RS232的串行通信信號的電平匹配。數據發送是由一條寫發送寄存器(SBUF)的指令開始,隨后在串行口由硬件自動加人起位和停止位,構成一個完整的幀格式,然后在移位脈沖的作用下,由TXD端串行輸出。一個字符幀發送完后。使TXD輸出線維持在“1”狀態下,并將串行控制寄存器SCON的TI位置“1”,通知CPU可以接著發送下一個字符。
(二)軟件系統。轎車空調智能溫控系統的工作模式分為“正常運行模式”、“軟關機模式”、“手動控制模式”和“自動控制模式”。系統上電時,軟件進人上電自檢狀態,這時系統會首先從監控芯片x25045讀入上次斷電前存人EEPROM的系統狀態信息,初始化各個中斷并恢復空調控制器到上次關機前狀態。經過上電初始化,智能溫控系統會恢復到上次關機前的“正常運行模式”。此時,通過溫度調節按鍵可以設定需要的溫度值,溫度傳感器定時檢測車廂溫度,顯示器顯示溫度設定值和溫度測量值,混合風門的開度會根據溫差和溫差變化自動調節,溫控系統能夠與PC機通過串口通訊交換數據。按一下“ON/OFF”鍵,可使溫控系統進入“軟關機模式”。此時,系統不能再進行溫度檢測、溫度設定和串行通訊,顯示器熄滅,混合風門步進電機停止運轉。
參考文獻:
[1]李華,MCS一51系列單片機實用接口技術[M].北京:北京航空航天大學出版社.1993.306405.