本文目錄一覽:
球一份關於單片機或c語言的論文!2000字左右的?
一·基於MSP430 單片機的電源監控管理系統(單片機論文)
引言
大功率直流開關電源由PFC 和DC-DC 變換器組成,為了提高可靠性,並能夠對其進行脫機或遠程監控管理,在開關電源模塊內設置監控管理系統。該系統對電源故障類進行監控,對電源輸出的電壓電流進行自動設定和調節,通過串行通信接口,與遠程中心監控站進行遠程監控和管理,這一功能在通信系統基站供電系統中尤為重要。本文提出了一種基於MSP430單片機的電源監控管理系統的設計和實現。
1 系統結構和硬件電路設計
系統的整體設計結構如圖1所示。本系統採用的核心芯片為TI公司推出16位系列單片機MSP430。MSP430具有集成度高,外圍設備豐富,超低功耗等優點。單片集成了多通道12bit的A/D轉換、片內精密比較器、多個具有PWM功能的定時器、片內USART、看門狗定時器、片內數控振蕩器(DCO)、大量的I/O端口以及大容量的片內存儲器,採用串行在線編程方法,單片可以滿足絕大多數的應用需要。 MSP430的這種高集成度使應用人員不必在接口、外接I/O及存儲器上花太多的精力,而可以方便的設計真正意義上的單片系統,在許多領域得到了廣泛的應用。下面介紹該系統可以實現的功能和基於MSP430F149的電控系統的設計。
1.1 系統功能:
a.開機控制。上電後,單片機開始工作,按下電源鍵,點亮指示燈後,將電網220V接入PFC,開關電源啟動工作,然後接於負載。
b.電壓設定和調節。用單片機A/D口採集開關電源的輸出電壓值,並顯示於液晶屏上,通過單片機控制數字電位計調節輸出電壓值,實現自動調節;或者通過鍵盤的左右鍵選出電壓調節頁面,用上下鍵進行手動調節;也可以通過通信接口實現遠程調節。
c.電流調節。多台開關電源並聯使用時,要求各台電源的負載電壓相等。單片機A/D口採集轉換成電壓值的負載電流值,通過通信口得到各台電流值,取電流平均值,控制數字電位計調節輸出電壓,使輸出負載電流達到平均值;或者通過鍵盤的左右鍵選出電流調節頁面,用上下鍵進行手動調節。
d.故障報警。單片機通過光電耦合器檢測到各項輸入輸出故障時,揚聲器產生蜂鳴,相應的報警燈閃爍,並在液晶屏上顯示故障類型及處理方法。
e.監測。單片機A/D口對電網電壓,輸出電壓,輸出電流進行採集測量,當出現超限時進行報警。
f.通信。包括單片機與各台開關電源間的通信和單片機與中心監控站的通信。
1.2 電壓調節電路
電壓調節電路由單片機、數字電位計X9313和可調分流基準芯片TL431組成,其電路原理圖如圖2所示。Xicor9313是固態非易失性電位器,可用作數字控制的微調電位器。TL431是TI生產的一個有良好的熱穩定性能的三端可調分流基準源,它的輸出電壓用兩個電阻就可以任意地設置到從VREF(2.5V)到36V範圍內的任何值。工作時,單片機的一個IO控制INC計數輸入腳,為其提供計數脈衝,此輸入端為下降沿觸發。另一個IO控制U/D升降輸入端,當U/D為高電平時,X9313內部計數器進行加法計數,VW端的輸出電壓上升,由於VW接地,使VH端電壓降低,而TL431的REF輸出端電壓為恆定的2.5V,從而使Vcc處輸出電壓升高;同理當U/D為低電平時,Vcc處輸出電壓降低,這樣就實現了電壓輸出調節。
1.3 模擬數據採集
MSP430F149內嵌入一個高精度的,具有採樣與保持功能的12位ADC轉換模塊,內部提供各種採樣與保持時鐘源。MSP430有8個外部輸入通道可選, 最高採樣速度可達200KHZ,並且還內置溫度傳感器,可以測量芯片內的溫度,如果測量溫度高於或低於預設的溫度是,可以通過外接部件顯示告警信息,同時具有6種可編程選擇的內部參考電壓。該轉換模塊為一些需要模擬量採集的場合提供了便利。我們選擇的參考電壓是0~2.5V,這樣MSP430F149的AD分辨率就是2.5/4096 = 0.61V左右。由於輸入的模擬電壓量較高,不能直接與單片機的ADC採樣端口相連,因此用串聯一個滑動變阻器的方法進行了降壓處理,成功解決了上述問題。
1.4 人機對話設計
系統的人機操作界面由液晶顯示屏、指示燈和鍵盤組成。液晶選用的是基於T6963C 的液晶模塊YM12864。鍵盤採用的是3×3 的陣列接法,系統採用了圖形用戶界面,操作簡單易行,顯示實用美觀。工作時,液晶屏可以實時顯示採集到的電網電壓、輸出電壓、輸出電流及各種報警信息,操作相應鍵盤可以進行顯示頁面的切換,對輸出電壓,輸出電流進行自動、手動及遠程控制調節。當有報警信息產生時,相應得指示燈會閃爍警示,同時與單片機連接的揚聲器會產生報警蜂鳴聲,以提醒操作人員做出相應的處理。
2 系統軟件設計
430 支持彙編語言和C 語言兩種語言編程,因此可以在一個工程文件中同時用兩種語言,使用彙編語言,便於在調試時尋找邏輯和指令的聯繫及地址的定位正確與否。使用C 語言進行編程大大減少了工作量,編好後的程序可讀性好,易於修改和維護。開發工具使用IARSystems 公司的IAR Embedded Workbench,它集成了編輯、編譯、鏈接、下載與在線調試(Debug)等多種功能,使用方便,並具備高效的C 語言編譯能力。
考慮到軟件開發效率及可維護性,系統軟件設計遵循模塊化的編程思想,將系統功能劃分為幾個相對獨立的功能模塊。它們包括:液晶顯示模塊、AD 轉換模塊、按鍵監測響應模塊、報警監測響應模塊、電壓電流調節模塊、數據處理模塊、通信模塊。每個模塊都要進行獨立的測試,最後結合到一起。整個系統的軟件流程圖如圖3 所示。
按鍵監測模塊是其中的重要組成部分,它控制着AD轉換的啟動,顯示頁面的切換,及電壓電流的自動調節,手動調節,遠程調節的啟動和切換。報警監測模塊對開關電源的保護起着至關重要的作用,它實時的監測着開關電源是否出現故障,當發生輸入電壓過壓,輸入電壓欠壓,PFC故障時應切斷總電源,當發生輸出電壓過壓,輸出電壓欠壓,模塊過熱,及IPM保護故障時應關斷DC-DC變換器。
在對各模塊進行整合時,要注意各中斷之間的衝突。由於在MSP430 的中斷優先級中,ADC12 採樣轉換中斷優先級高於TIMERA 中斷,因此當在響應TIMERA 中斷的過程中會執行ADC12 採樣轉換中斷,或者TIMERA 的中斷響應被迫延遲,這樣就會影響在TIMERA中斷中執行的報警監測響應程序,不能達到對開關電源故障類的實時檢測。在本系統中,利用按鍵控制ADC12 採樣轉換中斷的啟動和關閉,從而解決中斷衝突。
3 結論
本文在基於MSP430F149電源監控管理系統的設計和實現的基礎上對MSP430的系統設計做了討論,提出並解決了在設計中出現的問題。本文作者的創新點:利用MSP430的系統結構簡單,外圍電路少,效率高的特點,設計實現了簡潔直觀、使用方便、操作全程漢字提示、監控能力強、運行穩定、安全可靠的電源監控管理系統,大大降低了成本,取得了相當可觀的經濟效益,滿足實際需求。
二·C語言論文:
嵌入式以門檻高,入門難的方式攔截了無數的學者。然而單片機作為嵌入式的入門課,如何以一種正確的方法學習單片機將關係到是否能學習好嵌入式。
縱所周知,學習嵌入式先玩ptotel,再做單片機。Protel簡單的來說就是一個做PCB板的純英文的軟件。學習ptotel前必需具備一定的電路基礎和英語能力,電路基礎我想大部分同學都是有的,而英語這一塊卻是許多人所頭疼的。這對英語基礎差的同學是一種打擊,再者如果毅力不強,我想你是自學不下去的。毅力是學任何東西所必需的一種能力、素質,是一種遇挫折而不言敗的決心。
不管學的是protel還是單片機,首先要找一個能夠指導你的人。何謂指導,指導並不是說他要一步一步地教你去做,而是一個在關鍵時刻能夠為你指出一條道路的人。
我認為學習嵌入式方法最重要,在學protel和單片機之前應該想辦法了解關於學習它們的方法。比如說protel吧,許多人理科的學生都是以一種純理解的角度去學的,畫一個導線、元件問一下為什麼要這樣畫,生成網絡表也追根溯源地問個網絡表的由來。其實許多東西只是懂用就行,理論的東西懂得再多不懂用也是枉然的。
所以學習protel有地方不懂你就問你的指導員,有許多的東西是規定死了的,不是你想半天一夜就可以為你而改變的。這不同於軟件設計,軟件設計在你的苦思之下也許可以找到另一種更好的方法。
單片機嘛,不得不承認中國沒一本單片機好書。我學習單片機的時候看過的單片機書有七本,大多數都是不盡人意的。在這裡我冒昧地說:中國人寫書確實缺乏一點“讀者至上”的原則。我所看過的單片機書我想有很多都是以他的角度去寫的,沒有幾個人是站穩在讀者的角度上寫的。書上的章節注釋極不清楚,許多重要的地方都是沒有說明的,說句不好聽的話,作者似乎以為讀者的水平也像他一樣高。而外國人的書呢,同樣的書,同樣的知識點,有同樣的中國人的書的兩三倍那麼厚,這是為什麼。這是因為外國人的書點點滴滴都是面向著讀者的。注釋、說明、總結應有盡有。所以,我在這裡發表一個也許同胞會扔雞蛋到我身上的觀點,那就是:不管學什麼,優先選擇外文翻譯書,或是純英文書。得到一本好書對我們的影響極為巨大。這一部分我用一句話來總結就是:中國人的書適合教學,而外國人的書不僅適合教學還適合自學。
中國人的單片機書往往都是先介紹單片機的內部結構、中斷,定時器,然後再到I/O口。一開始就讓我們學習單片機內部結構,中斷、定時器的內部結構和原理,把我們弄得一塌糊塗的時候再和我們講例子,怎樣去操作實驗板。如果自學的話我想許多同學是學不下去的,幹嘛要把非得把單片機的內部結構像解剖學一樣弄個徹底才實踐去應用它呢?即使你把單片機全解剖清楚了還是不會用你手中的這塊實驗板的。我覺得如果在學單片機之前沒有學過彙編語言就直接用C語言學的話,即使學完了單片機,對單片機的內部結構和單片機的工作原理也是不清楚的。學了彙編之後再學單片機的話效果將會好得多,所以不要心急,有些東西是急不來的。
所以我認為學習單片機要在實踐中學習,先實踐再去了解它的結構和原理,如果你實在不能了解它的結構和原理那也無所謂的,只要你懂得用就可以了!(沒學過彙編的只能這麼說了)
我們可以先從 I/O口學習,看一些例子燒錄些程序,再看一下現象,之後再嘗試了解一下所要用到的單片機的內部結構,最後在這個現象的知識基礎上,編一個自己想要的程序、現象出來。這樣學習的話既不無聊,成就感也有了。為什麼有些人可以把學習當一種快樂,而許多人在唉聲嘆氣,我想有一部分是出自這個原因。
不同的實驗板有不同的PCB圖,所以I/O的操作也是有所不同的。不過操作的原理都是一樣的,有些同學可能會抱怨教程里的實驗板和自己手中的實驗板不同,這是大可不必多慮的。I/O這一步在調試中看現象的理念很重要,比如改變一個語句會產生何種現象,為什麼會產生,這些都是要在調試中掌握的。
中斷的學習方法也是類似的,先實踐發現有陌生的地方就去查看相應的寄存器,等實現了自己想要的現實再慢慢地解剖一下單片機的寄存器,這樣學起來會更有意義,記得更牢。中斷也沒複雜的東西的,只不過學幾個中斷函數,優先級之類的。有一定C語言基礎的同學在優先級這一塊可以聯繫C語言中運算符的優先級,我相信有了C語言基礎定義一兩個中斷函數也不是什麼問題了的。
我學過的單片機的內容在我文檔的實例之中,實例的數量不多,但這些都是直接點擊單片機知識點的。隨着我的學習漸漸地深入後我再把我實現過的東西寫入實例之中吧。
希望對你有所幫助,祝成功!
c語言課程設計論文
談及C語言,我想凡是學過它的朋友都有這樣一種感覺,那就是“讓我歡喜讓我憂。”歡喜的是,C語言功能非常強大、應用廣泛,一旦掌握了後,你就可以理直氣壯地對他人說“我是電腦高手!”,而且以後若是再自學其他語言就顯得輕而易舉了。憂慮的是,C語言猶如“少林武功”一般博大精深,太難學了。其實就筆者認為C語言並非是“difficult(困難)”的,只要你能理清思路,掌握它的精髓,那麼自學C語言是一件非常容易且又其樂無窮的事。今天本人就與大家一起談談如何學習C語言或者說學習C語言應從哪幾方面着手。
了解一些基本知識
一.C語言的背景
就個人感觸,無論學習哪門語言首先應該了解一下自己所學語言的背景,也可以說它的發展史。
C語言屬於高級程序語言的一種,它的前身是“ALGOL”。其創始人是布朗·W·卡尼漢和丹尼斯·M·利奇。C語言問世時是帶有很大的局限性,因為它只能用於UNIX系統上。然而隨着科學技術的進步,計算機工業的發展,C語言逐漸脫離UNIX。1987年美國標準化協會制定了C語言的國際標準,簡稱“ANSI C”,從此以後它便成為一種廣泛使用的程序語言。C語言的優點很多,主要的有如下四點:
1.兼備高級語言與低級語言的優點,屬於一種中間語言。
2.它是一種結構化程序設計語言,非常適合結構化程序設計。
3.有較豐富的數據類型、運算符以及函數供以選用。
4.直接與內存打交道,使修改、編輯其他程序與文檔變得輕鬆,簡單。
二.二大語系二種不同的學習方法
其實高級程序語言分為兩大語系。例如:C,C++(C語言的擴展),QBASIC,VB(BASIC的可視化),JAVAs cript,Js cript ,VBs cript,JAVA,ASP,FOXPRO,PERL等等。一路是以C為主的程序語言,例如:JAVAs cript,JAVA等,這類語言在函數的調用,程序語句的書寫,循環的控制都極為相似。另一路是以BASIC為首的程序語言,例如:FOXPRO,VBs cript等,此類語言同樣具有相似的函數調用,程序語句書寫以及循環控制,但與C語系是不同的。因此若是您以前是從QBASIC起家的,那麼在學習C語言前最好是先洗洗腦,千萬不要把學習BASIC的方法以及思路用在C身上。
講到這裡,我想大家對C語言一定有了感性認識吧!下面讓我們再升華一下,全方位親密接觸它。學習C語言必須從以下四點入手,也就是說,只要你能掌握這四點的內容,那麼基本上就大功告成了。
親密接觸C語言
一.輸入輸出
C語言的輸入輸出是非常嚴格的,或許在其他程序語言中我們可以不關心這個問題,但在C語言中,我們必須要徹底了解它。由於篇幅有限,因此筆者不能詳談,有興趣的朋友可以參考由著名程序語言教授譚浩強先生主編,由清華大學出版社出版的《C程序設計第二版》。不過這裡筆者還是有幾點要簡單的談一下。
1.二維浮點數數組的輸入
二維浮點數數組的輸入(即:通過鍵盤給二維浮點數數組賦值)在很多專業書中都沒有詳細講過這個問題。在給二維浮點數數組賦值時一定要先聲明一個變量,接着把數值賦予這個變量,最後把變量數值賦予二維浮點數數組賦值。
2.注意輸出格式中“%”後的字符
C語言的輸出說複雜不複雜,因為常用的都很簡單。可說不複雜也未必,記得曾在一次等級考前輔導我們C語言的教授講道:“如果C語言要考得很難的話,根本不用考什麼指針,只要專考輸出格式,我想百分之九十九的學生都不及格。”當時我們無不認同。從這則事例中可以看出C語言的輸出格式之複雜程度。因此大家在學習它時千萬要學會辨別輸出格式中“%”後的字符,每個字符都有其意義,也都有其作用。
二.優先級
說道優先級,有很多朋友都不是很了解或說很模糊。為此筆者想先通過一個例子讓各位有個概念。什麼叫優先級?比方說,我們在公交車終點站排座隊時總會遇到70歲以上的老人不需要排隊就能上車的情景,這就是優先級的涵義。C程序在運行時也象排隊坐車一樣,首先照顧那些優先級高的運算符,若是優先級相同,那麼就象遇到兩位(或兩位以上)70歲以上的老人那樣,讓他們依次上車。但是C語言中的優先級的運算並不是千篇一律的,只能說是在大多數情況下,有些運算符的優先級有其自己的特點,因此這點大家要注意。例如條件表達式:條件?結果1:結果2,這種表達式很多朋友都知道,它的作用與IF…ELSE…條件判斷語句很雷同,它運算時的優先級就不是按照C語言的規則來完成的。所以說對於優先級各位編程愛好者一定靈活掌握,不要死記硬背。
三.指針
就個人認為,C語言中的指針是最有特色的,當然也是最難學的。指針說穿了,其實是變量的一種表現形式,只不過這種變量記載的不是數值而是地址。就象一個人可以用姓名來表示自己,也可以用身份證號碼來表示自己一樣。筆者涉足編程已經有三年多了,在這期間曾經收到過很多網友的電子郵件詢問學習指針的方法。就本人感觸,學習指針最好是先學些計算機硬件工作的原理,例如:直接尋址,間接尋址等,只有了解了這些內容以後,你再學指針就比較容易理會,畢竟C語言是一門介於機器語言與高級語言中間的語言,沒有一些硬件工作知識是很難領悟它的真諦的。然而事事並非絕對,如果你沒有這些知識也不要緊,只要清楚知道以下筆者總結的二點再加上多練習便可:
1.指針是地址變量:它的值有兩種:其一是地址,其二是內容。不同的表達方式可以取不同的值,這有點象一個家庭地址在不同的場合標識的人物也不同。例如:父母親在他們的單位所登記的家庭地址就代表他們自己,而你在學校中登記的同樣的家庭地址就代表你自己。
2.指針是可以運算的,它的運算法則與變量是一致的。
另外,在編寫一個程序時,除非萬不得已,一般不要使用指針變量。因為指針是比較複雜的,用不好就“當機”。所以筆者建議各位對於指針只要能看懂就行,當然如果你是準備參加考試的就另當別論了。
四.函數
雖說很多程序語言都有函數這一內容,但筆者覺得C語言的函數是最有魅力的。如果你能完全掌握C語言的函數,那麼學習C++就不成問題了(C++是一門建立在C語言上,但又不同於C語言的高級程序語言,它增添了很多函數。)。學習函數的方法是比較簡單的,只有兩個字“牢記”,即:牢記函數的功能,牢記函數的用途以及如何輸入輸出。有些朋友認為,程序語言中的函數沒有多大用處,其實這並不正確,函數從本質上講是一段通用程序,用它可以幫助我們節約很多編程的時間,一個聰明的編程者在編寫程序前往往總是先找自己所編寫的程序中有多少是可以用函數來代替的。筆者曾經作過一個比較字符串的實驗,用C語言中的strcmp()函數只要一句話,而自己編寫的話30句話都擺不平,可想而知函數是多麼實用呀!
C語言普通論文
1、論文題目:要求準確、簡練、醒目、新穎。
2、目錄:目錄是論文中主要段落的簡表。(短篇論文不必列目錄)
3、提要:是文章主要內容的摘錄,要求短、精、完整。字數少可幾十字,多不超過三百字為宜。
4、關鍵詞或主題詞:關鍵詞是從論文的題名、提要和正文中選取出來的,是對錶述論文的中心內容有實質意義的詞彙。關鍵詞是用作機系統標引論文內容特徵的詞語,便於信息系統彙集,以供讀者檢索。 每篇論文一般選取3-8個詞彙作為關鍵詞,另起一行,排在“提要”的左下方。
主題詞是經過規範化的詞,在確定主題詞時,要對論文進行主題,依照標引和組配規則轉換成主題詞表中的規範詞語。
5、論文正文:
(1)引言:引言又稱前言、序言和導言,用在論文的開頭。 引言一般要概括地寫出作者意圖,說明選題的目的和意義, 並指出論文寫作的範圍。引言要短小精悍、緊扣主題。
〈2)論文正文:正文是論文的主體,正文應包括論點、論據、 論證過程和結論。主體部分包括以下內容:
a.提出-論點;
b.分析問題-論據和論證;
c.解決問題-論證與步驟;
d.結論。
6、一篇論文的參考文獻是將論文在和寫作中可參考或引證的主要文獻資料,列於論文的末尾。參考文獻應另起一頁,標註方式按《GB7714-87文後參考文獻著錄規則》進行。
中文:標題–作者–出版物信息(版地、版者、版期):作者–標題–出版物信息
所列參考文獻的要求是:
(1)所列參考文獻應是正式出版物,以便讀者考證。
(2)所列舉的參考文獻要標明序號、著作或文章的標題、作者、出版物信息。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/243575.html