在众多的51系列单片机中,要算国内STC 公司的1T增强系列更具有竞争力,因他不但和8051指令、管脚完全兼容,而且其片内的具有大容量程序存储器且是FLASH工艺的,如STC12C5A60S2单片机内部就自带高达60K FLASHROM,这种工艺的存储器用户可以用电的方式瞬间擦除、改写。而且STC系列单片机支持串口程序烧写。显而易见,这种单片机对开发设备的要求很低,开发时间也大大缩短。写入单片机内的程序还可以进行加密,这又很好地保护了你的劳动成果。
POF:是判断是上电复位还是中断复位和看门狗复位;
PD:置1时,进入power down模式,可由外部中断低电平触发或下降沿触发中断模式唤醒,也可启动掉电唤醒专用定时器唤醒。唤醒引脚有:INT0/P3.2 ,INT1/P3.3 ,INT/T0/P3.4 ,INT/T1/P3.5 ,/INT/RXD/P3.0 。。。
IDL:置位,进入IDLE模式,除CPU不工作外,其余继续工作,可由任何一个中断唤醒
GF1,GF0:两个通用工作标志位,用户可由任意使用
SMOD:波特率倍速位,置1,串口通讯波特率快一倍
外部中断唤醒:
#include
uchar temp=0xf0; //指示标志
//外部中断初始化
void InitInterrupt()
{
EX0=1;
IT0=1;
IT1=1;
EX1=1;
EA=1;
}
//延时函数1s
void delay(void) //误差 0us
{
unsigned char a,b,c;
for(c=167;c》0;c--)
for(b=171;b》0;b--)
for(a=86;a》0;a--);
// _nop_; //if Keil,require use intrins.h
}
//主函数
void main()
{
uchar num; //指示变量,用于赋值给p2口
InitInterrupt(); //中断初始化
while(1)
{
num++; //每次睡眠唤醒加1
P2=~num; //用p2口显示出来
PCON=0X02; //进入睡眠模式
}
}
//外部中断0
void inter0() interrupt 0
{
temp=~temp;
P1=temp;
delay();
}
//外部中断1
void inter1() interrupt 1
{
temp=~temp;
P1=temp;
delay();
}
//工作在空闲模式,可以使用定时器
#include
uchar temp=0xf0; //指示标志
//外部中断初始化
//延时函数1s
void delay(void) //误差 0us
{
unsigned char a,b,c;
for(c=167;c》0;c--)
for(b=171;b》0;b--)
for(a=86;a》0;a--);
// _nop_; //if Keil,require use intrins.h
}
void InitTimer0(void)
{
TMOD = 0x01;
TH0 = 0x4C;
TL0 = 0x00;
EA = 1;
ET0 = 1;
TR0 = 1;
}
//主函数
void main()
{
uchar num; //指示变量,用于赋值给p2口
InitTimer0();
while(1)
{
num++; //每次睡眠唤醒加1
P2=~num; //用p2口显示出来
PCON=0X01; //进入睡眠模式
}
}
void Timer0Interrupt(void) interrupt 1
{
TH0 = 0x4C;
TL0 = 0x00;
temp=~temp;
P1=temp;
delay();
//add your code here!
}
关键字:stc12c5a60s2 掉电模式 51指令
引用地址:
stc12c5a60s2掉电模式
推荐阅读最新更新时间:2024-11-12 20:12
慎用51单片机中的RET指令
题目:已知有四个按键依次连接单片机中的P3口的0到3的IO口,有四个LED灯连接P1的0到3 IO口,写一程序,满足以下条件:当按下按一个按键,对应的LED会发亮,比如 按下P3.0的按键,连接P1.0的LED就发亮。y 以下是我同学编写的程序: org 0000h mov P1,#0ffh loop: jnb P3.0,led1;* jnb P3.1,led2;* jnb P3.2,led3;* jnb P3.3,led4;* ljmp loop led1: clr P1.0 ret led2: clr P1.1 ret led3: clr P1.2 ret led4: clr P1.3 ret end 程序的意图是,制造
[单片机]
MCS-51程序控制指令的一般性说明
程序控制 指令 又分“无条件转移”、“调用与返回”和“条件转移”等三类。 对程序控制指令应掌握:转移地址如何生成及其转移范围。 注意!MCS-51条件转移指令的运用与计算并无特别的联系。 位值判别转移使程序设计更为灵活,是MCS-51指令系统的特色。 应特别注意变址转移指令JMP与比较转移指令CJNE的用法。
[单片机]
51单片机STC12C5A60S2定时器做延时函数,定时器实现精准延时
/*====================================================================== 利 用 定 时 器 实 现 精 准 延 时 的 调 用 函 数 ========================================================================*/ #include STC12C5A60S2.h typedef unsigned char u8; typedef unsigned int u16; u16 count; //中断次数变量 bit flag = 0; //标志时间结束 //=============
[单片机]
基于STC12C5A60S2单片机的点阵屏完工
通过几天的工作点阵屏终于完工,不过因为缺少元件只能算完成了一半。。。。。。 不想多说直接上C51程序代码 //行扫1#74hc154芯片对应数据输入口:P0^0- P0^3数据输入控制口:P0^4低电平有效;行扫输出为互斥低电平输出; //列扫1#74hc595芯片对应数据输入口:P0^5移位寄存器时钟信号;P0^6存储寄存器数据更新时钟;P0^7数据输出使能,低电平时输出有效; //P2^0串行数据输入 #include reg52.h //包函头文件 #include intrins.h //包函_nop_延时函数的头文件 #define uchar unsigned char//宏定义 #de
[单片机]
MCS51单片机的指令时序
时序是用定时单位来描述的,MCS-51的时序单位有四个,它们分别是节拍、状态、机器周期和指令周期,接下来我们分别加以说明。 ·节拍与状态: 我们把振荡脉冲的周期定义为节拍(为方便描述,用P表示),振荡脉冲经过二分频后即得到整个单片机工作系统的时钟信号,把时钟信号的周期定义为状态(用S表示),这样一个状态就有两个节拍,前半周期相应的节拍我们定义为1(P1),后半周期对应的节拍定义为2(P2)。 ·机器周期: MCS-51有固定的机器周期,规定一个机器周期有6个状态,分别表示为S1-S6,而一个状态包含两个节拍,那么一个机器周期就有12个节拍,我们可以记着S1P1、S1P2……S6P1、S6P2,一个机器周期共
[单片机]
基于GPS和GSM的车辆自动跟踪系统
随着人们生活水平的提高,汽车已逐渐进入了普通家庭,随着汽车数量的逐年增加,汽车被盗、被抢也成为一个较为严重的社会问题。在解决汽车防盗问题上,大部分汽车的报警方式主要采用灯光闪烁和喇叭鸣响,这种防盗方式存在有三种缺陷,一是报警器容易被破坏,而失去防盗功能;二是喇叭鸣响声会造成周边居民生活被严重干扰;三是汽车被盗后,外观稍加改动,就很难追踪。为了解决这些问题,本系统利用GPS定位系统实时跟踪汽车位置,在被盗情况下可利用GSM短信模块随时向车主或公安部门发送汽车的GPS定位信息,加快破案速度。 1 系统工作原理及框图 当车主离开车辆时,即可启动防盗系统,首先车主需设置手机号,以备接收车辆的定位信息,此时,单片机控制GPS
[单片机]
C51的指令与时序的一点总结
我们知道C51的指令存储在ROM中,它需要从ROM中取出指令才能知道该干什么事。一条指令,首先应该告诉计算机要做什么性质的操作,是加减,还是跳转判断等;其次,还需要给出拿去运算的数据,可以是直接的数据(就是立即能用的数,立即数),也可以是数据存放的地址。那么如何告诉计算机我这个操作码后面跟的是立即数还是地址呢?简单,做个记号,用#来表示立即数,没记号的都是地址。取出指令时,要放在指令寄存器IR里,送到指令译码器ID里进行译码,随后生成相应的控制命令C,这一点是自然而然的,因为计算机本身是要通过硬件执行的,一个指令代码要译码过后才能被解读。不然直接给CPU一个10001000它根本不知道该干什么,通过译码,可能也是生成一些10001
[单片机]
由MOVX指令深入分析51单片机总线时序及扩展
简介:分析了MCS单片机 title= 51单片机 target= _blank 51单片机访问外部存储器指令MOVX的执行过程,介绍了51系列单片机使用的四要素;分析了51单片机在外部扩展、总线时序、地址译码方法重点以及对超过64 KB地址空间访问的方法。并以实验室研制的MCS51单片机实验仪为例,分析了外部空间开展的重要性、方法和原理,给出了单片机系统扩展框图和地址译码表。 AT89C51单片机是ATMEL公司设计生产的与MCS51内核兼容的51系列单片机之一,该系列单片机以其优越的性能和成熟的技术在控制和自动化应用领域占有着较大的市场;除此以外,51单片机有着计算机系统中经典的总线结构,即:数据总线、地址总线和控制总线。
[单片机]