日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]MPC82G516為臺(tái)灣笙泉公司生產(chǎn)的8位MCU,兼容8051。內(nèi)建PCA功能6個(gè)模塊,模塊0—5對(duì)應(yīng)P1.2—P1.7, P1.1為輸入脈沖源ECI。本文記錄了測(cè)試PCA的代碼和過(guò)程,重點(diǎn)分析各寄存器的設(shè)置,還通過(guò)邏輯分析儀記錄相關(guān)波形。ST

MPC82G516為臺(tái)灣笙泉公司生產(chǎn)的8位MCU,兼容8051。內(nèi)建PCA功能6個(gè)模塊,模塊0—5對(duì)應(yīng)P1.2—P1.7, P1.1為輸入脈沖源ECI。本文記錄了測(cè)試PCA的代碼和過(guò)程,重點(diǎn)分析各寄存器的設(shè)置,還通過(guò)邏輯分析儀記錄相關(guān)波形。STC15F60S2等芯片也內(nèi)建PCA功能,不過(guò)僅3模塊,但功能更為豐富,設(shè)置編程過(guò)程大同小異,可參考。

1、相關(guān)寄存器:

寄存器

功能

地址

7

6

5

4

3

2

1

0

描述

CCON

控制

D8

CF

CR

CCF5

CCF4

CCF3

CCF2

CCF1

CCF0

CR:?jiǎn)⑼CA總計(jì)數(shù)器

CF:PCA總計(jì)數(shù)器溢出標(biāo)志

CCF0-5:各模塊中斷標(biāo)志

CMOD

模式

D9

CIDL

CPS1

CPS0

ECF

CIDL:空閑模式是否計(jì)數(shù)

CPS1、CPS0:時(shí)鐘源:12分.2分.T0.ECI.四選一

ECF:PCA計(jì)數(shù)溢出中斷

AUXIE

中斷

AD

EKB

ES2

EBD

EPCA

EADC

ESPI

EPCA:PCA中斷開關(guān)

CCAPM

0-5

模塊模式

DA-

DF

ECOM

0-5

CAPP

0-5

CAPN

0-5

MAT

0-5

TOG

0-5

PWM

0-5

ECCF

0-5

ECOMn 允許比較

CAPPn 上升CAPNn 下降

MATn 匹配CCFn位

TOGn 匹配翻轉(zhuǎn)引腳電平

PWM脈寬調(diào)制輸出

ECCFn 使能中斷信號(hào)CCFn

CCAPnL

捕獲

寄存器

EA-EF









比較:先設(shè)初值,與PCA比較

捕獲:捕獲PCA值到寄存器

CCAPnH

FA-FF









PCAP

WM0-5

PWM

模式

F2-

F7

ECA

PnH

0-5

ECA

PnL

0-5

PWM時(shí)作為第9位

用于設(shè)定占空比

CL、CH

PCA










PCA總計(jì)數(shù)器

AUXR1

引腳

8E

P4KB

P4PCA

P4SPI

P4S2

GF2

DPS

P4PCA:引腳切換到P4口

2、比較、捕獲模式設(shè)置寄存器CCAPM0-5:

CCAPMn

16進(jìn)值

有/無(wú)中斷

功能

備注

-000 0000


無(wú)操作


-x10 000x

20/21

16位CEXn引腳上升沿觸發(fā)捕獲模式

捕獲值不處理僅進(jìn)中斷,相當(dāng)于增加了外部中斷功能

-x01 000x

10/11

16位CEXn引腳下降沿觸發(fā)捕獲模式

-x11 000x

30/31

16位CEXn引腳有跳變沿觸發(fā)捕獲模式

-100 100x

48/49

16位軟件定時(shí)器

均需進(jìn)中斷重設(shè)比較值,并清0中斷標(biāo)志,因此最小定時(shí)值>=5us。差別是定時(shí)器僅利用中斷信號(hào),高速輸出則利用對(duì)應(yīng)引腳電平的翻轉(zhuǎn)

-100 110x

4C/4D

16位高速輸出

-100 0010

42/

8位PWM

占空比=1-[ECAPnH,CCAPnL]/256






3、PCA功能使用步驟:

  1) 確定CCON=0x00;一般先清0

  2)確定CMOD=0x00;00不開PCA中斷,01開;脈沖源為FSOC/12

  3)AUXIE = 0x04;打開PCA總中斷開關(guān),捕獲及定時(shí)均要打開,PWM時(shí)可關(guān)閉

  4)設(shè)置各模塊工作模式寄存器CCAPMn,見表2

  5)設(shè)置PCA計(jì)數(shù)器初值:CL=0;CH=0

  6)定時(shí)或高速輸出時(shí),需設(shè)置CCAPnL及CCAPnH值

  7)PWM功能時(shí),需設(shè)置CCAPnH(及ECAPnH在PCAPWM寄存器中)

  8)啟動(dòng)PCA計(jì)數(shù):CR=1;如有必要打開總中斷:EA=1

  9)寫中斷處理函數(shù),MPC82G516的PCA中斷向量為10(53H),STC15F60S2為7


4、PCA功能邏輯圖:


5、PCA中斷邏輯示意圖:

6、PCA中斷向量

MPC82G516的PCA中斷編號(hào)為10。STC15F60S2的中斷矢量為7。


測(cè)試1:PCA總計(jì)數(shù)器溢出中斷

思路:不使用任何模塊,僅啟動(dòng)PCA總計(jì)數(shù)器,為方便觀察,開通中斷并在中斷處理程序中設(shè)置觀察變量(P2.1)作電平翻轉(zhuǎn),再用邏輯分析儀觀察其變化。

步驟:

1、CCON清0,各中斷標(biāo)志清0,關(guān)閉PCA計(jì)數(shù)

2、CMOD:設(shè)置脈沖源,置位ECF(允許總PCA計(jì)數(shù)溢出中斷)

3、打開各級(jí)中斷:AUXIE中設(shè)EPCA,開總中斷EA

4、啟動(dòng)PCA:CR=1

在p2.1可觀察到65.536寬度電平翻轉(zhuǎn)。程序如下:

程序:

#include "REG_MPC82G516.H"

#include "intrins.h"

sbit LED =P2^1;//測(cè)試LED

void PCA_isr() interrupt 10 //注意中斷向量號(hào)為10,STC15F為7

{

CF=0;//清中斷

LED=!LED;//LED取反

}

void main()

{

CCON=0;

CL=0;

CH=0;

CMOD=0x01;//12分頻。使用0x03則為系統(tǒng)時(shí)鐘2分頻

AUXIE=0x04;

EA=1;

CR=1;

while(1);

}

FOSC/12:PCA計(jì)數(shù)每65.531ms溢出一次(理論值應(yīng)為65.536ms)

如果改脈沖源為FOSC/2:PCA計(jì)數(shù)每10.922ms溢出一次


測(cè)試2:PCA模塊0用作捕獲模式,CEX0引發(fā)中斷

思路:

模塊0設(shè)置為捕獲模式,捕獲信號(hào)由模塊0對(duì)應(yīng)的引腳P1.2輸出,可上升、下降或邊緣觸發(fā),具體通過(guò)設(shè)置CCAPM0來(lái)實(shí)現(xiàn),見表2。

下降沿觸發(fā)捕獲:CCAPM0=0x11 (00010001),即CAPN0=1、ECCF0=1可直接短接CEX0/P1.2與地來(lái)獲得下降沿;

上升沿觸發(fā)捕獲:CCAPM0=0x21 (00100001) 需先短接CEX0/P1.2與地、再釋放來(lái)獲得上升沿;

注意MCU的四個(gè)端口復(fù)位后均為“準(zhǔn)雙向口”,開路時(shí)內(nèi)部有弱上拉。

當(dāng)CEX0觸發(fā)捕獲時(shí),捕獲到的數(shù)據(jù)并不作處理(如帶仿真,可仿真時(shí)查看到該捕獲值),因此本程序相當(dāng)于為單片機(jī)增加了一個(gè)外部中斷功能。

程序:

#include "REG_MPC82G516.H"

#include "intrins.h"

sbit LED =P2^1;//測(cè)試LED

sbit LED2=P2^2;//接LED觀察

void PCA_isr() interrupt 10

{

unsigned charTmpL;//臨時(shí)變量,暫存捕獲值

unsigned charTmpH;

//CF=0; //清中斷(PCA計(jì)數(shù)溢出,這里不必使用)

LED=!LED;//LED取反

if (CCF0)//當(dāng)CEX0(P1.2)觸發(fā)捕獲時(shí),引發(fā)中斷CCF0

{

TmpL=CCAP0L;

TmpH=CCAP0H;

CCF0=0;//軟件清中斷

//P12=1;//拉高測(cè)試引腳,用于下次下降沿觸發(fā)

LED2=!LED2;//可接發(fā)光二極管觀察中斷產(chǎn)生情況

}

}

void main()

{

CCON=0;

CL=0;

CH=0;

CMOD=0x00;//模式:FSOC/12、ECF禁止PCA中斷(以免產(chǎn)生無(wú)效中斷)

AUXIE=0x04;//打開PCA總中斷

CCAPM0 =0x11;//模塊0設(shè)置為外部引腳上升沿觸發(fā)捕獲模式,并產(chǎn)生模塊0的中斷信息CCF0

EA=1;

CR=1;

//P12=1;

while(1);

}


測(cè)試3:PCA模塊0、1用作16位定時(shí)模式

思路:

PCA各模塊如用作定時(shí)器,因16位PCA計(jì)數(shù)器啟動(dòng)后,總是從0000—FFFF循環(huán)計(jì)數(shù),比較寄存器[CCAPnH + CCAPnL]如裝載固定值的話,每個(gè)PCA計(jì)數(shù)周期(65535個(gè)脈沖)只能產(chǎn)生一次比較相同輸出,為了實(shí)現(xiàn)自定義的計(jì)數(shù)值,必須在每次計(jì)數(shù)中斷后給[CCAPnH + CCAPnL]加一個(gè)固定值,這樣PCA計(jì)數(shù)到新值后又能產(chǎn)生中斷輸出,達(dá)到定時(shí)器的目的;

編程步驟:

  1) CCON清0,各中斷標(biāo)志清0,關(guān)閉PCA計(jì)數(shù)

  2)CMOD:設(shè)置脈沖源,置位ECF(允許總PCA計(jì)數(shù)溢出中斷)

  3)PCA計(jì)數(shù)器CH+CL=0000,比較寄存器[CCAPnH + CCAPnL]+=T(T為定時(shí)值)

  4)設(shè)置本模塊工作方式為16位定時(shí)器:CCAPM0 =0x49

  5)打開各級(jí)中斷:AUXIE=0x04 開總中斷EA

  6) 啟動(dòng)PCA:CR=1

  7) 中斷處理程序:添加代碼 [CCAPnH + CCAPnL]+=T,作為下次比較值

  觀察辦法:

在中斷程序中設(shè)置變量LED/P2.1(模塊1用LED2),每次中斷反轉(zhuǎn)以輸出方波(接邏輯儀分析)

  代碼:(模塊0定時(shí)1ms,模塊1定時(shí)3ms)

#include "REG_MPC82G516.H"

#include "intrins.h"

sbit LED =P2^1;//測(cè)試LED

sbit LED2=P2^2;//接LED觀察

unsigned int t0=1000;//定義16位變量t,定時(shí)1ms

unsigned int t1=3000;//定義16位變量t,定時(shí)3ms

unsigned int value0;

unsigned int value1;

void PCA_isr() interrupt 10

{

if(CCF0)

{

CCF0=0;//清中斷,因PCA計(jì)數(shù)溢出中斷已禁止,所以這里不必再清CF

CCAP0L = value0; //更新比較值

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

8位單片機(jī)在嵌入式設(shè)計(jì)領(lǐng)域已經(jīng)成為半個(gè)多世紀(jì)以來(lái)的主流選擇。盡管嵌入式系統(tǒng)市場(chǎng)日益復(fù)雜,8位單片機(jī)依然不斷發(fā)展,積極應(yīng)對(duì)新的挑戰(zhàn)和系統(tǒng)需求。如今,Microchip推出的8位PIC?和AVR?單片機(jī)系列,配備了先進(jìn)的獨(dú)立...

關(guān)鍵字: 單片機(jī) 嵌入式 CPU

在嵌入式系統(tǒng)開發(fā)中,程序燒錄是連接軟件設(shè)計(jì)與硬件實(shí)現(xiàn)的關(guān)鍵環(huán)節(jié)。當(dāng)前主流的單片機(jī)燒錄技術(shù)已形成ICP(在電路編程)、ISP(在系統(tǒng)編程)、IAP(在應(yīng)用編程)三大技術(shù)體系,分別對(duì)應(yīng)開發(fā)調(diào)試、量產(chǎn)燒錄、遠(yuǎn)程升級(jí)等不同場(chǎng)景。...

關(guān)鍵字: 單片機(jī) ISP ICP IAP 嵌入式系統(tǒng)開發(fā)

在嵌入式系統(tǒng)開發(fā)中,看門狗(Watchdog Timer, WDT)是保障系統(tǒng)可靠性的核心組件,其初始化時(shí)機(jī)的選擇直接影響系統(tǒng)抗干擾能力和穩(wěn)定性。本文從硬件架構(gòu)、軟件流程、安全規(guī)范三個(gè)維度,系統(tǒng)分析看門狗初始化的最佳實(shí)踐...

關(guān)鍵字: 單片機(jī) 看門狗 嵌入式系統(tǒng)

本文中,小編將對(duì)單片機(jī)予以介紹,如果你想對(duì)它的詳細(xì)情況有所認(rèn)識(shí),或者想要增進(jìn)對(duì)它的了解程度,不妨請(qǐng)看以下內(nèi)容哦。

關(guān)鍵字: 單片機(jī) 開發(fā)板 Keil

隨著單片機(jī)系統(tǒng)越來(lái)越廣泛地應(yīng)用于消費(fèi)類電子、醫(yī)療、工業(yè)自動(dòng)化、智能化儀器儀表、航空航天等各領(lǐng)域,單片機(jī)系統(tǒng)面臨著電磁干擾(EMI)日益嚴(yán)重的威脅。電磁兼容性(EMC)包含系統(tǒng)的發(fā)射和敏感度兩方面的問(wèn)題。

關(guān)鍵字: 單片機(jī) 電磁兼容

以下內(nèi)容中,小編將對(duì)單片機(jī)的相關(guān)內(nèi)容進(jìn)行著重介紹和闡述,希望本文能幫您增進(jìn)對(duì)單片機(jī)的了解,和小編一起來(lái)看看吧。

關(guān)鍵字: 單片機(jī) 復(fù)位電路

在這篇文章中,小編將為大家?guī)?lái)單片機(jī)的相關(guān)報(bào)道。如果你對(duì)本文即將要講解的內(nèi)容存在一定興趣,不妨繼續(xù)往下閱讀哦。

關(guān)鍵字: 單片機(jī) 異常復(fù)位

今天,小編將在這篇文章中為大家?guī)?lái)單片機(jī)的有關(guān)報(bào)道,通過(guò)閱讀這篇文章,大家可以對(duì)它具備清晰的認(rèn)識(shí),主要內(nèi)容如下。

關(guān)鍵字: 單片機(jī) 仿真器

單片機(jī)將是下述內(nèi)容的主要介紹對(duì)象,通過(guò)這篇文章,小編希望大家可以對(duì)它的相關(guān)情況以及信息有所認(rèn)識(shí)和了解,詳細(xì)內(nèi)容如下。

關(guān)鍵字: 單片機(jī) 中斷 boot

一直以來(lái),單片機(jī)都是大家的關(guān)注焦點(diǎn)之一。因此針對(duì)大家的興趣點(diǎn)所在,小編將為大家?guī)?lái)單片機(jī)的相關(guān)介紹,詳細(xì)內(nèi)容請(qǐng)看下文。

關(guān)鍵字: 單片機(jī) 數(shù)字信號(hào) 模擬信號(hào)
關(guān)閉