偉克多微電腦工作室---8051/PC---系列參考書介紹


PC TURBO C 程式設計 軟硬體 應用入門 (文魁) 書號 P4097


讓您輕鬆學會 PC TURBO C 程式設計的軟體、硬體入門及應用參考書
●深入淺出--讓初學者在短時間內學會基本 TURBO C 程式設計
●動手實作--由基本 TURBO C 程式設計到設計自己的應用程式
●技術探討--C 語言移植性原理介紹、應用例舉及程式設計
●專題活用--以 TURBO C 及單晶片 8051 C 語言設計樂透機、PC 遙控車

本書適用對象

□有志於從事系統硬體及跨平台嵌入式應用工程師、技職院校電子系、電機系、自動控制系,C 語言教學或自修參考教材。

本書精采內容

□介紹如何由網路上下載免費 TURBO C C 語言編譯器。
□引導初學者快速學會 TURBO C 程式設計。
□由基本 TURBO C 程式設計到設計自己的應用程式,以實例介紹,易學易用。
□軟體應用介紹如何以 TURBO C 控制 PC 系統資源,如系統時間、 喇叭控制、鍵盤的處理、圖形介面、滑鼠控制, 及如何設計自己的應用程式。
□以 TURBO C 程式做硬體 I/O 控制及通訊 RS232 串列介面設計。
□C 語言移植性原理介紹、應用例舉及程式設計。
□以 TURBO C 及單晶片 8051 C 語言設計樂透機程式。
□以 TURBO C 及單晶片 8051 C 語言設計 PC 遙控車。
□本書內附光碟包括書中範例原始 C 程式及執行檔,及本書內容 WORD 電子檔,可做為電子書方便教學或是自我進修使用。

教了十年的書,也寫了不少的控制應用程式,從作中學中、從教學相長中真的體會出程式
設計的重要。每年看著畢業班學生的離開學校,投入職場,面對著問題是社會新鮮人如何
應徵滿意的工作?畢業班學生自己自我評量一下,唸了幾年專業科目下來,學了那些科目
可以在畢業後進入職場上與其他人競爭?記住職場上的競爭是專業上的軟硬體實作能力,
而不是在校考試成績的高低!電子、電機畢業生社會新鮮人在職場上的競爭能力養成上,
筆者認為有以下幾項:
□PC 視窗程式設計
□單晶片軟硬體設計
□C 語言程式設計
□英文能力

英文能力可以彌補學歷及專業能力的不足,這對於外商公司更是重要。未來一代的工作地
點可能已不在台灣,可能是大陸或是海外,因此英文能力將是專業外的必備技能。視窗作
業系統是 PC 上最普遍的系統,熟悉 PC 視窗程式設計在求職應徵工作時,相當容易發揮
,但在非 PC 上的工作平台上,如消費性電子產品上的單晶片軟硬體設計,有更多的職缺
等著社會新鮮人來投入。而較複雜的單晶片控制程式很多卻是使用 C 語言來做設計。

C 語言一直都是強勢的程式語言,初學者為何學 C 語言? 周六日打開各大報紙求職欄,
例如某家知名系統廠商需要徵求研發工程師其條件是須有 C 語言程式設計的經驗,仔細
再多看幾家,發現相關職缺必備技能還都是 C 語言程式設計,因此,C 語言算是目前工
程上使用最普遍的程式語言。在後 PC時代,資訊家電產品,像 PDA、數位相機、手機及
高級互動式玩具成為當紅的熱門產品,您知道這些產品背後的軟體是如何設計出來的?是
使用什麼程式語言來設計?答案是 C 語言,其中很多產品是以嵌入式硬體架構來完成設
計。因此像熱門的嵌入式硬體設計及系統化單晶片 SOC(System On Chip)的雛型機開發控
制軟體都是使用 C 語言或是類似語言來做開發。有志於從事軟硬體應用工程師的朋友們
,今天若不會 C 語言,明日一定會後悔的,在職場上應徵相關工作多少會覺得實力較弱。

光是在 PC 上的 C 語言編譯器就有數十種,較普遍的有 DOS 下 TURBO C 、TURBO C++、
MICROSOFT C 等,視窗平台下的 BCB 及 VISUAL C C 程式整合開發軟體。而最基本、簡
單的 C 程式入門便是 TURBO C,一但學會基礎的 C 程式設計,再學習設計視窗平台下的
C 程式,便較輕鬆容易。而現在網路相當發達,手上若沒有軟體也可以到網路上下載免
費 TURBO C C 語言編譯器來學習,今天的努力將成為日後研發實力的基礎。

以筆者使用 C 語言的經驗來看,曾經接觸過 PC、工作站、數位信號處理機(DSP)、單
晶片 8051 及 Z80 系統的 C 語言編譯器,很多的應用程式使用 C 語言設計後,只需稍
加修改便可以在這些完全不相同的硬體系統中而順利執行,因此我們可以確定的說未來一
套新的系統推出後,除了基本的組合語言外,軟體廠商會最先支援的高階語言一定是 C
語言,道理很簡單,因為會寫 C 程式的人最多。

本書是一系列 C 語言程式設計、軟硬體實作參考書的一本入門書,全書分為
3 大篇:基礎篇、應用篇、I/O 控制篇。
□基礎篇介紹如何由網路上免費下載 TURBO C C 語言編譯器。
□基礎篇介紹 TURBO C 如何使用及設計基本的 C 程式。
□應用篇介紹如何以 TURBO C 控制 PC 系統資源,如系統時間、 喇叭控制、鍵盤的處理
、圖形介面、滑鼠控制,及如何設計自己的應用程式。
□I/O 控制篇介紹如何以 TURBO C 做簡單的硬體 I/O 控制、通訊 RS232 串列介面設計
、C 語言移植性原理及應用例舉、 C 語言移植性設計實例。
□I/O 控制篇以有趣實用的 C 程式,來設計 PC 及單晶片 8051 上的控制程式,包括樂
透機程式及 PC 遙控車。

筆者嘗試將這些年來的寫作及教學經驗,相關知識匯集整理成書。書中除了介紹基本的T
RBO C 編譯器使用功能,C 語言語法及程式設計範例外,並例舉了一些以 C 語言設計的
小程式來協助解決工作上的需要,進一步談談程式設計可以應用在哪些地方,最後以
PC I/O介面及單晶片 8051 C 程式設計為例做介紹。PC 是一個大家熟悉應用程式開發平
台,為了學習C 程式跨平台的應用,在單晶片 8051 上,我們介紹簡單的程式設計平台-
--IO51 控制板,當8051執行程式碼產生後,可以馬上由 RS232介面下載到控制板上來驗
證程式執行結果,就好像在 PC 上開發應用程式般的方便,實現簡單嵌入式程式設計軟硬
體應用的教學理念及未來的進階應用。

根據幾年的教學經驗,告訴我們,有關程式設計的課程,若能將書中最後精采的部分拿到
最前面,第一堂課來介紹效果可能最好,原因是先讓初學者產生興趣後,自然有較強烈的
動機來繼續學習。此外有關程式設計的課程,可以先看看執行結果,再回頭來看程式碼是
如何設計的,可以產生這樣的效果,畢竟程式設計只是將一些程式碼反覆不斷地再編輯、
組合及除錯罷了,最後符合我們的功能需求。

聰明的程式設計初學者,若想在跨平台 I/O 控制系統程式上做發展,這些基本的知識是
值得參考研究的。若讀者對以 C 語言來設計 PC 及單晶片 8051 相關 I/O 介面及應用感
興趣,可以參考拙著:
□PC 微處理機及介面技術實作-----文魁出版,書號 P4117
□單晶片 8051 KEIL C 實作入門---文魁出版,書號 P5067
□單晶片 8051 KEIL C 專題製作

這些專業工程師技術養成參考書將陸續出版,其實原理並不難,最重要的是要有興趣及耐
心來寫 C 程式搭配硬體做實驗,一分耕耘,一分收穫。

本書在寫作及實驗期間,承蒙偉克多微電腦工作室工作夥伴們在測試上的協助。文魁圖書
公司的大力配合及協助出版,在此一併致以十二萬分的謝意。初學者或是讀者如有實作上
的任何疑問可直接與工作室聯絡。

網址: vic.seeder.net
信箱: ufvicwen@ms2.hinet.net

目錄

基礎篇
第 1 章 C 語言簡介
1-1 電腦基本概念
1-2 C 語言的來源
1-3 C 語言的特色
1-4 C 語言的未來
1-5 為何使用 TURBO C
1-6 習題

第 2 章 TURBO C 使用
2-1 程式的設計步驟
2-2 如何取得免費的 TURBO C 編譯軟體
2-3 TURBO C 整合環境介紹
2-4 快速學會使用 TURBO C
2-5 第一支 C 程式
2-6 習題

第 3 章 資料型態及運算式
3-1 變數的宣告
3-2 資料的型態
3-3 常數的宣告
3-4 基本算術運算
3-5 資料的型態的轉換
3-6 基本運算子
3-7 習題

第 4 章 基本的輸入與輸出控制
4-1 printf() 函數的使用
4-2 scanf() 函數的使用
4-3 getch() 、getche() 及 gets() 函數的使用
4-4 putch() 及 puts() 函數的使用
4-5 習題

第 5 章 流程控制
5-1 for 敘述
5-2 while 敘述
5-3 do-while 敘述
5-4 if-else 敘述
5-5 else-if 敘述
5-6 特殊運算式
5-7 switch 敘述
5-8 break 敘述
5-9 continue 敘述
5-10 goto 敘述
5-11 習題

第 6 章 陣列與指標
6-1 一維陣列的宣告
6-2 二維陣列的宣告
6-3 指標的動作
6-4 陣列與指標的關係
6-5 習題

第 7 章 字串的控制
7-1 字元與字串
7-2 字串與指標
7-3 字串的應用
7-4 字串陣列的使用
7-5 命令列參數的輸入
7-6 習題

第 8 章 函數的使用
8-1 函數的使用目的
8-2 函數的定義
8-3 傳遞各種資料型態的參數
8-4 以指標傳遞參數
8-5 遞迴函數的使用
8-6 基本數學函數的使用
8-7 三角函數的使用
8-8 亂數產生函數的使用
8-9 資料型態轉換函數的使用
8-10 習題

第 9 章 變數等級
9-1 auto 變數
9-2 static 變數
9-3 external 變數
9-4 static external 變數
9-5 register 變數
9-6 習題

第 10 章 前端處裡指令
10-1 #define 指令
10-2 #include 指令
10-3 條件式編譯指令
10-4 習題

第 11 章 位元運算
11-1 邏輯位元運算子
11-2 左移位元運算子
11-3 右移位元運算子
11-4 習題

第12章 結構體資料型態
12-1 結構體資料型態
12-2 結構體與陣列
12-3 巢狀的結構體
12-4 結構體與函數
12-5 習題

第13章 其他資料型態
13-1 typedef 使用
13-2 enum 使用
13-3 位元欄位
13-4 union使用
13-5 習題

第14章 檔案的輸入與輸出
14-1 檔案處理的觀念
14-2 fopen() 函數的使用
14-3 fclose() 函數的使用
14-4 putc() 函數的使用
14-5 getc() 函數的使用
14-6 feof() 函數的使用
14-7 fputs() 函數的使用
14-8 fgets() 函數的使用
14-9 fprintf() 函數的使用
14-10 fscanf() 函數的使用
14-11 fwrite() 函數的使用
14-12 fread() 函數的使用
14-13 fseek() 函數的使用
14-14 rewind() 函數的使用
14-15 習題

應用篇
第15章 系統時間
15-1 time() 函數的使用
15-2 ctime() 函數的使用
15-3 difftime() 函數的使用
15-4 clock() 函數的使用
15-5 習題

第16章 喇叭控制
16-1 時間延遲函數
16-2 喇叭發聲的控制函數
16-3 特殊音效產生
16-4 演奏歌曲
16-5 習題


第17章 鍵盤的處理
17-1 偵測是否有按鍵
17-2 讀取按鍵碼
17-3 習題

第18章 文字模式視窗控制
18-1 設定游標位置
18-2 clreol() 函數使用
18-3 delline() 函數使用
18-4 建立文字模式視窗
18-5 視窗顏色的設定
18-6 讀取視窗文字
18-7 習題

第 19 章 繪圖模式
19-1 繪圖模式介紹
19-2 畫線功能函數
19-3 畫特殊圖形函數
19-4 區間填充函數
19-5 設定顏色及區間填充樣式
19-6 畫長條圖
19-7 畫點函數
19-8 繪圖模式下輸出文字
19-9 動態圖形設計
19-10 習題

第20章 滑鼠的控制
20-1 安裝滑鼠驅動程式
20-2 偵測滑鼠是否存在
20-3 顯示滑鼠游標
20-4 隱藏滑鼠游標
20-5 讀取滑鼠游標位置及按鍵狀態
20-6 設定滑鼠的座標位置
20-7 偵測滑鼠是否移動
20-8 滑鼠常用控制程式整理
20-9 習題

第 21 章 設計自己的應用程式
21-1 動態配置記憶體緩衝區
21-2 觀查二進位檔檔案內容
21-3 原始程式加上行號
21-4 執行外部程式
21-5 樂透機程式
21-6 習題

I/O 控制篇
第22章 PC I/O 介面控制
22-1 PC I/O 介面控制的函數
22-2 控制介面晶片 8255
22-3 PC 串列介面監控程式

第 23 章 C 語言移植性
23-1 何謂 C 語言移植性
23-2 C 語言移植性應用例舉
23-3 C 語言移植性設計實例--8051樂透機設計

第 24 章 PC 遙控車設計
24-1 PC 遙控車工作原理
24-2 8051 遙控車硬體設計
24-3 8051 遙控車控制程式
24-4 PC 遙控車實作

附錄:
附錄 A:ASCII 對照表
附錄 B:如何在視窗作業系統 XP 下執行 TURBO C
附錄 C:如何查看 TURBO C 線上相關函數使用說明
附錄 D:書附光碟使用說明