当前位置:文档之家› STC89C52RC单片机的特点

STC89C52RC单片机的特点

STC89C52RC单片机的特点
STC89C52RC单片机的特点

STC89C52RC 单片机介绍

STC89C52RC 单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051 单片机,12 时钟/机器周期和 6 时钟/机器周期可以任意选择。

主要特性如下:

1. 增强型8051 单片机,6 时钟/机器周期和12 时钟/机器周期可以任意选择,指令代码完全兼容传统8051.

2. 工作电压:~(5V 单片机)/~(3V 单片机)

3. 工作频率范围:0~40MHz,相当于普通8051 的0~80MHz,实际工作频率可达48MHz

4. 用户应用程序空间为8K 字节

5. 片上集成512 字节RAM

6. 通用I/O 口(32 个)复位后为:,P1/P2/P3/P4 是准双向口/弱上拉,P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O 口用时,需加上拉电阻。

7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/,TxD/)直接下载用户程序,数秒即可完成一片

8. 具有EEPROM 功能

9. 具有看门狗功能

10. 共3 个16 位定时器/计数器。即定时器T0、T1、T2

11. 外部中断4 路,下降沿中断或低电平触发电路,Power Down 模式可由外部中断低电平触发中断方式唤醒

12. 通用异步串行口(UART),还可用定时器软件实现多个UART

13. 工作温度范围:-40~+85℃(工业级)/0~75℃(商业级)

14. PDIP 封装

STC89C52RC 单片机的工作模式

掉电模式:典型功耗<μA,可由外部中断唤醒,中断返回后,继续执行原程序空闲模式:典型功耗2mA 典型功耗

正常工作模式:典型功耗4Ma~7mA 典型功耗

掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备

STC89C52RC 引脚功能说明

VCC(40 引脚):电源电压

VS S(20 引脚):接地

P0 端口(~,39~32 引脚):P0 口是一个漏极开路的8 位双向I/O 口。作为输出端口,每个引脚能驱动8 个TTL 负载,对端口P0 写入每个引脚能驱动写入“1”时,可以作为高阻抗输入。在访问外部程序和数据存储器时在访问外部程序和数据存储器时,P0 口也可以提供低8 位地址和8 位数据的复用总线位数据的复用总线。此时,P0 口内部上拉电阻有效。在Flash ROM 编在程时,P0 端口接收指令字节端口接收指令字节;而在校验程序时,则输出指令字节则输出指令字节。验证时,要求外接上拉电阻。

P1 端口(~,1~8 引脚):P1 口是一个带内部上拉电阻的8 位双向I/O 口。P1 的输出缓冲器可驱动(吸收或者输出电流方式)4 个TTL 输入。对端口写入1 时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。P1 口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流()。

此外,和还可以作为定时器/计数器2 的外部技术输入(T2)和定时器/计数器2 的触发输入(T2EX),具体参见下表:

在对Flash ROM 编程和程序校验时,P1 接收低8 位地址。

表XX 和引脚复用功能

P2 端口(~,21~28 引脚):P2 口是一个带内部上拉电阻的8 位双向I/O 端口。P2 的输出缓冲器可以驱动(吸收或输出电流方式)4 个TTL 输入。对端口写入1 时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。P2 作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流(I)。

在访问外部程序存储器和16 位地址的外部数据存储器(如执行“MOVX @DPTR”指令)时,P2 送出高8 位地址。在访问8 位地址的外部数据存储器(如执行“MOVX @R1”指令)时,P2 口引脚上的内容(就是专用寄存器(SFR)区中的P2 寄存器的内容),在整个访问期间不会改变。

在对Flash ROM 编程和程序校验期间,P2也接收高位地址和一些控制信号。

P3 端口(~,10~17 引脚):P3 是一个带内部上拉电阻的8 位双向I/O 端口。P3 的输出缓冲器可驱动(吸收或输出电流方式)4 个TTL 输入。对端口写入1 时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3 做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流()。

在对Flash ROM 编程或程序校验时,P3 还接收一些控制信号。

P3 口除作为一般I/O 口外,还有其他一些复用功能,如下表所示:

表XX P3 口引脚复用功能复用功能

RST(9 引脚):复位输入。当输入连续两个机器周期以上高电平时为有效,用来完成单片机单片机的复位初始化操作。看门狗计时完成后,RST 引脚输出96 个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO 位可以使此功能无效。DISRTO 默认状态下,复位高电平有效。

ALE/ ROG (30 引脚)地址锁存控制信号:(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在Flash 编程时,此引脚(ROG)也用作编程输入脉冲。

在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE 脉冲将会跳过。

如果需要,通过将地址位8EH 的SFR 的第0 位置“1” ,ALE 操作将无效。这一位置“1” ,ALE 仅在执行MOVX 或MOV 指令时有效。否则,ALE 将被微弱拉高。这个ALE 使能标志位(地址位8EH 的SFR 的第0 位)的设置对微控制器处于外部执行模式下无效。

:外部程序存储器选通信号(SEN)是外部程序存储器选SEN(29 引脚)

通信号。当AT89C51RC 从外部程序存储器执行外部代码时,SEN在每个机器周期被激活两次,而访问外部数据存储器时,SEN将不被激活。A/VPP (31 引脚)访问外部程序存储器控制信号。:为使能从0000H 到FFFFH 的外部程序存储器读取指令,A必须接GND。注意加密方式1 时,A将内部锁定位RESET。为了执行内部程序指令,A应该接VCC。在Flash 编程期间,A也接收12 伏VPP 电压。XTAL1(19 引脚):振荡器反相放大器和内部时钟发生电路的输入端。XTAL2(18 引脚):振荡器反相放大器的输入端。

#include <>

#include <> //_nop_();延时函数用

#define uchar unsigned char

#define uint unsigned int

sbit k1=P1^0;

sbit k2=P1^1;

sbit k3=P1^2;

sbit temp_out=P1^5;

sbit humi_out=P1^6;

sbit IO= P3^2 ;

uint count;

uchar ds1,ds2,ds3,ds4;

uchar set_temp_H,set_temp_H_shi,set_temp_H_ge;//设定温度的变量

uchar set_temp_L,set_temp_L_shi,set_temp_L_ge;//设定温度的变量

uchar set_humi_H,set_humi_H_ge,set_humi_H_shi;//设置湿度的变量

uchar set_humi_L,set_humi_L_ge,set_humi_L_shi;//设置湿度的变量

uchar U8FLAG,k,flag;

uchar U8count,U8temp;

uchar U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;

uchar

U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_te mp;

uchar U8comdata;

uint U16temp1,U16temp2;

uchar ser[]={0,0};

uchar i;

uchar code dis_7[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

//共阳LED段码表"0" "1" "2" "3" "4" "5" "6" "7" "8" "9"

void Delay1(uint j)

{

uchar i;

for(;j>0;j--)

{

for(i=0;i<35;i++);

}

}

void Delay_10us(void)

{

uchar i=6;

for(;i>0;i--);

}

void COM(void)

{

uchar i;

for(i=0;i<8;i++)

{

U8FLAG=2;

//---------------------

while((!IO)&&U8FLAG++); Delay_10us();

Delay_10us();

// Delay_10us();

U8temp=0;

if(IO)U8temp=1;

U8FLAG=2;

while((IO)&&U8FLAG++);

//----------------------

if(U8FLAG==1)break;

U8comdata<<=1;

U8comdata|=U8temp; }

}

//--------------------------------void RH(void)

{

IO=0;

Delay1(50);

IO=1;

Delay_10us();

Delay_10us();

Delay_10us();

Delay_10us();

IO=1;

if(!IO)

{

U8FLAG=2;

while((!IO)&&U8FLAG++); U8FLAG=2;

while((IO)&&U8FLAG++);

COM();

U8RH_data_H_temp=U8comdata;

COM();

U8RH_data_L_temp=U8comdata;

COM();

U8T_data_H_temp=U8comdata;

COM();

U8T_data_L_temp=U8comdata;

COM();

U8checkdata_temp=U8comdata;

IO=1;

U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_temp); if(U8temp==U8checkdata_temp)

{

U8RH_data_H=U8RH_data_H_temp;

U8RH_data_L=U8RH_data_L_temp;

U8T_data_H=U8T_data_H_temp;

U8T_data_L=U8T_data_L_temp;

U8checkdata=U8checkdata_temp;

}

}

}

void xiaoyin()

{P2=0XFF;

P0=0XFF;

Delay_10us();

}

void disp()

{

P2=0xfe;

P0=dis_7[ds1];

Delay1(5);

xiaoyin();

P2=0xfd;

P0=dis_7[ds2];

Delay1(5);

xiaoyin();

P2=0xfb;

P0=dis_7[ds3];

Delay1(5);

xiaoyin();

P2=0xf7;

P0=dis_7[ds4];

Delay1(5);

xiaoyin();

}

void disp_settemp_H()

{

P2=0xfe;

P0=0x87;

Delay1(1);

xiaoyin();

P2=0xfd;

P0=0x89;

Delay1(1);

xiaoyin();

P2=0xf7;

P0=dis_7[set_temp_H_ge]; Delay1(1);

xiaoyin();

P2=0xfb;

P0=dis_7[set_temp_H_shi]; Delay1(1);

xiaoyin();

}

void disp_settemp_L()

{

P2=0xfe;

P0=0x87;

Delay1(1);

xiaoyin();

P2=0xfd;

P0=0xc7;

Delay1(1);

xiaoyin();

P2=0xf7;

P0=dis_7[set_temp_L_ge]; Delay1(1);

xiaoyin();

P2=0xfb;

P0=dis_7[set_temp_L_shi]; Delay1(1);

xiaoyin();

}

void disp_sethumi_H()

{

P2=0xfe;

P0=0x89;

Delay1(1);

xiaoyin();

P2=0xfd;

P0=0x89;

Delay1(1);

xiaoyin();

P2=0xf7;

P0=dis_7[set_humi_H_ge]; Delay1(1);

xiaoyin();

P2=0xfb;

P0=dis_7[set_humi_H_shi]; Delay1(1);

xiaoyin();

}

void disp_sethumi_L()

{P2=0xfe;

P0=0x89;

Delay1(1);

xiaoyin();

P2=0xfd;

P0=0xc7;

Delay1(1);

xiaoyin();

P2=0xf7;

P0=dis_7[set_humi_L_ge];

Delay1(1);

xiaoyin();

P2=0xfb;

P0=dis_7[set_humi_L_shi];

Delay1(1);

xiaoyin();

}

void key_scan()

{

if(k1==0)

{

while(k1==0);

flag++;

if(flag==5)

flag=0;

}

if(flag==1)

{

while(k1==1)

{

if(k2==0)

{while(k2==0);

set_temp_H++;

if(set_temp_H==100)

set_temp_H=0;}

if(k3==0)

{while(k3 ==0);

set_temp_H--;

if(set_temp_H==-1)

set_temp_H=100;}

set_temp_H_ge=set_temp_H%10;

set_temp_H_shi=set_temp_H/10;

disp_settemp_H();

}

iapEraseSector(0x02000);

iapProgramByte(0x02008,set_temp_H);

delay(20);

}

if(flag==2)

{

while(k1==1)

{

if(k2==0)

{while(k2==0);

set_temp_L++;

if(set_temp_L==100)

set_temp_L=0;}

if(k3==0)

{while(k3==0);

set_temp_L--;

if(set_temp_L==-1)

set_temp_L=100;}

set_temp_L_ge=set_temp_L%10;

set_temp_L_shi=set_temp_L/10;

disp_settemp_L();

}

iapEraseSector(0x02200);

iapProgramByte(0x02208,set_temp_L);

delay(20);

}

//

if(flag==3)

{

while(k1==1)

{

if(k2==0)

{while(k2==0);

set_humi_H++;

if(set_humi_H==100)

set_humi_H=0;}

if(k3==0)

{while(k3==0);

set_humi_H--;

if(set_humi_H==-1)

set_humi_H=100;}

set_humi_H_ge=set_humi_H%10;

set_humi_H_shi=set_humi_H/10;

disp_sethumi_H();

}

iapEraseSector(0x02400);

iapProgramByte(0x02408,set_humi_H);

delay(20);

}

//

if(flag==4)

{

while(k1==1)

{

if(k2==0)

{ while(k2==0);

set_humi_L++;

if(set_humi_L==100)

set_humi_L=0;}

if(k3==0)

{while(k3==0);

set_humi_L--;

if(set_humi_L==-1)

set_humi_L=100;}

set_humi_L_ge=set_humi_L%10;

set_humi_L_shi=set_humi_L/10;

disp_sethumi_L();

}

iapEraseSector(0x02600);

iapProgramByte(0x02608,set_humi_L);

delay(20);

}

}

void convdat()

{

ds1=U8RH_data_H/10;

ds2=U8RH_data_H%10;

ds3=U8T_data_H/10;

ds4=U8T_data_H%10;

}

void bijiao()

{

if(U8RH_data_H

humi_out=0;

if(U8RH_data_H>set_humi_H)

humi_out=1;

if(U8T_data_H

temp_out=0;

if(U8T_data_H>set_temp_H)

temp_out=1;

}

/****************主函数************************/ void main()

{

set_temp_H=iapReadByte(0x02008);

set_temp_L=iapReadByte(0x02208);

set_humi_H=iapReadByte(0x02408);

set_humi_L=iapReadByte(0x02608);

while(1)

{ key_scan();

RH();

convdat();

disp();

bijiao();

}

}

//

//***********************结束**************************//

51单片机汇编指令集(附记忆方法)

51单片机汇编指令集 一、数据传送类指令(7种助记符) MOV(英文为Move):对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送; MOVC(Move Code)读取程序存储器数据表格的数据传送; MOVX (Move External RAM) 对外部RAM的数据传送; XCH (Exchange) 字节交换; XCHD (Exchange low-order Digit) 低半字节交换; PUSH (Push onto Stack) 入栈; POP (Pop from Stack) 出栈; 二、算术运算类指令(8种助记符) ADD(Addition) 加法; ADDC(Add with Carry) 带进位加法; SUBB(Subtract with Borrow) 带借位减法; DA(Decimal Adjust) 十进制调整; INC(Increment) 加1; DEC(Decrement) 减1; MUL(Multiplication、Multiply) 乘法; DIV(Division、Divide) 除法; 三、逻辑运算类指令(10种助记符) ANL(AND Logic) 逻辑与; ORL(OR Logic) 逻辑或; XRL(Exclusive-OR Logic) 逻辑异或; CLR(Clear) 清零; CPL(Complement) 取反; RL(Rotate left) 循环左移; RLC(Rotate Left throught the Carry flag) 带进位循环左移; RR(Rotate Right) 循环右移; RRC (Rotate Right throught the Carry flag) 带进位循环右移; SWAP (Swap) 低4位与高4位交换; 四、控制转移类指令(17种助记符) ACALL(Absolute subroutine Call)子程序绝对调用; LCALL(Long subroutine Call)子程序长调用; RET(Return from subroutine)子程序返回; RETI(Return from Interruption)中断返回; SJMP(Short Jump)短转移; AJMP(Absolute Jump)绝对转移; LJMP(Long Jump)长转移; CJNE (Compare Jump if Not Equal)比较不相等则转移;

51单片机实例(含详细代码说明)

1.闪烁灯 1.实验任务 如图4.1.1所示:在P1.0端口上接一个发光二极管L1,使L1在不停地一亮一灭,一亮一灭的时间间隔为0.2秒。 2.电路原理图 图4.1.1 3.系统板上硬件连线 把“单片机系统”区域中的P1.0端口用导线连接到“八路发光二极管指示模块”区域中的L1端口上。 4.程序设计内容 (1).延时程序的设计方法 作为单片机的指令的执行的时间是很短,数量大微秒级,因此,我们要 求的闪烁时间间隔为0.2秒,相对于微秒来说,相差太大,所以我们在 执行某一指令时,插入延时程序,来达到我们的要求,但这样的延时程 序是如何设计呢?下面具体介绍其原理:

如图4.1.1所示的石英晶体为12MHz,因此,1个机器周期为1微秒机器周期微秒 MOV R6,#20 2个 2 D1: MOV R7,#248 2个 2 2+2×248=498 20× DJNZ R7,$ 2个2×248 (498 DJNZ R6,D1 2个2×20=40 10002 因此,上面的延时程序时间为10.002ms。 由以上可知,当R6=10、R7=248时,延时5ms,R6=20、R7=248时, 延时10ms,以此为基本的计时单位。如本实验要求0.2秒=200ms, 10ms×R5=200ms,则R5=20,延时子程序如下: DELAY: MOV R5,#20 D1: MOV R6,#20 D2: MOV R7,#248 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET (2).输出控制 如图1所示,当P1.0端口输出高电平,即P1.0=1时,根据发光二极管 的单向导电性可知,这时发光二极管L1熄灭;当P1.0端口输出低电平, 即P1.0=0时,发光二极管L1亮;我们可以使用SETB P1.0指令使P1.0 端口输出高电平,使用CLR P1.0指令使P1.0端口输出低电平。 5.程序框图 如图4.1.2所示

1.1什么是单片机单片机有何特点

1.1什么是单片机?单片机有何特点? 1.2单片机与普通计算机的不同之处在于其将()()和()三部分集成于一块芯片上。 1.3 8051与8751的区别是: A、内部数据存储但也数目的不同 B、内部数据存储器的类型不同 C、内部程序存储器的类型不同 D、内部的寄存器的数目不同 1.4 MCS-51系列中8031、8051、8751有什么区别? 2.1内部RAM中,位地址为30H的位,该位所在字节的字节地址为()。 2.2 MCS-51单片机是低电平复位还是高电平? 2.3若A中的内容为63H,那么,P标志位的值为()。 2.4判断以下有关PC和DPTR的结论是否正确? A、DPTR是可以访问的,而PC不能访问。 B、它们都是16位的存储器 C、它们都有加1的功能。 D、DPTR可以分为两个8位的寄存器使用,但PC不能。 2.5 8051单片机的P3口有哪些第二功能? 2.6程序状态字寄存器PSW的作用是什么?其中状态标志位有哪些?它们的作用是什么? 2.7开机复位后,CPU使用的是哪个组工作寄存器?他们的地址是什么?CPU如何确定和改变当前工作寄存器组? 2.8在8051的21个特殊功能寄存器中,哪些特殊功能寄存器具有位寻址功能? 2.9片内RAM低128个单元划分为哪3个主要部分?各部分的主要功能是什么? 2.10 8051单片机的时钟周期、机器周期、指令周期是如何分配的?当振荡频率为10MHz时,一个机器周期为多少微秒? 2.11 8031单片机复位后,R4所对应的存储单元的地址为(),因上电时PSW=()。这时当前的工作寄存器区是()组工作寄存器区。 2.12位地址20H与字节地址20H有什么区别?位地址20H具体在内存中什么位置? 2.13在8051扩展系统中,片外程序存储器和片外数据存储器共处同一地址空间,为什么不会发生总线冲突? 2.14在MCS-51单片机中,如果采用6MHz晶振,1个机器周期为()。 2.15判断下列说法是否正确: A、8031的CPU是由RAM和EPROM所组成。 B、区分片外程序存储器和片外数据存储器的最可靠的方法是看其位于地址范围的低端 还是高端。 C、在MCS-51中,为使准双向的I/O口工作在输入方式,必须保证它被事先预置为1。 D、PC可以看成使程序存储器的地址指针。 2.16判断下列说法是否正确 A、程序计数器PC不能为用户编程时直接使用,因为它没有地址。 B、内部RAM的位寻址区,只能供位寻址使用,而不能供字节寻址使用。 C、8031共有21个特殊功能寄存器,它们的位都是可以用软件设置的,因此,是可以进行位寻址的。 2.17 PC的值是 A、当前正在执行指令的前一条指令的地址 B、当前正在执行指令的地址 C、当前正在执行指令的下一条指令的地址 D、控制器中指令寄存器的地址 2.18判断下列说法是否正确? A、PC是1个不可寻址的特殊功能寄存器。

《单片机原理及应用》课后习题

习题1 1.单片机的基本含义和主要特点是什么 答:基本含义 单片机是将计算机的四个基本部件,即运算器、控制器、存储器和输入输出(Input/Output)接口微型化并集成在一块芯片上的微型计算机。单片机的全称为单片微型计算机(Single Chip Microcomputer),又称为微控制器(Microcontroller Unit,MCU)。 主要特点 1)有优异的性能价格比。由于单片机的应用不断向高级应用和复杂应用扩展,因此,其性能越来越高,如速度越来越快,内存越来越大,处理字长越来越长等。而大批量的生产和使用也使单片机的价格越来越低。 2)集成度高、体积小、有很高的可靠性。单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性与抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。 3)控制功能强。为了满足工业控制的要求,一般单片机的指令系统中均有极丰富的转移指令、I/O口的逻辑操作以及位处理功能。单片机的逻辑控制功能及运行速度均高于同一档次的微机。4)低功耗、低电压,便于生产便携式产品,如手机等。现在的单片机在功耗上已达到了极高的水平,不少芯片的功耗已达到微安级,在一粒纽扣电池供电的情况下就可长期运行。 5)外部总线增加了I2C(Inter-Integrated Circuit)及SPI(Serial Peripheral Interface)等串行总线方式,进一步缩小了体积,简化了结构。 6)单片机的系统扩展和系统配置较典型、规范,容易构成各种规模的应用系统。 2.简述单片机的基本组成及各部分功能。 答:单片机芯片内部结构包括中央处理器CPU (Central Processing Unit)、程序存储器ROM (Read-Only Memory)、随机存储器RAM(Random Access Memory)、I/O口(Input/Output 口)、定时/计数器(T/C)、中断系统以及将这些部分连接起来的总线,它们都分布在总线的两旁,并和它连通。一切指令、数据、控制信号都可经内部总线传送。 中央处理器CPU——单片机的核心单元,由运算器和控制器组成,控制整个单片机系统协调工作,决定了单片机的运算能力和处理速度。 程序存储器ROM——用于存放用户程序,只允许读操作,ROM的信息可在断电后长期保存。 随机存储器RAM——用于存放程序运行时一些需要临时保存的工作变量和数据, 所以有时直接称之为数据存储器。RAM存放的信息可随机“读出”或“写入”,其中存放的内容是易失性的,掉电后会丢失。 并行I/O口——单片机的重要资源,用于并行通信,负责实现CPU与并行设备的联系。它可以使单片机和存储器或外设之间并行的传送数据。 串行I/O口——用于串行通信,负责实现CPU与串行设备或其他单片机的联系。它可以把单片机内部的并行数据一位一位向外传送,也可以一位一位地接收外部送来的数据并把它们变成并行数据送给CPU处理。 定时器/计数器——用于单片机内部精确定时或对外部事件进行计数。并可用定时、计数结果对单片机以及系统进行控制。 系统时钟——相当于PC微机中的主频。通常采用外接石英晶体或其他振荡源提供时钟信号输入,也可用内部RC振荡器。时钟电路为单片机产生时钟脉冲序列,作为单片机工作的时间基准,典型的晶体振荡频率为12MHZ。 总线——各种数据信息的公共通道,包括内部总线和外部总线。CPU通过总线与内设以及I/O接

各类单片机特点

8031/8051/8751是Intel公司早期的产品。 1、8031的特点 8031片内不带程序存储器ROM,使用时用户需外接程序存储器和一片逻辑电路373,外接的程序存储器多为EPROM的2764系列。用户若想对写入到EPROM中的程序进行修改,必须先用一种特殊的紫外线灯将其照射擦除,之后再可写入。写入到外接程序存储器的程序代码没有什么保密性可言。 2、8051的特点 8051片内有4k ROM,无须外接外存储器和373,更能体现“单片”的简练。但是你编的程序你无法烧写到其ROM中,只有将程序交芯片厂代你烧写,并是一次性的,今后你和芯片厂都不能改写其内容。 3、8751的特点 8751与8051基本一样,但8751片内有4k的EPROM,用户可以将自己编写的程序写入单片机的EPROM中进行现场实验与应用,EPROM的改写同样需要用紫外线灯照射一定时间擦除后再烧写。 由于上述类型的单片机应用的早,影响很大,已成为事实上的工业标准。后来很多芯片厂商以各种方式与Intel公司合作,也推出了同类型的单片机,如同一种单片机的多个版本一样,虽都在不断的改变制造工艺,但内核却一样,也就是说这类单片机指令系统完全兼容,绝大多数管脚也兼容;在使用上基本可以直接互换。人们统称这些与8051内核相同的单片机为“51系列单片机”,学了其中一种,便会所有的51系列。 4、AT89C51、AT89S51的特点 在众多的51系列单片机中,要算ATMEL 公司的A T89C51、AT89S51更实用,因他不但和8051指令、管脚完全兼容,而且其片内的4K程序存储器是FLASH工艺的,这种工艺的存储器用户可以用电的方式瞬间擦除、改写,一般专为ATMEL AT89xx 做的编程器均带有这些功能。显而易见,这种单片机对开发设备的要求很低,开发时间也大大缩短。写入单片机内的程序还可以进行加密,这又很好地保护了你的劳动成果。再着,AT89C51、AT89S51目前的售价比8031还低,市场供应也很充足。 AT89S51、52是2003年A TMEL推出的新型品种,除了完全兼容8051外,还多了ISP 编程和看门狗功能。我们也专门为这种新片设计了一款编程、学习、实验板。 5、A T89C2051、AT89C1051等的特点 ATMEL公司的51系列还有AT89C2051、AT89C1051等品种,这些芯片是在AT89C51的基础上将一些功能精简掉后形成的精简版。AT89C2051取掉了P0口和P2口,内部的程序FLASH存储器也小到2K,封装形式也由51的P40脚改为20脚,相应的价格也低一些,特别适合在一些智能玩具,手持仪器等程序不大的电路环境下应用;A T89C1051在2051的基础上,再次精简掉了串口功能等,程序存储器再次减小到1k,当然价格也更低。 对2051和1051来说,虽然减掉了一些资源,但他们片内都集成了一个精密比较器,别小看这小小的比较器,他为我们测量一些模拟信号提供了极大的方便,在外加几个电阻和电容的情况下,就可以测量电压、温度等我们日常需要的量。这对很多日用电器的设计是很宝贵的资源。 ATMEL的51、2051、1051均有多种封装,如A T89C(S)51有PDIP、PLCC和PQFP/TQFP

51单片机指令表汇总

51单片机指令表 助记符指令说明字节数周期数 (数据传递类指令) MOV A,Rn 寄存器内容传送到累加器 1 1 MOV A,direct 直接地址内容传送到累加器 2 1 MOV A,@Ri 间接RAM内容传送到累加器 1 1 MOV A,#data 立即数传送到累加器 2 1 MOV Rn,A 累加器内容传送到寄存器 1 1 MOV Rn,direct 直接地址内容传送到寄存器 2 2 MOV Rn,#data 立即数传送到寄存器 2 1 MOV direct,Rn 寄存器内容传送到直接地址 2 2 MOV direct,direct 直接地址传内容传送到直接地址 3 2 MOV direct,A 累加器内容传送到直接地址 2 1 MOV direct,@Ri 间接RAM内容传送到直接地址 2 2 MOV direct,#data 立即数传送到直接地址 3 2 MOV @Ri,A 累加器内容传送到间接RAM 1 1 MOV @Ri,direct 直接地址内容传送到间接RAM 2 2 MOV @Ri,#data 立即数传送到间接RAM 2 1 MOV DPTR,#data16 16 位地址传送到数据指针 3 2 MOVC A,@A+DPTR 代码字节传送到累加器 1 2 MOVC A,@A+PC 代码字节传送到累加器 1 2 MOVX A,@Ri 外部RAM(8位地址)内容传送到累加器 1 2 MOVX A,@DPTR 外部RAM(16位地址)内容传送到累加器 1 2 MOVX @Ri,A 累加器内容传送到外部RAM(8位地址) 1 2 MOVX @DPTR,A 累加器内容传送到外部RAM(16 地址) 1 2 PUSH direct 直接地址内容压入堆栈 2 2 POP direct 堆栈内容弹出到直接地址 2 2 XCH A,Rn 寄存器和累加器交换 1 1 XCH A, direct 直接地址和累加器交换 2 1

单片机应用实例课题

项目七按钮控制灯课题 一、项目目的 1.进一步掌握单片机开发的基本过程。 2,掌握单片机I/O口的输入、输出基本编程方法。 二、项目设备 微机一台(WIN98/WIN2000系统、安装好Debugger8051等相关软件),编程器一台/下载线一条,单片机实验开发板一块。 三、项目内容 学习单片机I/O口输入、输出的编程方法,要求按下S1~S4中的任意一个键,则对应的发光二极管亮,松开键对应的发光二极管灭。 1.项目(课题)分析 思路分析: S1-S4可接到某一P口上,此时对应P口引脚作为输入端使用。改变开关的开合状态,可以改变对应I/O口的电平,然后将此电平状态去控制发光二极管的亮灭。2.硬件电路 如图4-7-1所示。 图4-7-1 3.软件设计 (1)编写源程序。 ;******************************** ;文件名:EX7_1.asm, ;功能:按下按扭S1-S4,控制相应发光二极管D3-D6亮 ;********************************

ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV P3,#0FFH LOOP: MOV A,P3 MOV P1,A LJMP LOOP END (2)对源程序进行编译,并使用Debugger8051软件对其功能进行仿真。 4.硬件系统安装 按照电路图安装好实验开发板的相关元件,注意按扭开关的方向。 5.程序烧录并观察实际运行结果 四、按要求编写程序并上机调试,观察实际运行结果 按下S1键D1~D4亮,按下S2键D2~D5亮,按下S3键D3~D6亮,按下S4键D4~D7亮。按上述过程,编写源程序,并运行观察结果,完成设计。(源文件名为EX7_2.asm) 项目八定时器控制流水灯课题 一、项目目的 1.进一步掌握单片机开发的基本过程。 2.掌握单片机内部资源定时器定时功能的使用(用查询方法实现定时)。 3.进一步掌握单片机I/O口的输入、输出基本编程方法。 二、项目设备 微机一台(WIN98/WIN2000系统、安装好Debugger8051等相关软件),编程器一台/下载线一条,单片机实验开发板一块。 三、项目内容 利用定时器控制发光二极管交替闪亮,每0.2秒钟交替闪亮一次。 1.硬件电路(同上) 2.编写项目程序 ;******************************** ;文件名:EX8_1.asm, ;功能:用定时器控制延时,实现流水灯效果 ;定时器使用查询方式 ;********************************

常用单片机功能及其特点(精)

常用单片机功能及其特点 一、常用单片机的种类 目前我们公司常用的单片机有 1.A VR系列:ATmega8,ATmega128。 2.51系列:AT89C52,A T89S52。 3.NEC系列:uPD78F9222。 4.PIC系列:L Y002B。 二、常用单片机特点 1. ATmega8:8K 字节的系统内可编程Flash 1K字节的片内SRAM 512 字节的EEPROM 32个8 位通用工作寄存器 23个可编程的I/O 口 – RISC 结构,大多数指令执行时间为单个时钟周期, –两个具有独立预分频器8 位定时器/ 计数器, 其中之一有比较功能 –一个具有预分频器、比较功能和捕捉功能的16 位定时器/ 计数器 –具有独立振荡器的实时计数器RTC –三通道PWM – TQFP与MLF 封装的8 路8/10 位ADC,PDIP封装的6 路8/10 位ADC

–面向字节的两线接口TWI,和IIC兼容 –一个可编程的串行USART –可工作于主机/ 从机模式的SPI 串行接口 –具有独立片内振荡器的可编程看门狗定时器 –片内模拟比较器 –上电复位以及可编程的掉电检测 –片内经过标定的RC 振荡器 – 5种睡眠模式: 空闲模式、ADC 噪声抑制模式、省电模式、掉电模式及Standby 模式 – 2.7 - 5.5V (ATmega8L – 4.5 - 5.5V (ATmega8 – 0 - 8 MHz (ATmega8L – 0 - 16 MHz (ATmega8 2. ATmega128: 128K 字节的系统内可编程Flash 4K字节的片内SRAM 4K 字节的EEPROM 32个8 位通用工作寄存器+ 外设控制寄存器 53个可编程的I/O 口 –两个具有独立的预分频器和比较器功能的8 位定时器/ 计数器 –两个具有预分频器、比较功能和捕捉功能的16 位定时器/ 计数器

单片机课后习题-答案~

习题答案 习题0 1.单片机是把组成微型计算机的各功能部件即(微处理器(CPU))、(存储器(ROM 和RAM))、(总线)、(定时器/计数器)、(输入/输出接口(I/O口))及(中断系统)等部件集成在一块芯片上的微型计算机。 2.什么叫单片机?其主要特点有哪些? 将微处理器(CPU)、存储器(存放程序或数据的ROM和RAM)、总线、定时器/计数器、输入/输出接口(I/O口)、中断系统和其他多种功能器件集成在一块芯片上的微型计机,称为单片微型计算机,简称单片机。 单片机的特点:可靠性高、便于扩展、控制功能强、具有丰富的控制指令、低电压、低功耗、片内存储容量较小、集成度高、体积小、性价比高、应用广泛、易于产品化等。 3. 单片机有哪几个发展阶段? (1)第一阶段(1974—1976年):制造工艺落后,集成度低,而且采用了双片形式。典型的代表产品有Fairchild公司的F8系列。其特点是:片内只包括了8位CPU,64B的RAM 和两个并行口,需要外加一块3851芯片(内部具有1KB的ROM、定时器/计数器和两个并行口)才能组成一台完整的单片机。 (2)第二阶段(1977—1978年):在单片芯片内集成CPU、并行口、定时器/计数器、RAM和ROM等功能部件,但性能低,品种少,应用范围也不是很广。典型的产品有Intel 公司的MCS-48系列。其特点是,片内集成有8位的CPU,1KB或2KB的ROM,64B或128B的RAM,只有并行接口,无串行接口,有1个8位的定时器/计数器,中断源有2个。片外寻址范围为4KB,芯片引脚为40个。 (3)第三阶段(1979—1982年):8位单片机成熟的阶段。其存储容量和寻址范围增大,而且中断源、并行I/O口和定时器/计数器个数都有了不同程度的增加,并且集成有全双工串行通信接口。在指令系统方面增设了乘除法、位操作和比较指令。其特点是,片内包括了8位的CPU,4KB或8KB的ROM,128B或256B的RAM,具有串/并行接口,2个或3个16位的定时器/计数器,有5~7个中断源。片外寻址范围可达64KB,芯片引脚为40个。代表产品有Intel公司的MCS-51系列,Motorola公司的MC6805系列,TI公司的TMS7000系列,Zilog公司的Z8系列等。 (4)第四阶段(1983年至今):16位单片机和8位高性能单片机并行发展的时代。16位机的工艺先进,集成度高,内部功能强,运算速度快,而且允许用户采用面向工业控制的专用语言,其特点是,片内包括了16位的CPU,8KB的ROM,232B 的RAM,具有串/并行接口,4个16位的定时器/计数器,有8个中断源,具有看门狗(Watchdog),总线控制部件,增加了D/A和A/D转换电路,片外寻址范围可达64KB。代表产品有Intel公司的MCS-96系列,Motorola公司的MC68HC16系列,TI公司的TMS9900系列,NEC公司的783××系列和NS公司的HPC16040等。然而,由于16位单片机价格比较贵,销售量不大,大量应用领域需要的是高性能、大容量和多功能的新型8位单片机。 近年来出现的32位单片机,是单片机的顶级产品,具有较高的运算速度。代表产品有Motorola公司的M68300系列和Hitachi(日立)公司的SH系列、ARM等。 4.在实际应用中,如何选择单片机的类型? 选择原则:主要从指令结构、运行速度、程序存储方式和功能等几个方面选择单片机。 MCS-51为主流产品。 Motorola是世界上最大的单片机厂商。品种全、选择余地大、新产品多。其特点是噪声低,抗干扰能力强,比较适合于工控领域及恶劣的环境。 Microchip单片机是市场份额增长较快的单片机。它的主要产品是PIC系列8位单片机。其特点是运行速度快,低价位,适用于量大、档次低、价格敏感的产品。 美国德州仪器(TI)公司生产的MSP430系列单片机是一种特低功耗的Flash微控制器。主要用于三表及超低功耗场合。

(完整版)51单片机汇编指令(全)

指令中常用符号说明 Rn当前寄存器区的8个工作寄存器R0~R7(n=0~7) Ri当前寄存器区可作为地址寄存器的2个工作寄存器R0和R1(i=0,1) Direct8位内部数据寄存器单元的地址及特殊功能寄存器的地址 #data表示8位常数(立即数) #data16表示16位常数 Add16表示16位地址 Addr11表示11位地址 Rel8位代符号的地址偏移量 Bit表示位地址 @间接寻址寄存器或基址寄存器的前缀 ( )表示括号中单元的内容 (( ))表示间接寻址的内容 指令系统 数据传送指令(8个助记符) 助记符中英文注释 MOV Move 移动 MOV A , Rn;Rn→A,寄存器Rn的内容送到累加器A MOV A , Direct;(direct)→A,直接地址的内容送A MOV A ,@ Ri;(Ri)→A,RI间址的内容送A MOV A , #data;data→A,立即数送A MOV Rn , A;A→Rn,累加器A的内容送寄存器Rn MOV Rn ,direct;(direct)→Rn,直接地址中的内容送Rn MOV Rn , #data;data→Rn,立即数送Rn MOV direct , A;A→(direct),累加器A中的内容送直接地址中 MOV direct , Rn;(Rn)→direct,寄存器的内容送到直接地址 MOV direct , direct;(direct)→direct,直接地址的内容送到直接地址 MOV direct , @Ri;((Ri))→direct,间址的内容送到直接地址 MOV direct , #data;8位立即数送到直接地址中 MOV @Ri , A;(A)→@Ri,累加器的内容送到间址中 MOV @Ri , direct;direct→@Ri,直接地址中的内容送到间址中 MOV @Ri , #data; data→@Ri ,8位立即数送到间址中 MOV DPTR , #data16;data16→DPTR,16位常数送入数据指针寄存器,高8位送入DPH,低8位送入DPL中(单片机中唯一一条16位数据传送指令) (MOV类指令共16条)

单片机课后习题

单片机考试复习资料 第一章、绪论 1、什么叫单片机其主要特点有哪些 答: 在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。 单片机主要特点有:控制性能和可靠性高;体积小、价格低、易于产品化;具有良好的性能价格比。 2、单片机有哪些应用领域 答: 智能仪器仪表; 机电一体化产品; 实时工业控制; 分布系统的前端模块; 家用电器;

交通与航空航天。 3、仿真调试有哪两种形式硬件仿真的目的是什么?答: 软件模拟和硬件仿真。 仿真的目的就是可以进行调试、跟踪、监视。 4、简述单片机应用系统的开发过程。 答: 系统需求分析; 硬件方案设计; 软件编程; 仿真调试; 实际运行。

第二章、80c51的结构和原理 1、80c51单片机在功能上,程序存储器的配置上主要有哪些分类答: 功能上分为基本型和增强型; 工艺上分为HMOS工艺和CHMOS工艺; 在片内程序存储器的配置上有掩膜ROM、EPROM和Flash、无片内程序存储器形式。 2、80c51基本型的存储器地址空间如何划分各空间的地址范围和容量如何 答: 在物理上设计成程序存储器和数据存储器两个独立的空间; 片内程序存储器为4KB,地址范围是0000H-0FFFH,

片内数据存储器为128字节RAM,地址范围是00H-7FH, 3、80c51单片机晶振频率分别为12Mhz,时,机器周期分别为多少答: 晶振频率为f,一个时钟周期为1/f,机器周期为12*1/f。 1μs,μs。 4、80c51单片机复位后的状态如何常用的复位方法有哪些 答: 复位后,PC内容为0000H; P0口~P3口内容为FFH; SP内容为07H; SBUF内容不定; IP、IE和PCONww的有效位为0; 其余的特殊功能寄存器的状态均为00H。 复位方法一种是上电复位,另一种是上电与按键均有效的复位。

单片机的特点

51单片机的特点 体积小巧,携带方便 ·USB接口通讯及供电,通讯速度快,无须外接电源 ·活动自锁40Pin锁紧座, ·有电源和烧写状态指示灯,可直观了解编程器当前状态 只需要USB供电,无需使用外部电源。周密的自保护方式,有效保证不损毁用户器 件或编程器本身。 2、USB供电系统,直接插接到电脑USB口即可提供电源,不需另接直流电源。 3、8位数码管(可做数码管的静态扫描以及动态扫描显示实验. 如:0-999 计数器实验, 18 B20温度检测实验,遥控解码实验等都可以用数码管显示)。 ZX100实验板做8位电子钟实验图: 8位LED发光二极管(做跑马灯实验交通灯实验)。 5、一路继电器控制(通过继电器可以控制其他电器设备的工作低压控制高压等实验,不过为了安全, 建议不要控制电压超过30V的设备) 6、蜂鸣器(做单片机发声实验播放音乐实验报警实验等声响实验) 7、DS18B20温度传感器,(初步掌握单片机操作后即可亲自编写程序获知当时的温度) 8、AT24C08外部EEPROM存储芯片(IIC总线元件实验) 9、SPI串行实时时钟DS1302(熟悉SPI总线用DS1302可以做一个万年历电子时钟,比定时器做的精确很多哦) 10、板上集成一体化红外接收头(方便学习红外遥控接收, 解码实验.) 11、MAX232芯片RS232通讯接口(可以做为与计算机通迅的接口,同时也可做为STC单片机下载程序的接口及仿真调试的接口) 12、字符液晶1602LCD接口, 采用接插件方式方便插拔(可显示两行,每行16个,共计32任意ASCII码字符,它的功能应用比数码管丰富很多显示的信息量更大 实验板1602液晶显示实物图: 13、图形点阵液晶12864接口,采用接插件方式方便插拔(可显示任意汉字和图形,是目前单片机图文显示最常用的显示器件,我们实验板支持带字库的12864液晶,开发程序更方便. 1 2864液晶不随板附赠,需单独购买,我们成本价68元。 设计布局优势: 1.按键4*4的16个排于右边,操作更方便。

C51单片机指令集大全

格式功能简述字节数周期 一、数据传送类指令 MOV A, Rn 寄存器送累加器 1 1 MOV Rn,A 累加器送寄存器 1 1 MOV A ,@Ri 内部RAM单元送累加器 1 1 MOV @Ri ,A 累加器送内部RAM单元 1 1 MOV A ,#data 立即数送累加器 2 1 MOV A ,direct 直接寻址单元送累加器 2 1 MOV direct ,A 累加器送直接寻址单元 2 1 MOV Rn,#data 立即数送寄存器 2 1 MOV direct ,#data 立即数送直接寻址单元 3 2 MOV @Ri ,#data 立即数送内部RAM单元 2 1 MOV direct ,Rn 寄存器送直接寻址单元 2 2 MOV Rn ,direct 直接寻址单元送寄存器 2 2 MOV direct ,@Ri 内部RAM单元送直接寻址单元 2 2 MOV @Ri ,direct 直接寻址单元送内部RAM单元 2 2 MOV direct2,direct1 直接寻址单元送直接寻址单元 3 2 MOV DPTR ,#data16 16位立即数送数据指针 3 2 MOVX A ,@Ri 外部RAM单元送累加器(8位地址) 1 2 MOVX @Ri ,A 累加器送外部RAM单元(8位地址) 1 2 MOVX A ,@DPTR 外部RAM单元送累加器(16位地址) 1 2 MOVX @DPTR ,A 累加器送外部RAM单元(16位地址) 1 2 MOVC A ,@A+DPTR 查表数据送累加器(DPTR为基址) 1 2 MOVC A ,@A+PC 查表数据送累加器(PC为基址) 1 2 XCH A ,Rn 累加器与寄存器交换 1 1 XCH A ,@Ri 累加器与内部RAM单元交换 1 1 XCHD A ,direct 累加器与直接寻址单元交换 2 1 XCHD A ,@Ri 累加器与内部RAM单元低4位交换 1 1 SWAP A 累加器高4位与低4位交换 1 1 POP direct 栈顶弹出指令直接寻址单元 2 2 PUSH direct 直接寻址单元压入栈顶 2 2 二、算术运算类指令 ADD A, Rn 累加器加寄存器 1 1 ADD A,@Ri 累加器加内部RAM单元 1 1 ADD A, direct 累加器加直接寻址单元 2 1 ADD A, #data 累加器加立即数 2 1 ADDC A, Rn 累加器加寄存器和进位标志 1 1 ADDC A,@Ri 累加器加内部RAM单元和进位标志 1 1 ADDC A, #data 累加器加立即数和进位标志 2 1 ADDC A, direct 累加器加直接寻址单元和进位标志 2 1 INC A 累加器加1 1 1 INC Rn 寄存器加1 1 1

几个单片机应用实例

例一:一个液晶显示的数字式电脑温度计 液晶显示器分很多种类,按显示方式可分为段式,行点阵式和全点阵式。 段式与数码管类似,行点阵式一般是英文字符,全点阵式可显示任何信息, 如汉字、图形、图表等。这里我们介绍一种八段式四位LCD显示器,该显 示器内置驱动器,串行数据传送,使用非常方便。原理图如下图: 下图是长沙太阳人科技开发有限公司生产的4位带串行接口的液晶显示模块SMS0403 的外部引线简图:

有关该模块的具体参数,请查看该公司网站。此例中使用的温度传感器为美国DALLAS公司生产的单总线式数字温度传感器。该传感器本站有其详细的资料可供下载。此例稍加改动,即可做成温控器。 下载驱动该模块的源程序LCD.PLM 例2: LED显示电脑电子钟 本例介绍一种用LED制作的电脑电子钟(电脑万年历)。 原理图如下图所示:

上图中,CPU选用的是AT89C2051,时钟芯片选用的是Dallas公司的DS1302, 温度传感器选用的是Dallas公司的数字温度传感器DS1820,显示驱动芯片 选用的是德州仪器公司的TPIC6B595,也可选用与其兼容的芯片NC595或 国产的AMT9595。整个电子钟用两个键来调节时间和日期。一个是位选 键,一个是数字调节键。按一下位选键,头两位数字开始闪动,进入设 定调节状态,此时按数字调节键,当前闪动位的数字就可改变。全部参 数调节完后,五秒钟内没有任何键按下,则数字停止闪动,退出设定调 节状态。源程序清单如下(无温度显示程序): start:do; $include(reg51.dcl) declare (sclk,io,rst) bit at (0b3h) register; /* p33,p34,p35 */ declare (command,data,n,temp1,num) byte; declare a(9) byte; declare ab(6) byte; declare aco(11) byte constant (0fdh,60h,0dah,0f2h,66h,0b6h,0beh, 0e0h,0feh,0f6h,00h); declare week(11) byte constant (0edh,028h,0dch,7ch,39h,75h,0f5h, 2ch,0fdh,7dh,00h); declare da literally 'p15',clk literally 'p16',ale literally 'p17', mk literally 'p11',sk literally 'p12'; clear:procedure; sclk=0;io=0;rst=0; end clear; send1302:procedure(comm);

单片机原理及应用总结

单片机原理及应用 第一章绪论 1.什么叫单片机?其主要特点有哪些? 在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。 特点:控制性能和可靠性高、体积小、价格低、易于产品化、具有良好的性价比。 第二章80C51的结构和原理 1.80C51的基本结构 a.CPU系统 ●8位CPU,含布尔处理器; ●时钟电路; ●总线控制逻辑。 b.存储器系统 ●4K字节的程序存储器 (ROM/EPROM/FLASH,可外扩至 64KB); ●128字节的数据存储器(RAM,可 外扩至64KB); ●特殊功能寄存器SFR。 c.I/O口和其他功能单元 ●4个并行I/O口; ●2个16位定时/计数器; ●1个全双工异步串行口; ●中断系统(5个中断源,2个优先 级) 2.80C51的应用模式 a.总线型单片机应用模式 ◆总线型应用的“三总线”模式; ◆非总线型应用的“多I/O”模式 3.80C51单片机的封装和引脚 a.总线型DIP40引脚封装 ●RST/V PO:复位信号输入引脚/备用 电源输入引脚; ●ALE/PROG:地址锁存允许信号输 出引脚/编程脉冲输入引脚; ●EA/V PP:内外存储器选择引脚/片 内EPROM编程电压输入引脚; ●PSEN:外部程序存储器选通信号

输出引脚 b.非总线型DIP20封装的引脚 ●RST:复位信号输入引脚 4.80C51的片内存储器 增强型单片机片内数据存储器为256字节,地址范围是00H~FFH。低128字节的配情况与基本型单片机相同。高128字节一般为RAM,仅能采用寄存器间接寻址方式询问。注意:与该地址范围重叠的特殊功能寄存器SFR 空间采用直接寻址方式询问。 5.80C51的时钟信号 晶振周期为最小的时序单位。一个时钟周期包含2个晶振周期。晶振信号12分频后形成机器周期。即一个机器周期包含12个晶振周期或6个时钟周期。 6.80C51单片机的复位 定义:复位是使单片机或系统中的其他部件处于某种确定的初始状态。a.复位电路 两种形式:一种是上电复位;另一种是上电与按键均有效的复位。 b.单片机复位后的状态 单片机的复位操作使单片机进入初始化状态。初始化后,程序计数器 PC=0000H,所以程序从0000H地址单元开始执行。 特殊功能寄存器复位后的状态是确定的。P0~P3为FFH,SP为07H,SBUF 不定,IP、IE和PCON的有效位为0,其余的特殊功能寄存器的状态为00H.相应的意义为: ●P0~P3=FFH,相当于各口锁存器已 写入1,此时不但可用于输出,也 可以用于输入; ●SP=07H,堆栈指针指向片内RAM 的07单元; ●IP、IE和PCON的有效位为0,各 中断源处于低优先级且均被关断、 串行通讯的波特率不加倍; ●PSW=00H,当前工作寄存器为0 组。 7.80C51的存储器组织

常用51单片机汇编指令

常用单片机汇编指令: 1 .MOV A,Rn寄存器内容送入累加器 2 .MOV A,direct 直接地址单元中的数据送入累加器 3 .MOV A,@Ri (i=0,1) 间接RAM中的数据送入累加器 4 .MOV A,#data 立即数送入累加器 5 .MOV Rn,A累加器内容送入寄存器 6 .MOV Rn,direct 直接地址单元中的数据送入寄存器 7 .MOV Rn,#data 立即数送入寄存器 8 .MOV direct,A 累加器内容送入直接地址单元 9 .MOV direct,Rn 寄存器内容送入直接地址单元 10. MOV direct,direct 直接地址单元中的数据送入另一个 直接地址单元 11 .MOV direct,@Ri (i=0,1) 间接RAM中的数据送入直接地址单元 12 MOV direct,#data 立即数送入直接地址单元 13 .MOV @Ri,A (i=0,1) 累加器内容送间接RAM单元 14 .MOV@Ri,direct (i=0,1)直接地址单元数据送入间接RAM 单元 15 .MOV @Ri,#data (i=0,1) 立即数送入间接RAM单元 16 .MOV DPTR,#data16 16 位立即数送入地址寄存器 17 .MOVC A,@A+DPTR以DPTR^基地址变址寻址单元中的数 据送入累加器

18 .MOVC A,@A+PC以PC为基地址变址寻址单元中的数据送入累加器 19 .MOVX A,@Ri (i=0,1) 外部RAM(8位地址)送入累加器 20 .MOVX A,@DPTR外部RAM(16位地址)送入累加器 21 .MOVX @Ri,A (i=0,1) 累计器送外部RAM(8位地址) 22 .MOVX @DPTR,A累计器送外部RAM( 16位地址) 23 .PUSH direct 直接地址单元中的数据压入堆栈 24 .POP direct 弹栈送直接地址单元 25 .XCH A,Rn 寄存器与累加器交换 26 .XCH A,direct 直接地址单元与累加器交换 27 .XCH A,@Ri (i=0,1) 间接RAM与累加器交换 28 .XCHD A,@Ri (i=0,1) 间接RAM的低半字节与累加器交换算术操作类指令: 1. ADD A,Rn 寄存器内容加到累加器 2 .ADD A,direct 直接地址单元的内容加到累加器 3 A.DD A,@Ri (i=0,1) 间接ROM的内容加到累加器 4 .ADD A,#data 立即数加到累加器 5 .ADDC A,Rn寄存器内容带进位加到累加器 6 .ADDC A,direct 直接地址单元的内容带进位加到累加器 7 .ADDC A,@Ri(i=0,1) 间接ROM的内容带进位加到累加器 8 .ADDC A,#data 立即数带进位加到累加器

浅析单片机的特点及其应用方向

浅析单片机的特点及其应用方向 为适应嵌入式应用的需求,单片微控制器应运而生,发展极其迅速。从70年代至今,单片机发展成为一个品种齐全,功能丰富的庞大家庭。单片机是微型计算机的一个分支,是在一块芯片上集成了CPU、RAM、ROM存储器、I/O接口等而构成的微型计算机。因为它主要应用于工业测控领域,因此单片机在出现时,intel公司就给单片机取名为嵌入式微控制器。 一、单片机的特点 单片机是以工业测控对象、环境、接口特点出发向着增强控制功能,提高工业环境下的可靠性方向发展。主要特点如下: 1.种类多,型号全。很多单片机厂家逐年扩大适应各种需要,有针对性地推出一系列型号产品,使系统开发工程师有很大的选择余地。大部分产品有较好的兼容性,保证了已开发产品能顺利移植,较容易地使产品进行升级换代。 2. 提高性能,扩大容量,性能价格比高。集成度已经达到300万个晶体管以上,总线速度达到数十微妙到几百纳秒,指令执行周期已经达到几微妙到数十纳秒,以往片外XRAM现已在物理上存入片内,ROM容量已经扩充达32K,64K,128K以致更大的空间。价格从几百到几元不等。 3. 增加控制功能,向真正意义上的“单片”机发展。把原本是外围接口芯片的功能集成到一块芯片内,在一片芯片中构造了一个完整的功能强大的微处理应用系统。 4.低功耗。现在新型单片机的功耗越来越小,供电电压从5V降低到了3.2V,甚至1V,工作电流从mA降到µA级,gz2频率从十几兆可编程到几十千赫兹。特别是很多单片机都设置了多种工作方式,这些工作方式包括等待,暂停,睡眠,空闲,节电等。 5. C语言开发环境,友好的人机互交环境。大多数单片机都提供基于C语言开发平台,并提供大量的函数供使用,这使产品的开发周期、代码可读性、可移植性都大为提高。 二、单片机的应用发展方向 1.使用寿命长。这里所说的长寿命,一方面指用单片机开发的产品可以稳定可靠地工作十年、二十年,另一方面是指与微处理器相比的长寿命。随着半导体技术的飞速发展,MPU更新换代的速度约来约快。可以预见,一些成功上市的相对年轻的CPU核心,也会随着I/O功能模块的不断丰富,有着相当长的生存周期。新的CPU类型的加盟,使单片机队伍不断壮大,给用户带来了更多的选择余地。8位、16位、32位单片机共同发展是当前单片机发展的另一个动向之

相关主题
文本预览
相关文档 最新文档