51单片机介绍及头文件-STC15F104E

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

8脚51单片机介绍及头文件-STC15F104E发布时间:2011-02-15 15:17:36

上次买芯片无意间发现STC也有8个脚的单片机,在我印象中貌似只有ATMEAG有8只脚的。于是乎买了几个回来,今天下了手册研究以下。再次将心得写出来

STC的8脚单片机有直插和SOP两种形式的封装,其中有6个IO口,剩下2个是VCC和GND ,不需要带晶振内部自带有时钟发生电路,在此要说明这种型号的单片机有专用的烧录软件,在宏晶官网都有下载。这6个I O口实际上是我们普通单片机上的P3口,实际编程时也是使用P3.X来实现IO口操作。唯一的不同就是没有硬件的串口,需要用到定时器来模拟(这点不好),但是下载电路和STC的串口下载电路时一样的。不做修改。这个有点费解?下载时用到的是串口形式的下载电路,硬件上使用时却没有串口。杯具啊!

关于IO口的复用功能,除P3.1没有复用功能外,其他引脚均有复用功能。分别是5个外部中断,3个时钟输出,一个复位输入。芯片默认是不需要复位电路的,上电自复位的。可以通过软件来选择引脚作为复位脚。同时在烧录软件上可以选择低压复位。手册上说的是8种。软件上只显示了6种-不解???让人惊喜的是烧录软件上提供硬件开启看门狗功能。还可以选择看门狗分频级数。还是蛮方便的嘛。。。程序又少了几句话。最后要说一点的是该种单片机以E结尾的都有EEPROM喔。例如我买的STC15F104E。

有了这种小的单片机,大家以后做点简单的玩意也不拍浪费了。好东西。支持一下!特附上修改过的STC15F04 E头文件

/*

STC15F104E单片机特殊功能寄存器头文件

*/

#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 低压检测标记位只要VCC小于芯片门槛电压自动置1 需软件清0 同时也是低压检测中断标记位BIT1 PD 为1进入掉电模式硬件清0

BIT0 IDL 为1进入空闲模式硬件清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; //低压检测中断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口的设置寄存器

四种模式

P3M0 P1M1

0 0 与普通的IO口一样

0 1 设置为强推挽模式

1 0 设置为高阻输入模式

1 1 设置为高漏输出模式

*/

sfr P3M0=0XB2;

sfr P3M1=0XB1;

/*

AUXR寄存器

BIT7 T0X12 定时器0速度为传统12倍

BIT6 T1X12 定时器1速度为传统12倍

*/

sfr AUXR=0X8E;//不可以位寻址的

/*

CLK_DIV

时钟分频寄存器控制系统时钟的分频数。12倍速单片机上电默认是不分频的

0 0 0-晶振时钟

0 0 1-晶振时钟/2

0 1 0-晶振时钟/4

。。。。依次类推

*/

sfr CLK_DIV=0X97;

/*

内部时钟输出

IRC_CLK0 BIT7 EN_IRCO 使能时钟输出

BIT3 DIVIRCO 为1使能内部2分频

*/

sfr IRC_CLKO=0XBB;

/*

外部中断使能和时钟输出寄存器

INT_CLKO

BIT6 EX4 外部中断4使能16 中断向量号

BIT5 EX3 外部中断3使能11 中断向量号

BIT4 EX2 外部中断2使能10 中断向量号

BIT1 T1CLKO 允许P3.4管脚输出时钟输出时钟频率由相应的定时器重装值来决定BIT0 T0CLKO 允许P3.5管脚输出时钟

输出时钟频率=(sys_clk)/((256-TH0)*24) 工作在定时器方式28位自动重装模式下*/

sfr INT_CLKO=0X8F;

/*

ISP/IAP控制寄存器

BIT7 IAPEN IAP操作使能

BIT6 SWBS 为1从ISP启动区启动为0从用户应用程序区启动

BIT5 SWRST 为1产生软件复位

BIT4 CMD/FAIL ISP不成功该位置1

BIT2/1/0

相关文档
最新文档