单片机学习手册C51版.docx

上传人:b****1 文档编号:1830022 上传时间:2022-10-24 格式:DOCX 页数:87 大小:2.21MB
下载 相关 举报
单片机学习手册C51版.docx_第1页
第1页 / 共87页
单片机学习手册C51版.docx_第2页
第2页 / 共87页
单片机学习手册C51版.docx_第3页
第3页 / 共87页
单片机学习手册C51版.docx_第4页
第4页 / 共87页
单片机学习手册C51版.docx_第5页
第5页 / 共87页
点击查看更多>>
下载资源
资源描述

单片机学习手册C51版.docx

《单片机学习手册C51版.docx》由会员分享,可在线阅读,更多相关《单片机学习手册C51版.docx(87页珍藏版)》请在冰豆网上搜索。

单片机学习手册C51版.docx

单片机学习手册C51版

单片机知识学习手册

项目一单片机的认识

一、单片机芯片引脚

89C51/89S51共有40个引脚,说明如下:

⒈电源:

⑴VCC(40)-芯片电源,接+5V

⑵VSS(20)-接地端;

⒉时钟:

XTAL1(19)、XTAL2(18)-晶体振荡电路反相输入端和输出端。

⒊控制线:

控制线共有4根,

⑴ALE/PROG(30):

地址锁存允许/片内EPROM编程脉冲

①ALE功能:

用来锁存P0口送出的低8位地址

②PROG功能:

片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。

⑵PSEN(29):

外ROM读选通信号。

⑶RST/VPP(9):

复位/备用电源。

①RST(Reset)功能:

复位信号输入端。

②VPP功能:

在Vcc掉电情况下,接备用电源。

(4)EA/VPP:

内/外ROM选择/片内EPROM编程电源。

89C51/89S51芯片用内部ROM(程序存储器),所以此引脚必须接高电平+5V.

4.输入/输出口线

•P0.0~P0.7(39~32)P0口8位双向口线

•P1.0~P1.7(1~8)P1口8位双向口线

•P2.0~P2.7(21~27)P2口8位双向口线

•P3.0~P3.7(10~17)P3口8位双向口线

其中P3中的各位有第二功能

思考:

判断第1脚的方法是什么?

 

二、单片机的最小系统

能够让单片机工作的最小硬件电路,称为单片机最小系统。

包括单片机芯片、电源电路、晶振电路、复位电路。

1、电源电路

如果有现成的5V稳压电源,可直接把VCC脚与EA脚接+5V,然后把VSS脚接5V电源的地就可以了。

如果没有现成的稳压电源,可通过220V交流电进行降压→整流→滤波→稳压得到。

2、复位电路

复位是指单片机的初始状态,当单片机刚上电时,单片机应在初始状态。

有时程序执行过程中会出现动作乱的现象,也可让单片机复位一下,让程序从头开始执行。

单片机复位后,各特殊功能寄存器的初始状态教材。

复位电路的工作原理是一个RC电路的充电过程,因单片机的复位是高电平复位,必须在RST引脚上保持两个机器周期以上的高电压才能让单片机可靠复位,所以上图中的电阻及电容的大小要选择合适。

复位过程是:

当刚接上电源时,+5V通过22UF的电容及10KΩ的电阻进行充电,电容相当于短路,所+5V直接加到RST引脚上而复位,称之为上电复位,过一段时间,电容充电完毕,流过10KΩ的电阻的电流为零,RST引相当于与地(低电平)接在一起,单片机在工作状态。

当在程序执行过程中要进行复位时,可按下按键K1,RST为高电平而复位。

3、晶振电路

如右上图所示,晶振电路主要由晶振(12MHZ)与两个电容(30PF左右)组成,为单片机提供时钟脉冲。

三、单片机中数的使用

⒈十进制数

主要特点:

①基数是10。

有10个数码(数符)构成:

0、1、2、3、4、5、6、7、8、9。

②进、借位规则是“逢十进一、借一当十”。

【例】

1234.56

=1×103+2×102+3×101+4×100+5×10-1+6×10-2

=1000+200+30+4+0.5+0.06

上述,103、102、101、100、10-1、10-2

称为十进制数各数位的“权”

⒉二进制数

主要特点:

①基数是2。

只有两个数码:

0和1。

②进、借位规则是“逢二进一、借一当二”。

每左移一位,数值增大一倍;右移一位,数值减小一半。

二进制数用尾缀B作为标识符。

【例】

111.11B

=1×22+1×21+1×20+1×2-1+1×2-2

=7.75

其中,22、21、20、2-1、2-2称为二进制数各数位的“权”

⒊十六进制数

主要特点:

①基数是16。

共有16个数符构成:

0、1、…、9、A、B、C、D、E、F。

其中,

A、B、C、D、E、F代表的数值分别为

10、11、12、13、14、15。

②进、借位规则是“逢十六进一、借一当十六”。

十六进制数用尾缀H表示。

在C51中十六进制数“0X”开头的。

【例】0XA3.4

=10×161+3×160+4×16-1

=160+3+0.25

=163.25

其中,163、162、161、160、16-1、16-2

称为十六进制数各数位的“权”。

十六进制数、二进制数和十进制数对应关系表

十进制数

十六进制数

二进制数

十进制数

十六进制数

二进制数

0

0X00

0000B

11

0X0B

1011B

1

0X01

0001B

12

0X0C

1100B

2

0X02

0010B

13

0X0D

1101B

3

0X03

0011B

14

0X0E

1110B

4

0X04

0100B

15

0X0F

1111B

5

0X05

0101B

16

0X10

00010000B

6

0X06

0110B

17

0X11

00010001B

7

0X07

0111B

18

0X12

00010010B

8

0X08

1000B

19

0X13

00010011B

9

0X09

1001B

20

0X14

00010100B

10

0X0A

1010B

21

0X15

00010101B

二、数制转换

⒈二进制数与十六进制数相互转换

⑴二进制数转换成十六进制数

①整数部分:

自右向左,四位一组,不足四位,向左填零,各部分用相应的十六进制数替代;

 例 01011010B=0X5A11110101B=0XF5

1101010B=0X10111B=0X

1011011B=0X1011000B=0X

 

②小数部分:

自左向右,四位一组,不足四位,向右填零,各部分用相应的十六进制数替代;

如:

0.1101B=0.D

0.1010B=0X0.11101B=0X

⑵十六进制数转换成二进制数

每一位十六进制数分别用相应4位二进制数替代。

十六进制数

二进制数

十六进制数

二进制数

0X0

0000B

0X8

1000B

0X1

0001B

0X9

1001B

0X2

0010B

0XA

1010B

0X3

0011B

0XB

1011B

0X4

0100B

0XC

1100B

0X5

0101B

0XD

1101B

0X6

0110B

0XE

1110B

0X7

0111B

0XF

1111B

如16H=0001,0110B0X1FF=0001,1111,1111B0X4F=0100,1111B

0X16.D=0001,0110.1101B

0X89=B0XF8=B

0XED=B0XBC=B

⒊十进制数转换成二进制数、十六进制数

⑴整数部分的转换

①十进制整数转换成二进制整数的方法:

②十进制数整数转换成十六进制数的方法:

除2取余法除16取余法

如48D(十进制)=110000B(二进制数)323D(十进制)=143H(十六进制数)

⑵小数部分的转换

①十进制小数转换成二进制小数的方法:

将小数部分乘2取整数法

0.75D(十进制数)=0.11B

4、二进制数运算

(1)二进制数加法运算规则:

0+0=0,0+1=1+0=1,1+1=0(向高位进1)

~:

运算对象在运算符的右边

功能:

对运算对象的各二进位按位求反,

即使每一位上的0变1;变1为0。

~14:

即~00001110B按位求反得

0

0

0

0

1

1

1

0

1

1

1

1

0

0

0

1

<<:

左移

例如:

a<<4

功能:

把a的各二进制位向左移动4位

若a=00010011(十进制19),左移4位后为00110000(十进制48),其中左端移出的0001四位丢弃,右边四位补0000

0

0

0

1

0

0

1

1

0

0

1

1

0

0

0

0

>>:

右移

例如:

a>>2

功能:

把a的各二进位向右移动2位

若a=0000000000001111(十进制15),

右移2位后为0000000000000011(十进制3)。

0

0

0

0

0

0

0

0

0

0

0

0

1

1

1

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

 

有符号数与无符号数

有符号数:

最高位为符号位,最高位为“0”表示正数,最高位为“1”表示负数。

00001010B表示是正数(+10),而10010001B表示负数。

无符号数:

最高位不作为符号位,而当成数值位。

二进制数有原码、反码与补码三种编码形式

原码:

二进制数的原形,可为无符号数,也可有符号数。

8位无符号数原码范围:

0000 0000B~11111111B(0~FFH或0~255)

8位有符号数原码范围:

11111111B~01111111B(FFH~7FH或-127~+127)

反码:

正数的反码与原码相同;

负数的反码,符号位不变,数值部分按位取反。

如:

原码:

10000100B→反码11111011B

 

补码:

正数的补码与原码相同;

负数的补码,符号位不变,数值部分按位取反再在(右边最低位)加1。

如:

原码:

10000100B→反码:

11111011B→+1→补码:

11111100B

补码的用途:

将减法运算转换为加法运算。

三、单片机内部结构

单片机内部包括有:

一个CPU,两个定时/计数器T1、T0,4KB的程序存储器,128B(字节)的数据存储器,中断系统,串行通信口,4个并行I/O口。

1、存储器的结构

单片机中的数据以8位二进制数为一个单元进行存储的,所以存储器的结构以8位二进制数为一个单元,一个单元就象一层有8位房间的楼层,每个房间只能存放0或1

(1)程序存储器ROM

89S51单片机内部有4KB的程序存储器,用于存放用户编写的程序。

单元地址从0000H到0FFFH,在一般的单片机控制系统中一般是够用的,如果不够用,可外加芯片扩展到64KB。

(2)数据存储器RAM

89S51单片机内部有256B(字节/含特殊功能寄存器)的数据存储器,用于存放运算过程中产生的中间结果。

如果不够用,可外加芯片扩展到64KB

为了方便数据存储器的使用,又将它分成几个区

1)工作寄存器区:

地址从00H到1FH,共32个存储单元。

单片机复位后,默认选择0区,工作区的选择由程序状态字PSW中的RS1、RS0两位设置。

PSW程序状态字的各位定义

D7

D6

D5

D4

D3

D2

D1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 人力资源管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1