偉克多微電腦工作室---8051/PC---系列參考書介紹
單晶片 8051 KEIL C 實作入門 (文魁) 書號 P5067
讓您輕鬆學會以 KEIL C 語言來設計 8051 控制程式的入門及應用參考書
●深入淺出---使初學者在最短的時間內以 8051 免費 KEIL C 編譯器做軟硬體設計
●動手實作---介紹燒模器 VP51 及 IO51 控制板,在家中也可以做實驗
●技術探討---串列介面技術、8051 ISP介面、伺服機控制、中文 LCD 實作
●專題活用---含豐富的8051 專題製作建議題目,學生專題製作有方向可循
本書適用對象
□高職及大專院校電子系、電機系、自動控制系,單晶片、微電腦、介面技術及專題製作參考教材。一般學生、工程師、業餘玩家,
學習 8051及專題製作參考教材。
本書精采內容
□介紹實用的燒錄模擬器 VP51 及 IO51 控制板做程式開發快速測試。
□VP51 可以燒錄 9 種常用 8051 相容單晶片,操作簡單方便。
□燒錄後可以直接模擬 40 PIN 或 20 PIN 8051 單晶片,免拆排線,直接看8051目標板
執行結果,免除反覆燒錄、拔插晶片的麻煩,開發及測試程式最方便。
□IO51 內建程式碼下載功能,免燒錄 89C51,免用 ICE,由 RS232 介面下載 64KB程式
碼來做實驗最方便。
□程式碼下載後,永久保存在晶片內,開機後自動執行。
□介紹免費KEIL C展示軟體,以批次檔自動產生執行檔,搭配VP51及IO51,單一指令完
成編譯、連結、下載、燒錄及模擬。學習8051設計效率最高。
□8051 基本 I/O、中斷、計時器控制實驗。
□七節顯示器、按鍵掃描、RS232 串列介面實驗。
□繼電器控制、音樂控制、中英文 LCD 介面實驗。
□A/D 介面、 D/A 介面、步進馬達及遙控伺服機實驗。
□專題製作實例---音樂盒、單晶片時鐘、倒數計數器。
□內附光碟含書中原始 C 程式碼加執行檔,及書內容 WORD 電子檔,可做為電子書方便教學或是自我進修使用。
序
單晶片 8051 是目前市面上相當流行的單晶片,大專院校、技術學院,也普遍有開這門單
晶片實習與應用的課。由於 8051 在業界的大量使用,未來的市場還是看好,無怪乎還有
眾多的廠商紛紛推出相容的單晶片,及支援 8051 的程式發展工具,可以預見的未來,在
單晶片市場上 8051 還會佔有一席之地。所以學習自動控制,選擇 8051 絕對不會後悔,
用做產品設計也是不錯的選擇。
本書是一本學習 8051 入門的參考用書,從最基本的 8051 內部結構開始介紹,C 程式如
何設計,如何產生執行檔,及如何測試皆做詳細的說明,在實習環境上,本書實驗皆可由
ICE 或是燒錄 89C51 來做驗証。同時介紹實用的 89CXX 燒錄模擬器(VP51) 及 8051 IO
控制板(IO51) 做 8051 程式開發設計,此二控制板並非昂貴的開發工具,最主要這對初
學者、在學學生或是有心學好單晶片 8051 的朋友而言均是不錯的選擇,尤其是遇到要做
畢業專題時,您就不必一定得整天都待在學校的實驗室與 ICE 為伴,只要在家中擺一套
EPM89 或是 IO51,在家中便可以做專題製作了,甚至畢業以後還可以自組個人工作室,
做一些專案的硬體產品設計。
本書主張您自製基本的 8051 微電腦控制板,並利用它來做實驗及專題製作。本書告訴您
有關 8051 單板 DIY 實作的技巧,這對許多初學者而言應該是相當寶貴的經驗,學會了
8051 程式設計及介面控制後,下一步在學學生可能是要做畢業專題製作,此時便是您一
展身手自我挑戰的機會到了,如何將所實驗過的電路及控制程式應用在專題製作中,本書
也提供一些專題製作的基本範例程式及建議題目供讀者參考,畢竟以前是看別人寫的程式
,現在應該是寫寫屬於自己的控制程式,會相當有成就感的。
由於對微電腦的好奇,筆者從學生時代就喜歡動手實作一些硬體介面,並寫寫組合語言及
C 語言控制程式,希望能將所製作出來的專題成品應用在日常生活中,想想這樣的日子已
過了十幾個年頭了,剛開始是焊接市面上的套件,自從接觸到微處理機後才深深為其神奇
的功能而著迷,接觸過許許多多不同的 CPU,直到這幾年使用單晶片 8051 才找到研究及
做控制,產品開發的一些通則,那就是好好學會使用一顆 CPU,這一輩子將受用無窮。如
果讀者也像筆者一樣有這方面硬體實作狂熱的話,您將會發現 DIY 真的非常有趣,只要
有一新的點子,便可以用程式及簡單的硬體把它實作出來。
在軟體開發工具上,書附光碟內含有 KEIL公司的 8051 C 編譯器(評估展示版),內含軟
體除錯功能,完全免費,在書中會介紹如何有效的使用此套軟體發展工具,在書中會告訴
您如何自動化產生 C 語言執行檔的技巧,開發程式效率最高。使用者可至 KEIL公司的網
站,自行下載最新版的軟體來使用。
KEIL公司的網站: www.keil.com
在做自動控制及介面設計,事實上使用自己熟悉的程式語言均能完成工作,但為什麼我們
會選用 C 語言呢?最大的原因是 C 語言具有高度可攜性,整個軟體控制程式可以依硬體
環境做轉移,例如在 PC 上以 TURBO C 所寫的步進馬達控制程式,可以利用 8051 C 編
譯器重新編譯,而在 8051控制板上做步進馬達的控制,這是做軟體的移植,也是許多工
程師喜歡的地方。
C 語言一直都是強勢的程式語言,初學者為何學 C 語言?周六日打開各大報紙求職欄,
仔細多看幾家,發現相關職缺必備技能,還都是 C 語言程式設計,因此,C 語言算是目
前工程上使用最普遍的程式語言。在後 PC時代,資訊家電產品,像 PDA、數位相機、手
機及高級互動式玩具,成為當紅的熱門產品,您知道這些產品背後的軟體是如何設計出來
的?是使用什麼程式語言來設計?答案是 C 語言,其中很多產品是以嵌入式硬體架構來
完成設計。因此像熱門的嵌入式硬體設計及系統化單晶片 SOC(System On Chip)的雛型機
開發控制軟體,都是使用 C 語言或是類似語言來做開發。有志於從事軟硬體應用工程師
的朋友們,今天若不會 C 語言,明日一定會後悔的,在職場上應徵相關工作多少會覺得
實力較弱。
在 8051 學習上,只有程式碼無實際硬體驗證,無法完全觀察其真正的結果。
當然自己焊接萬用板可以訓練實作能力,此時要做軟體程式設計又要做實驗板,
以麵包板做實驗,只能做做簡單的實驗電路,線路一多,容易接觸不良。程式碼產生了,
又要燒錄晶片,反反覆覆燒錄修改功能,真的很浪費時間在測試上。因此在本書實驗中,
同時介紹實用的 89CXX 燒錄模擬器(VP51) 及 8051 IO 控制板(IO51)做 8051 程式開發
設計,此二控制板並非市面上最好的開發工具,但卻是方便實驗,想投資自己提升自己競
爭力的人,可以消費的起的開發工具。買名牌使用,可以犒賞自己肯定自己能力,投資開
發工具,卻是源源不絕為自己開發財富及程式設計的潛能,絕對是有價值的投資。
想想一套控制系統最有價值的部分是控制程式,它是燒錄在單晶片 89C51 內,一般
89C51 晶片在電子門市的價格是 40、50元,最多相差 10 元,但是一旦燒錄進去 "有用"
或是 "有價值" 的應用程式,例如語音辨認程式碼,例如 DVD 燒錄控制程式碼,例如程
式下載 BIOS 程式碼,例如程式燒錄模擬 BIOS 程式碼,它的價值便變成 10 倍、百倍,
知識經濟的價值不就是在此,否則純賣硬體週邊及零件的利潤是越來越少了。想想現在的
投資,以後卻是回收上千倍及一輩子的程式設計技能,投資在技術的學習上,是最值錢的。
聰明的程式設計初學者,若想在跨平台 I/O 控制系統程式上做發展,一些基本的知識是
值得參考研究的。若讀者對以 C 語言來設計 PC 及單晶片 8051 相關 I/O 介面及應用感
興趣,可以參考拙著:
□PC TURBO C 程式設計軟硬體應用入門---文魁出版,書號 4097
□PC 微處理機及介面技術實作-----------------文魁出版,書號 4117
□單晶片 8051 KEIL C 專題製作
這些為專業工程師技術養成參考書,將陸續出版,其實原理並不難,最重要的是要有興趣
及耐心來寫 C 程式搭配硬體做實驗,一分耕耘,一分收穫。
本書是一本學習 8051 C 語言的入門書,對於會寫 C 程式,但是卻不是很懂 8051 硬體
的朋友們,可以恨快速以高階程式語言控制 8051 硬體,而且當讀者真正使用過KEIL C
軟體後,將會發現它是一套很不錯的 8051 程式開發工具。學會基本 8051 C 程式控制後
,KEIL C 線上的求助說明功能,或是相關檔案目錄下的 PDF 電子說明檔 C51.PDF(C 編
譯器說明檔)及 GS51.PDF(整合視窗系統說明檔) 值得好好研究,可以提升軟體程式設計
的功力。
此外本書另一特色是書附光碟中,內含原書 WORD 電子檔,方便老師教學用及考試出題用
,對於自學朋友們也很方便,可以放在筆記型電腦內當作電子書來使用,隨時有空便可以
自修,利用時間來學習 8051 C 語言程式設計。對於一些以 8051 做專題的同學而言,有
了這些電子檔,可以利用來整理專題製作報告,其中有用到的 8051 相關知識介紹,不必
重新輸入,可以節省寶貴的時間。
本書在寫作及實驗期間,承蒙偉克多微電腦工作室,工作夥伴們在測試上的協助。文魁圖
書公司的大力配合及協助出版,在此一併致以十二萬分的謝意。初學者或是讀者如有實作
上的任何疑問可直接與工作室聯絡。
網址: vic.seeder.net
信箱: ufvicwen@ms2.hinet.net
目錄
第 1 章 微電腦及單晶片介紹
1-1 微電腦組成架構
1-2 單晶片微電腦介紹
1-3 單晶片應用領域
1-4 習題
第 2 章 單晶片 8051 硬體介紹
2-1 8051 特性
2-2 8051 接腳說明
2-3 系統重置
2-4 記憶體空間
2-5 8051 內部控制暫存器
2-6 8051 常用相容晶片簡介
2-7 習題
第 3 章 C 語言程式設計基礎
3-1 C 語言的特色
3-2 第一支 C 程式
3-3 C 語言變數及保留字
3-4 資料的型態
3-5 常數的宣告
3-6 基本算術運算
3-7 資料型態的轉換
3-8 基本運算子
3-9 記憶體使用類型
3-10 記憶體工作模式
3-11 基本的輸入與輸出控制
3-12 流程控制
3-13 陣列
3-14 指標
3-15 函數的使用
3-16 KEIL C 中斷函數
3-17 前端處裡指令
3-18 習題
第 4 章 8051 程式測試
4-1 實驗所需硬體工具
4-2 實驗所需軟體工具
4-3 8051 程式開發測試平台
4-4 使用免費編譯器
4-5 VP51 燒錄模擬器操作實例
4-6 自製 8051 微電腦單板 IO51
4-7 IO51 操作實例
4-8 以 WIN 工作模式結合 DOS 模式執行
4-9 習題
第 5 章 基本 I/O 控制
5-1 8051 延遲時間控制
5-2 單板上工作指示LED
5-3 走馬燈控制一
5-4 走馬燈控制二
5-5 壓電喇叭測試
5-6 按鍵輸入
5-7 七節顯示器控制
5-8 掃描控制七節顯示器
5-9 鍵盤掃描
5-10 鍵盤掃描及七節顯示器控制
5-11 繼電器控制介面
5-12 習題
第 6 章 中斷控制
6-1 I/O 控制的方式
6-2 8051 中斷控制架構
6-3 相關控制暫存器
6-4 外部中斷控制實驗1
6-5 外部中斷控制實驗2
6-6 習題
第 7 章 計時計數器控制
7-1 計時計數器相關控制暫存器
7-2 計時器模式0的工作
7-3 計時器模式1的工作
7-4 計時器模式2的工作
7-5 計時器模式3的工作
7-6 計時器 5ms 延遲副程式
7-7 計時器模式0測試
7-8 計時器模式1測試
7-9 計時器模式2測試
7-10 以計時器驅動喇叭
7-11 以計時器產生音階測試音
7-12 以計時器演奏一首歌曲
7-13 習題
第 8 章 串列介面控制
8-1 串列資料傳送原理
8-2 RS232 串列介面介紹
8-3 8051串列傳送介面
8-4 串列傳送控制暫存器
8-5 串列傳輸鮑率的設定
8-6 PC上的RS232通訊程式
8-7 串列介面傳送自我測試
8-8 由 8051 傳送資料至 PC
8-9 8051 接收 PC 傳來的資料
8-10 使用 KEIL C printf 函數
8-11 簡易監控介面---由串列介面端輸出按鍵值
8-12 習題
第 9 章 LCD 介面控制
9-1 LCD 介紹
9-2 LCD 介面設計
9-3 LCD 顯示器測試
9-4 自創 LCD 字型
9-5 習題
第 10 章 類比至數位轉換介面
10-1 ADC 介面架構
10-2 AD0804 介紹
10-3 AD0804 介面設計
10-4 以連續轉換方式讀取外界電壓
10-5 將 A/D 轉換值顯示在 LCD
10-6 光敏電阻實驗
10-7 溫度量測
10-8 習題
第 11 章 數位至類比轉換介面
11-1 DAC 介面架構
11-2 DAC0800 簡介
11-3 DAC0800 介面設計
11-4 量測輸出電壓
11-5 以 DAC 送出方波信號
11-6 以 DAC 產生鋸齒波
11-7 以 DAC 產生三角波
11-8 習題
第 12 章 直流馬達控制
12-1 直流馬達控制方式
12-2 直流馬達基本控制電路
12-3 直流馬達控制實驗
12-4 以 PWM 方式控制馬達轉速
12-5 以 PFM 方式控制馬達轉速
12-6 習題
第 13 章 遙控伺服機控制
13-1 伺服機介紹
13-2 伺服機控制方式
13-3 伺服機控制實驗
13-4 習題
第14章 步進馬達控制
14-1 步進馬達介紹
14-2 步進馬達控制方式
14-3 步進馬達控制電路
14-4 步進馬達控制方法驗證
14-5 習題
第 15 章 中文 LCD 介面控制
15-1 中文 LCD 介紹
15-2 中文 LCD控制方式
15-3 中文 LCD 顯示測試
15-4 習題
第 16 章 專題製作---音樂盒
16-1 功能說明
16-2 控制電路
16-3 控制程式
第 17 章 專題製作---單晶片時鐘
17-1 功能說明
17-2 控制電路
17-3 控制程式
第 18 章 專題製作---倒數計數器
18-1 功能說明
18-2 控制電路
18-3 控制程式
附錄
附錄 A ASCII 對照表
附錄 B 簡易穩壓電源製作
附錄 C 本書實驗所需設備工具及零件
附錄 D 如何自製 8051 單板
附錄 E VP51 89CXX 燒錄模擬器特性及使用說明
附錄 F IO51 8051 IO 控制板特性及使用說明
附錄 G IO51 8051 IO 控制板完整電路圖
附錄 H 設計並製作簡易 8051 模擬器
附錄 I 如何以 KEIL C 發展系統編譯程式及除錯並執行
附錄 J IO51 控制板視窗版控制程式使用說明
附錄 K RS232 介面監控實驗
附錄 L 專題製作建議題目
附錄 M 書附光碟使用說明
附錄 N 硬體介面板版權宣告及如何訂購