新聞中心

51手記之STC

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

本文引用地址:http://2s4d.com/article/201611/317151.htm 定時(shí)/計(jì)數(shù)器0 0BH 1

外部中斷1 13H 2

定時(shí)/計(jì)數(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.定時(shí)器

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

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

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

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

6.串行口

2個(gè)全雙工串行口,功能同標(biāo)準(zhǔn)51;

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

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

串行口2波特率計(jì)算公式:模式0波特率=系統(tǒng)時(shí)鐘/12或系統(tǒng)時(shí)鐘/2(AUXR.UART_M0x6為0時(shí)同標(biāo)準(zhǔn)51)

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

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

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

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

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

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

1)捕獲模式

CCAPMn=0x20或0x10或0x30,

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

2)軟件定時(shí)器模式

CCAPMn=0X48,

3)高速輸出模式

CCAPMn=0X4C,

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

CCAPMn=0x42,

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

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

有8路10位高精度ADC,速度均可達(dá)到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方式對(duì)其進(jìn)行讀寫和擦除操作。

相關(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

評(píng)論


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

關(guān)閉