单片机技术及应用(C语言版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第一单元 单片机基础知识

综合教学目标

了解单片机的相关常识,掌握AT89S52单片机的构造与原理。

主要内容

计算机的基础知识,单片机的发展历史、类型以及应用,以及AT89S52单片机的CPU、存储器、引脚功能及标识。

岗位技能综合职业素质要求:学会识别AT89S52单片机的标识。

随着电子技术的发展,生产生活中的设备、仪器、电器等的智能化水平越来越高,如微电脑洗衣机、智能冰箱、遥控电视、公交车刷卡器、公交车报站器等,这些设备都内嵌了极小型化的计算机——单片机。

单片机是单片微型计算机的简称,它将构成计算机的基本部件集成到一块芯片上,组成一个小巧却完善的计算机系统。因此学习单片机除了要掌握它的硬件电路原理,还要学习计算机程序设计。

本教材讲解的AT89S52单片机是美国ATMEL公司生产的低功耗、高性能CMOS8位单片机,它采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚,其照片如图1-1所示。

图1-1 AT89S52单片机

1.1 初步了解单片机

一、计算机的常用术语

1.位(bit)

位是计算机数据存储的最基本、最小的数据单位。计算机采用二进制,因此位就是1个二进制位,若干二进制位的组合就可以表示各种数据、字符等。

2.字(word)和字长

字是计算机内部进行数据处理的基本单位。通常它与计算机内部寄存器、算术逻辑单元、数据总线的长度一致。一个字所包含的二进制位数称为字长。

3.字节(byte)

相邻的8位二进制数构成1个字节,可以用字节作为计算机字长的单位。8位计算机的字长等于1个字节,16位计算机的字长等于2个字节,32位计算机的字长等于4个字节。习惯上把1个字节定为8位,把1个字定为16位,把1个双字定为32位。

字节也是计算机数据存储的单位。1KB=1024B(B表示字节byte),1MB=1024KB,1GB=1024MB。

4.指令

指令是规定计算机进行某种操作的命令,由一串二进制数码组成,是计算机自动控制的依据。

5.程序

程序是指令的有序组合,是为实现特定目标或解决特定问题而用计算机语言编写的命令序列。

6.机器语言

用二进制(或十六进制)数表示的指令和数据总和称为机器语言,是计算机能直接识别和执行的。

7.汇编语言

用助记符号表达的指令称为汇编语言,是机器语言的符号表示。

8.高级语言

高级语言是采用接近人类自然语言的习惯表达的程序设计语言,例如BASIC、C语言。现在一般使用C51语言设计51单片机程序。

二、计算机的数制

计算机由触发器、计数器、加法器、逻辑门等基本的数字电路构成。数字电路具有两种不同的稳定状态且能相互转换,用“0”和“1”表示最为方便,因此计算机处理一切信息(包括数据、指令、字符、颜色、语音、图像等)均用二进制数表示。但是二进制数书写起来太长,且不便于阅读和记忆,所以一般都将二进制数转换成十六进制数来呈现。另外,人们最常用的是十进制数,因此我们将对这三种数制及其之间的转换进行介绍。

1.数制介绍

(1)十进制(Decimal)

数码:0,1,2,3,4,5,6,7,8,9

① 十进制有0~9十个不同的数码。

② 十进制数逢十进一,即当低位满十则向相邻高位进一。

(2)二进制(Binary)

数码:0,1

① 二进制有0,1两个不同的数码。

② 二进制数逢二进一。

(3)十六进制(Hexadecimal)

数码:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

① 十六进制有0~F十六个不同的数码。

② 十六进制数逢十六进一。

为方便起见,现将部分十进制、二进制、十六进制数的对照表列于表1-1中。

表1-1 部分十进制、二进制、十六进制数的对照表

2.数制的书写

为区别不同数制,要求在书写时要注意规范,数制书写一般有以下方法。

(1)可以给数加括号,并在括号右下角标注数制代号,例如:

十进制数,(32)10,(1000)10

二进制数,(1001)2,(0100)2

十六进制数,(123)16,(A1EF)16

(2)汇编语言中,可以在数后面用英文字母标记。

十进制数以字母D结尾,例如:32D,1000D。

二进制数以字母B结尾,例如:1001B,0100B。

十六进制数以字母H结尾,例如:123H,A1EFH。

(3)C51语言中,可以在数前面标记。

十六进制数以0x开头,例如:0x64,0xfffe等。

3.不同数制之间的转换

(1)二进制数与十进制数相互转换

① 二进制数转换成十进制数,将二进制数按权展开后相加,例如:

② 十进制数转换成二进制数,采用“除2取余法”。即用2连续去除十进制数,直到商为0为止,然后把各次余数按最后得到的为最高位、最早得到的为最低位(从下至上),依次排列起来,所得到的数便是所求的二进制数。

例:试求出十进制数125的二进制数。

把125连续除以2,直到商为0,相应竖式如下:

按照逆序将各余数记下,得到转换后的二进制数为:1111101B。

(2)十六进制数与十进制数相互转换

① 十六进制数转换成十进制数,采用将十六进制数按权展开后相加的方法,例如:

② 十进制数转换成十六进制数,采用“除16取余法”,即用16连续去除要转换的十进制数,直到商为0为止,然后把各次余数按得到顺序的逆序依次排列起来,所得的数便是所求的十六进制数。

(3)二进制数与十六进制数相互转换

① 二进制数转换成十六进制数,采用“4位合1位”的方法,即从二进制数最低位开始,每4位一组,不足4位以0补足,然后分别把每组用十六进制数表示,并按序相连。

例:把二进制数1101111100110B转换成十六进制数,则有

所以,1101111100110B=1BE6H

② 十六进制数转换成二进制数,采用“1位分4位”的方法,即把十六进制数的每一位分别用4位二进制数表示,然后将其按序连成一体。

例:把十六进制数2AE5H转换成二进制数,则有

所以,2AE5H=0010101011100101B

三、单片机的概念

单片机,全称为单片微型计算机,就是在一块芯片上集成了微处理器(CPU)、程序存储器(ROM)、数据存储器(RAM)、定时/计数器以及多种I/O接口电路的具有一定规模的微型计算机,因最早被应用在工业控制领域,所以又被称为微控制器。

四、单片机的发展历史

单片机诞生于20世纪70年代末,经历了SCM、MCU、SOC三大发展阶段。

(1)SCM即单片微型计算机(SingleChipMicrocomputer)阶段,主要寻求单片形态嵌入式系统的最佳体系结构。因受集成度和工艺的限制,常采用双片形式的单片机。例如:仙童公司的F8须外接一块3851电路才能构成一个完整的计算机。

(2)MCU即微控制器(MicroControllerUnit)阶段,主要致力于不断扩展满足嵌入式应用的对象系统要求而采用的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。在发展MCU方面,最著名的当数Philips公司。Philips公司以其在嵌入式应用方面的巨大优势,将80C51从单片微型计算机迅速发展到微控制器。

(3)SOC即专用化片上系统(SystemOnChip)阶段,是指将微处理器、模拟IP核、数字IP核和存储器(或片外存储控制接口)集成在单一芯片上,它通常是客户定制的,或是面向特定用途的标准产品。单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决。因此,标准化专用单片机的发展自然形成了SOC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SOC的单片机应用系统设计会有较大的发展。

五、单片机的分类

单片机按用途可分为两类:专用型单片机和通用型单片机。

专用型单片机用途专一,内部程序在出厂时已经固化,不能被再次修改,例如电子表里的单片机,其生产成本很低。

通用型单片机的用途广泛,程序可以不断修改,用户可以根据需要给此类单片机植入不同的程序,配合不同接口的输入和输出来完成所需功能。小到家用电器、仪器仪表,大到机器设备和整套生产线都可用通用型单片机来实现自动化控制。通用型单片机按位数分为4位机、8位机、16位机和32位机等。

单片机还可按生产厂家分类,我国目前最常用的单片机有如下几家:

● Intel——MCS51系列、MCS96系列;

● Atmel——AT89系列、MCS51内核;

● Microchip——PIC系列;

● Motorola——68HCXX系列;

● Zilog——Z86系列;

● Philips——87、80系列,MCS51内核;

● Siemens——SAB80系列,MCS51内核;

● NEC——78系列。

六、单片机的应用范围

在信息化高速发展的时代,单片机以其体积小、功耗低、控制功能强等优势迅速渗透到我们生活的各个领域。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分为如下几个范畴。

1.在智能仪器仪表上的应用

结合不同类型的传感器,单片机可实现诸如电压、湿度、流量、温度、压力等物理量的测量。采用单片机控制使仪器仪表更加数字化、智能化、微型化,且功能更加强大。例如精密的测量设备,功率计、温湿度计、各种分析仪。

2.在工业控制中的应用

用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制,各种报警系统,与计算机联网构成二级控制系统。

3.在医疗设备领域中的应用

医疗行业的智能化系统都用到了单片机。例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等。

4.在汽车设备领域中的应用

单片机的使用使得汽车智能电子控制系统越来越发达,汽车也变得越来越聪明。驾驶汽车时,行车电脑能够自动处理大量的信息,比如当车辆转弯时,助力转向会助你一臂之力;当急刹车时,ABS会自动启动,防止侧滑。

5.在计算机及网络和通信领域中的应用

现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为计算机网络和通信设备间的应用提供了极好的物质条件。现在的通信设备基本上都实现了单片机智能控制,例如手机、电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、集群移动通信、无线电对讲机等。

6.在家用电器中的应用

现在,很多家用电器中都采用了单片机控制,例如电饭煲、洗衣机、电冰箱、空调机、彩电,音视频器材、电子秤量设备等,五花八门,无处不在。

此外,单片机在工商、金融、科研、教育、国防、航空航天等领域都有着十分广泛的用途。