在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 全球主流8位MCU芯片詳細(xì)解剖No.1:飛思卡爾 MC9S08AC60

            全球主流8位MCU芯片詳細(xì)解剖No.1:飛思卡爾 MC9S08AC60

            作者: 時(shí)間:2016-11-29 來源:網(wǎng)絡(luò) 收藏

              后臺(tái)/模式選擇(BKGD/MS)

              在復(fù)位時(shí),BKGD/MS 引腳充當(dāng)模式選擇引腳。復(fù)位完成后,該引腳立即作為后臺(tái)引腳,可以用于后臺(tái)調(diào)試通信。當(dāng)作為后臺(tái)/模式模式選擇引腳時(shí), 該引腳包括一個(gè)內(nèi)部上拉器件,有輸入滯后,且無輸出斜率控制。當(dāng)引腳作為后臺(tái)引腳時(shí),它包括一個(gè)高電流輸出驅(qū)動(dòng)。當(dāng)該引腳作為模式選擇引腳時(shí),它只有輸入,因此不包含標(biāo)準(zhǔn)的輸出驅(qū)動(dòng)。

              ADC 參考引腳(VREFH, VREFL)

              VREFH和VREFL 引腳分別為ADC模塊的電壓參考高輸入和電壓參考低輸入。

              外部中斷引腳 (IRQ)

              IRQ 引腳是IRQ中斷的輸入源,也是BIH 和BIL指令的輸入。如果未使能IR功能,這個(gè)引腳仍配置為TPMCLK 。

              通用I/O和外設(shè)端口

              剩余的引腳被通用I/O和片上外設(shè)功能,如定時(shí)器和串行I/O系統(tǒng)共用。復(fù)位后,所有這些引腳立即配置為高阻抗通用輸入,且內(nèi)部上拉器件關(guān)閉。

              重要模塊分析

              存儲(chǔ)器

              MC9S08AC60系列MCU中的片上存儲(chǔ)器包括RAM、非易失性數(shù)據(jù)存儲(chǔ)的Flash存儲(chǔ)器、I/O 和控制/ 狀態(tài)寄存器。這些寄存器可分為以下三類:

              • 直接頁面寄存器

              • 高位頁面寄存器

              • 非易失性寄存器

              復(fù)位、中斷和系統(tǒng)配置

              復(fù)位和中斷特性包括:

              • 多源復(fù)位,實(shí)現(xiàn)靈活的系統(tǒng)配置和可靠操作

              • 加電檢測(cè)(POR)

              • 低壓檢測(cè)(LVD),使能

              • 外部RESET 引腳

              • COP 看門狗使能,及兩個(gè)超時(shí)選擇

              • 非法操作代碼

              • 來自后臺(tái)調(diào)試主機(jī)的串行命令

              • 復(fù)位狀態(tài)寄存器(SRS) ,指示最新復(fù)位的源

              • 每個(gè)模塊的單獨(dú)中斷向量 (減少輪詢開銷)

              并行輸入 / 輸出

              通過端口數(shù)據(jù)寄存器讀/ 寫并行I/O。輸入輸出方向由端口數(shù)據(jù)方向寄存器控制。下面的結(jié)構(gòu)圖舉例了一個(gè)引腳的并行I/O端口功能。

              中央處理單元 (S08CPUV2)

              HCS08 CPU具有以下特性:

              • 目標(biāo)代碼完全兼容M68HC05和M68HC08家族

              • 所有寄存器和存儲(chǔ)器映射到一個(gè)獨(dú)立的64 KB的地址空間

              • 16位堆棧指針 (64 K字節(jié)地址空間內(nèi)任意大小、任意地址的堆棧)

              • 16位變址寄存器 (H:X)支持強(qiáng)大的索引地址模式

              • 8位累加器 (A)

              • 許多指令把X作為第二個(gè)通用8位寄存器

              • 7種尋址模式:

              • 固有尋址模式 — 操作數(shù)存于內(nèi)部寄存器

              • 相對(duì)尋址模式 —8位有符號(hào)偏移量的分支地址

              • 立即尋址模式 — 操作數(shù)位于下一個(gè)目標(biāo)代碼

              • 直接尋址模式 — 操作數(shù)位于0x0000到0x00FF之間

              • 擴(kuò)展尋址模式 — 操作數(shù)位于64K字節(jié)地址空間內(nèi)

              • H:X相對(duì)變址尋址模式 — 提供包括自動(dòng)增量在內(nèi)的5種子模式

              • SP相對(duì)變址尋址模式 — 大大提高C語言編譯的效率

              • 提供四種尋址模式組合的寄存器-寄存器數(shù)據(jù)轉(zhuǎn)移指令

              • 溢出、半進(jìn)位、負(fù)、零和進(jìn)位狀況碼支持根據(jù)帶符號(hào)、無符號(hào)、BCD碼操作的結(jié)果進(jìn)行條件轉(zhuǎn)移

              • 高效率的位操作指令

              • 快速8位乘8位和16位除8位指令

              • STOP和WAIT指令調(diào)用低功耗運(yùn)行模式

              模數(shù)轉(zhuǎn)換器(S08ADC10V1)

              10位模數(shù)轉(zhuǎn)換器 (ADC)是新一代的逼近模數(shù)轉(zhuǎn)換器,在集成的微處理器片上系統(tǒng)中運(yùn)行。 這種ADC模塊設(shè)計(jì)支持最高28個(gè)獨(dú)立的模擬輸入 (AD0-AD27)。MC9S08AC60系列微處理器上只使用了其中18個(gè)(AD0-AD15、AD26和AD27)輸入。這些輸入通過ADCH位選擇。

              ADC模塊特點(diǎn)包括:

              • 線性逐次逼近算法,10位精度。

              • 多達(dá)28個(gè)模擬輸入。

              • 8位或10位右對(duì)齊格式輸出

              • 單個(gè)或連續(xù)的轉(zhuǎn)換 (單個(gè)轉(zhuǎn)換后自動(dòng)返回到空閑)

              • 設(shè)置采樣時(shí)間和轉(zhuǎn)換速度 (功率)

              • 轉(zhuǎn)換完成標(biāo)志和中斷

              • 輸入時(shí)鐘可以選擇高達(dá)四個(gè)時(shí)鐘源

              • 在等待或stop3模式中操作為低噪音操作

              • 異步時(shí)鐘源的低噪音操作

              • 可選的異步硬件轉(zhuǎn)換觸發(fā)

              • 自動(dòng)比較小于,大于或等于編程值

              • 溫度傳感器

              時(shí)鐘顯示程序

              使用MC9S08AC的Timer做一個(gè)時(shí)鐘,并在LCD1602上顯示

              lcd1602.h

              #ifndef _NICROSYSTEM_FREESCALE_S08_DEVKIT_LCD1602_H_

              #define _NICROSYSTEM_FREESCALE_S08_DEVKIT_LCD1602_H_

              unsigned char lcd_status(void);

              void lcd_init(void);

              void lcd_write_char(unsigned char x,unsigned char y, unsigned char ch);

              void lcd_write_str(unsigned char x,unsigned char y,unsigned char *s);

              void lcd_write_data(unsigned char data);

              void lcd_write_cmd(unsigned char cmd);

              #endif

              lcd1602.c

              #include "lcd1602.h"

              #include "derivative.h"

              #define LCD_DATA PTED

              #define LCD_DATA_DIR PTEDD

              #define LCD_DATA_DS PTEDS

              #define LCDRS PTAD_PTAD0

              #define LCDRW PTAD_PTAD1

              #define LCDE PTBD_PTBD0

              #define LCDRS_DIR PTADD_PTADD0

              #define LCDRW_DIR PTADD_PTADD1

              #define LCDE_DIR PTBDD_PTBDD0

              #define LCDE_DS PTBDS_PTBDS0

              #define LCDRS_DS PTADS_PTADS0

              #define LCDRW_DS PTADS_PTADS1

              void lcd_clear(void);

              void lcd_write_cmd(unsigned char cmd);

              void init_lcd() {

              LCD_DATA_DIR=0xff;

              LCDRS_DIR=1;

              LCDRW_DIR=1;

              LCDE_DIR=1;

              LCDRS_DS=1;

              LCDRW_DS=1;

              LCDE_DS=1;

              LCD_DATA_DS=0xff;

              LCD_DATA=0;

              LCDE=1;

              asm("nop");

              asm("nop");

              asm("nop");

              asm("nop");

              asm("nop");

              asm("nop");

              lcd_clear();

              lcd_write_cmd(0x38);//設(shè)置lcd功能:8位總線,雙行顯示,5X7點(diǎn)陣字符

              lcd_write_cmd(0x0f);//顯示開關(guān)控制:顯示ON,光標(biāo)ON,閃爍ON

              lcd_write_cmd(0x06);//光標(biāo)輸入方式增量移位

              lcd_write_cmd(0x80);

              }

              unsigned char lcd_status() {

              byte lcdstatus;

              LCD_DATA_DIR=0x00;

              LCDRS=0;

              LCDRW=1;

              LCDE=0;

              asm("nop");

              asm("nop");

              asm("nop");

              asm("nop");

              LCDE=1;

              lcdstatus=LCD_DATA;

              LCD_DATA_DIR=0xff;

              return lcdstatus;

              }

              void lcd_write_cmd(unsigned char cmd) {

              byte status;

              LCD_DATA=cmd;

              LCDRS=0;

              LCDRW=0;

              LCDE=0;

              asm("nop");

              asm("nop");

              asm("nop");

              asm("nop");

              do{

              status=lcd_status();

              }

              while(status&0x80);

              LCDE=1;

              }

              void lcd_clear(void) {

              lcd_write_cmd(0x01);

              }

              void lcd_write_data(unsigned char data) {

              byte status;

              LCD_DATA=data;

              LCDRS=1;

              LCDRW=0;

              LCDE=0;

              asm("nop");

              asm("nop");

              asm("nop");

              asm("nop");

              do{

              status=lcd_status();

              }

              while(status&0x80);

              LCDE=1;

              }



            評(píng)論


            技術(shù)專區(qū)

            關(guān)閉