找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 12632|回復(fù): 1
收起左側(cè)

8腳51單片機(jī)介紹及頭文件-STC15F104E

[復(fù)制鏈接]
ID:75926 發(fā)表于 2015-4-2 22:55 | 顯示全部樓層 |閱讀模式
STC的8腳單片機(jī)有直插和SOP兩種形式的封裝,其中有6個(gè)IO口,剩下2個(gè)是VCC和GND ,不需要帶晶振內(nèi)部自帶有時(shí)鐘發(fā)生電路,在此要說(shuō)明這種型號(hào)的單片機(jī)有專用的燒錄軟件,在宏晶官網(wǎng)都有下載。這6個(gè)IO口實(shí)際上是我們普通單片機(jī)上的P3口,實(shí)際編程時(shí)也是使用P3.X來(lái)實(shí)現(xiàn)IO口操作。唯一的不同就是沒(méi)有硬件的串口,需要用到定時(shí)器來(lái)模擬(這點(diǎn)不好),但是下載電路和STC的串口下載電路時(shí)一樣的。不做修改。這個(gè)有點(diǎn)費(fèi)解?下載時(shí)用到的是串口形式的下載電路,硬件上使用時(shí)卻沒(méi)有串口。杯具!
關(guān)于IO口的復(fù)用功能,除P3.1沒(méi)有復(fù)用功能外,其他引腳均有復(fù)用功能。分別是5個(gè)外部中斷,3個(gè)時(shí)鐘輸出,一個(gè)復(fù)位輸入 。芯片默認(rèn)是不需要復(fù)位電路的,上電自復(fù)位的。可以通過(guò)軟件來(lái)選擇引腳作為復(fù)位腳。同時(shí)在燒錄軟件上可以選擇低壓復(fù)位。手冊(cè)上說(shuō)的是8種。軟件上只顯示了6種-不解???讓人驚喜的是燒錄軟件上提供硬件開(kāi)啟看門狗功能。還可以選擇看門狗分頻級(jí)數(shù)。還是蠻方便的嘛。。。程序又少了幾句話 。最后要說(shuō)一點(diǎn)的是該種單片機(jī)以E結(jié)尾的都有EEPROM喔。例如我買的STC15F104E。
有了這種小的單片機(jī),大家以后做點(diǎn)簡(jiǎn)單的玩意也不拍浪費(fèi)了。好東西。支持一下!特附上修改過(guò)的STC15F04E頭文件
/*
STC15F104E單片機(jī)特殊功能寄存器頭文件
*/
#ifndef __REG52_H__
#define __REG52_H__
/*  BYTE Registers  */
sfr P3    = 0xB0;
sfr PSW   = 0xD0;
sfr ACC   = 0xE0;
sfr B     = 0xF0;
sfr SP    = 0x81;
sfr DPL   = 0x82;
sfr DPH   = 0x83;
/*
BIT5 LVDF 低壓檢測(cè)標(biāo)記位 只要VCC小于芯片門檻電壓 自動(dòng)置1 需軟件清0 同時(shí)也是低壓檢測(cè)中斷標(biāo)記位
BIT1 PD 為1進(jìn)入掉電模式  硬件清0
BIT0 IDL 為1進(jìn)入空閑模式 硬件清0
*/
sfr PCON  = 0x87;
sfr TCON  = 0x88;
sfr TMOD  = 0x89;
sfr TL0   = 0x8A;
sfr TL1   = 0x8B;
sfr TH0   = 0x8C;
sfr TH1   = 0x8D;
sfr IE    = 0xA8;
sfr IP    = 0xB8;
/*  PSW  */
sbit CY    = PSW^7;
sbit AC    = PSW^6;
sbit F0    = PSW^5;
sbit RS1   = PSW^4;
sbit RS0   = PSW^3;
sbit OV    = PSW^2;
sbit P     = PSW^0; //8052 only
/*  TCON  */
sbit TF1   = TCON^7;
sbit TR1   = TCON^6;
sbit TF0   = TCON^5;
sbit TR0   = TCON^4;
sbit IE1   = TCON^3;
sbit IT1   = TCON^2;
sbit IE0   = TCON^1;
sbit IT0   = TCON^0;
/*  IE  */
sbit EA    = IE^7;
sbit ELVD  = IE^6; //低壓檢測(cè)中斷
sbit ET1   = IE^3;
sbit EX1   = IE^2;
sbit ET0   = IE^1;
sbit EX0   = IE^0;
/*  IP  */
sbit PT1   = IP^3;
sbit PX1   = IP^2;
sbit PT0   = IP^1;
sbit PX0   = IP^0;
/*  P3  */
sbit RD    = P3^7;
sbit WR    = P3^6;
sbit T1    = P3^5;
sbit T0    = P3^4;
sbit INT1  = P3^3;
sbit INT0  = P3^2;
sbit TXD   = P3^1;
sbit RXD   = P3^0;
/*IO口的設(shè)置寄存器
四種模式
P3M0 P1M1
0      0    與普通的IO口一樣
0      1    設(shè)置為強(qiáng)推挽模式
1      0    設(shè)置為高阻輸入模式
1      1    設(shè)置為高漏輸出模式
*/
sfr P3M0=0XB2;
sfr P3M1=0XB1;
/*
AUXR寄存器
BIT7 T0X12 定時(shí)器0速度為傳統(tǒng)12倍
BIT6 T1X12 定時(shí)器1速度為傳統(tǒng)12倍
*/
sfr AUXR=0X8E;//不可以位尋址的
/*
CLK_DIV
時(shí)鐘分頻寄存器控制系統(tǒng)時(shí)鐘的分頻數(shù)。12倍速單片機(jī)上電默認(rèn)是不分頻的
0 0 0-晶振時(shí)鐘
0 0 1-晶振時(shí)鐘/2
0 1 0-晶振時(shí)鐘/4
。。。。依次類推
*/
sfr CLK_DIV=0X97;

/*
內(nèi)部時(shí)鐘輸出
IRC_CLK0 BIT7 EN_IRCO 使能時(shí)鐘輸出
   BIT3 DIVIRCO 為1使能內(nèi)部2分頻
*/
sfr IRC_CLKO=0XBB;
/*
外部中斷使能和時(shí)鐘輸出寄存器
INT_CLKO
BIT6 EX4 外部中斷4使能   16 中斷向量號(hào)
BIT5 EX3 外部中斷3使能   11 中斷向量號(hào)
BIT4 EX2 外部中斷2使能   10 中斷向量號(hào)  
BIT1 T1CLKO 允許P3.4管腳輸出時(shí)鐘  輸出時(shí)鐘頻率由相應(yīng)的定時(shí)器重裝值來(lái)決定
BIT0 T0CLKO 允許P3.5管腳輸出時(shí)鐘
輸出時(shí)鐘頻率=(sys_clk)/((256-TH0)*24)  工作在定時(shí)器方式28位自動(dòng)重裝模式下
*/
sfr INT_CLKO=0X8F;
/*
ISP/IAP控制寄存器
BIT7 IAPEN IAP操作使能
BIT6 SWBS 為1從ISP啟動(dòng)區(qū)啟動(dòng) 為0從用戶應(yīng)用程序區(qū)啟動(dòng)
BIT5 SWRST 為1產(chǎn)生軟件復(fù)位
BIT4 CMD/FAIL ISP不成功該位置1
BIT2/1/0
*/
sfr IAP_CONTR=0XC7;
/*
看門狗控制寄存器
WDT_CONTR
BIT7 WDT_FLAG 看門狗溢出標(biāo)記
BIT5 EN_WDT 看門狗允許位
BIT4 CLR_WDT 清看門狗 為1看門狗計(jì)數(shù)值清零
BIT3 IDLE_WDT 為1在空閑模式下看門狗仍然工作
BIT2/1/0看門狗溢出時(shí)間選擇
可硬件啟動(dòng)看門狗
*/
sfr WDT_CONTR=0XC1;
#endif



回復(fù)

使用道具 舉報(bào)

ID:117030 發(fā)表于 2017-2-10 08:35 | 顯示全部樓層
謝謝分享,學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表