新聞中心

51手記之STC

作者: 時間:2016-11-10 來源:網(wǎng)絡(luò) 收藏
STC系列單片機指令代碼完全兼容標準8051,但速度快8-12倍;不同型號單片機區(qū)別:XRAM大小、外設(shè)功能等。
1.基本特性
工作頻率范圍:0-35MHZ,每個機器周期為一個時鐘周期,指令執(zhí)行速度全面提升,最快的提升24倍,最慢的提升3倍。
內(nèi)部集成MAX810專用復(fù)位電路,內(nèi)置一個對VCC進行掉電檢測的掉電檢測電路;
時鐘源:外部高精度晶體/時鐘,內(nèi)部R/C振蕩器;用戶在下載程序時選擇使用外部晶體/時鐘或內(nèi)部R/C振蕩器;
2.存儲器
1)程序存儲器
用戶程序存儲器空間:1/2/3/4/5/6/8/16/20/32/40/48/52/56/60/62K字節(jié)
支持ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),可通過串口(RXD/P3.0,TXD/P3.1)直接下載用戶程序,
2)數(shù)據(jù)存儲器
片上集成256字節(jié)片內(nèi)暫存和512字節(jié)/1K字節(jié)的XRAM;XRAM通過清零AUXR.XRAM來使能。
3.通用I/O口
有5個8位I/O口:P0-P4;復(fù)位后所有I/O口為準雙向口/弱上拉(同普通8051的P1口)。
所有I/O口均可由軟件配置成4種工作類型之一:準雙向口、推挽輸出、僅為輸入(高阻)、開漏輸出;由寄存器PnM1,PnM0設(shè)置。
普通I/O口上電為弱上拉輸出高電平,在I/O口處加一個下拉電阻可使I/O口復(fù)位時為低電平。
1)準雙向口
輸出1時驅(qū)動能力很弱,輸出0時驅(qū)動能力很強,準雙向口讀外部狀態(tài)前,要下鎖存為1,才可讀到外部正確的狀態(tài)。
2)推挽輸出
當(dāng)鎖存器為1時提供持續(xù)的強上拉。
3)僅為輸入(高阻)
輸入口帶有一個施密特觸發(fā)輸入以及一個干擾抑制電路。
4)開漏輸出
作為一個邏輯輸出時,必須有外部上拉,一般通過電阻外接到VDD,這種方式的下拉與準雙向口同,開漏端口帶有一個施密特觸發(fā)輸入以及一個干擾抑制電路。
4.中斷系統(tǒng)
STC11/10系列提供7個中斷源2級中斷優(yōu)先級,STC12C56/STC12C54系列提供7個中斷源4級中斷優(yōu)先級,STC12C5A系列提供10個中斷源4級中斷優(yōu)先級;中斷由中斷控制寄存器IE,IE2和中斷優(yōu)先級寄存器IP,IPH,IP2H配置。
中斷源中斷向量中斷優(yōu)先權(quán)
外部中斷0 03H 0

本文引用地址:http://butianyuan.cn/article/201611/317151.htm 定時/計數(shù)器0 0BH 1

外部中斷1 13H 2

定時/計數(shù)器1 1BH 3

串行口 23H 4

ADC/SPI 2BH 5

LVD33H 6

PCA 3BH 7
串行口2 33H 8
SPI 3BH 9

PCA、RXD、T1、T0輸出腳可通過寄存器WAKE_CLK0配置為外部中斷使用。

5.定時器

有2個16位專用定時器T0、T1;PCA也可用作定時器使用;還有一個看門狗定時器;

定時器0和定時器1完全兼容傳統(tǒng)8051;定時器計數(shù)時鐘源可選擇為系統(tǒng)時鐘的1/12或系統(tǒng)時鐘,通過AUXR.T0x12和AUXR.T1x12設(shè)置(為0時同傳統(tǒng)51,為1時不分頻)。

看門狗由寄存器WDT_CONTR控制,置位WDT_CONTR.CLR_WDT看門狗將重新計數(shù)。

看門狗溢出時間=(12*分頻值*32768)/系統(tǒng)時鐘

6.串行口

2個全雙工串行口,功能同標準51;

串口2使用獨立波特率發(fā)生器,串口1可選擇使用定時器1或獨立波特率發(fā)生器(AUXR.S1BRS為0時使用定時器1,為1時共用獨立波特率發(fā)生器);獨立波特率發(fā)生器的計數(shù)時鐘源為系統(tǒng)時鐘的1/12或系統(tǒng)時鐘(AUXR.BRTx12為0時使用系統(tǒng)時鐘的1/12,為1時使用系統(tǒng)時鐘);兩個串口都使用獨立波特率發(fā)生器時,它們的波特率相同。

獨立波特率發(fā)生器復(fù)位后是關(guān)閉的,需通過AUXR.BRTR=1使能。它有一個8位獨立波特率計數(shù)器BRT。

串行口2波特率計算公式:模式0波特率=系統(tǒng)時鐘/12或系統(tǒng)時鐘/2(AUXR.UART_M0x6為0時同標準51)

模式1,3波特率=f/(256-BRT),f為波特率發(fā)生器計數(shù)器時鐘源頻率

模式2波特率=2S2SMOD*系統(tǒng)時鐘/64

7.PCA(可編程計數(shù)器陣列)

含有一個獨立的16位定時器,2/4個16位捕獲/比較模塊與之相連,每個模塊可編程工作在4種工作模式:上升/下降沿捕獲、軟件定時器、高速輸出、可調(diào)制脈沖輸出。

PCA定時器的時鐘源由CMOD設(shè)置,由PCA控制寄存器CCON控制。

每個PCA模塊的工作模式由寄存器CCAPMn來設(shè)置:

1)捕獲模式

CCAPMn=0x20或0x10或0x30,

對模塊外部CEXn輸入的跳變進行采樣,當(dāng)采樣到有效跳變時,PCA硬件就將PCA計數(shù)陣列CH,CL的值裝載到模塊的捕獲寄存器CCAPnH,CCAPnL中。

2)軟件定時器模式

CCAPMn=0X48,

3)高速輸出模式

CCAPMn=0X4C,

4)脈寬調(diào)節(jié)(PWM)模式

CCAPMn=0x42,

由于所有的PCA模塊共用同一個PCA定時器,所以它們的輸出頻率相同,各個模塊的輸出占空比是獨立變化的,當(dāng)CL的值小于(EPCnL,CCAPnL)時輸出為低,否則輸出高。PWM的輸出頻率=PCA時鐘頻率/256。

8.A/D轉(zhuǎn)換

有8路10位高精度ADC,速度均可達到100KHZ;8路電壓輸入型A/D,可做溫度檢測,電池電壓檢測,按鍵掃描,頻譜檢測。

需作為A/D使用的口需先將其設(shè)置為開漏輸出或僅為輸入模式,

A/D轉(zhuǎn)換由寄存器ADC_CONTR控制,轉(zhuǎn)換結(jié)果存放在ADC_DATA(高8位)和ADC_LOW2(低2位)

9.EEPROM使用

片上集成有數(shù)據(jù)FLASH區(qū),可通過IAP方式對其進行讀寫和擦除操作。

相關(guān)寄存器IAP_CONTR,IAP_CMD、IAP_TRIG、IAP_DATA、IAP_ADDRH、IAP_ADDRL

1)擦除操作
IAP_ADDRH=addrh;
IAP_ADDRL=addrl;
IAP_CONTR=0X81;
IAP_CMD=0x03;
IAP_TRIG=0X5A;
IAP_TRIG=0XA5;
2)讀操作
IAP_ADDRH=addrh;
IAP_ADDRL=addrl;
IAP_CONTR=0X81;
IAP_CMD=READ;
IAP_TRIG=0X5A;
IAP_TRIG=0XA5;
_nop_();
_nop_();
*rdata=IAP_DATA;
3)寫操作
IAP_DATA=*wdata;
IAP_ADDRH=addrh;
IAP_ADDRL=addrl;
IAP_CONTR=0X81;
IAP_CMD=WRITE;
IAP_TRIG=0X5A;
IAP_TRIG=0XA5;


關(guān)鍵詞: 51手記ST

評論


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

關(guān)閉