单片机及应用
第 1章 单片微型计算机概述
? 1.1何为单片机
? 1.2单片机的特点
? 1.3单片机的种类
? 1.4单片微型计算机发展概况
? 1.5微计算机系统概念
? 1.6计算机中的数和编码 (自学内容 )
1.1 什么是单片机
? 单片微型计算机简称 单片机。由于它的结构及功能均按
工业控制要求设计,所以又称 单片微控制器( single
chip Microcontroller)。
? 它是将组成微型计算机机所必须的部件( 中央处理器
CPU,程序存贮器( ROM),数据存贮器( RAM),输入 /输
出( I/O)接口、定时 /计数器、串行口、系统总线等 )
集成在一个超大规模集成电路芯片上。
? 只要外加少许电子零件便可以构成一套简易的计算机控
制系统,故又称 单片微型计算机( single chip
Microcomputer)
优点:使用单片机做设计,降低硬件成本;体积小,适
合设计小型而且较简单的控制系统。
单片机与个人 PC机相比较
缺点:由于单片机芯片设计及制造技术方面的原因,在
有限的芯片上无法设计出太多的内存空间,因此单片机
上的 ROM及 RAM的容量都比较小。
个人 PC中的 CPU一块要卖多少块钱?单片机的?
? 计算机的主要用途是科学计算、数据处理、图象分析、
数据库人工智能、数字模拟与仿真等。所以 CPU发展的
动力在于人类无止境的海量数位运算的需求。 286、
386…… 586、奔腾等,系统速度越来越快,功能越来越
强,价格高。
单片机, 价格并不高,从几元人民币到几十元人民币,
体积也不大,一般用 40脚封装,当然功能多一些单片机
也有引脚比较多的,如 68引脚,功能少的只有 10多个或
20多个引脚,有的甚至只 8只引脚。
单片机的功能肯定不强,干吗要学它呢?
?实际工作中并不是任何需要计算机的场合
都要求计算机有很高的性能,一个控制电
冰箱温度的计算机难道要用 PIII? 应用的
关键是看是否够用,是否有很好的性能价
格比。所以 8051出来十多年,依然没有被
淘汰,还在不断的发展中。
1.2 单片机的特点
? ( 1) 体积小, 重量轻, 功耗低, 功能强, 性价比高 。
可嵌入各种设备中组成以之为核心的嵌入式系统 。
? ( 2) 数据大都在单片机内部传送, 运行速度快, 抗干
扰能力强, 可靠性高 。
? ( 3) 结构灵活, 易于组成各种微机应用系统 。
? ( 4)应用广泛,既可用于工业自动控制等场合,又可
用于测量仪器、医疗仪器及家用电器等领域。
返回本章首页
2005 - 3 - 3 单片机技术概述 5
1.3 单片机的种类
? —— 按功能分类
? 1,基本型
? 2,增强型
? 3,低功耗型
? 4,高级语言型
? 5,可编程计数阵列( P CA ) 型
? 6,A/D 型
? 7,DMA 型
? 8,多并行口型
2005 - 3 - 3 单片机技术概述 6
? —— 按 ROM 的配置状态分类
? 1,片内 ROM 状态
? 2,片内 E P ROM 状态
? 3,片内无 ROM 状态
? 4,一次性可编程 ROM ( OTP )
? 5,片内 F L ASH 存储器配置
2005 - 3 - 3 单片机技术概述 7
? 按品牌(厂家)分类
? 1,I nt el —— MCS - 51, MCS - 96 系列
? 2,Mot orola —— 68HCXX 系列
? 3,At m el —— A T 89C 系列( 80 C31 内核)
? 4,P hi li ps —— P 87, P 8 9 系列( 8051 内核)
? 5,Microchip
? 6,Z il og
? 7,T exas
? 8,Si e m ens
? 主流产品 ——Intel单片机
? 主流字长 ——8位机
? 基础语言 ——汇编语言
? 核心技术稳定
? 教学机型 /典型代表,MCS-51系列(含 MCS-52)
1.4单片机的发展与应用
第一代( 1974-1976),1974年美国仙童公司生产第一个 4位
单片机 F8问世。发展了各种 4位机,多用于家用电器、计算器
、玩具。
一、单片机的历史
第三代( 1980-1983), 为高级 8位机阶段,发展了高性能 8位机
,代表产品,Intel MCS-51系列。普遍带串口,有多级中断处理
系统,多个 16位定时器 /计数器,片内 ROM,RAM 容量加大。寻址
范围可达 64KB。 有的带 A/D转换器。用于智能终端、局部网络接
口。 第四代,1983年以后,16位单片机阶段。发展了 MCS-96系列
16位机,功能强大,价格迅速下降。片内含有 A/D,可用于电机
控制;网络通讯能力增强。
第二代( 1976-1980)为初级 8位机阶段,发展了各种中、低档
8位机。代表产品,Intel 8048。 片内含有多个 8位并行 I/O接
口、一个 8位定时器 /计数器,寻址范围不大于 4KB,无串口。
可满足一般工业控制和智能化仪表需要。
?单片机经历了一位, 4位, 8位, 16位及 32位的发展阶段
,世界上一些著名的半导体器件厂家都开发了单片机如
Intel,Motorola,Zilog,Philips等 。 单片机的品种日益增加
,在众多的通用型单片机里, 以 Intel公司的 MCS系列单片
机最为著名 。
MCS-51单片机是目前世界上应用最为广泛的单片机系列
。 从最早的 8031,8051,8751到后来的 89C51,89C2051
,兼容 MCS-51结构和指令,但具有各种新特性的单片机层
出不穷,几乎所以单片机厂家的产品中都可以找到兼容
MCS-51的成员,熟悉了 MCS-51系列的编程和应用就意
味着拥有了一个庞大的单片机家族,可以适合绝大多数
单片机应用场合
二、单片机的发展状况
?1,CPU的改进
采用双 CPU结构, 以提高处理能力 。例,Rockwell公司的 R6500/21和
R65c29
增加数据总线宽度 例,NEC公司的 uPD-7800将 ALU作成 16位运算部
件,内部采用 16位数据总线。
采用流水线结构, 具有很高的运算速度
串行总线结构 I 2C和 DDB 三条数据总线代替现行的 8位数据总线,
从而大量 减少单片机引线,降低成本 。例:非力普公司的 MAB8420
,SCC83C51
?2、存储器的发展
主要解决容量,ROM的易写、不丢以及软件保密等。
单片机应用领域
3、片内 I/O的状况
一般单片机都有较多并行口,以满足外围设备、芯片扩展电路的需求,中
高档机还配有串口,以满足多机通讯功能要求。
( 1)传感器接口; (2)各种工业对象的电气接口; ( 3)驱动的功率接口;
( 4)人机对化接口; ( 5)通讯网络接口。
高速 I/O能力,中断处理能力, A/D,D/A的速度和精度,位操作能力,功
率驱动能力,程序运行监控能力,信号实时处理能力等。
4、片内集成更多的外围功能器件。
A/D,D/A,DMA控制器、频率合成器、声音发生器、译码驱动
器,CRT控制器等。
5、半导体工艺技术的发展
集成度提高( 0.6um工艺)低功耗化( CMOS)
总之将向高性能、高可靠性、网络化、低电压、低功耗、低噪音、
低成本的方向发展。
? 单片机的出现是计算机技术发展史上的一个重
要里程碑,单片机的诞生标志着计算机正式形
成了通用计算机系统和 嵌入式计算机系统 两大
分支。
? 单片机的微小体积和极低的成本,使其可广泛
地嵌入到如仪器仪表、工业控制单元、汽车电
子系统、办公自动化设备、家用电器、机器人
、个人信息终端及通信产品中,成为 现代电子
系统 中最重要的智能化工具。
单片机应用领域
1.单片机在智能仪器仪表中的应用;
2.单片机在工业测控中的应用;
3.单片机在计算机网络和通讯技术中的应用;
4.单片机在日常生活及家电中的应用;
5.单片机在办公自动化方面。
遥控机器人在进行灭火演习


一个液晶显示的数字式电脑温度计
出租车计价器及电子称
参考书
? 1,单片机原理及接口技术学习辅导,朱定华,
电子工业出版社,2001
? 2,单片微型计算机原理、接口及应用(第 2版)
,徐惠民,北京邮电大学出版社,2000
? 3.单片微型计算机与接口技术,李群芳,电子
工业出版社,2001
?1,http://www.bol-system.com 中国单片机公共
实验室
?2,http://mcuworld.163.net 单片机世界 广州站
?3,http://yq8031.yeah.net 乐清单片机联盟
?4,http://kyxjs.yeah.net 科宇单片机工作室
?5,http://go.163.com/~dz2000 51单片机世界
单片机的常用名词
? 总线,指能为多个部件服务的信息传送线,在微
机系统中各个部件通过总线相互通信。
地址总线, 它是传送由 CPU发出的用于选择要访问
的器件或部件的地址。
数据总线, 它是用来传送微型机系统内的各种类型
的数据。
? 汇编, 是能完成一定任务的机器指令的集合。
? 二进制数, 只有 0和 1两个数码,基数为二。
? 16进制数, 采用 0,1,2,3,4,5,6,7,8,9、
A,B,C,D,E,F等 16个数码,其中 A-F相应的
十进数为 10-15,基数是 16。
? 指令,是计算机所能执行的一种基本操作的描述
,是计算机软件的基本单元。
? 存储器, 用来存放计算机中的所有信息:包括程序、原
始 数据、运算的中间结果及最终结果等。
? 暂存器, 用来暂存由数据总线或通用寄存器送来的操作
数,并把它作为另一个操作数。
? 中断,中断是单片机实时地处理内部或外部事件的一种
内部机制。当某种内部或外部事件发生时,单片机的中
断系统将迫使 CPU暂停正在执行的程序,转而去进行中
断事件的处理,中断处理完毕后,又返回被中断的程序
处,继续执行下去。
? 掉电保护, 指在正常供电电源掉电时,迅速用备用直流
电源供电,以保证在一段时间内信息不会丢失,当主电
源恢复供电时,又自动切换为主电源供电。
? RAM 随机存取存储器,主要用来存放各种输入数据、输
出数据、中间结果、最终结果以及与外存交换的信息等
,当掉电后,RAM中所存储的信息都将消失。
? ROM 只读存储器, ROM 通过特别手段可将信息存入其中
,并能长期的保存被存储的信息,一般的情况,CPU只
能对它进行写入操作,当断电后,ROM中所存储的信息
不会消失。
? 寄存器寻址, 操作数在寄存器中,由指令操作码中的 rrr
三位的值和 PSW中 RS1及 RS0的状态,选中某个工作寄存
器区的某个寄存器,然后进行相应的指令操作。
? 波特率, 即每秒钟传送二进制数的位数,波特率越高,
数据传输的速度越快。
UART 通用异步接收器 /发送器, 用于数据的串 /并转换,
硬件 UART由三部分组成:接收部分、发送部分和控制
部分,接收和发送都具有双缓冲结构。
? D/A转换, 即将二进制数量转换成与其量值成正比的电流
信号或电压信号。
? A/D转换, 即将模拟量转换成相应的数字量,然而送计算
机处理。
? Eprom 存储器, 一、紫外光擦除的 EPROM 它的基本存储
电路由一个浮栅雪崩注入 MOS 管和一个普通 MOS 管组
成。其中浮栅雪崩注入 MOS 管作为存储器用,另一个
普通 MOS 管作为地址选择用。二、电擦除可编程
EEPROM, 它的某些型号编程和擦除可在普通电压下进
行,另外,它是实行在线操作的,既在写入一个字节的
数据之前,自动的对要写入的单元进行擦除。
? 串行方式, 指数据的各位分时传送,只需一条数据线,
外加一条公共信号地线和若干条控制信号线。
? 并行方式, 指数据的各位同时传送,每一条数据都需要
一条传输线。
? 伪指令, 用于告诉汇编程序如何进行汇编的指令,它既
不控制机器的操作也不被汇编成机器代码,只能为汇编
程序所识别并指导汇编如何进行。
? SLEEP MODI 睡觉模式,保证程序内部运行,但与外部的
传输等动作已停止的一种运行模式。
? linking 连接, 把编译后生成的 *.obj 文件与其它 *.obj文件
合并成机器能识别的机器文件。
? I2C:输入与输出共用一条传输线,而时钟由另一条线控
制的一种串行传输方式。
? SFR 特殊功能寄存器区, 8051 把 CPU 中的专用寄存器、
并行端口锁存器、串行口与定时器 /计数器内的控制寄
存器集中安排到一个区域,离散地分布在地址从 80H 到
FFH 范围内,这个区域称为特殊功能寄存器区 SFR
1.5 微计算机系统概念
图 1-1 微处理器、微计算机和微计算机系统的关系
返回本章首页
任务:点亮一个发光管( 8051)
? 拿到一块芯片,想要使用它,首先必须要知道怎样连线
1,电源,这当然是必不可少的了。单片机使用的是 5V电源,其中正
极接 40引脚,负极(地)接 20引脚。
2,振蒎电路,单片机是一种时序电路,必须提供脉冲信号才能正常
工作,在单片机内部已集成了振荡器,使用晶体振荡器,接 18,19
脚。只要买来晶振,电容,连上就可以了,按图 1接上即可。
3,复位引脚,按图 1中画法连好,至于复位是何含义及为何需要复
要复位,在单片机功能中介绍。
4,EA引脚, EA引脚接到正电源端。 至此,一个单片机就接好,通
上电,单片机就开始工作了。
任务分析,第一个任务是要用单片机点亮一只发光二
极管 LED 。
? 要能够让 1引脚 P1.0按要求变为高或低电平。
? 当 1脚是高电平时,LED不亮,只有 1脚是低电平时,
LED才发亮。
? 要计算机做事,也得要向计算机发命令,计算机能
听得懂的命令称之为计算机的指令。
? 一个引脚输出高电平的指令是 SETB,让一个引脚输
出低电平的指令是 CLR。 因此,只要写
? SETB P1.0,要 P1.0输出高电平,
CLR P1.0 要 P1.0输出低电平
怎样才能计算机执行这条指令呢?总不能也对计
算机也说一声了事吧。
? 要解决这个问题,还得有几步要走。
? 翻译成计算机能懂的方式,再让计算机去读。计算机能
懂什么呢?它只懂一样东西 ——数字。因此我们得把
SETB P1.0变为( D2H,90H ),把 CLR P1.0变为 ( C2H,90H
),至于为什么是这两个数字,这也是由 51芯片的设计
者 --INTEL规定的,我们不去研究。
? 第二步,在得到这两个数字后,怎样让这两个数字进入
单片机的内部呢?这要借助于一个 硬件工具“编程器”

我们把它的名字设为,001led.最后把生成的
001led.hex烧入 8051里面。
? 然后把芯片换到试验卡座里,这时候我们可以
看到 p1.0这个灯亮了。
为啥要用单片机搞得这么复杂
?接一个电池,灯不就亮了?
如果我们不要 p1.0亮。 而是要
p2.0亮,那么写入 clr p2.0就可以
啦,不需要你动烙铁来改线。这
样我们看到,硬件电路的连线没
有做任何改变,只要改变写入单
片机中的内容,就可以改变电路
的输出效果。
第二个试验:点亮一个闪烁的发光管
? SETB P1.0
? CLR P1.0
? ……
? 这是不行的,有两个问题,第一,计算机执行指令的时
间很快,执行完 SETB P10后,灯是灭了,但在极短时间
(微秒级)后,计算机又执行了 CLR P10指令,灯又亮
了,所以根本分辨不出灯曾灭过。第二,在执行完 CLR
P10后,不会再去执行 SETB P10指令,所以以后再也没
有机会让灭了。
主程序:
LOOP,SETB P1.0 ; (1)
LCALL DELAY ; ( 2)
CLR P1.0 ; (3)
LCALL DELAY ; (4)
AJMP LOOP ; (5)
以下为子程序
DELAY,MOV R7,#250 ; ( 6)
D1,MOV R6,#250 ; (7)
D2,DJNZ R6,D2 ; ( 8)
DJNZ R7,D1 ; (9)
RET ; (10)
END ;(11
1.4 计算机中的数和编码
?1.4.1 计数制
?1.4.2 二进制数(用 B表示)
?1.4.3 十六进制数(用 H表示)
?1.4.4 不同进制数之间的转换
?1.4.5 数制书写约定
?1.4.6 计算机中数的表示
?1.4.7 计算机常用编码
返回本章首页
1.4.1 计数制
? 日常生活中广泛使用的数为十进制数,这是一
种逢十进一的计数方法。用的数制还有二进制
、八进制和十六进制等。
? 基数小于 10的计数制,可用十进制相应的数码
作为它的数字符号,一个数一般由多个数码组
成。数码在数中的位置不同,其值也不同。
返回本节
1.4.2 二进制数(用 B表示)
? 以 2为基数的数制称为二进位计数制, 它只包括
0和 1两个数码, 很容易用电子元件的两种不同
的状态来表示, 例如, 用高电平表示 1,用低电
平表示 0。 所以, 计算机中通常采用二进制数 。
? 二进制数的计数特征:逢二进一,运算简单。
? 在加、减、乘、除四则运算中,乘法实质上是
做移位加法,除法则是移位减法。
返回本节
1.4.3 十六进制数(用 H表示)
? 为了书写和阅读方便, 经常采用十六进制数作
为二进制的缩写形式 。 十进制数, 二进制数,
十六进制数的对照表如表 1-1所示 。
? 在计数时, 逢十六进一, 这样书写长度短, 且
可方便将十六进制数转换为二进制数或将二进
制数转换为十六进制数 。
表1-
1


















返回本节
1.4.4 不同进制数之间的转换
?1,二进制转换为十进制
基本方法:将二进制数按权展开式, 利用十进制
数的运算法则求和, 即可得到等值的十进制数 。
? 2,十进制到二进制的转换
? 十进制整数转换为二进制整数
? 十进制小数转换为二进制小数
? 带小数的十进制数转换为二进制数
?3,二进制, 十六进制之间的相互转换
?将二进制数转换为十六进制数, 从低位开始,
每四位一组, 然后将其转换为对应的十六进制数
。 如最后一组不足四位, 需在左边补 0。
?用同样方法可将二进制小数转换十六进制小数
。 只是分组应从小数点右边开始分成四位一组 。
?十六进制数转换为二进制数, 将每位十六进制
数直接转换成相应的二进制数 。
返回本节
二进制与十进制、十六进制的转换有专用的 计算器 。
采用电脑,这时你可以点击开始然后点击 程序 再点 附件
这时我们会看到有一个 计算器 的程序,我们点击一下计
算器,这时一个计算器的操作界面就出来了。如果你看
到的是一个跟我们普通计算器一样的界面,这时你还需
要进行一个小小的设定,点击计算器界面上的 查看,这
时会下拉一个菜单,即标准型,科学型,我们 选择科学
型,这时一个可进行二、十、十六进制运算的计算器就
出来了。
1.4.5 数制书写约定
? 在书写计算机程序时, 一般不用基数作为下标
来区分各种进制, 而是用相应的英文字母作后
缀来表示各种进制的数 。
例如,B( Binary) ——表示二进制数 。
D( Decimal) ——表示十进制数, 一般 D可
省略, 即无后缀的数字为十进制数 。
H( Hexadecimal) ——表示十六进制数 。
返回本节
1.4.6 计算机中数的表示
?1,原码, 反码和补码
? 原码,在符号位中用 0表示正, 用 1表示负的二
进制数, 称为原码 。 例如,
x1=+ 1110111B,[x1]原 =01110111B
x2=- 1110111B,[x2]原 =11110111B
数 0可是+ 0或- 0。 因此, 0在原码中形式:
[+ 0]原 =0000 0000B,[- 0]原 =1000 0000B
? 反码,正数的反码 =原码;负数的反码 =原码
的符号位不变而数值按位取反 。 所谓按位取反,
即将各位的 1变成 0,0变成 1。
例如, x1=+ 13,[x1]反 =[+ 13]原 =0 0001101B。
又如, x2=- 13,[x2]原 =[- 13]原 =1 0001101B,
[x2]反 =[- 13]反 =1 1110010B。
? 补码,正数的补码 =原码;负数的补码 =反码+
1。
例如,x1=+ 1101101B,[x1]补 =[+ 13]原 =0 1101101B 。
又如,x2=- 1101101B,[x2]反 =10010010B,
[x2]补 =10010011B。
在补码表示中,,0”是唯一的。即 [± 0]补
=00000000B
?2,数的小数点表示方法
? 定点表示法,表示小数点的位置是固定不
变的 。 分为纯整数和纯小数两类 。
数符 尾数 ·?纯整数表示方法
?纯小数表示方法 数符 ·尾数
其格式如下所示:
? 浮点表示法
浮点表示法中小数点的位置是不固定的 。 任意二
进制数 N一般可表示为,N=2P× S
一个浮点数分为阶码和尾数两部分, 二者各有表
示正负的阶符和数符, 常用存储格式:
阶符 阶码 数符 尾数
? 在微计算机中常用的浮点数表示有:
( 1) 四字节浮点数格式 ( 如图 1-2所示 ), 它由
一个字节指数 ( EXP), 三个字节尾数构成, 共
用四个存储单元 。
( 2) 三字节浮点数格式 ( 如图 1-3所示 ) 。
图 1-2 四字节浮点数格式
D7 D6 …… D0
第一字节
第二字节
第三字节
第四字节
阶符 Pf 阶码
数符 S f 尾数高字节
尾数中字节
尾数低字节
图 1-3 三字节浮点数格式
第一字节
第二字节
第三字节
数符 Sf 阶符 Pf 阶码
尾数高字节
尾数低字节
D7 D6 D5……D 0
返回本节
1.4.7 计算机常用编码
?常见的编码有 BCD码, ASCII码等 。
1,二 — 十进制编码
?是一种用二进制编码的十进制数, 称 BCD码 。
BCD码用标准的 8421的纯二进制码的十六个状态
中的十个 ( 如表 1-2所示 ) 。
?用 BCD码表示十进制数, 只要将每位十进制数用
适当的四位二进制码代替即可 。

1-
2BCD


2,字母和符号的编码
? 微机普遍采用的是 ASCII码 ( 如表 1-3所示 ) 。
ASCII码是一种八位代码, 最高位一般用于奇偶
校验, 其余七位二进制码对 128个字符进行编码


1-
3A
SC
II(








码)

返回本节
THANK YOU VERY MUCH !
?本章到此结束,
?谢谢您的光临!
结束放映 返回本章首页