合泰单片机C语言教程讲解Word格式.docx
《合泰单片机C语言教程讲解Word格式.docx》由会员分享,可在线阅读,更多相关《合泰单片机C语言教程讲解Word格式.docx(279页珍藏版)》请在冰豆网上搜索。
1
頁
共
189
Holtek微控制器應用範例–使用HoltekC語言
目錄
第一章內容簡介
第二章選定HoltekC語言的使用環境
2.1進入HT-IDE3000建立新的專案時,選定HoltekC編譯器
2.2已開啟專案後,選用HoltekC編譯器
第三章微控制器C語言程式的速成
3.1定義主函式main()
3.2定義副函式(sub-function)
3.3定義全域變數(globalvariable)
3.4定義中斷服務函式(InterruptServiceRoutine:
ISR)3.5其他
第四章C語言程式
4.1C程式架構
4.2開始用C語言設計一個程式
4.2.1定義主函式main
4.2.2將標頭檔引入(includeaheaderfile)4.2.3定義文字符號及變數
4.2.4設定微控制器及裝置的初始狀態
4.2.5設計子函式
4.2.6設計中斷服務函式
4.3變數(variable)及資料型態(datatype)
4.3.1變數名
4.3.2資料型態
4.3.3變數的有效範圍(scope)
4.3.4變數的資料型態(datatype)
2
整數型(integer)
浮點型(floatingpoint)
4.3.5bit資料型態
4.3.6儲存類別(storageclass)與修飾詞(qualifier)
儲存類別(storageclass)
修飾詞(qualifier)
4.3.7絕對變數(absolutevariable)
4.3.8常數(constant)
4.3.9指標(pointer)與陣列(array)
指標的運算子&
與*
陣列(array)
4.3.10結構(struct)與等位(union)
結構的運算子->
與.
4.4運算子(Operators)
運算前的型態轉換
4.5程式流程控制(programflowcontrol)
4.5.1if-else敘述
4.5.2switch敘述
4.5.3for敘述
4.5.4while敘述
4.5.5do-while敘述
4.5.6goto敘述
4.5.7break與continue敘述
4.6函式(Functions)
4.6.1參數(arguments)
4.6.2返回值(returnvalues)
4.7中斷服務函式(InterruptServiceRoutines)
4.8在C語言程式中嵌入組合語言(in-lineassemblycode)
從組合語言的程式去存取C語言的物件(變數)
4.9前置處理指令(Preprocessor)
4.9.1定義文字符號(#define)
3
4.9.2引入檔案(#include)
4.9.3內嵌組合語言(inlineassembly)
4.9.4條件式編譯(#if/#endif)
4.9.5編譯器的特殊選項pragma
4.10HoltekC編譯器的內建函式(built-infunctions)
第五章基本C語言程式
5.1語法觀念
5.2迴圈的應用(loop)
5.3撰寫MCU應用程式的注意事項
5.4可供微控制器應用程式使用的範本
5.5設計微控制器應用程式的小技巧
第六章程式範例–初級
6.1LED跑馬燈
6.2LED霹靂燈
6.3單顆七段顯示器
6.45*5點矩陣LED顯示
6.5HT48微控制器控制HT1621LCD的顯示
6.6HT48微控制器控制LCD模組的顯示
6.7具LCD驅動功能的微控制器之顯示應用程式–HT46R63
6.8顯示器的通用函式–HT44780LCM
6.9鍵盤掃描程式
第七章程式範例–中斷函式
7.1用時鐘控制LED的亮與滅
7.2類比/數位轉換(ADC)的應用
第八章HT46R52A應用於鎳氫電池充電器(HA0084T)
第九章程式範例–HT46R74D-1胎壓計(HA0105T)
4
盛群半導體公司(Holtek)開發一系列的八位元微控制器(micro-controller,MCU).當開發微控制器的應用程式時,除了可使用盛群提供的組合語言(assemblylanguage),也可使用標準的C語言編譯器(Ccompiler).
由於八位元微控制器的記憶體空間,不論是程式記憶體(programmemoryspace)或是資料記憶體(rammemoryspace),皆是有限制的,通常會使用組合語言開發應用程式.但是越來越多的微控制器支援更多的記憶體以及更多的功能,使得程式也相對的擴大.如果仍然使用組合語言開發程式,不但費時費力,未來在維護及擴增功能的工作上也相當困難.因此,使用高階程式語言,例如C語言,來開發應用程式就是一種可行的趨勢.
C語言是高階程式語言中的一種,它具有高度的的可讀性及可移植性(portability),除了能夠快速地完成應用程式的開發與偵錯,也很容易移植到其他的微控制器上.當程式需要縮減或擴充功能時,也很容易的完成,因此很適合於微控制器的程式開發.
本書主要是以HoltekC語言為主,說明如何使用HoltekC語言撰寫盛群微控制器的應用程式,包括C的程式架構,C語言的一般用法,特殊用法及應用範例書中將說明在開發微控制器的應用程式時需要注意的地方及如何撰寫會比較恰當,並配以實例解釋.讀者可以參考修改或直接採用到自己的程式中,再用發展工具HT-ICE,HT-IDE3000驗證之.
第二章介紹選用HoltekC編譯器的步驟,指引HT-IDE3000呼叫HoltekC編譯器去編譯C語言的原始程式.
第三章提供一種快速撰寫C程式的方法,對ANSIC語言熟悉的用者,可於閱讀本章之後即開始撰寫微控制器的C語言程式
第四章介紹C語言,未曾使用過C語言的讀者應仔細閱讀本章以了解C語言的用法第五章介紹使用C語言寫程式的基本觀念,注意事項及建議的寫作方法第六章到第九章則是應用範例,針對盛群各系列的微控制器,以C語言撰寫的應用程式.包含有功能說明,應用電路及程式說明.
5
第二章選定HoltekC編譯器的使用環境
2.1進入HT-IDE3000,建立新的專案時,選定HoltekC編譯器
進入HT-IDE3000開發環境後,依照下列方法建立一個新的專案(project)
→移動滑鼠游標到Project選單,按左鍵
→移動滑鼠游標到New命令,按左鍵
→出現如下的視窗,在LanguageTool之處勾選EnhancedHoltekCcompiler/Assembler
6
2.2已開啟專案後,如何選用HoltekC編譯器
若專案(project)已開啟之後,可以點選(click)Option選單下的ProjectSetting命令,
在LanguageTool中點選EnhancedHoltekCCompiler/Assembler以設定使用HoltekC的
Enhance版編譯器
Enhance版的Ccompiler包括ehcc32srsc.exe,ehcc32mrsc.exe與ehcc32mrmc.exe三個執行檔
此版本必須在HT-IDE3000V7.0或以上的系統才能執行
7
本章介紹如何快速撰寫微控制器的C語言應用程式.已熟悉ANSIC標準語言的用法或有撰寫的經驗者,在閱讀此章後即可開始設計撰寫微控制器的C應用程式,以下各節是基本的C程式成員,某些是必須要有的,如3.1,其他的則視微控制器的功能及應用來決定是否需要
#include“ht46r63.h”
voidmain(void)
{
intFlag;
……TurnOn_LCD();
Flag=LCD_display(cstr);
TurnOff_LCD();
……
}
主函式的返回資料型態(returntype)必須是void,而且不能有參數
檔案ht46r63.h定義與微控制器有關的常數,例如暫存器的位址定義,將之引入(include)可增加程式的可讀性.
視程式的大小及功能決定是否需要定義副函式.基本上,主函式應將應用程式的架構做成模組化,不需要將所有的程式皆放在主函式中.為了能很快的完成及了解應用程式,主函式中只需要包含(呼叫)定義各功能的副函式即可,無論在設計或維護程式時皆能很快的進入與完成.例如,關於LCD的開啟,顯示及關閉等功能就可分別定義為單獨的副函式,如下例.任何其他的函式或其他的應用專案都可去呼叫這些副函式.若設計成通用型的,也可藉由程式館管理器(LibraryManager)將之建入程式館檔案,以供其他應用專案使用.
8