微控制器原理與實作 (HOLTEK 48 系列)
內容描述
本書特色
一、8051系列微控制器可說是眾所周知,其強大的功能及發展系統容易取得更使得8051系列微控制器成為學術界及業界的酷愛。然而就業界的眼光而言8051系列微控制器並非最佳選擇,因為產品有複雜型、簡易型、省電型、高速度型…等等不同的形態,亦就是說每個產品都應選擇其適用的微控制器。現在國內的HOLTEK公司研發了8 bits微控制器HT48RX0系列,它可在低電壓工作、具有Watch dog timer、Power down mode(Sleep mode)、External interrupt、Timer以及良好的視窗版發展工具(HT-IDE),而且HT48RX0系列的價格不但便宜,約略為Micro-chip PIC同等級微控制器的1/2或2/3價格,更重要的是具備工業等級規格,操作溫度範圍可以從
id=_x0000_t75 coordsize="21600,21600" o:spt="75" o:preferrelative="t"
path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"> -40
度c到+85度
c。
二、一個電子產品或實驗的完成通常會經歷以下的步驟:
- 一個好的構想(Good idea)。
2. 功能設定。
3. 市場調查及可行性評估。
4. 收集相關資料及零件價格。
5. 電路設計及繪圖。
6. 電路圖佈線(Layout)。
7. 電路板(PCB)完成及焊接零件。
8. 軟體撰寫(如果有使用微控制器)。
9. 軟體及硬體Debug。 - 測試完成。
以上所述僅是電子部份,尚需與機構部份做緊密的配合。
三、HOLTEK所提供的微控制器發展系統(HT-IDE for Windows)非常不錯,除了一般常見的功能外更提供了以下的功能:
1. 純軟體模擬(Software Simulation),不需要ICE也可以使用。
2. C語言及組合語言的Source code debug。
3. Stepping,在PC上設定每一個指令執行的時間,免除單步執行(Step into)的不方便。
4. Watch,在Trace程式時可以很容易地觀察RAM之中任何一個bype或是一個bit變數的變化。
四、本書之中所有的實驗電路及程式都經由筆者實際測試無誤;然而筆者才疏學淺,尚祈各界先進不吝指教。
本書特色
第零章 微控制器是什麼?(What is Micro-controller)
前 言 0-2
什麼是微控制器.. 0-2
微控制器發展系統.. 0-3
第一章
HT48RX0單晶片微控制器(Single chip Micro-controller)
1-1 HT48RX0微控制器系列 (Micro-controller Family).. 1-2
1-1-1 HT48RX0微控制器特性.. 1-4
1-1-2 HT48RX0系統方塊圖.. 1-5
1-1-3 HT48RX0接腳說明.. 1-6
1-1-4 HT48RX0資料記憶體.. 1-10
1-2 HT48R50A-1微控制器規格(Specification).. 1-16
1-2-1 特性(Features).. 1-16
1-2-2 基本描述(General Description).. 1-17
1-2-3 系統方塊圖(System Block Diagram).. 1-18
1-2-4 包裝與接腳安排(Package & Pin Assignment).. 1-19
1-2-5 最大額定值(Absolute Maximum Ratings).. 1-21
1-2-6 直流特性(D.C.Characteristics).. 1-22
1-2-7 交流特性(A.C.Characteristics).. 1-23
1-2-8 應用電路(Application Circuit).. 1-23
1-3 HT48R50A-1功能描述 (Functional Description).. 1-26
1-3-1 執行流程(Execution Flow).. 1-26
1-3-2 程式計數器(Program Counter-PC).. 1-27
1-3-3 程式記憶體(Program Memory-ROM).. 1-28
1-3-4 堆疊暫存器(Stack Register-STACK).. 1-31
1-3-5 資料記憶體(Data Memory-RAM).. 1-31
1-3-6 非直接定址暫存器 (Indirect Addressing Register).. 1-33
1-3-7 累積器(Accumulator).. 1-33
1-3-8 算術邏輯單位(Arithmetic and Logic Unit-ALU).. 1-34
1-3-9 狀態暫存器(Status Register-STATUS).. 1-34
1-3-10 中斷(Interrupt).. 1-37
1-3-11 振盪子組態(Oscillator Configuration).. 1-40
1-3-12 看門狗計時器(Watch Dog Timer-WDT).. 1-41
1-3-13 電力下降運作 (Power Down Operation-HALT).. 1-44
1-3-14 重置(Reset).. 1-45
1-3-15 計時器事件計數器(Timer/Event Counter).. 1-48
1-3-16 輸入輸出埠(Input/Output Ports).. 1-54
1-3-17 低電壓重置LVR(Low Voltage Reset).. 1-56
1-3-18 ROM code選項(Option)................................................
1-57
1-4 指令集(Instruction set).. 1-58
1-4-1 指令依字母順序逐條說明.. 1-58
1-4-2 指令依運算類別分類說明.. 1-88
1-5 組合語言(Assembly language).. 1-93
1-5-1 敘述語法(Statement Syntax).. 1-93
1-5-2
組譯指引(Assembly Directives).. 1-95
1-5-3
組合指令(Assembly Instructions).. 1-102
1-5-4
組合語言保留字(Reserved Words of Assembly
language).. 1-105
第二章 整合發展環境(Integrated Development Environment)
2-1 系統簡介Introduction. 2-2
2-2 軟體安裝Software Installation. 2-7
2-3 檔案編輯檢視(File/Edit/View menu).. 2-11
2-4 工具選單(Tools menu)及 選項選單(Options menu).. 2-13
2-5 專案選單:(Project menu).. 2-24
2-6 除錯選單(Debug menu).. 2-33
2-7 視窗選單(Window menu).. 2-43
2-8 工具列圖像(Toolbar-Icons)與 求助選單(Help menu).. 2-49
2-9 OTP燒寫器 (Handy Writer,即燒錄器Programmer).. 2-53
第三章 快速入門
3-1
快速入門一:軟體模擬(Software Simulation).. 3-2
3-2
快速入門二:線上模擬(Emulation).. 3-17
3-3
快速入門三:多檔聯結.. 3-32
3-4
快速入門四:聯結函式庫.. 3-36
第四章 鍵盤與顯示-基本I/O練習
4-1 8-LED control(霹靂燈) . 4-2
4-2 RC generate clock(利用RC振盪產生微處理器所需的時脈)
4-9
4-3 四個共陽極七段顯示器,使用掃描的方式顯示.. 4-17
4-4 4x4 keyboard,software
scan(4x4鍵盤使用軟體掃描)
4-25
4-5 4x4 keyboard,Hardware
encoder(4x4鍵盤使用硬體編碼)
4-34
4-6 5x7 dot matrix LED display(5x7
LED點矩陣顯示器)
4-47
第五章 外部硬體中斷控制
5-1 External hardware interrupt
(外部硬體中斷)
5-2
5-2 Interrupt
priority(HT48R50A-1的中斷優先權測試)
5-10
第六章 計時/計數器中斷
6-1 Event count using Timer
1,external clock input(Timer 1計數器實驗)
6-2
6-2 Stopwatch(1/100秒碼錶)
6-14
6-3 Pulse width
measurement(脈波寬度測量)
6-27