1. dsPIC30F2010是什麼
dsPIC30F2010是控制光伏水泵變頻器。
dsPIC30F數字信號控制器(DSC),2010是研製年份。此晶元主要適用於電機控制,如直流無刷電機、單相和三相感應電機及開關磁阻電機;同時也適用於不間斷電源(UPS)、逆變器、開關電源和功率因數校正等。
1、 主要結構:
12KB程序存儲器;
512位元組SRAM;
1024位元組EEPROM;
3個16位定時器;
4個輸入捕捉通道;
2個輸出比較/標准PWM通道;
6個電機控制PWM通道;
6個10位500kspsSA/D轉換器通道。
2、 主要特點:
A/D采樣速度快且多通道可以同時采樣;
6個獨立/互補/中心對齊/邊沿對齊的PWM:
2個可編程的死區;
在雜訊環境下5V電源可正常工作;
最低工作電壓3V;
A/D采樣和PWM同期同步。
2. 單片機原理及介面技術的人民郵電最新出版
書名單片機原理及介面技術(C51編程)
叢 書 名21世紀高等學校計算機規劃教材——名家系列
標准書號ISBN 978-7-115-25665-2
編目分類TP368.1
作者張毅剛 主編
出版社 人民郵電出版社
責任編輯武恩玉
開本16 開
印張18
字數474 千字
頁數280 頁
裝幀平裝
版次第1版第1次
初版時間2011年8月
本 印 次2011年8月
定價34.00 元 《單片機原理及介面技術(C51編程)》詳細介紹了美國ATMEL公司的AT89S51單片機的硬體結構和片內外圍部件的工作原理,Keil C51編程基礎知識,並從應用設計的角度介紹AT89S51單片機的各種常用的硬體介面設計,以及相應的Keil C51介面驅動程序設計。本書最後介紹了AT89S51單片機應用系統設計以及一些典型應用舉例。
《單片機原理及介面技術(C51編程)》可作為各類工科院校、職業技術學院電子技術、計算機、工業自動化、自動控制、智能儀器儀表、電氣工程、機電一體化等專業單片機課程教材,也可供從事單片機應用設計的工程技術人員參考。 第1章單片機概述1
1.1什麼是單片機1
1.2單片機的發展歷史2
1.3單片機的特點2
1.4單片機的應用3
1.5單片機的發展趨勢4
1.6MCS-51系列與AT89S5x系列單片機5
1.6.1MCS-51系列單片機5
1.6.2AT89系列單片機6
1.6.3AT89系列單片機的型號說明7
1.7各種衍生品種的51單片機8
1.7.1STC系列單片機9
1.7.2C8051F×××單片機10
1.7.3ADμC812單片機10
1.7.4華邦W77系列、W78系列單片機10
1.8PIC系列單片機與AVR系列單片機10
1.8.1PIC系列單片機11
1.8.2AVR系列單片機12
1.9其他的嵌入式處理器簡介12
1.9.1嵌入式DSP處理器13
1.9.2嵌入式微處理器13
思考題及習題14
第2章AT89S51單片機硬體結構15
2.1AT89S51單片機的硬體組成15
2.2AT89S51的引腳功能17
2.2.1電源及時鍾引腳17
2.2.2控制引腳18
2.2.3並行I/O口引腳18
2.3AT89S51的CPU19
2.3.1運算器19
2.3.2控制器21
2.4AT89S51單片機存儲器的結構21
2.4.1程序存儲器空間22
2.4.2數據存儲器空間23
2.4.3特殊功能寄存器23
2.4.4位地址空間26
2.5AT89S51單片機的並行I/O埠27
2.6時鍾電路與時序29
2.6.1時鍾電路設計29
2.6.2機器周期、指令周期與指令時序30
2.7復位操作和復位電路31
2.7.1復位操作31
2.7.2復位電路設計31
2.8低功耗節電模式33
2.8.1空閑模式33
2.8.2掉電運行模式34
2.8.3掉電和空閑模式下的WDT34
思考題及習題35
第3章C51語言編程基礎37
3.1編程語言Keil C51簡介37
3.1.1Keil C51簡介37
3.1.2C51與標准C的比較38
3.2Keil C51的開發工具39
3.2.1集成開發環境Keil μVision3簡介39
3.2.2Keil μVision3軟體的安裝、啟動和運行40
3.3C51語言程序設計基礎40
3.3.1C51語言中的數據類型與存儲類型41
3.3.2C51語言的特殊功能寄存器及位變數定義45
3.3.3C51語言的絕對地址訪問47
3.3.4C51的基本運算48
3.3.5C51的分支與循環程序結構50
3.3.6C51的數組57
3.3.7C51的指針58
3.4C51語言的函數60
3.4.1函數的分類60
3.4.2函數的參數與返回值61
3.4.3函數的調用62
3.4.4中斷服務函數63
3.4.5變數及存儲方式63
3.4.6宏定義與文件包含64
3.4.7庫函數65
3.5軟體模擬開發工具Proteus與Keil μVision3的聯調65
3.5.1軟體模擬開發工具Proteus簡介65
3.5.2Proteus與Keil μVision3的聯調66
思考題及習題67
第4章AT89S51片內並行埠的原理及編程68
4.1AT89S51的並行I/O埠的結構及工作原理68
4.1.1P0口68
4.1.2P1口70
4.1.3P2口70
4.1.4P3口71
4.1.5P1~P3口驅動LED發光二極體的問題72
4.2並行I/O埠的C51編程舉例73
4.2.1從左到右的流水燈的製作73
4.2.2左右來回循環的流水燈的製作73
4.2.3開關量檢測指示器176
4.2.4開關量檢測指示器276
思考題及習題77
第5章AT89S51單片機的中斷系統79
5.1AT89S51中斷技術概述79
5.2AT89S51中斷系統結構79
5.2.1中斷請求源80
5.2.2中斷請求標志寄存器80
5.3中斷允許與中斷優先順序的控制81
5.3.1中斷允許寄存器IE82
5.3.2中斷優先順序寄存器IP82
5.4響應中斷請求的條件84
5.5外部中斷的響應時間85
5.6外部中斷的觸發方式選擇86
5.6.1電平觸發方式86
5.6.2跳沿觸發方式86
5.7中斷請求的撤銷86
5.8中斷函數87
5.9C51編程舉例88
5.9.1單一外中斷的應用88
5.9.2兩個外中斷的應用89
5.9.3中斷嵌套91
5.9.4多外部中斷源系統設計92
思考題及習題93
第6章AT89S51單片機的定時器/計數器95
6.1定時器/計數器的結構95
6.1.1工作方式控制寄存器TMOD96
6.1.2定時器/計數器控制寄存器TCON96
6.2定時器/計數器的4種工作方式97
6.2.1方式097
6.2.2方式198
6.2.3方式298
6.2.4方式399
6.3對外部輸入的計數信號的要求100
6.4定時器/計數器的編程和應用101
6.4.1P1口外接的8隻LED每0.5s閃亮一次101
6.4.2計數器的應用102
6.4.3擴展一個外部中斷源103
6.4.4P1.0上產生周期為2ms的方波104
6.4.5P1.1上產生周期為1s的方波104
6.4.6T1控制發出1kHz的音頻信號105
6.4.7測量脈沖寬度——門控位GATEx的應用106
6.4.8實時時鍾的設計107
思考題及習題108
第7章AT89S51單片機的串列口110
7.1串列口的結構110
7.1.1串列口控制寄存器SCON110
7.1.2特殊功能寄存器PCON112
7.2串列口的4種工作方式112
7.2.1方式0112
7.2.2方式1116
7.2.3方式2117
7.2.4方式3118
7.3多機通信119
7.4波特率的制定方法120
7.4.1波特率的定義120
7.4.2定時器T1產生波特率的計算120
7.5串列通信的應用設計122
7.5.1各種串列通信介面標准122
7.5.2方式1的應用124
7.5.3方式2和方式3的應用127
7.5.4主從式多機通信的應用129
7.5.5單片機與PC的串列通信133
7.5.6PC與單片機或與多個單片機的串列通信介面設計135
思考題及習題136
第8章AT89S51單片機外部存儲器的擴展138
8.1系統擴展結構138
8.2地址空間分配和外部地址鎖存器139
8.2.1存儲器地址空間分配139
8.2.2外部地址鎖存器142
8.3程序存儲器EPROM的擴展144
8.3.1常用的EPROM晶元144
8.3.2程序存儲器的操作時序146
8.3.3AT89S51單片機與EPROM的介面電路設計148
8.4靜態數據存儲器RAM的擴展149
8.4.1常用的靜態RAM(SRAM)晶元149
8.4.2外擴數據存儲器的讀寫操作時序150
8.4.3AT89S51單片機與RAM的介面電路設計151
8.5EPROM和RAM的綜合擴展153
8.5.1綜合擴展的硬體介面電路153
8.5.2外擴存儲器電路的編程155
8.6片內Flash存儲器的編程155
8.6.1通用編程器編程157
8.6.2ISP編程157
思考題及習題158
第9章AT89S51單片機的I/O擴展160
9.1I/O介面擴展概述160
9.1.1擴展的I/O介面功能160
9.1.2I/O埠的編址160
9.1.3I/O數據的傳送方式161
9.1.4I/O介面電路161
9.2AT89S51擴展I/O介面晶元82C55的設計162
9.2.182C55晶元簡介162
9.2.2工作方式選擇控制字及埠PC置位/復位控制字163
9.2.382C55的3種工作方式165
9.2.4AT89S51單片機與82C55的介面設計169
9.3利用74LSTTL電路擴展並行I/O口171
9.4用AT89S51單片機的串列口擴展並行口172
9.4.1用74LS165擴展並行輸入口172
9.4.2用74LS164擴展並行輸出口173
9.5用I/O口控制的聲音報警介面174
9.5.1揚聲器報警介面174
9.5.2音樂報警介面176
思考題及習題176
第10章AT89S51單片機與輸入/輸出外設的介面178
10.1LED數碼管顯示器的介面設計178
10.1.1LED數碼管的工作原理178
10.1.2LED數碼管顯示器介面設計舉例179
10.2鍵盤的介面設計183
10.2.1鍵盤介面應解決的問題183
10.2.2鍵盤介面設計舉例184
10.2.3鍵盤掃描方式的選取188
10.3鍵盤/顯示器介面的設計實例188
10.3.1利用並行I/O晶元82C55實現鍵盤/顯示器介面188
10.3.2利用串列口實現的鍵盤/顯示器介面191
10.3.3專用介面晶元HD7279實現的鍵盤/顯示器控制193
10.4AT89S51單片機與液晶顯示器的介面204
10.4.1LCD顯示器的分類204
10.4.2點陣字元型液晶顯示模塊介紹204
10.4.3AT89S51單片機與LCD的介面及軟體編程208
10.5AT89S51單片機與微型列印機TP(P-40A/16A的介面211
10.6AT89S51單片機與BCD碼撥盤的介面設計215
思考題及習題216
第11章AT89S51單片機與D/A、A/D轉換器的介面217
11.1AT89S51單片機與DAC的介面217
11.1.1D/A轉換器簡介217
11.1.2AT89S51單片機與8位D/A轉換器0832的介面設計218
11.2AT89S51單片機與ADC的介面225
11.2.1A/D轉換器簡介225
11.2.2AT89S51與逐次比較型8位A/D轉換器ADC0809的介面226
11.2.3AT89S51與逐次比較型12位A/D轉換器AD1674的介面230
11.3AT89S51單片機與V/F轉換器的介面234
11.3.1用V/F轉換器實現A/D轉換的原理235
11.3.2常用V/F轉換器LMX31簡介235
11.3.3V/F轉換器與MCS-51單片機介面236
11.3.4LM331應用舉例237
思考題及習題238
第12章單片機的串列擴展技術239
12.1單匯流排串列擴展239
12.2SPI匯流排串列擴展240
12.2.1SPI匯流排的擴展結構241
12.2.2擴展帶SPI串口的A/D轉換器TLC2543242
12.3I2C匯流排的串列擴展243
12.3.1I2C串列匯流排系統的基本結構244
12.3.2I2C匯流排的數據傳送規定244
12.3.3AT89S51的I2C匯流排擴展系統247
12.3.4I2C匯流排數據傳送的模擬248
12.3.5I2C匯流排在IC卡中的應用251
思考題及習題255
第13章AT89S51單片機的應用設計與調試256
13.1單片機應用系統的設計步驟256
13.2單片機應用系統設計257
13.2.1硬體設計應考慮的問題257
13.2.2典型的單片機應用系統258
13.2.3系統設計中的地址空間分配與匯流排驅動259
13.2.4應用設計例1——最小應用系統設計261
13.2.5應用設計例2——數字電壓表的設計262
13.2.6應用設計例3——帶有報警功能的溫度測量儀的設計264
13.3單片機應用系統的模擬開發與調試266
13.3.1模擬開發系統的種類與基本功能267
13.3.2模擬開發系統簡介267
13.3.3用戶樣機的模擬調試270
13.4單片機應用系統的抗干擾與可靠性設計272
13.4.1AT89S51片內看門狗定時器的使用273
13.4.2軟體濾波273
13.4.3開關量輸入/輸出軟體抗干擾設計274
13.4.4過程通道干擾的抑制措施——隔離275
13.4.5印刷電路板抗干擾布線的基本原則276
思考題及習題278
參考文獻280
3. 單片機C語言程序設計實訓100例:基於PIC+Proteus模擬的目錄
第1章PIC單片機C語言程序設計概述
1.1 PIC單片機簡介
1.2 MPLAB+C語言程序開發環境安裝及應用
1.3 PICC/PICC18/MCC18程序設計基礎
1.4 PIC單片機內存結構
1.5 PIC單片機配置位
1.6 基本的I/O埠編程
1.7 中斷服務程序設計
1.8 PIC單片機外設相關寄存器
1.9 C語言程序設計在PIC單片機應用系統開發中的優勢
第2章PROTEUS操作基礎
2.1 PROTEUS操作界面簡介
2.2 模擬電路原理圖設計
2.3 元件選擇
2.4 模擬運行
2.5 MPLAB IDE與PROTEUS的聯合調試
2.6 PROTEUS在PIC單片機應用系統開發中的優勢
第3章 基礎程序設計
3.1 閃爍的LED
3.2 用雙重循環控制LED左右來回滾動顯示
3.3 多花樣流水燈
3.4 LED模擬交通燈
3.5 單只數碼管循環顯示0~9
3.6 4隻數碼管滾動顯示單個數字
3.7 8隻數碼管掃描顯示多個不同字元
3.8 K1~K5控制兩位數碼管的開關、加減與清零操作
3.9 數碼管顯示4×4鍵盤矩陣按鍵
3.10 數碼管顯示撥碼開關編碼
3.11 繼電器及雙向可控硅控制照明設備
3.12 INT中斷計數
3.13 RB埠電平變化中斷控制兩位數碼管開關與加減顯示
3.14 TIMER0控制單只LED閃爍
3.15 TIMER0控制流水燈
3.16 TIMER0控制數碼管掃描顯示
3.17 TIMER1控制交通指示燈
3.18 TIMER1與TIMER2控制十字路口秒計時顯示屏
3.19 用工作於同步計數方式的TMR1實現按鍵或脈沖計數
3.20 用定時器設計的門鈴
3.21 報警器與旋轉燈
3.22 用工作於捕獲方式的CCP1設計的頻率計
3.23 用工作於比較模式的CCP1控制音階播放
3.24 CCP1 PWM模式應用
3.25 模擬比較器測試
3.26 數碼管顯示兩路A/D轉換結果
3.27 EEPROM讀寫與數碼管顯示
3.28 睡眠模式及看門狗應用測試
3.29 單片機與PC雙向串口通信模擬
3.30 PIC單片機並行從動埠PSP讀寫測試
第4章 硬體應用
4.1 74HC138與74HC154解碼器應用
4.2 74HC595串入並出晶元應用
4.3 用74HC164驅動多隻數碼管顯示
4.4 數碼管BCD解碼驅動器7447與4511應用
4.5 8×8LED點陣屏顯示數字
4.6 8位數碼管段位復用串列驅動晶元MAX6951應用
4.7 串列共陰顯示驅動器MAX7219與7221應用
4.8 14段與16段數碼管串列驅動顯示
4.9 16鍵解碼晶元74C922應用
4.10 1602LCD字元液晶測試程序
4.11 1602液晶顯示DS1302實時時鍾
4.12 1602液晶工作於4位模式實時顯示當前時間
4.13 帶RAM內存的實時時鍾與日歷晶元PCF8583應用
4.14 2×20串列字元液晶演示
4.15 LGM12864液晶顯示程序
4.16 PG160128A液晶圖文演示
4.17 TG126410液晶串列模式顯示
4.18 HDG12864系列液晶演示
4.19 Nokia7110液晶菜單控製程序
4.20 8通道模擬開關74HC4051應用測試
4.21 用帶I2C介面的MCP23016擴展16位通用I/O埠
4.22 用帶SPI介面的MCP23S17擴展16位通用I/O埠
4.23 用I2C介面控制MAX6953驅動4片5×7點陣顯示器
4.24 用I2C介面控制MAX6955驅動16段數碼管顯示
4.25 用帶SPI介面的數/模轉換器MCP4921生成正弦波形
4.26 用帶SPI介面的數/模轉換器MAX515控制LED亮度循環變化
4.27 正反轉可控的直流電機
4.28 PWM控制MOSFET搭建的H橋電路驅動直流電機運行
4.29 正反轉可控的步進電機
4.30 用L297+L298控制與驅動步進電機
4.31 PC通過RS-485器件MAX487遠程式控制制單片機
4.32 I2C介面DS1621溫度感測器測試
4.33 SPI介面溫度感測器TC72應用測試
4.34 溫度感測器LM35全量程應用測試
4.35 K型熱電偶溫度計
4.36 用鉑電阻溫度感測器PT100設計的測溫系統
4.37 DS18B20溫度感測器測試
4.38 SHT75溫濕度感測器測試
4.39 1-Wire式可定址開關DS2405應用測試
4.40 光敏電阻應用測試
4.41 MPX4250壓力感測器測試
4.42 用I2C介面讀寫存儲器AT24C04
4.43 用SPI介面讀寫AT25F1024
4.44 PIC18 I2C介面存儲器及USART介面測試程序
4.45 PIC18 SPI介面存儲器測試程序
4.46 PIC18定時器及A/D轉換測試
4.47 用PIC18控制Microwire介面繼電器驅動器MAX4820
4.48 MMC存儲卡測試
4.49 ATA硬碟數據訪問
4.50 微芯VLS5573液晶顯示屏驅動器演示
第5章 綜合設計
5.1 用DS1302/DS18B20+MAX6951設計的多功能電子日歷牌
5.2 用PCF8583設計高模擬數碼管電子鍾
5.3 用4×20LCD與DS18B20設計的單匯流排多點溫度監測系統
5.4 用內置EEPROM與1602液晶設計的加密電子密碼鎖
5.5 用PIC單片機與1601LCD設計的計算器
5.6 電子秤模擬設計
5.7 數碼管顯示的GP2D12模擬測距警報器
5.8 GPS全球定位系統模擬
5.9 能接收串口信息的帶中英文硬字型檔的80×16點陣顯示屏
5.10 用M145026與M145027設計的無線收發系統
5.11 紅外遙控收發模擬
5.12 交流電壓檢測與數字顯示模擬
5.13 帶位置感應器的直流無刷電機PMW控制模擬
5.14 3端可調正穩壓器LM317應用測試
5.15 模擬射擊訓練游戲
5.16 帶觸摸屏的國際象棋游戲模擬
5.17 溫室監控系統模擬
5.18 PIC單片機MODBUS匯流排通信模擬
5.19 PIC單片機內置CAN匯流排通信模擬
5.20 基於PIC18+Microchip TCP/IP協議棧的HTTP伺服器應用
參考文獻
4. 單片機無論下載什麼程序進去都下不了,而且還一直發出很高頻率的聲音,像震動一樣
檢查電源和MAX232
檢查方法:
電源:就用萬族悄用表檢查了,這個就不說了。
MAX232:電源正常的話下載一個串口調試助手,先用鑷子或螺絲刀之類的東西將P3.0和P3.1短路,用串口調試助手向單片機下載所用的埠隨便發送一個數據,此時如核攜果接收串口返回了你發送的數據則說明MAX232是好的。
如改穗伏果檢查至此兩樣都是好的那麼極有可能是單片機損壞,買一片新的試試。
5. 關於單片機的種類問題
單片機的分類Ⅰ 按生產廠家分
美國的英特爾(Intel) 公司、摩托羅拉(Motorola)公司、國家辦導體(NS) 公司、Atmel公司、微晶元(Microchip) 公司、洛克威爾(Rockwell)公司、莫斯特克公司(Mostek)、齊洛格(Zilog)公司、仙童(Fairchid)公司、德州儀器(TI)公司等等。日本的電氣(NS)公司、東芝(Toshiba)公司、富士通(Fujitsu)公司、松下公司、日立(Hitachi)公司、日電(NEC)公司、夏普公司等等。荷蘭的飛利浦(Philips)公司。德國的西門子(Siemens)公司等等。
Ⅱ 按字長分(1)4-BIT 單片機
4 位單片機的控制功能較弱,CPU 一次只能處理4 位二進制數。這類單片機常用於計算器、各種形態的智能單元以及作為家用電器中的控制器。典型產品有NEC 公司的UPD 75××系列、NS 公司的COP400 系列、松下公司的MN1400 系列、ROCKWELL 公司的PPS/1系列、富士通公司的MB88 系列、夏普公司的SM××系列、Toshiba 公司的TMP47×××系列等等。
① 華邦公司的W741系列的4位單片機帶液晶驅動,在線燒錄,保密性高,低操作電壓(1.2V~1.8V)。
② 東芝單片機的4位機在家電領域有很大市場。
(2)8-BIT 單片機
8 位單片機 8 位單片機的控制功能較強,品種最為齊全。和4 位單片機相比,它不僅具有較大的存儲容量和定址范圍,而且中斷源、並行I/O 介面和定時器/計數器個數都有了不同程度的增加,並集成有全雙工串列通信介面。在指令系統方面,普遍增設了乘除指令和比較指令。特別是8 位機中的高性能增強型單片機,除片內增加了A/D 和D/A 轉換器外,還集成有定時器捕捉/比較寄存器、監視定時器(Watchdog)、匯流排控制部件和晶體振盪電路等。這類單片機由於其片內資源豐富和功能強大,主要在工業控制、智能儀表、家用電器和辦公自動化系統中應用。代表產品有Intel 公司的MCS-48 系列和MCS-51 系列 、Microchip 公司的PIC16C××系列和PIC17C××系列以及PIC1400 系列、Motorola 公司的M68HC05 系列和M68HC11 系列、Zilog 公司的Z8 系列、荷蘭Philips 公司的80C51 系列(同MCS-51 兼容)、Atmel公司的AT89 系列(同MCS-51 兼容)、NEC 公司的UPD78××系列等等。
1)51系列單片機
8031/8051/8751是Intel公司早期的產品。應用的早,影響很大,已成為世界上的工業標准。後來很多晶元廠商以各種方式與Intel公司合作,也推出了同類型的單片機,如同一種單片機的多個版本一樣,雖都在不斷的改變製造工藝,但內核卻一樣,也就是說這類單片機指令系統完全兼容,絕大多數管腳也兼容;在使用上基本可以直接互換。人們統稱這些與8051內核相同的單片機為「51系列單片機」。
8031片內不帶程序存儲器ROM,使用時用戶需外接程序存儲器和一片邏輯電路373,外接的程序存儲器多為EPROM的2764系列。用戶若想對寫入到EPROM中的程序進行修改,必須先用一種特殊的紫外線燈將其照射擦除,之後再可寫入。寫入到外接程序存儲器的程序代碼沒有什麼保密性可言。
8051片內有4k ROM,無須外接外存儲器和373,更能體現「單片」的簡練。但是所編的程序無法寫入到其ROM中,只有將程序交晶元廠代為寫入,並是一次性的,不能改寫其內容。
8751與8051基本一樣,但8751片內有4k的EPROM,用戶可以將自己編寫的程序寫入單片機的EPROM中進行現場實驗與應用,EPROM的改寫同樣需要用紫外線燈照射一定時間擦除後再寫入。
在眾多的51系列單片機中,要算 ATMEL 公司的AT89C51、AT89S52更實用,因他不但和8051指令、管腳完全兼容,而且其片內的4K程序存儲器是FLASH工藝的,這種工藝的存儲器用戶可以用電的方式瞬間擦除、改寫,一般專為 ATMEL AT89xx 做的編程器均帶有這些功能。顯而易見,這種單片機對開發設備的要求很低,開發時間也大大縮短。寫入單片機內的程序還可以進行加密,這又很好地保護了你的勞動成果。而且,AT89C51、AT89S51目前的售價比8031還低,市場供應也很充足。
AT89S51、52是2003年ATMEL推出的新型品種,除了完全兼容8051外,還多了ISP編程和看門狗功能。
ATMEL公司的51系列還有AT89C2051、AT89C1051等品種,這些晶元是在AT89C51的基礎上將一些功能精簡掉後形成的精簡版。AT89C2051取掉了P0口和P2口,內部的程序FLASH存儲器也小到2K,封裝形式也由51的P40腳改為20腳,相應的價格也低一些,特別適合在一些智能玩具,手持儀器等程序不大的電路環境下應用;AT89C1051在2051的基礎上,再次精簡掉了串口功能等,程序存儲器再次減小到1k,當然價格也更低。
51 單片機目前已有多種型號,市場上目前供貨比較足的晶元還要算ATMEL 的51、52 晶元, HYUNDAI 的GMS97 系列,WINBOND 的78e52,78e58,77e58 等。
GMS97 系列是一次性燒寫,一般只有大量生產的人才買。at89c51,52 因可以很容易地解密,一般人們只用它來做實驗,或者用在一些即使解了密也無關緊要的場合。89c2051 只有20 腿,體積小巧,在一些簡單應用和體積有限的場合得到廣泛應用。
2)PIC系列單片機
由美國Microchip公司推出的PIC單片機系列產品,首先採用了RISC結構的嵌入式微控制器,其高速度、低電壓、低功耗、大電流LCD驅動能力和低價位OTP技術等都體現出單片機產業的新趨勢。
現在PIC系列單片機在世界單片機市場的份額排名中已逐年升位,尤其在8位單片機市場,據稱已從1990年的第20位上升到目前的第二位。PIC單片機從覆蓋市場出發,已有三種(又稱三層次)系列多種型號的產品問世,所以在全球都可以看到PIC單片機從電腦的外設、家電控制、電訊通信、智能儀器、汽車電子到金融電子各個領域的廣泛應用。現今的PIC單片機已經是世界上最有影響力的嵌入式微控制器之一。
① PIC 8位單片機的分類
PIC 8位單片機產品共有三個系列,即基本級、中級和高級。
a基本級系列該級產品的特點是低價位,如PIC16C5X,適用於各種對成本要求嚴格的家電產品選用。又如PIC12C5XX是世界第一個8腳的低價位單片機,因其體積很小,完全可以應用在以前不能使用單片機的家電產品的空間。
b中級系列該級產品是PIC最豐富的品種系列。它是在基本級產品上進行了改進,並保持了很高的兼容性。外部結構也是多種的,從8引腳到68引腳的各種封裝,如PIC12C6XX。該級產品其性能很高,如內部帶有A/D變換器、E2PROM數據存儲器、比較器輸出、PWM輸出、I2C和SPI等介面。PIC中級系列產品適用於各種高、中和低檔的電子產品的設計中。
c高級系列該系列產品如PIC17CXX,其特點是速度快,所以適用於高速數字運算的應用場合中,加之它具備一個指令周期內(160ns)可以完成8×8(位)二進制乘法運算能力,所以可取代某些DSP產品。再有PIC17CXX具有豐富的I/O控制功能,並可外接擴展EPROM和RAM,使它成為目前8位單片機中性能最高的機種之一。所以很適用於高、中檔的電子設備中使用。
上述的三層次(級)的PIC 8位單片機還具有很高的代碼兼容性,用戶很容易將代碼從某型號轉換到另一個型號中。PIC 8位單片機具有指令少、執行速度快等優點,其主要原因是PIC系列單片機在結構上與其它單片機不同。該系列單片機引入了原用於小型計算機的雙匯流排和兩級指令流水結構。這種結構與一般採用CISC(復雜指令集計算機)的單片機在結構上是有不同的。
雙匯流排結構
具有CISC結構的單片機均在同一存儲空間取指令和數據,片內只有一種匯流排。這種匯流排既要傳送指令又要傳送數據(如圖1-a所示)。因此,它不可能同時對程序存儲器和數據存儲器進行訪問。因與CPU直接相連的匯流排只有一種,要求數據和指令同時通過,顯然「亂套」,這正如一個「瓶頸」,瓶內的數據和指令要一起倒出來,往往就被瓶頸卡住了。所以具有這種結構的單片機,只能先取出指令,再執行指令(在此過程中往往要取數),然後,待這條指令執行完畢,再取出另一條指令,繼續執行下一條。這種結構通常稱為馮•諾依曼結構,又稱普林斯頓結構。
在這里PIC系列單片機採用了一種雙匯流排結構,即所謂哈佛結構。這種結構有兩種匯流排,即程序匯流排和數據匯流排。這兩種匯流排可以採用不同的字長,如PIC系列單片機是八位機,所以其數據匯流排當然是八位。但低檔、中檔和高檔的PIC系列機分別有12位、14位和16位的指令匯流排。這樣,取指令時則經指令匯流排,取數據時則經數據匯流排,互不沖突。
② 兩級指令流水線結構
由於PIC系列單片機採用了指令空間和數據空間分開的哈佛結構,用了兩種位數不同的匯流排。因此,取指令和取數據有可能同時交疊進行,所以在PIC系列微控制器中取指令和執行指令就採用指令流水線結構。當第一條指令被取出後,隨即進入執行階段,這時可能會從某寄存器取數而送至另一寄存器,或從一埠向寄存器傳送數等,但數據不會流經程序匯流排,而只是在數據匯流排中流動,因此,在這段時間內,程序匯流排有空,可以同時取出第二條指令。當第一條指令執行完畢,就可執行第二條指令,同時取出第3條指令,……如此等等。這樣,除了第一條指令的取出,其餘各條指令的執行和下一條指令的取出是同時進行的,使得在每個時鍾周期可以獲得最高效率。
在大多數微控制器中,取指令和指令執行都是順序進行的,但在PIC單片機指令流水線結構中,取指令和執行指令在時間上是相互重疊的,所以PIC系列單片機才可能實現單周期指令。
只有涉及到改變程序計數器PC值的程序分支指令(例如GOTO、CALL)等才需要兩個周期。
此外,PIC的結構特點還體現在寄存器組上,如寄存器I/O口、定時器和程序寄存器等都是採用了RAM結構形式,而且都只需要一個周期就可以完成訪問和操作。而其它單片機常需要兩個或兩個以上的周期才能改變寄存器的內容。上述各項,就是PIC系列單片機能做到指令總數少,且大都為單周期指令的重要原因。
3)AVR系列單片機
AVR單片機是1997年由ATMEL公司研發出的增強型內置Flash的RISC(Reced Instruction Set CPU) 精簡指令集高速8位單片機。AVR的單片機可以廣泛應用於計算機外部設備、工業實時控制、儀器儀表、通訊設備、家用電器等各個領域。
①AVR單片機的優勢及特點
a AVR單片機易於入手、便於升級、費用低廉。 單片機初學者只需一條ISP下載線,把編輯、調試通過的軟體程序直接在線寫入AVR單片機,即可以開發AVR單片機系列中的各種封裝的器件。AVR單片機因此在業界號稱「一線打天下」。 AVR程序寫入是直接在電路板上進行程序修改、燒錄等操作,這樣便於產品升級。AVR單片機可使用ISP在線下載編程方式(即把PC機上編譯好的程序寫到單片機的程序存儲器中),不需購買模擬器、編程器、擦抹器和晶元適配器等,即可進行所有AVR單片機的開發應用,這可節省很多開發費用。程序存儲器擦寫可達10000次以上,不會產生報廢品。
b高速、低耗、保密。首先,AVR單片機是高速嵌入式單片機: AVR單片機具有預取指令功能,即在執行一條指令時,預先把下一條指令取進來,使得指令可以在一個時鍾周期內執行。多累加器型,數據處理速度快。AVR單片機具有32個通用工作寄存器,相當於有32條立交橋,可以快速通行。中斷響應速度快。AVR單片機有多個固定中斷向量入口地址,可快速響應中斷。AVR單片機耗能低。對於典型功耗情況,WDT關閉時為100nA,更適用於電池供電的應用設備。有的器件最低1.8 V即可工作。AVR單片機保密性能好。它具有不可破解的位加密鎖Lock Bit技術,保密位單元深藏於晶元內部,無法用電子顯微鏡看到。
c I/O口功能強,具有A/D轉換等電路。AVR單片機的I/O口是真正的I/O口,能正確反映I/O口輸入/輸出的真實情況。工業級產品,具有大電流(灌電流)10mA~40mA,可直接驅動可控硅SSR或繼電器,節省了外圍驅動器件。AVR單片機內帶模擬比較器,I/O口可用作A/D轉換,可組成廉價的A/D轉換器。ATmega48/8/16等器件具有8路10位A/D。部分AVR單片機可組成零外設元件單片機系統,使該類單片機無外加元器件即可工作,簡單方便,成本又低。AVR單片機可重設啟動復位,以提高單片機工作的可靠性。有看門狗定時器實行安全保護,可防止程序走亂(飛),提高了產品的抗干擾能力。
d 有功能強大的定時器/計數器及通訊介面。定時/計數器T/C有8位和16位,可用作比較器。計數器外部中斷和PWM(也可用作D/A)用於控制輸出,某些型號的AVR單片機有3~4個PWM,是作電機無級調速的理想器件。AVR單片機有串列非同步通訊UART介面,不佔用定時器和SPI同步傳輸功能,因其具有高速特性,故可以工作在一般標准整數頻率下,而波特率可達576K。
②AVR 8-Bit MCU的最大特點
與其它8-Bit MCU相比,AVR 8-Bit MCU最大的特點是:
• 哈佛結構,具備1MIPS / MHz的高速運行處理能力;
• 超功能精簡指令集(RISC),具有32個通用工作寄存器,克服了如8051 MCU採用單一ACC進行處理造成的瓶頸現象;
• 快速的存取寄存器組、單周期指令系統,大大優化了目標代碼的大小、執行效率,部分型號FLASH非常大,特別適用於使用高級語言進行開發;
• 作輸出時與PIC的HI/LOW相同,可輸出40mA(單一輸出),作輸入時可設置為三態高阻抗輸入或帶上拉電阻輸入,具備10mA-20mA灌電流的能力;
• 片內集成多種頻率的RC振盪器、上電自動復位、看門狗、啟動延時等功能,外圍電路更加簡單,系統更加穩定可靠;
• 大部分AVR片上資源豐富:帶E2PROM,PWM,RTC,SPI,UART,TWI,ISP,AD,Analog Comparator,WDT等;
• 大部分AVR除了有ISP功能外,還有IAP功能,方便升級或銷毀應用程序。
(3)16-BIT 單片機
16 位單片機是在1983 年以後發展起來的。這類單片機的特點是:CPU是16 位的,運算速度普遍高於8 位機,有的單片機的定址能力高達1MB,片內含有A/D 和D/A轉換電路,支持高級語言。這類單片機主要用於過程式控制制、智能儀表、家用電器以及作為計算機外部設備的控制器等。典型產品有Intel 公司的MCS-96/98 系列、Motorola 公司的M68HC16系列、NS 公司的783××系列、TI公司的MSP430系列等等。
其中,以MSP430系列最為突出。它採用了精簡指令集( RISC )結構,具有豐富的定址方式( 7 種源操作數定址、 4 種目的操作數定址)、簡潔的 27 條內核指令以及大量的模擬指令;大量的寄存器以及片內數據存儲器都可參加多種運算;還有高效的查表處理指令;有較高的處理速度,在 8MHz 晶體驅動下指令周期為 125 ns 。這些特點保證了可編制出高效率的源程序。
在運算速度方面, MSP430 系列單片機能在 8MHz 晶體的驅動下,實現 125ns 的指令周期。 16 位的數據寬度、 125ns 的指令周期以及多功能的硬體乘法器(能實現乘加)相配合,能實現數字信號處理的某些演算法(如 FFT 等)。
MSP430 系列單片機的中斷源較多,並且可以任意嵌套,使用時靈活方便。當系統處於省電的備用狀態時,用中斷請求將它喚醒只用 6us 。
超低功耗 MSP430 單片機之所以有超低的功耗,是因為其在降低晶元的電源電壓及靈活而可控的運行時鍾方面都有其獨到之處。
首先, MSP430 系列單片機的電源電壓採用的是 1.8~3.6V 電壓。因而可使其在 1MHz 的時鍾條件下運行時, 晶元的電流會在 200~400uA 左右,時鍾關斷模式的最低功耗只有 0.1uA 。
其次,獨特的時鍾系統設計。在 MSP430 系列中有兩個不同的系統時鍾系統:基本時鍾系統和鎖頻環( FLL 和 FLL+ )時鍾系統或 DCO 數字振盪器時鍾系統。有的使用一個晶體振盪器( 32768Hz ) , 有的使用兩個晶體振盪器)。由系統時鍾系統產生 CPU 和各功能所需的時鍾。並且這些時鍾可以在指令的控制下,打開和關閉,從而實現對總體功耗的控制。
由於系統運行時打開的功能模塊不同,即採用不同的工作模式,晶元的功耗有著顯著的不同。在系統中共有一種活動模式( AM )和五種低功耗模式( LPM0~LPM4 )。在等待方式下,耗電為 0.7uA ,在節電方式下,最低可達 0.1uA 。
系統工作穩定 上電復位後,首先由 DCOCLK 啟動 CPU ,以保證程序從正確的位置開始執行,保證晶體振盪器有足夠的起振及穩定時間。然後軟體可設置適當的寄存器的控制位來確定最後的系統時鍾頻率。如果晶體振盪器在用做 CPU 時鍾 MCLK 時發生故障, DCO 會自動啟動,以保證系統正常工作;如果程序跑飛,可用看門狗將其復位。
豐富的片上外圍模塊 MSP430 系列單片機的各成員都集成了較豐富的片內外設。它們分別是看門狗( WDT )、模擬比較器 A 、定時器 A ( Timer_A )、定時器 B ( Timer_B )、串口 0 、 1 ( USART0 、 1 )、硬體乘法器、液晶驅動器、 10 位 /12 位 ADC 、 I 2 C 匯流排直接數據存取( DMA )、埠 O ( P0 )、埠 1~6 ( P1~P6 )、基本定時器( Basic Timer )等的一些外圍模塊的不同組合。其中,看門狗可以使程序失控時迅速復位;模擬比較器進行模擬電壓的比較,配合定時器,可設計出 A/D 轉換器; 16 位定時器( Timer_A 和 Timer_B )具有捕獲 / 比較功能,大量的捕獲 / 比較寄存器,可用於事件計數、時序發生、 PWM 等;有的器件更具有可實現非同步、同步及多址訪問串列通信介面可方便的實現多機通信等應用;具有較多的 I/O 埠,最多達 6*8 條 I/O 口線; P0 、 P1 、 P2 埠能夠接收外部上升沿或下降沿的中斷輸入; 12/14 位硬體 A/D 轉換器有較高的轉換速率,最高可達 200kbps ,能夠滿足大多數數據採集應用;能直接驅動液晶多達 160 段;實現兩路的 12 位 D/A 轉換;硬體 I 2 C 串列匯流排介面實現存儲器串列擴展;以及為了增加數據傳輸速度,而採用直接數據傳輸( DMA )模塊。 MSP430 系列單片機的這些片內外設為系統的單片解決方案提供了極大的方便。
方便高效的開發環境 目前 MSP430 系列有 OPT 型、 FLASH 型和 ROM 型三種類型的器件,這些器件的開發手段不同。對於 OPT 型和 ROM 型的器件是使用模擬器開發成功之後在燒寫或掩膜晶元;對於 FLASH 型則有十分方便的開發調試環境,因為器件片內有 JTAG 調試介面,還有可電擦寫的 FLASH 存儲器,因此採用先下載程序到 FLASH 內,再在器件內通過軟體控製程序的運行,由 JTAG 介面讀取片內信息供設計者調試使用的方法進行開發。這種方式只需要一台 PC 機和一個 JTAG 調試器,而不需要模擬器和編程器。開發語言有匯編語言和 C 語言。
MSP430 單片機目前主要以 FLASH 型為主。
(4)32-BIT 單片機
32 位單片機的字長為32 位,是單片機的頂級產品,具有極高的運算速度。近年來,隨著家用電子系統的新發展,32 位單片機的市場前景看好。
繼16 位單片機出現後不久,幾大公司先後推出了代表當前最高性能和技術水平的32 位單片微機系列。32 位單片機具有極高的集成度,內部採用新穎的RISC(精簡指令系統計算機)結構,CPU 可與其他微控制器兼容,主頻頻率可達33MHz 以上,指令系統進一步優化,運算速度可動態改變,設有高級語言編譯器,具有性能強大的中斷控制系統、定時/事件控制系統、同步/非同步通信控制系統。代表產品有Intel 公司的MCS-80960 系列、Motorola 公司的M68300 系列、Hitachi 公司的Super H(簡稱SH)系列等等。
這類單片機主要應用於汽車、航空航天、高級機器人、軍事裝備等方面。它代表著單片機發展中的高、新技術水平。
ARM在32位MCU中的主流地位是毫無疑問的。ARM公司於1991年成立於英國劍橋,主要出售晶元設計技術的授權。目前,採用ARM技術智能財產(IP)核心的處理器,即我們通常所說的ARM處理器,已遍及工業控制、消費類電子產品、通信系統、網路系統、無線系統等各類產品市場,基於ARM技術的處理器應用約占據了32位RISC微處理器75%以上的市場,ARM技術不止逐步滲入到我們生活的各個方面,我們甚至可以說,ARM於人類的生活環境中,已經是不可或缺的一環。
目前市面上常見的ARM處理器架構,可分為ARM7、ARM9以及ARM11,新推出的Cortex系列尚在進行開發驗證,市面上還未有相關產品推出。ARM也是嵌入式處理器中首先推出多核心架構的廠商。
ARM首個多核心架構為ARM11 MPCore,架構於原先的ARM11處理器核心之上。ARM11核心是發布於2002年10月份,為了進一步提升效能,其管線長度擴展到8階,處理單元則增加為預取、解碼、發送、轉換/MAC1、執行/MAC2、內存存取/MAC3和寫入等八個單元,體繫上屬於ARM V6指令集架構。ARM11採用當時最先進的0.13μm製造製程,運行頻率最高可達500到700MHz。如果採用90nm製程,ARM11核心的工作頻率能夠輕松達到1GHz以上—對於嵌入式處理器來說,這顯然是個相當驚人的程度,不過顯然1GHz在ARM11體系中不算是個均衡的設定,因此幾乎沒有廠商推出達到1GHz的ARM11架構處理器。
ARM11的邏輯核心也經過大量的改進,其中最重要的當屬「靜/動態組合轉換的預測功能」。ARM11的執行單元包含一個64位、4種狀態的地址轉換緩沖,它主要用來儲存最近使用過的轉換地址。當採用動態轉換預測機制而無法在定址緩沖內找到正確的地址時,靜態轉換預測功能就會立刻接替它的位置。在實際測試中,單純採用動態預測的准確率為88%,單純採用靜態預測機制的准確率只有77%,而ARM11的靜/動態預測組合機制可實現92%的高准確率。針對高時脈速度帶來功耗增加的問題,ARM11採用一項名為「IEM(Intelligent Energy Manager)」的智能電源管理技術,該技術可根據任務負荷情況動態調節處理器的電壓,進而有效降低自身的功耗。這一系列改進讓ARM11的功耗效能比得以繼續提高,平均每MHz只需消耗0.6mW(有快取時為0.8mW)的電力,處理器的最高效能可達到660 Dhrystone MIPS,遠超過上一代產品。
Ⅲ 按製造工藝分
① HMOS 工藝 高密度短溝道MOS 工藝,具有高速度、高密度的特點。
② CHMOS(或HCMOS)工藝 互補的金屬氧化物的HMOS 工藝,是CMOS 和HMOS 的結合,具有高密度、高速度、低功耗的特點。Intel 公司產品型號中若帶有字母「C」 ,Motorola 公司產品型號中若帶有字母「HC」或「L」 ,通常為CHMOS 工藝。
6. PIC單片機IO口無法控制
在PIC18系列裡,PORT寄存器不是用來做輸出的,LAT才是用來做輸出的。如LATB=0xff;
PORT寄存器是用來讀取IO的狀態,而LAT其實是讀-修改-寫操作。
如果對PORT寄存器進行寫操作,只是會將你要寫的數據放到IO口的鎖存器中,但並不會發送到IO上。而寫LAT則是先讀鎖存器的數據,然後像用PORT操作那樣將其修改寫到IO口的鎖存器中,最後發送到IO引腳上。
其實,數據手冊上在IO口那一章的開始就明確指出:
「每個埠有三個與其相關的寄存器」
「TRIS寄存器(數據方向)」
「PORT寄存器(讀取引腳的電平)」
「LAT寄存器(輸出鎖存)」
玩PIC,只要你仔細閱讀對應的數據手冊,你不需要看其他書籍都能弄懂。而且大部分都有官方中文版。