機(jī)電之家資源網(wǎng)
單片機(jī)首頁(yè)|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
MC68HC08單片機(jī)程序設(shè)計(jì)速成
MC68HC08單片機(jī)程序設(shè)計(jì)速成
 更新時(shí)間:2008-8-18 14:58:29  點(diǎn)擊數(shù):32
【字體: 字體顏色

    為了禰補(bǔ)單片機(jī)軟件設(shè)計(jì)教材資源的缺乏,本資料著重從軟件設(shè)計(jì)的角度介紹MC68HC908GP32單片機(jī)的軟件編寫方法和應(yīng)用示例。利用獨(dú)立的文章的形式介紹了此單片機(jī)的端口、瑣相環(huán)、AD轉(zhuǎn)換、串行通信、鍵盤中斷、定時(shí)器以及外連芯片MC11489等應(yīng)用。
    本著用多少學(xué)多少的原則,刪除了許多不常用的寄存器值得含義,對(duì)重要的知識(shí)點(diǎn)均以加粗方式標(biāo)出。達(dá)到速成的目的。
    此資料所有代碼經(jīng)作者精心組織編寫并在北京理工大學(xué)卡爾飛思實(shí)驗(yàn)室BMTC——MC68HC08單片機(jī)系統(tǒng)V3.0實(shí)驗(yàn)板調(diào)試通過(guò)。

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

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

}

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

//step7 設(shè)計(jì)中斷服務(wù)程序,就是中斷響應(yīng)函數(shù),有幾個(gè)中斷向量就寫幾個(gè)
Interrupt 中斷號(hào) intResponce(void){
禁止有關(guān)中斷;
進(jìn)行寄存器讀寫操作等;
允許有關(guān)中斷;
}
//其中intResponce是函數(shù)的名稱,可以自行訂制。


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

共7頁(yè): 上一頁(yè) 1 [2] [3] [4] [5] [6] [7] 下一頁(yè)

<!--自定義字段-->
  • 上一篇: 基于ARM9芯片S3C2410a的GPRS數(shù)據(jù)終端設(shè)計(jì)
  • 下一篇: S3C2410網(wǎng)卡CS8900A驅(qū)動(dòng)程序的移植及問(wèn)題解析
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁(yè)  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1