歡迎您光臨本站 登入註冊首頁

MC68HC08單片機程序設計速成

admin @ 2014-03-25 , reply:0

概述

   為了禰補單片機軟體設計教材資源的缺乏,本資料著重從軟體設計的角度介紹MC68HC908GP32單片機的軟體編寫方法和應用示例。利用獨立的文章的形式介紹了此單片機的埠……

    為了禰補單片機軟體設計教材資源的缺乏,本資料著重從軟體設計的角度介紹MC68HC908GP32單片機的軟體編寫方法和應用示例。利用獨立的文章的形式介紹了此單片機的埠、瑣相環、AD轉換、串列通信、鍵盤中斷、定時器以及外連晶元MC11489等應用。
    本著用多少學多少的原則,刪除了許多不常用的寄存器值得含義,對重要的知識點均以加粗方式標出。達到速成的目的。
    此資料所有代碼經作者精心組織編寫並在北京理工大學卡爾飛思實驗室BMTC——MC68HC08單片機系統V3.0實驗板調試通過。

MC68HC08埠簡介和程序的一般框架
   
作為第一篇從軟體介紹MC68HC08的文章,我們先從軟體的角度認識認識這個四十多隻腳的東東吧。
    雖然它只有四十多隻管腳,但是,幾乎所有的管腳都是復用的,即身兼兩職。主要可分為電源,晶振,ABCDE五組埠,中斷,複位等等。
    趁著大家精力還算旺盛,先說最有用的,最容易的。ABCDE五組埠
    每組埠都有兩個寄存器,一個叫方向寄存器,用來說明這個埠用作輸入還是輸出。五個埠的方向寄存器分別叫做:DDRA,DDRB,DDRC,DDRD,DDRE。每個寄存器都有八位,分別為對應管腳的輸入輸出方向。如DDRB=0b01100000,(b指二進位數。此數亦可以寫成十六進位數0x60)規定B埠的第五第六兩管腳作為輸出,其它作為輸入。
    另一個叫數據寄存器,也是八位。分別是PTA到PTE。埠當作輸出的時候,可以寫寄存器。埠當作輸入的時候可以讀寄存器。當某位為1的時候,埠為管腳高電平,當為、0的時候,埠管腳為低電平。比如,我想讓B埠的第五位(作輸出)為低電平,則寫作PTB_PTB5=0;
    每個埠都能作為平常的輸入輸出埠。另外,每個埠都有第二功能。
A埠:八個管腳
常用作鍵盤輸入。此時,埠作為輸入。硬體自動置A口所有位為高電平。某鍵被按下時,產生低電平,從而達到檢測按鍵的目的。鍵盤操作見《外部中斷和鍵盤中斷》一文。
B埠:八個管腳
常用作A/D轉換器輸入埠。對應了八個輸入通道。
C埠:六個管腳
可用作LED指示燈的輸出介面。如本實驗室的開發板將PB0-PB4與五個指示燈相連。低電平點亮。
D埠:六個管腳
功能比較多,有計數器輸入管腳2個,SPI通信管腳2個等
E埠:只有兩個管腳
經常作為串口收發端,PTE0為TX,PTE1為RX
中斷信號: 管腳,平常為高電平,當收到低電平信號時產生一個外部中斷。
晶振:OSC2 OSC1 和COMXFC
複位信號管腳  。
電源管腳:略

第二個主題:程序的基本框架
MC68HC08程序的框架比較統一,下面介紹兩種最常用的。
查詢式程序框架
//step0 變數定義
#include <hidef.h>
#include <MC68HC908GP32.h>
void main(void){
//step1 初始化CONFIG控制字
CONFIG1=0x01;
CONFIG2=0x01;
//step3 初始化鎖相環
PCTL=0X00;
PBWC=0X80;
PMSH=0X03;
PMSL=0XD1;
PMRS=0XD0;
PMDS=0X01;
PCTL=0X32;
DDRC=0XFF;
PTC=0XFF;
//step4設置其它初始化控制字
//step4 進入循環
for(;;){
//step5 在循環中作埠輸入輸出的工作
if (寄存器可以讀) 讀寄存器;
if(寄存器可以寫)寫寄存器;

}

中斷式程序框架
Step1-3 與查詢式一樣
//Step4 設置其它初始化控制字,並開啟有關中斷。
//step5開中斷
EnableInterrupts;
//step6 進入死循環
For(;;);
}

//step7 設計中斷服務程序,就是中斷響應函數,有幾個中斷向量就寫幾個
Interrupt 中斷號 intResponce(void){
禁止有關中斷;
進行寄存器讀寫操作等;
允許有關中斷;
}
//其中intResponce是函數的名稱,可以自行訂製。


熟悉查詢與中斷的基本工作方式是了解單片機程序的前提。下面就要介紹各種很有用的功能啦。不過為了先揀好玩的說,另外為了給以後的文章做基礎。先說一說它最友好的輸出方式——五位七段數碼的顯示方法

[admin via 研發互助社區 ] MC68HC08單片機程序設計速成已經有1731次圍觀

http://cocdig.com/docs/show-post-42212.html