『壹』 要寫關於單片機的論文,請求幫助
相關範文:
基於單片機監控系統的研究
【摘要】文章所設計的基於單片機監控系統汽車行駛記錄儀所實現的主要功能:記錄汽車停車前2秒內的行駛速度,並能實時地顯示汽車行駛的狀態信息,同時還對汽車的超速行駛進行報警並記錄一天之內的超速次數。
【關鍵詞】單片機;模塊;監控
本文所設計的汽車行駛記錄儀是基於兩片8051單片機作為控制系統的核心來進行設計的,整個系統分為六大模塊分別是:電源模塊、速度信號採集模塊、時鍾模塊、單片機模塊、存儲器模塊、顯示模塊。
一、電源模塊的設計
記錄儀作為車載設備,使用汽車電源。汽車上的電源有兩個:汽車發電機和蓄電池。記錄儀的電源直接取自蓄電池,在發電機轉速和用電負載發生較大變化時,可保持汽車電網電壓的相對穩定,同時,還可吸收電路中隨時出現的瞬時過電壓,以保護電子元件不受損害。車輛使用的車載蓄電池標稱值有兩種 12V的和 24V的,因此為了得到需要的 5V的電壓,我選用了 DC-DC 電源轉換晶元。
二、速度信號採集模塊的設計
速度信號檢測模塊的原理是:汽車行駛過程中,車輪經過感測器,單位時間內輸出一定的脈沖,感測器輸出的脈沖通過差動放大電路的放大與整形,然後送到單片機 8051 的 T0埠進行脈沖計數,與此同時 8051 的 T1 進行計時開始待到定時器產生中斷請求後,由計數器得到的脈沖數經過速度計算的公式和里程的計算後得到汽車行駛的速度和里程。從而得到汽車的行駛速度和里程,存儲與 8051 的 RAM數據存儲區。
本系統採用霍爾感測器將速度信號轉換為脈沖信號,考慮到感測器的體積要小,便於安裝,誤差要盡量減小等要求,設計採用車輪旋轉一周速度感測器要輸出若干個脈沖的方法。本系統採用的是在變速器上安裝 3個小磁鋼,霍爾感測器可相應的輸出 3 個脈沖用於速度信號的採集。速度信號採集模塊採用 THS118 型霍爾元件作為速度信號採集部分的速度感測器。
三、時鍾模塊的設計
時鍾模塊主要是用於對時、分、秒、年、月、日和星期的計時。該模塊採用的晶元為DS12C887 時鍾晶元。此晶元集成度高,其外圍的電路設計非常的簡單,且其性能非常好,計時的准確性高。
DS12C887為雙列直插式封裝。其具體與單片機的連接如下所述:AD0~AD7雙向地址/數據復用線與單片機的P0口相聯,用於向單片機交換數據;AS 地址選通輸入腳與單片機的 ALE 相聯用於對地址鎖存,實現地址數據的復用;CS 片選線與單片機的 P2.6 相聯,用於選通時鍾晶元;DS 數據選通讀輸入引腳與單片機的讀選通引腳相聯,用於實現對晶元數據的讀控制;R/W 讀/寫輸入與單片機的寫選通引腳相聯,用於實現對時鍾晶元的寫控制;MOT 直接接地,選用 INTEL 時序。IRQ引腳與 8051 的 INT1 相連,用於為時間的採集提供時間基準。
四、單片機模塊的設計
本系統採用兩片單片機,兩個單片機之間採用串列通訊,用於兩者之間的數據交換。其工作時序是由外部晶振電路提供的,本系統採用的晶振頻率是 12 兆 HZ。其復位電路為自動上電復位。設計中所採用的單片機為 8051。
單片機在系統中主要是用來對其他模塊進行控制,是整個系統的核心部件。主單片機主要是用於對速度信號採集模塊、時鍾模塊和存儲模塊進行控制,同時還要與從單片機進行數據的交換。其外圍的 I/O口主要與這些模塊的中心晶元的數據匯流排或地址匯流排相連,其控制匯流排與這些模塊的控制線相連。從單片機主要是用於對顯示和校時的控制,因此其 I/O口主要與 LCD顯示器的 I/O口相連,其控制線與 LCD顯示器的控制線相連。由於從單片機的外部中斷源只有兩個,而我所設計的對時鍾的校時主要是通過外部中斷完成的,所以要對從單片機的外部中斷源進行擴展。本系統採用了 8259A 進行中斷源的擴展,從而實現對時鍾的校時。
五、儲模塊的設計
汽車行駛記錄儀對系統存儲數據的實時性及長久性要求很高,因此本系統我採用了ATMEL 生產的 AT29C010A Flash 性存儲器。其存儲空間為 16K,能夠滿足設計的要求。
AT29C010A是一種 5V在線閃速可電擦除的存儲器,具有掉電保護功能;方便的在線編程能力不需要高的輸入電壓,指令系統在 5V 電壓下即可控制對 AT29C010A 的讀取數據,這與對 EEPROM 的操作相似。再編程能力是以每一分區為單位的,128 位元組的數據裝入AT29C010A 的同時完成編程。在一個再編程周期里,存儲單元的定址和 128 位元組的數據通過內部鎖存器可釋放地址和數據匯流排,這樣可為其它操作提供地址和數據匯流排。編程周期開始後,AT29C010A會自動擦除分區的內容,然後對鎖存的數據在定時器作用下進行編程。
六、示模塊的設計
顯示器主要是為人機交互提供即時的信息,能讓人們與機器進行很好的交流。在眾多種類的顯示器中,越來越多的儀器儀表及人機交互界面採用液晶顯示器。LCD 可分為段位式LCD、字元式 LCD和點陣式 LCD。其中段位式和字元式只能用於數字和字元的簡單的顯示,不能滿足圖形曲線和漢字顯示的要求;而點陣式不僅能夠顯示字元和數字,還可以顯示各種圖形、曲線及漢字,可以實現屏幕的上下左右滾動等功能。
七、鍵的設計
本系統的按鍵主要是用於對時鍾的校對,現對按鍵的功能簡述如下:按鍵 1~7是用於對秒分時日月年星期校時的中斷申請;按鍵 8 是用於對校時進行加一的操作,鍵 9 是用於對校時進行減一的操作;按鍵 10 是用於實現對超速報警監控功能的復位。
八、系統軟體流程圖的設計
由於本設計主要是完成系統的硬體電路設計,因此我對系統的軟體設計只進行了系統部分軟體流程圖的繪制。設計的流程圖有:記錄儀總體軟體設計流程圖、速度信號採集模塊軟體設計流程圖、時鍾模塊軟體設計流程圖、外部中斷軟體設計流程圖和 LCD 顯示實現的軟體設計流程圖。
【參考文獻】
[1]戴佳,苗龍,陳斌.51單片機應用系統開發典型實例[M].中國電力出版社.
[2]周航慈.單片機應用程序設計技術[M].北京航空航天大學出版社.
[3]胡漢才.單片機原理及其介面技術[M].清華大學出版社.
[4]余發山.單片機原理及應用技術[M].中國礦業大學出版社.
僅供參考,請自借鑒
希望對您有幫助
『貳』 學單片機學的好累啊!!
剛剛給一個哥們探討了一下怎麼學單片機,看到你也在犯愁,我根據過來的經驗,和你一塊討論一下,我現在基本不做單片機了,對它太熟,轉行做arm了,但單片機我是有非常深的感情的,永遠也忘不了大二暑假,我自己在家看單片機教程的場景,那時候我沒有電腦,沒有開發板,只有一本教程,一直看了20多天(一天看6個小時,強迫自己看),也一直迷糊了20多天,感覺怎麼那麼多指令,怎麼又有ram又有rom,到底寄存器在那裡...直到有一天下午,記得很清楚,我突然看懂了中斷,看懂了存儲結構,感覺20多天在我腦子里積累的迷惑一下通了,那種感覺真的特別的好.
對於怎麼學單片機,我覺得還是掌握它的硬體,存儲結構,匯編一定要精通,因為入門匯編是非常有助與理解硬體的,如果你學會了單片機,再學別的,比如arm,這時候你可以只做到熟悉匯編就可以了,但第一次學單片機,匯編,擬定要精通,我的意思是最初不要用c編寫程序,用匯編寫,寫能5個匯編程序,你的匯編就會上一個檔次,將來做開發會用到c語言,這時你就會發現有了匯編堅實的基礎,優化c代碼將是一件多麼愜意的事情.關於學習單片機,我覺得,要有:
1.一個不斷學習的心態:這條最主要,單片機需要堅持,我當初迷糊了一個月(我屬於比較笨的那種),但堅持過來一個月應該能入門,所以要有不退縮,不斷學習的心態.
2.一點點模數電基礎,知道點對硬體內部工作原理好理解點.
3.至少一本單片機入門的書,選擇講解詳細的,我當初用的學校發的教程,感覺不錯,是張毅坤 陳善久 裘雪紅編著的<單片微型計算機原理及應用> ,西安電子科技大學出版社 2008第n次印刷.
4.一個好的視頻教程,主要是在你看不下去的時候看看視頻教程,和書互補一下,而且講得人能給你很多單片機的經驗.
5.鑒於這是一門實踐性課程,開發板必不可少,你可以讓熟悉單片機的人給你做一個簡易開發板,也可以購買,建議購買,因為例子和文檔比較全,順便看看電路圖.
我的單片機老師,大學學的機械,30多歲轉行單片機,自學,現在40歲左右,單片機玩的特別好,純匯編編程.(當然,我並不建議你將來做項目也用匯編).
最後祝你在日入門.
『叄』 單片機實現兩相非同步電機的SVPWM控制
基於單片機的步進電機控制系統
摘 要:本文論述了以單片機AT89C51為控制器的步進電機的控制系統,內容主要包括該系統的硬體組成,步進電機運行過程的詳細分析,PC機與AT89C51單片機之間的串列通信以及AT89C51單片機對步進電機的控製程序流程圖等。關鍵字:單片機; 通信; 步進電動機
1 引言
平為TTL電平,為了取得一致的傳輸信號,因此需要採用電平轉換在電氣時代的今天,電動機一直在現代化的生產和生活中起晶元MAX485。根據實際需求選用AT89C51單片機,但由於其數著十分重要的作用。無論是在工農業生產還是在日常生活中的家據存儲區只有256個單元,需要擴展片外數據存儲器6264。此外用電器,都大量地使用著各種各樣的電動機。因此對電動機的控採用脈沖分配器CH250實現單片機對步進電動機的通電換向即脈制變得越來越重要了。電動機的控制技術的發展得力於微電子技沖分配,通過光電耦合器4N25實現步進電動機與單片機的電氣隔術、電力電子技術、感測器技術、永磁材料技術、自動控制技術、離,由於單片機本身的驅動能力有限,因此需要採用專門的驅動電微機應用技術的最新發展成就。正是這些技術的進步使電動機控路單電壓驅動來實現功率放大,從而為電動機提供足夠大的電流。制技術在近二十多年內發生了翻天覆地的變化。其中電動機的控總體的硬體方框圖如圖1所示:制部分已由模擬控制逐漸讓位於以單片機為主的微處理器控制。本文採用硬體和軟體相結合的辦法實現單片機對步進電動機的運動控制。
2 硬體部分
[2]
PC機與AT89C51單片機 之間的串列通信在硬體上是由轉換器ATC-106和電平轉換晶元MAX485來完成的。由於PC機圖1 總體的硬體框圖採用的是RS-232C介面標准,根據項目要求與生產中的實際情況,需要採用傳輸距離較遠的RS-485,因此需要採用RS-232C
3 軟體部分
收稿日期:2007-05-18
通過軟體實現PC機與單片機間的非同步串列通信。PC機採用查詢的方式發送和接收數據,單片機採用中斷的方式接收PC機 T —— 步進電動機運行第 +1 步時所用的時間
N
1+N
1
1
傳送的信息,從而確定步進電動機的旋轉方向,走的總的脈沖數; 即勻速運行每一步所需要的時間採用軟體延時法控制脈沖的分配,從而控制步進電動機的整個運 由於採用軟體延時的方法來控制單片機發出脈沖的時間間行過程。 隔即通過改變脈沖的頻率來改變步進電動機的運行速度。在步進電動機勻加速運行階段,只需按電動機每走一步所需要的時間
3.1 步進電動機運行的分析
[4]
來調用延時子程序即可。根據步進電動機 的加減速要有嚴格的控制要求,那就是保證在
-VV
1-
ii
不失步和過沖的前提下,用最快的速度和最短的時間移動到指定
=a
(6)
+
TT
1-
ii
位置。本設計要求步進電動機的速度按圖2所示運行。
—— 步進電動機勻加速運行階段走第i步時的速度
V
i
—— 步進電動機勻加速運行階段走第i步時所用的時間
T
i
由於步進電動機在勻加速運行階段走最後一步時的速度與勻速運行時的速度V相同
V
N
1
L
L
=V= 又因為 = 將其代入
=
且
V V
V
V
N
1+N
1
1
1-i
i
T
T
i
1-i
(2-6)
TL
TL
-
1-ii
整理得到
a=
+TT
-1ii
2
2
+
+
(7)
TaT
0=LT
TaTL
( )
-
1-ii
i
1-ii
圖2 步進電動機的運行過程
通過軟體調用一個開平方函數就可以求得首先令i=
N
1
由圖可知勻加速階段與勻減速階段的加速度和減速度大小等直到 、T ,這樣就可以求出步進電動機勻
、
、
T
1
T
T
T
2
1-N
3-N
2-N
1
1
1
相同,方向相反,加減速的時間相同,因此只需算出加速段走的步加速運行階段從靜止開始每走一步所用的時間。電動機在升速數就可以知道減速時所走的步數,二者是一樣的。計算過程如下:過程中所走的總的步數即脈沖數為 ,從靜止開始步進電動機
N
1
首先,恆速運行時的速度V是由用戶設置的,因此是一個已在勻加速階段每走一步,升速階段的總步數就減1,通過軟體延時知量。加速度a,一個脈沖走過的距離L,整個運行過程所走的步的方法來控制走每一步所用的時間,加速階段的延時時間是逐漸數即總的脈沖數P也都是給定值。運行方向是根據用戶的要求,這樣進行下
、
直到 、 、
變短的,依次為 、
T
T
T
T
T
T
1
3-N
2
2-N
1
N
1-N
1
1
1
由軟體確定的。去,直到 =0,加速過程結束,進入恆速運行階段。步進電動機
N
1
接著計算步進電動機運行時間
N
在恆速過程中走的總步數為 ,從恆速運行開始,電動機每走一
3
—— 為步進電動機勻加速運行時所用
根據
tatV =1 1
步,恆速總步數就減1,因為恆速運行時走每一步用的時間都是相的時間同的,因此軟體延時的時間均為 ,直到恆速總步數減為0,恆
T
V
1+N
1
可以求出t =
(1)
1
a
速過程結束,進入減速運行階段。由於勻減速運行的過程是加速由於勻加速階段與勻減速階段的加速度大小相同,因此勻過程的逆過程,在勻加速運行階段,步進電動機走的總的步數為
t
加速運行階段所用的時間t 與勻減速運行時所用的時間 是相
2
1
,且 =N ,減速階段電動機每走一步,減速總步數就減1,
N
N
1
1
2
2
2
at
。因為是勻加速運行,所以S=同的,即t =
,由a和t
t
1
1
1
2
2
軟體延時的時間是逐漸變常的,依次為 、
、 、 直
T
T
T T
N
1-N
2-N 3-N
1
1
1 1
求出步進電動機勻加速運行階段走過的總的距離,通過
2
到 、 ,減速總步數減為0,減速過程結束,電動機停止運行。
T
S
T
at
21
2
1
1
N
=
(2)
=
1
L
L 3.2 通信軟體的設計
可以求出勻加速運行階段步進電動機走的總步數即脈沖
[5]
PC機與AT89C51的串列通信程序 由兩部分組成:一部分數。由於步進電動機勻減速運行階段是勻加速運行階段的逆過是PC機的通信程序,另一部分是AT89C51的通信程序。PC機程,因此勻減速運行階段所走的步數與勻加速運行階段所走
N
2
發送時,AT89C51單片機一定接收;PC機接收時,AT89C51單片的步數 是相同的,即 = ,由P、 和 可以求出步進電
N N N
N N
1
1
2
1 2
機肯定發送。而且對應發送和接收的字元要相同,否則不能達到動機勻速運行階段走的總步數即脈沖數為 ,即
N
3
正常通信的目的。此次設計PC機採用8086/8088匯編語言編
N=P- - =P-2
(3)
N
N
N 1
3 1
2
寫,AT89C51單片機端採用MCS-51語言編寫。為了保證數據步進電動機勻速運行時走每一步即每一個脈沖所需要的時通信的可靠性,制定通信協議如下:間是相同的,根據
① PC機與AT89C51單片機都可以發送和接收
L
(4)
V=
② PC機與AT89C51單片機的通信波特率為9600bps,采
T
1+N
1
L
(5)
因此
T
=
用的晶振頻率為24MHZ,定時器T1工作在模式2,SMOD設置
為1,TH1的預設值為0CH,TL1的預設值為00H。
③ PC機與AT89C51單片機均採用串列口方式3。
④ 幀格式為:1位起始位,8位數據位,1位偶效驗位,1位停止位。
⑤ PC機發送的數據幀為:
表1 PC機發送數據幀表
幀起始標志為 02H,假設電動機的運行標號為5號,對應的ASCII碼值為30H,35H兩個位元組表示。若命令為傳送命令MOV則用0表示,其對應的ASCII碼值為30H,用一個位元組表示。D表示步進電動機運行的方向標志,若為0則表示電動機正轉,其對應的ASCII碼值為30H;若為1,則表示電動機反轉,其對應的ASCII碼值為31H。P表示PC機傳送給單片機的總的走的脈沖數。若傳送的命令為設置命令SET則用1表示,其對應的ASCII碼值為31H,用一個位元組表示。需要單片機設置的參數有:a, V和 L;為了便於PC機與AT89C51的通信編程,數據的長度取6個位元組。傳送的數據只有5個位元組,剩餘的1個位元組均用ASCII碼值30H補足,對應的為0。這樣做不影響效驗和。若為傳送命令幀,則效驗和定義為方向信號D與總的脈沖數P的十六進制之和再轉換為相對應的ASCII碼值。若為設置命令幀,則效驗和定義為a、V與L的十六進制之和再轉換為D對應的ASCII碼值。幀結束標志為03H。
⑥ PC機採用查詢的方式發送和接收數據,AT89C51單片機採用串列口中斷的方式接收和發送數據。
3.3 控制軟體的設計控制步進電動機勻加速、恆速、勻減速運行的程序流程圖如圖2。圖2 控制步進電機的程序流程圖
4 結束語
參考文獻:
[1] 韓全立。單片機控制技術及應用[M]。北京:電子工業出採用本方案可以很好的實現對步進電動機的控制。目前此版社,2004方案已經成功應用於電機控制的工廠等並取得了良好的效益,並
[2] 求是科技。單片機典型模塊設計實例導航[M]。北京:人正試圖將其進一步完善以應用於壓縮機、洗衣機等日常設備中。民郵電出版社,2004
[3] 胡漢才,單片機原理及系統設計[M]。北京:清華大學出當然,隨著控制產品與控制技術的發展,步進電機的控制也會得到版社,2002進一步完善。
[4] 王曉明。電動機的單片機控制[M]。北京:北京航天航空大學出版社,2002
[5] 楊金岩,鄭應強,張振仁。8051單片機數據傳輸介面擴展技術與應用實例[M]。北京:人民郵電出版社,2005
『肆』 單片機原理及介面技術胡漢才的怎麼樣
最近論壇上發了一個連載帖子——吳鑒鷹單片機實戰項目精講,因此受到不少網友的關注,在這里吳鑒謝謝各位網友的支持、關心和信任。
在帖子中留了幾個群號,有兩千多讀者加了群,通過QQ向我詢問了很多問題,如果在工作不是太忙的時候我看到了就會回答,但是有時候做項目太忙就沒時間解答。
為此,在這里應群內成員以及一些網友的要求,專門寫一篇文章來針對這些問題做一個總結。希望能為大家的疑惑有一點點幫助就足以。不足之處,也希望大家客觀指出,君子和而不同。
1、學習單片機有用嗎?
有很多初學者有這樣的困惑,單片機初學者感覺入門很難,學著學著,就會產生這樣的疑問——自己辛辛苦苦學習單片機,將來有用嗎?
單片機只是一個工具,重要的還是思想,有了自己的想法,電子行業地域遼闊,隨便你闖。單片機這個切入點入手還是不錯的,可以讓你盡快進入電子殿堂的大門,如果你還在上學,不要眼睛裡面只盯著暫時的薪水,哪怕是畢業兩三年的也一樣。重要的是掌握程度和對技術的理解程度,有句話叫「水到渠成」,到時候再去研究工資的事情也不晚。
2、學習嵌入式編程有必要從51單片機開始嗎?
我原本來在讀大學的時候,有很多同學聽說學習ARM很牛逼,於是就跑到圖書館借了一兩本關於ARM的書,學一兩天後發現跟自己想的不太像,於是學著學著就慢慢放棄了。所以我總結一下,與其邁很大的步子,不如放慢腳步一步步走。從最基本的做起,一步步走,等單片機學會之後再進行像ARM,DSP之類高端處理器的運用,也就能得心應手了,如果想一口吃成一個胖子,只怕最後沒胖起來,倒把自己給噎死了!
3、會用高端處理器就牛了嗎?
不少網友問我:是不是學會了ARM、嵌入式操作系統就會很牛?是不是單片機就是運用在低檔產品上,ARM做出來的產品就高端了。
首先,從本質上說,是同一類東西,都是嵌入式應用方面的主力。十八般兵器,沒有優劣之分,只是在乎持兵器的人修為高低,當年解放軍憑借小米加步槍不也取得了抗戰勝利。
微處理器,單片機、DSP、FPGA、ARM,每一種都有自己的側重點,都具備自己的優勢和劣勢。
單片機:技術比較成熟,運用在工控領域比較多,但進行嵌入式應用顯得太龐大,因而派生出ARM單片機進行高端應用,可以進行操作系統的移植,但是現在一些高端單片機也可以移植操作系統,單片機跟ARM並沒有什麼本質的區別。
DSP:是數據處理的縮寫。也可以做控制運用,它的優勢是運算,主要用在運算量大的領域,如數字信號處理,圖像處理,視屏處理,導彈雷達上也等等。如果要用的好,需要學會很多高深的演算法,需要有較強的數學功底。
FPGA:可編程邏輯陣列的縮寫。實際上就是做一個晶元,用軟體實現它的內部連接,達到用軟體的方法實現硬體的目標。是用硬體實現的一種方法。是早期單片機(功能簡單的邏輯應用)的現代實現方法。
總結:一個嵌入式軟體工程師,其實核心競爭力不是你會運用什麼晶元,當你會了一兩種以後,再學其他的,就會覺得很容易了。一個真正的有競爭力的工程師,應該是具備良好的編程習慣,編程思路,還應該具備扎實的數學功底。只有把握核心的東西,才能走的更遠。
4、單片機行業技術研發有前途嗎?
這也是初學者最為關心的一個話題,單片機行業的技術研發將來前途如何?
著名的高爾夫球手,老虎伍茲說過一句話:我只需成為高爾夫數一數二的高手,錢自然會追著我來。
單片機技術研發,也就是一個類型的職業崗位,同樣叫做「單片機工程師」,能力、經驗、學歷,參差不齊,因此待遇肯定也不盡相同。
高待遇者,年薪數百萬也有,低收入者,養家糊口都難。
只有倒閉的企業,沒有倒閉的行業!
不是行業沒有前景,只能反思自己為何沒有足夠的優秀。
5、單片機技術研發太苦太累,值得去堅持嗎?
在論壇里看到很多人在抱怨:現在電子行業的研發做起來太累,待遇又不是很好,感覺沒什麼出路。
既然我們選擇了單片機行業,就堅持做下去,不要輕信別人講的:單片機研發工程師沒有前途,太苦太累。
學好單片機你至少可以找一份技術性的工作,就算目前累一點,至少你可以看到希望,隨著自己經驗的積累,未來的路會越走越寬!至少可以坐在辦公室裡面,有自由的時間可以支配。
你知道那種專業課沒學好,只能去車間做一線工人的感覺嗎?坐在車間里像一個機器人一樣每天重復同樣的工作嗎?你喜歡過那種一點自由都沒有,在流水線上忙碌著,連上廁所時間都沒有的工作嗎?我相信沒有人喜歡!
所有不要被一些工作了幾年的工程師的話語所迷惑,說做技術很苦,拿的錢又少,當你真正有一天想去做技術,發現原來因為自己缺少知識的積累,沒有公司願意要你。
簡單地分享了自己對單片機領域一些問題的看法,歡迎同行積極分享自己的心得,能讓更多初學者少走彎路,擺正心態進行單片機的學習。
『伍』 單片機應從何學起
先找本書看看,最好先只看一本,推薦:「張紅潤,張亞凡.單片機原理及應用[M]. 北京:清華大學出版社, 2004年」。我開始學的時候就是反復的看這本書的,還有一本:《單片微機原理及應用(第2版)》丁元傑,這本書也挺好的,很多單片機書都寫的不錯,覺得難的話先找本比較薄的書(比如大專或者職業院校使用的教材)看看,然後再逐步加深。要學好單片機必須得下苦功夫,不僅僅是學單片機,還要學電路設計......。
剛開始學單片機學,必須學習匯編語言,必須學習它的內部結構。如果學了一種單片機了,再學別的會C就可以了。
在網上找個100-300的板子學學編程,直接接到電腦上,一邊看書,一邊編寫一些小程序。
在熟悉單片機內部結構,熟悉匯編語言編程後,再學習C編程,開發的時候很少用匯編的。
接下來就學習制板(要有電路基礎的),我是學的PROTEL。想學這個的時候再找我吧,我可以幫你一點點。
說的不清楚請諒解!如需幫助再聯系。
點擊下面連接有很多知名電子商網址和單片機網址:
http://hi..com/gamblergod/blog/category/%BC%BC%CA%F5/index/1
『陸』 求《單片機原理及其介面技術》( 胡漢才 清華大學出版社 1996年7月第1版 或 2001年1月第9版
去verycd找找看!!!
『柒』 求單片機原理 胡漢才版 教學大綱
『捌』 單片機原理及其介面技術胡漢才版第三章習題3.21的答案
你把題目打上啊!大部分人沒有那本書吧
『玖』 太原理工大學要求的《單片機原理及介面技術》(51系列),清華大學出版社是誰的書啊
胡漢才 《單片機原理及介面技術》(51系列),清華大學出版社《單片機原理及介面技術》(51系列),清華大學出版社《單片機原理及介面技術》(51系列),清華大學出版社
『拾』 學單片機步驟
使用單片機就是理解單片機硬體結構,以及內部資源的應用,在匯編或C語言中學會各種功能的初始化設置,以及實現各種功能的程序編制。?
第一步:數字I/O的使用
使用按鈕輸入信號,發光二極體顯示輸出電平,就可以學習引腳的數字I/O功能,在按下某個按鈕後,某發光二極體發亮,這就是數字電路中組合邏輯的功能,雖然很簡單,但是可以學習一般的單片機編程思想,例如,必須設置很多寄存器對引腳進行初始化處理,才能使引腳具備有數字輸入和輸出輸出功能。每使用單片機的一個功能,就要對控制該功能的寄存器進行設置,這就是單片機編程的特點,千萬不要怕麻煩,所有的單片機都是這樣。
第二步:定時器的使用
學會定時器的使用,就可以用單片機實現時序電路,時序電路的功能是強大的,在工業、家用電氣設備的控制中有很多應用,例如,可以用單片機實 現一個具有一個按鈕的樓道燈開關,該開關在按鈕按下一次後,燈亮3分鍾後自動滅,當按鈕連續按下兩次後,燈常亮不滅,當按鈕按下時間超過2s,則燈滅。數 字集成電路可以實現時序電路,可編程邏輯器件(PLD)可以實現時序電路,可編程式控制制器(PLC)也可以實現時序電路,但是只有單片機實現起來最簡單,成本最低。定時器的使用是非常重要的,邏輯加時間控制是單片機使用的基礎。
第三步:中斷
單片機的特點是一段程序反復執行,程序中的每個指令的執行都需要一定的執行時間,如果程序沒有執行到某指令,則該指令的動作就不會發生,這樣就會耽誤很多快速發生的事情,例如,按鈕按下時的下降沿。要使單片機在程序正常運行過程中,對快速動作做出反應,就必須使用單片機的中斷功能,該功能就是在快速動作發生後,單片機中斷正常運行的程序,處理快速發生的動作,處理完成後,在返回執行正常的程序。中斷功能使用中的困難是需要精確地知道什麼時候不允許中斷發生(屏蔽中斷)、什麼時候允許中斷發生(開中斷),需要設置哪些寄存器才能使某種中斷起作用,中斷開始時,程序應該干什麼,中斷完成後,程序應該干什麼等等。中斷學會後,就可以編制更復雜結構的程序,這樣的程序可以干著一件事,監視著一件事,一旦監視的事情發生,就中斷正在乾的事情,處理監視的事情,當然也可以監視多個事情,形象的比喻,中斷功能使單片機具有吃著碗里的,看著鍋里的功能。
以上三步學會,就相當於降龍十八掌武功,會了三掌了,可以勉強護身。
第四步:與PC機進行RS232通信
單片機都有USART介面,特別是MSP430系列中很多型號,都具有兩個USART介面。USART介面不能直接與PC機的RS232介面連接,它們之間的邏輯電平不同,需要使用一個MAX3232晶元進行電平轉換。
USART介面的使用是非常重要的,通過該介面,可以使單片機與PC機之間交換信息,雖然RS232通信並不先進,但是對於介面的學習是非常重要的。正確使用USART介面,需要學習通信協議,PC機的RS232介面編程等等知識。試想,單片機實驗板上的數據顯示在PC機監視器上,而PC機的鍵盤信號可以在單片機實驗板上得到顯示,將是多麼有意思的事情啊!
第五步:學會A/D轉換
MAP430單片機帶有多通道12位A/D轉換器,通過這些A/D轉換器可以使單片機操作模擬量,顯示和檢測電壓、電流等信號。學習時注意模擬地與數字地、參考電壓、采樣時間,轉換速率,轉換誤差等概念。使用A/D轉換功能的簡單的例子是設計一個電壓表。
第六步:學會PCI、I2C介面和液晶顯示器介面
這些介面的使用可以使單片機更容易連接外部設備,在擴展單片機功能方面非常重要。
第七步:學會比較、捕捉、PWM功能
這些功能可以使單片機能夠控制電機,檢測轉速信號,實現電機調速器等控制起功能。如果以上七步都學會,就可以設計一般的應用系統,相當於學會十招降龍十八掌,可以出手攻擊了。
第八步:學習USB介面、TCP/IP介面、各種工業匯流排的硬體與軟體設計????
學習USB介面、TCP/IP介面、各種工業匯流排的硬體與軟體設計是非常重要的,因為這是當前產品開發的發展方向。
到此為止,相當於學會15招降龍十八掌,但還不到打遍天下無敵手的境界。即使如此,也算是單片機大蝦了!!