導航:首頁 > 操作系統 > 單片機軟體使用實例

單片機軟體使用實例

發布時間:2022-11-25 09:09:44

㈠ 80C51單片機原理、開發與應用實例的目錄

前言
第1章緒論
1.1單片機的發展
1.280C51單片機分類
1.3單片機應用領域和發展趨勢
1.3.1單片機的應用領域
1.3.2單片機的發展趨勢
第2章80C51單片機硬體結構和原理
2.180C51的基本結構
2.1.180C51的基本結構框圖
2.1.2晶元的內部結構特點
2.280C51的引腳及其功能
2.2.1電源引腳Vcc和Vss
2.2.2時鍾電路引腳XTALl和XTAL2
2.2.3控制信號引腳ALE、PSEN、EA和RST
2.2.4輸入/輸出引腳
2.380C51CPU結構和時序
2.3.1運算器
2.3.2控制器
2.3.380C51時鍾系統
2.3.4CPU時序
2.4存儲器結構和地址空間分配
2.4.1程序存儲器地址空間分配
2.4.2數據存儲器地址空間分配
2.580C51工作方式
2.5.1復位方式
2.5.2程序執行方式
2.5.3節電工作方式
2.5.4掉電保護方式
第3章80C51指令系統
3.1指令與匯編語言
3.1.1指令與程序設計語言
3.1.2指令格式及系統中使用的符號意義
3.2定址方式
3.2.1定址方式
3.2.2定址空間
3.3指令系統
3.3.1數據傳送指令
3.3.2算術運算指令
3.3.3邏輯運算指令
3.3.4程序控制轉移指令
3.3.5位操作(Bool類型)指令
第4章80C51單片機的功能資源
4.1並行I/O介面
4.1.1P0口
4.1.2P1口
4.1.3P2口
4.1.4P3口
4.2定時器/計數器
4.2.1概述
4.2.2定時器T0和T1的結構和功能
4.2.3定時器的工作方式及應用
4.2.4定時器/計數器T2
4.2.5定時器,計數器的編程和使用
4.3串列介面
4.3.1串列口結構和工作模式
4.3.2串列口的編程和舉例
4.4中斷系統
4.4.1中斷基本概念
4.4.2中斷響應及處理過程
4.4.3中斷程序舉例
第5章單片機C51程序設計基礎
5.1程序設計語言概述
5.1.1匯編語言
5.1.2C51語言
5.2C51標識符和關鍵字
5.2.1標識符
5.2.2關鍵字
5.3C51基本數據類型和運算符
5.3.1基本數據類型
5.3.2運算符
5.4數組
5.4.1一維數組
5.4.2多維數組
5.4.3字元數組
5.5指針
5.5.1指針與地址
5.5.2指針變數的定義
5.5.3指針變數引用
5.5.4數組的指針
5.5.5函數的指針
5.5.6指針數組
5.6結構體和聯合體
5.6.1結構體概念和定義
5.6.2結構體的引用
5.6.3聯合體概念和定義
5.6.4聯合體的引用
5.6.5枚舉
5.7型定義和預處理
5.7.1類型定義
5.7.2預處理
5.8語句和程序設計基本結構
5.8.1語句
5.8.2順序結構
5.8.3選擇結構
5.8.4循環結構
5.9函數
5.9.1函數定義
5.9.2函數調用
5.9.3中斷服務函數
5.9.4局部變數與全局變數
5.9.5變數的存儲種類
第6章典型外圍介面設計
6.1鍵盤與單片機介面設計
6.1.1獨立式鍵盤
6.1.2行列式鍵盤
6.2顯示器介面
6.2.1LED顯示器
6.2.2LED顯示器介面實例
6.2.3LCD顯示器
6.2.4LCD顯示器介面實例
6.3顯示介面晶元MAX8279
6.3.18279內部結構及基本工作原理
6.3.28279引腳功能
6.3.38279工作方式
6.3.48279命令
6.3.58279狀態字
6.3.68279應用舉例
6.4D/A/AD晶元與單片機介面設計
6.4.1D/A轉換介面電路
6.4.2A/D轉換介面電路
第7章80C51單片機系統擴展
7.180C51系統擴展概述
7.1.180C:51最小應用系統
7.1.2片外匯流排結構
7.1.3片選
7.1.4地址鎖存
7.1.5擴展存儲器時應考慮的幾個問題
7.2外部存儲器擴展
7.2.1程序存儲器的擴展
7.2.2數據存儲器的擴展
7.2.3多片存儲器的擴展
7.3並行I/O介面的擴展
7.3.1簡單並行I/O介面擴展
7.3.28255A可編程並行I/0介面擴展
7.4串列介面的擴展
7.4.18251串列口擴展晶元
7.4.2825l應用實例
第8章80C51單片機應用系統的抗干擾技術
8.1可靠性與抗干擾技術概述
8.1.1干擾竄入單片機系統的主要途徑
8.1.2干擾形成的基本要素
8.1.3干擾的耦合方式
8.2硬體抗干擾技術
8.2.1抑制干擾源
8.2.2切斷干擾傳播路徑
8.2.3提高敏感器件的抗干擾性能
8.2.4其他常用抗干擾措施
8.3軟體抗干擾技術
8.3.1指令冗餘
8.3.2軟體「陷阱」
8.3.3軟體「看門狗」技術
8.3.4設置程序運行標志,攔截「跑飛」程序
第9章ProteIDXP電路板設計軟體
第10章KeilC51單片機開發軟體入門
第11章基於80C51的計量泵流量控制系統設計
第12章80C51單片機在電液位置伺服系統上的應用
附錄AMCS-51指令表
附錄B
參考文獻
……

㈡ 單片機c語言編程100個實例

51單片機C語言編程實例 基礎知識:51單片機編程基礎 單片機的外部結構: 1. DIP40雙列直插; 2. P0,P1,P2,P3四個8位準雙向I/O引腳;(作為I/O輸入時,要先輸出高電平) 3. 電源VCC(PIN40)和地線GND(PIN20); 4. 高電平復位RESET(PIN9);(10uF電容接VCC與RESET,即可實現上電復位) 5. 內置振盪電路,外部只要接晶體至X1(PIN18)和X0(PIN19);(頻率為主頻的12倍) 6. 程序配置EA(PIN31)接高電平VCC;(運行單片機內部ROM中的程序) 7. P3支持第二功能:RXD、TXD、INT0、INT1、T0、T1 單片機內部I/O部件:(所為學習單片機,實際上就是編程式控制制以下I/O部件,完成指定任務) 1. 四個8位通用I/O埠,對應引腳P0、P1、P2和P3; 2. 兩個16位定時計數器;(TMOD,TCON,TL0,TH0,TL1,TH1) 3. 一個串列通信介面;(SCON,SBUF) 4. 一個中斷控制器;(IE,IP) 針對AT89C52單片機,頭文件AT89x52.h給出了SFR特殊功能寄存器所有埠的定義。 C語言編程基礎: 1. 十六進製表示位元組0x5a:二進制為01011010B;0x6E為01101110。 2. 如果將一個16位二進數賦給一個8位的位元組變數,則自動截斷為低8位,而丟掉高8位。 3. ++var表示對變數var先增一;var—表示對變數後減一。 4. x |= 0x0f;表示為 x = x | 0x0f; 5. TMOD = ( TMOD & 0xf0 ) | 0x05;表示給變數TMOD的低四位賦值0x5,而不改變TMOD的高四位。 6. While( 1 ); 表示無限執行該語句,即死循環。語句後的分號表示空循環體,也就是{;} 在某引腳輸出高電平的編程方法:(比如P1.3(PIN4)引腳) 代碼 1. #include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P1.3 2. void main( void ) //void 表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口 3. { 4. P1_3 = 1; //給P1_3賦值1,引腳P1.3就能輸出高電平VCC 5. While( 1 ); //死循環,相當 LOOP: goto LOOP; 6. } 注意:P0的每個引腳要輸出高電平時,必須外接上拉電阻(如4K7)至VCC電源。 在某引腳輸出低電平的編程方法:(比如P2.7引腳) 代碼 1. #include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P2.7 2. void main( void ) //void 表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口 3. { 4. P2_7 = 0; //給P2_7賦值0,引腳P2.7就能輸出低電平GND 5. While( 1 ); //死循環,相當 LOOP: goto LOOP; 6. } 在某引腳輸出方波編程方法:(比如P3.1引腳) 代碼 1. #include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P3.1 2. void main( void ) //void 表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口 3. { 4. While( 1 ) //非零表示真,如果為真則執行下面循環體的語句 5. { 6. P3_1 = 1; //給P3_1賦值1,引腳P3.1就能輸出高電平VCC 7. P3_1 = 0; //給P3_1賦值0,引腳P3.1就能輸出低電平GND 8. } //由於一直為真,所以不斷輸出高、低、高、低……,從而形成方波 9. } 將某引腳的輸入電平取反後,從另一個引腳輸出:( 比如 P0.4 = NOT( P1.1) ) 代碼 1. #include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P0.4和P1.1 2. void main( void ) //void 表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口 3. { 4. P1_1 = 1; //初始化。P1.1作為輸入,必須輸出高電平 5. While( 1 ) //非零表示真,如果為真則執行下面循環體的語句 6. { 7. if( P1_1 == 1 ) //讀取P1.1,就是認為P1.1為輸入,如果P1.1輸入高電平VCC 8. { P0_4 = 0; } //給P0_4賦值0,引腳P0.4就能輸出低電平GND 2 51單片機C語言編程實例 9. else //否則P1.1輸入為低電平GND 10. //{ P0_4 = 0; } //給P0_4賦值0,引腳P0.4就能輸出低電平GND 11. { P0_4 = 1; } //給P0_4賦值1,引腳P0.4就能輸出高電平VCC 12. } //由於一直為真,所以不斷根據P1.1的輸入情況,改變P0.4的輸出電平 13. } 將某埠8個引腳輸入電平,低四位取反後,從另一個埠8個引腳輸出:( 比如 P2 = NOT( P3 ) ) 代碼 1. #include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P2和P3 2. void main( void ) //void 表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口 3. { 4. P3 = 0xff; //初始化。P3作為輸入,必須輸出高電平,同時給P3口的8個引腳輸出高電平 5. While( 1 ) //非零表示真,如果為真則執行下面循環體的語句 6. { //取反的方法是異或1,而不取反的方法則是異或0 7. P2 = P3^0x0f //讀取P3,就是認為P3為輸入,低四位異或者1,即取反,然後輸出 8. } //由於一直為真,所以不斷將P3取反輸出到P2 9. } 注意:一個位元組的8位D7、D6至D0,分別輸出到P3.7、P3.6至P3.0,比如P3=0x0f,則P3.7、P3.6、P3.5、P3.4四個引腳都輸出低電平,而P3.3、P3.2、P3.1、P3.0四個引腳都輸出高電平。同樣,輸入一個埠P2,即是將P2.7、P2.6至P2.0,讀入到一個位元組的8位D7、D6至D0。 第一節:單數碼管按鍵顯示 單片機最小系統的硬體原理接線圖: 1. 接電源:VCC(PIN40)、GND(PIN20)。加接退耦電容0.1uF 2. 接晶體:X1(PIN18)、X2(PIN19)。注意標出晶體頻率(選用12MHz),還有輔助電容30pF 3. 接復位:RES(PIN9)。接上電復位電路,以及手動復位電路,分析復位工作原理 4. 接配置:EA(PIN31)。說明原因。 發光二極的控制:單片機I/O輸出 將一發光二極體LED的正極(陽極)接P1.1,LED的負極(陰極)接地GND。只要P1.1輸出高電平VCC,LED就正向導通(導通時LED上的壓降大於1V),有電流流過LED,至發LED發亮。實際上由於P1.1高電平輸出電阻為10K,起到輸出限流的作用,所以流過LED的電流小於(5V-1V)/10K = 0.4mA。只要P1.1輸出低電平GND,實際小於0.3V,LED就不能導通,結果LED不亮。 開關雙鍵的輸入:輸入先輸出高 一個按鍵KEY_ON接在P1.6與GND之間,另一個按鍵KEY_OFF接P1.7與GND之間,按KEY_ON後LED亮,按KEY_OFF後LED滅。同時按下LED半亮,LED保持後松開鍵的狀態,即ON亮OFF滅。 代碼 1. #include <at89x52.h> 2. #define LED P1^1 //用符號LED代替P1_1 3. #define KEY_ON P1^6 //用符號KEY_ON代替P1_6 4. #define KEY_OFF P1^7 //用符號KEY_OFF代替P1_7 5. void main( void ) //單片機復位後的執行入口,void表示空,無輸入參數,無返回值 6. { 7. KEY_ON = 1; //作為輸入,首先輸出高,接下KEY_ON,P1.6則接地為0,否則輸入為1 8. KEY_OFF = 1; //作為輸入,首先輸出高,接下KEY_OFF,P1.7則接地為0,否則輸入為1 9. While( 1 ) //永遠為真,所以永遠循環執行如下括弧內所有語句 10. { 11. if( KEY_ON==0 ) LED=1; //是KEY_ON接下,所示P1.1輸出高,LED亮 12. if( KEY_OFF==0 ) LED=0; //是KEY_OFF接下,所示P1.1輸出低,LED滅 13. } //松開鍵後,都不給LED賦值,所以LED保持最後按鍵狀態。 14. //同時按下時,LED不斷亮滅,各佔一半時間,交替頻率很快,由於人眼慣性,看上去為半亮態 15. } 數碼管的接法和驅動原理 一支七段數碼管實際由8個發光二極體構成,其中7個組形構成數字8的七段筆畫,所以稱為七段數碼管,而餘下的1個發光二極體作為小數點。作為習慣,分別給8個發光二極體標上記號:a,b,c,d,e,f,g,h。對應8的頂上一畫,按順時針方向排,中間一畫為g,小數點為h。 我們通常又將各二極與一個位元組的8位對應,a(D0),b(D1),c(D2),d(D3),e(D4),f(D5),g(D6),h(D7),相應8個發光二極體正好與單片機一個埠Pn的8個引腳連接,這樣單片機就可以通過引腳輸出高低電平控制8個發光二極的亮與滅,從而顯示各種數字和符號;對應位元組,引腳接法為:a(Pn.0),b(Pn.1),c(Pn.2),d(Pn.3),e(Pn.4),f(Pn.5),g(Pn.6),h(Pn.7)。 如果將8個發光二極體的負極(陰極)內接在一起,作為數碼管的一個引腳,這種數碼管則被稱為共陰數碼管,共同的引腳則稱為共陰極,8個正極則為段極。否則,如果是將正極(陽極)內接在一起引出的,則稱為共陽數碼管,共同的引腳則稱為共陽極,8個負極則為段極。 以單支共陰數碼管為例,可將段極接到某埠Pn,共陰極接GND,則可編寫出對應十六進制碼的七段碼表位元組數據

㈢ SAM-BAA單片機編程工具使用實例教程

SAM-BA編程工具是一款非常好用的單片機編程工具,能夠利用DEBUG串口和USB介面對AT91系列單片機進行編程。接下來讓我們來看一下使用實例:
SAM-BA編程工具下載地址:http://www.anxia.com/soft/14000.html
ARM9263上帶的sam-ba,安裝下載好。
1、雙擊運行安裝程序,選擇默認設置,安裝好以後,桌面上生成如下兩個圖標。
2、擦除晶元並進入編程模式
打開JLINK
外殼,見到JLINK內部電路如下圖所示。
版本一
版本2
使用USB線連接JLINK與PC機,以提供JLINK工作電源。
短接圖中A的兩個過孔約5秒。斷開A位置的兩個過孔的短接。然後拔掉JLINK與P
C間的USB線(注意先後順序)。
短接圖中,B處的兩個過孔。
使用USB線連接JLINK與PC機,至少超過10秒後,拔掉USB線,停止給JLINK供電(說明:請確保此過程中,圖中B處一直處於可靠的端接狀態)。
斷開圖中B處的短接。
3、更新固件
雙擊桌面上的SAM-PROG
v2.4圖標
,運行SAM-PROG
v2.4燒錄軟體,按下圖所示進行設置。
將JLINK
V8通過USB線與PC機連接。此時,SAM-PROG
v2.4軟體中的Write
Flash按鈕將變為有效。(注意,先打開SAM-PROG
v2.4再連接JLINK
與PC機)。
點擊Write
Flash
按鈕,燒錄固件,待燒錄完成後,Active
Connection:將變為1。
拔掉JLINK與PC機之間的USB線。
至此,JLINK
V8的固件已經更新完畢,正常情況下,連接電腦與JLINK
V8時,JLINK
V的指示燈將閃爍,然後常綠。請參照JLINK
V8用戶手冊說明,使用JLINK
V8進行調試模擬。
1、安裝之後,可以看到桌面上有兩個執行程序的快捷方式如下圖,我們需要用到的是SAM-PROG這個Flash編程軟體。
2、在所需軟體准備就緒之後,下面需要做就是本篇的重點了——擦除AT91SAM7S64
Flash(因為內部固件已經損壞,所以這步是必須的)然後進入編程模式,具體操作流程如下:
(1)首先找到PCB板子的Erase腳和TST腳,一般J-Link都預留出這兩個重要管腳,如下圖,分別給出了v8版的這兩個管腳的預留位置:
3、當然如果你的PCB版跟我的不一樣,我也給出了解決方案,即根據晶元AT91SAM7S64的引腳排列找到其Erase腳和TST腳,AT91SAM7S64管腳排列如下圖所示:
(2)這兩個重要的管腳找到之後,然後通過USB數據線連接J-Link和電腦,給J-Link供電(注意這一步小燈可能不亮,但電源已經加到J-Link板子上了);
(3)短接Erase區的兩個過孔(即Erase與VDD3.3v)約5s以後,斷開該連接,這時擦除完畢,最後斷開USB電源,停止給J-Link供電。(注意先後順序)
(4)短接TST區的兩個過孔(即TST與VDD3.3v),然後再連接USB數據線給J-Link供電(注意順序),約10s以後,拔掉USB電源,再斷開TST區的連接,這時進入編程模式;
(5)上面成功完成之後,打開上面提到的SAM-PROG軟體,運行後設置如下圖,固件在我上傳的附件里:
(6)J-Link通過USB線與電腦連接。此時,SAM-PROG
v2.4軟體中的Write
Flash按鈕將變為有效。(注意,先打開SAM-PROG
v2.4再連接J-Link)。
(7)點擊Write
Flash
按鈕,燒錄固件,待燒錄完成後,Active
Connection:將變為1,然後拔掉USB數據線即可。
下面就是見證奇跡的時刻(嘿嘿,套用下時下時髦的話),當我們再次把USB數據線與J-Link連接之後,動聽的USB設備識別聲音出現了,並且彈出驅動安裝,我們點擊自動安裝即可,這樣我們損壞的J-Link就起死回生了,很神奇,有木有,哈哈~

㈣ 單片機開發與典型工程項目實例詳解的目 錄

1.1 單片機的應用和特點 1
1.1.1 單片機的應用 1
1.1.2 主流單片機的種類及特點 3
1.2 MCS-51系列單片機的內部結構 7
1.3 MCS-51單片機的引腳功能與時序 9
1.3.1 MCS-51系列單片機引腳說明 10
1.3.2 MCS-51單片機的時序 16
1.4 MCS-51單片機的存儲器組織 17
1.4.1 程序存儲器 18
1.4.2 數據存儲器 19
1.4.3 特殊功能寄存器 21
1.5 單片機最小系統 24
1.5.1 單片機最小系統 24
1.5.2 彩燈控制器的設計 25
1.5.3 順序控制器的設計 27
1.6 本章小結 29 2.1 單片機C語言宏配置介紹 30
2.1.1 處理器的配置 30
2.1.2 ID區域 31
2.1.3 EEPROM數據 31
2.2 單片機數據結構 31
2.2.1 類型限定詞 32
2.2.2 常數 33
2.2.3 變數 34
2.2.4 構造數據類型 38
2.2.5 函數 46
2.2.6 中斷 49
2.2.7 C語言和匯編語言的嵌套使用 53
2.2.8 偽指令 54
2.3 MPLAB IDE編譯器簡介 57
2.3.1 MPLAB工程管理器(MPLAB Project Manager) 57
2.3.2 MPLAB文本編輯器(MPLAB Editor) 57
2.3.3 MPLAB軟體模擬器(MPLAB-SIM Simulator) 58
2.3.4 MPLAB在線模擬器(MPLAB-ICE Simulator) 58
2.4 MPLAB IDE的安裝和使用 58
2.4.1 MPLAB IDE的安裝要求 58
2.4.2 MPLAB IDE的使用 59
2.4.3 實例應用 59
2.4.4 MPLAB IDE中的工程 62
2.4.5 MPLAB IDE工程的編譯 65
2.4.6 MPLAB IDE的軟體模擬 66
2.5 MCC18基礎 68
2.5.1 MCC18的安裝目錄瀏覽 68
2.5.2 MCC18的語言執行流程 70
2.5.3 MCC18舉例 70
2.5.4 MCC18的編譯環境 72
2.5.5 MCC18和單片機的比較 73
2.6 單片機的混合開發 74
2.6.1 C51和匯編語言的性能比較 74
2.6.2 C51和匯編語言的混合編程 74
2.7 本章小結 79 3.1 單片機應用系統設計的流程 80
3.2 單片機應用系統兩設計原則 82
3.2.1 硬體系統設計原則 82
3.2.2 應用軟體設計原則 83
3.3 單片機的選型 83
3.3.1 單片機選型的原則 83
3.3.2 單片機選型參考 85
3.3.3 開發工具的選擇 86
3.4 系統常見故障與調試 87
3.5 本章小結 88 4.1 數字濾波演算法 89
4.1.1 算術平均值濾波 90
4.1.2 滑動平均值濾波 92
4.1.3 防脈沖干擾平均值濾波 93
4.1.4 中值濾波 95
4.1.5 一階滯後濾波 96
4.2 數字PID控制演算法 97
4.2.1 位置式PID控制演算法 98
4.2.2 增量式PID控制演算法 100
4.2.3 積分分離的PID控制演算法 102
4.2.4 變速積分PID控制演算法 103
4.3 本章小結 104 5.1 鍵盤設計的組成和分類 105
5.1.1 鍵盤的物理結構 106
5.1.2 鍵盤的組成形式 106
5.2 鍵盤介面的工作過程和工作方式 111
5.2.1 鍵盤的抖動干擾和消除方法 111
5.2.2 盤介面的工作過程 112
5.2.3 鍵盤的工作方式 112
5.3 鍵位置的判別方法 113
5.4 鍵盤介面設計的儲存晶元和
5.4 相關協議 114
5.4.1 鍵盤介面設計的儲存晶元 114
5.4.2 AT24CXX系列的晶元及I2C協議 114
5.4.3 A93CXX系列的晶元及SPI協議 124
5.5 鍵盤介面實現的工程實例 132
5.5.1 矩陣鍵盤介面的工程實例 132
5.5.2 矩陣式中斷掃描鍵盤的設計 137
5.5.3 二進制編碼鍵盤介面的工程實例 139
5.6 重點與難點 141 6.1 交通燈順序控制 143
6.1.1 硬體系統的設計 143
6.1.2 反向器74F06 145
6.1.3 控制字 145
6.1.4 程序設計 145
6.2 設計一種基於模糊理論的單片機控制交通路口調度系統 148
6.2.1 系統的總體設計 148
6.2.2 十字路口調度系統模糊控制器的設計 149
6.2.3 電路設計 151
6.2.4 車流量檢測電路 154
6.2.5 系統主程序和模糊控製程序設計 155
6.2.6 系統顯示程序設計 157
6.3 重點與難點 159 7.1 顯示屏顯示原理及串列通信基本概念 161
7.1.1 顯示屏顯示原理 161
7.1.2 串列通信 163
7.1.3 陣列式LED顯示屏的實現 166
7.2 顯示屏硬體電路設計 166
7.2.1 硬體電路介紹 168
7.2.2 外擴數據存儲器電路 170
7.3 列式LED顯示屏顯示程序的171
7.3.1 漢字點陣數據的提取 171
7.3.2 顯示主程序 174
7.3.3 串口中斷處理程序 176
7.3.4 顯示驅動函數 179
7.3.5 外部存儲器讀寫程序 181
7.3.6 串口通信程序 181
7.3.7 文字顯示特效程序 182
7.4 本章小結 191 8.1 IC卡基礎 192
8.1.1 IC卡的分類 192
8.1.2 IC卡的標准 194
8.2 接觸型IC卡讀寫系統的開發 194
8.2.1 IC卡讀寫系統的時序 195
8.2.2 IC卡讀寫系統的硬體連196
8.2.3 IC卡讀寫系統的軟體系統 197
8.3 基於SLE4442加密卡讀寫系統的開發 201
8.3.1 SLE4442卡的介紹 201
8.3.2 SLE4442的模式 203
8.3.3 SLE4442的操作命令 205
8.3.4 SLE4442讀/寫系統的軟硬體設計 208
8.4 重點與難點 215 9.1 無刷直流電機控制原理 216
9.1.1 無刷直流電機的組成 217
9.1.2 無刷直流電機的工作原理 217
9.1.3 無刷直流電機的控制方法 219
9.2 無刷直流電機的工作特性 220
9.3 直流無刷電機控制的應用實現 221
9.3.1 總體設計概述 221
9.3.2 直流無刷電機控制的硬體設計 222
9.3.3 直流無刷電機控制的軟體設計 224
9.3.4 無刷直流電機速度閉環控制系統 227
9.4 本章小結 230 10.1 永磁同步電機的結構與分類 231
10.2 永磁同步電機的矢量控制 232
10.3 永磁同步電機控制 236
10.3.1 控制電路設計 237
10.3.2 光電隔離電路設計 238
10.3.3 功率電路設計 239
10.4 永磁同步電機控制的軟體實現 239
10.4.1 電壓SVPVM的DSPIC33f軟體實現 241
10.4.2 轉子位置檢測 243
10.4.3 AD轉換模塊 245
10.5 本章小結 246 11.1 汽車行駛記錄儀功能介紹 247
11.2 簡易汽車行駛記錄儀的設計 249
11.2.1 汽車行駛記錄儀的考慮因素 250
11.2.1 MSP430 251
11.2.2 車模擬信號的採集 254
11.2.4 數字信號採集電路 255
11.2.5 SST39VF160晶元介紹 257
11.3 記錄儀的軟體設計 257
11.3.1 軟體流程圖 258
11.3.2 數據存儲格式 259
11.3.3 SST39VF160存儲器數據讀寫的實現 259
11.4 數據採集的程序實現 263
11.5 本章小結 264 12.1 USB-GPIB控制器簡介 265
12.1.1 認識USB 266
12.1.2 GPIB 269
12.2 USB-GPIB控制器的硬體電路設計 271
12.2.1 器件的選擇 272
12.2.2 USB-GPIB控制器電路設計 278
12.3 USB-GPIB控制器的軟體程序的實現 287
12.3.1 USB單片機協議控制晶元與主機(計算機)的數據交互 288
12.3.2 USB協議控制晶元與GPIB控制器的數據交互 299
12.4 USB-GPIB控制器固件的調試與固化 300
12.4.1 USB-GPIB控制器固件的調試 301
12.4.2 USB-GPIB控制器固件程序的固化 302
12.5 本章小結 303 13.1 研究抗干擾技術的重要性 304
13.2 干擾的分類 305
13.2.1 按雜訊產生的原因分類 306
13.2.2 按雜訊傳導模式分類 306
13.2.3 按雜訊波形及性質分類 307
13.3 干擾的耦合方式 308
13.4 單片機系統可靠性的設計任務與方法 310
13.4.1 單片機系統可靠性設計的任務 310
13.4.2 可靠性設計一般方法 311
13.5 本章小結 313 14.1 無源濾波器抗干擾 314
14.1.1 電容濾波器 315
14.1.2 電感濾波器 316
14.1.3 RC低通濾波器 316
14.1.4 1LC低通濾波器 318
14.1.5 低通濾波器的結構選擇 319
14.1.6 低通濾波器的平衡結構與串聯形式 319
14.2 有源濾波器抗干擾 321
14.2.1 一級低通有源濾波器 321
14.2.2 二級低通有源濾波器 322
14.3 去耦電路 324
14.3.1 尖峰電流的形成原理 324
14.3.2 去耦電容的配置 325
14.3.3 光電隔離 326
14.3.4 繼電器隔離 328
14.3.5 變壓器隔離 328
14.3.6 布線隔離 329
14.4 接地技術 330
14.5 本章小結 334 15.1 概述 335
15.2 指令冗餘技術 336
15.2.1 單位元組指令冗餘 337
15.2.2 重要指令冗餘 337
15.3 軟體陷阱技術 337
15.3.1 未使用的中斷向量區設置陷阱 338
15.3.2 RAM數據區中設置陷阱 338
15.3.3 未使用的EPROM數據區設置陷阱 339
15.3.4 非EPROM單片機空間設置陷阱 339
15.3.5 運行程序區設置陷阱 339
15.4 看門狗技術 339
15.4.1 硬體看門狗技術 340
15.4.2 軟體看門狗技術 342
15.5 本章小結 345

㈤ 單片機的應用實例

哎,能用的實在太多了!~
哪方面都可以!
生活中:
自動開電視、關電視、自動定時開電飯鍋、
自動掃地的,鍾表、自動收衣架等等,甚至周星星演的那個大內密探008里,他發明用和他老婆ML時身下放的那個以老鼠做為動力的玩意,也可以用單片機實現!
工作中,說不完,各種產品的控制系統:
步進電機,實現轉動、伸縮距離、角度等各方面的相對高精度可控
室溫測量、濕度測量、跑步機、距離探測儀、
電壓表、語音控制系統、
頭暈,不知道說哪了!就這吧!
如果要搞明白,夠你忙幾年了

㈥ 單片機在現實生活中的應用都有哪些

手機,電視,空調,全自動洗衣機,遙控器等。

單片機(Single-Chip Microcomputer)是一種集成電路晶元,是採用超大規模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統。

定時器/計數器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊矽片上構成的一個小而完善的微型計算機系統,在工業控制領域廣泛應用。從上世紀80年代,由當時的4位、8位單片機,發展到現在的300M的高速單片機。

運算器

運算器由運算部件——算術邏輯單元(Arithmetic & Logical Unit,簡稱ALU)、累加器和寄存器等幾部分組成。ALU的作用是把傳來的數據進行算術或邏輯運算,輸入來源為兩個8位數據,分別來自累加器和數據寄存器。ALU能完成對這兩個數據進行加、減、與、或、比較大小等操作,最後將結果存入累加器。

㈦ 生活中我們經常遇到單片機的例子,請你選其中的一樣,描述其工作原理

【例子】:火災報警器。

【原理】:報警器通過內部智能處理器感應離散光源、微小的煙粒和氣霧來檢測,一旦檢測到煙霧,立刻通過一個內置的專用IC驅動電路和一個外部壓電式換能器輸出報警聲,使人們及早得知火情,將火災撲滅在萌芽狀態。其採用低功耗 CMOS 微處理器就屬於單片機。

【硬體組成】:電源、煙霧感應器、CMOS 微處理器(單片機)、煙霧報警器、蜂鳴器等。兩匯流排制方式掛接EI系列剩餘電流式電氣火災監控探測器,接收並顯示火災報警信號和剩餘電流監測信息,發出聲、光報警信號。

(7)單片機軟體使用實例擴展閱讀:

單片機的相關應用特點:

1、單片機擁有強大的控制功能,同時運行電壓比較低;

2、單片機擁有簡易攜帶等優勢, 同時性價比較高。單片機主要應用於下面幾種領域當中,分別是:自動化辦公、機電一體化、尖端武器和國防軍事領域、 航空航天領域、汽車電子設備、醫用設備領域、商業營銷設備、計算機通訊、家電領域、日常生活和實時控制領域等。

3、擁有良好的集成度, 單片機自身體積較小,擁有強大的控制功能,同時運行電壓比較低。

㈧ 單片機應用程序的開發步驟

具體步驟如下:

1、首先,開啟我們的keil軟體,具體的安裝步驟就不做太多的介紹了;

開啟後,點擊菜單欄上的Project選項,創建我們的工程,如圖所示;

編譯完成後,在我們的文件夾下找到.hex的文件,將其燒寫到我們的晶元中即可。

㈨ 51單片機應用實例詳解的介紹

51系列單片機不僅是國內用得最多的單片機之一,同時也是最適合上手學習單片機系統開發的一款單片機。《51單片機應用實例詳解》主要以51系列單片機為核心控制器,從廣度和深度上對其系統應用進行了梳理,通過《51單片機應用實例詳解》的學習和實踐,可以順利完成多任務、多功能單片機系統的設計及開發,能對日常生活、生產中的一些測控系統進行自主設計及實施。書中豐富的實例及全面的應用講解將能極大地開闊單片機系統設計者的思路,並為其設計提供藍圖和模塊。

㈩ 單片機c語言編程100個實例

單片機屬於嵌入式開發,做單片機編程的都對硬體、軟體都要很熟悉,要熟練的使用匯編和c語言。如果是c語言單片機編程的話,可能會對匯編要求不是太嚴格,但一定得懂,不懂匯編的話,你也基本不會懂單片機的c語言中加入的一些東西。不過用c要比全用匯編開發效率高出很多。

閱讀全文

與單片機軟體使用實例相關的資料

熱點內容
dvd光碟存儲漢子演算法 瀏覽:757
蘋果郵件無法連接伺服器地址 瀏覽:962
phpffmpeg轉碼 瀏覽:671
長沙好玩的解壓項目 瀏覽:144
專屬學情分析報告是什麼app 瀏覽:564
php工程部署 瀏覽:833
android全屏透明 瀏覽:737
阿里雲伺服器已開通怎麼辦 瀏覽:803
光遇為什麼登錄時伺服器已滿 瀏覽:302
PDF分析 瀏覽:484
h3c光纖全工半全工設置命令 瀏覽:143
公司法pdf下載 瀏覽:381
linuxmarkdown 瀏覽:350
華為手機怎麼多選文件夾 瀏覽:683
如何取消命令方塊指令 瀏覽:349
風翼app為什麼進不去了 瀏覽:778
im4java壓縮圖片 瀏覽:362
數據查詢網站源碼 瀏覽:150
伊克塞爾文檔怎麼進行加密 瀏覽:892
app轉賬是什麼 瀏覽:163