单片机原理与应用教案单片机完全教程.doc
《单片机原理与应用教案单片机完全教程.doc》由会员分享,可在线阅读,更多相关《单片机原理与应用教案单片机完全教程.doc(124页珍藏版)》请在冰点文库上搜索。
第一讲单片机基础知识
教学方法:
讲授法
授课时数:
2学时
教学目的:
1、了解单片机的基础知识。
2、了解单片机的发展概况。
3、熟悉数制的转换。
教学重点:
单片机的含义及作用
教学难点:
数制间的转换
第一章单片机基础知识
§1-1单片机概述
一、什么是单片机?
计算机(微型)的系统结构:
如图1所示。
输入设备
运算器
输出设备
控制器
内存
图1微机系统结构
多板机:
单板机:
Z80
单片机:
IntelMCS-51,体积小,功能强,可靠性高,价格低。
以最小系统或单片机扩展系统出现在:
家用电器,智能仪表,工业过程控制,航空,汽车等领域。
单片机特点:
(1)受集成度限制,片内存储器容量较小,一般内ROM:
8KB以下;
内RAM:
256KB以内。
(2)可靠性高
(3)易扩展
(4)控制功能强
(5)易于开发
单片机发展分四个阶段:
第一阶段(74年~76年)初级阶段:
仙童公司F8(8位CPU,64KB)
第二阶段(76年~78年)低性能单片机:
Intel公司MCS-48(8位CPU)
第三阶段(78年~83年)高性能单片机:
Intel公司MCS-51、Motorola6801、Z8
第四阶段(83年~今)新一代单片机(单片微控制器):
AT89C51(Atmel)
二、单片机系统的组成
1、硬件部分
运算器
CPU寄存器组
控制器
内存片内
单片机
片外
中断控制逻辑
并行I/O
通用接口串行UART
定时/计数器T/C
定时/计数器:
8253
模数转换器:
ADC0809
数模转换器:
DAC0832
外围器件(片外扩展接口)串行通信扩展:
8251
并行通信扩展:
8255A、8155
驱动器
DSP等
2、软件部分(即程序)
需用户自已开发,根据指令系统进行设计。
某些功能硬件可以实现,软件也可以实现。
硬件实现——速度快,占CPU时间少;但电路复杂、成本高。
软件实现——简化硬件电路设计,可靠性高,成体低,占CPU时间少,实时性差,此外,还需开发设备。
§1-2计算机中数的表示及运算
计算机只识别和处理数字信息,数字是以二进制数表示的;它易于物理实现,同时,资料存储、传送和处理简单可靠;运算规则简单,使逻辑电路的设计、分析、综合、方便,使计算器具有逻辑性。
一、用数制及转换
1、各种进位计数及其表示方法
数字符号:
0、1、2、……9——数码。
数码的个数——基数。
进位规则:
逢十进一
例如,十进制数,10个数码;采用“逢十进一”
30681=3×104+0×103+6×102+8×101+1×100
例如,二进制数,2个数码,采用“逢二进一”
(11010100)2=1×27+1×26+0×25+1×24+0×23+1×22+0×21+0×20
总之,N进制数,N个数码,“逢N进一”
2、数制之间的转换
任意进制之间相互转换,整数部分和小数部分必须分别进行,
十进制转换成二进制——短除取余法
余数
245
222—————————1
211—————————0
25————————1
22————————1
21————————0
0———————1
十进制小数转换成二进制小数——乘2取整法。
二进制转换成十进制——展开求和法。
(101101)2=1×25+0×24+1×23+1×22+0×21+1×20
=32+0+8+4+0+1
=45
二进制转换成八进制、十六进制与此类似。
二、机器数及其编码
1、机器数与真值
机器只认识二进制数:
0、1。
这是因为,电路状态常有两个,如通、断;高电平、低电平;…可用0、1表示。
这种0、1、0、1…1在机器中的表现形式——机器数。
一般为8位。
无符号数:
00000000B、……11111111B即00H~FFH
机器数有:
带符号数:
+1010110B、-1101001真值
01010110、11101001机器数
2、机器数的编码及运算
对带符号数而言,有原码、反码、补码之分,计算机内一般使用补码。
1)原码
将数“数码化”,原数前“+”用0表示,原数前“-”用1表示,数值部分为该数本身,这样的机器数叫原码。
设X——原数;则[X]原=X(X0)
[X]原=2n-1–X(X0),n为字长的位数。
如,[+3]原=00000011B
[-3]原=27-(-3)=10000011B
0有两种表示方法:
00000000+0
10000000-0
原码最大、最小的表示:
+127、-128
2)反码
规定正数的反码等于原码;负数的反码是将原码的数值位各位取反。
[X]反=X(X0)
[X]反=(2n–1)+X(X0)
如,[+4]反=[+4]原=00000100B
[-4]反=(28–1)+(-5)=11111111-00000101=11111010B
反码范围:
-128~+127
两个0;+0——00000000B
-0——11111111B
3)补码
补码的概念:
现在是下午3点,手表停在12点,可正拨3点,也可倒拨9点。
即是说-9的操作可用+3来实现,在12点里:
3、-9互为补码。
运用补码可使减法变成加法。
规定:
正数的补码等于原码。
负数的补码求法:
1)反码+1
2)公式:
[X]补=2n+X(X<0)
如,设X=-0101110B,则[X]原=10101110B
则[X]补=[X]反+1=11010001+00000001=11010010B
如,[+6]补=[+6]原=00000110B
[-6]补=28+(-6)=10000000–00000110=11111010B
8位补码的范围–128~+127。
0的个数:
只一个,即00000000
而10000000B是-128的补码。
原码、反码、补码对照表:
表1-2P10
巩固新课:
小结:
1、计算机与单片机有何区别?
2、单片机主要有哪几部分组成?
3、真值与码值有何区别?
原码、反码、补码三者之间如何换算?
布置作业:
P132、4
版书设计
一、单片机的概念
1、…….
2、…….
3、……..
….
二、单片机的组成
1、…….
2、…
三、数制及转换
1、…….
2、…….
小结
作业:
第二讲计算机中数的表示及运算
教学方法:
讲授法
授课时数:
2学时
教学目的:
1、理解原码、反码、补码的概念
2、掌握真值、原码、反码及补码间的换算
3、熟悉BCD码和ASCII码
教学重点:
补码的概念及运算
BCD码及ASCII码
教学难点:
补码的运算
复习:
原码、反码、补码三者之间有何关系?
4)补码的运算
当X≥0时,[X]补=[X]反=[X]原
[[X]补]补=[X]原
[X]补+[Y]补=[X+Y]补
[X-Y]补=[X+(-Y)]补
例:
已知X=52Y=38求X-Y
方法1:
减法:
方法2:
加法
X-Y=52-38=14X-Y=[[X-Y]补]补=[[X]补+[-Y]补]补
00110100=[[52]补+[-38]补]补
-)00100110=[14]补=14
00001110
[52]补:
00110100
[-38]补:
+)11011010
100001110
自然丢失
计算机在做算术运算时,必需检查溢出,以防止发生错误
5)运算的溢出问题
资料字长(位数)有一定限制,所以资料的表示应有一个范围。
如字长8位时;补码范围-128~+127
若运算结果超出这个范围,便溢出。
例:
[98]补:
01100010[85]补:
01010101
[25]补:
+)00011001[47]补:
+)00101111
[123]补:
01111011[132]补:
10000100
未溢出00溢出01
Cs+1Cs(未溢出)Cs+1Cs(溢出)
错:
两个正数相加和为负数。
[-85]补:
10101011[-19]补:
01010101
[-47]补:
+)11010001[-79]补:
+)10110001
[-132]补:
101111100[-98]补:
110011110
溢出10未溢出11
Cs+1CsCs+1Cs
错:
两个负数相加和为正数。
可见:
结果正确(无溢出)时,Cs+1=Cs
结果错误(溢出)时,Cs+1≠Cs
溢出判断:
溢出=Cs+1Cs(即结果是0为无溢出;1为有溢出)
1、十进制数的编码
对机器:
二进制数方便,
对人:
二进制数不直观,习惯于十进制数。
在编程过程中,有时需要采用十进制运算,但机器不认识十进制数。
怎么办?
可以将十进制的字符用二进制数进行编码:
000009 1001
100011010
2 00101011
300111100未用码
401001101
501011110
601101111
70111
81000
这叫做二进制数对十进制编码——BCD码。
上述每4位二进制数表示一个十进制字符,这4位中各位的权依次是:
8、4、2、1——8421BCD码。
BCD码的运算:
例:
1800011000
+)3BCD码相加+)00000011
2100011011
2B
非BCD码(错)怎么办?
需进行十进制调整:
00011000
+)00000011
00011011(个位大于9,应进1)
+)0110(加6使进1)
00100001(结果形如出21)
(1)BCD码加法规则
两个BCD数相加时,“某位”的和小于10则保持不变;
两个BCD数相加时,“某位”的和大于9,则和数应加6修正。
(2)BCD码减法规则
两个BCD数相减时,“某位”的差未发生借位,则差数保持不变;
两个BCD数相减时,“某位”发生了借位,其差应减6修正。
这里“某位”指BCD数中的“个位”、“十位”、“百位”、……
01100101(65)00110100(34)
+)10010111(97)-)00010101(15)
1111110000011111
+)01100110(加66调整)-)0110(减6调整)
101100010(162)00011001(29)
四、字符信息的表示
计算机能识别0、1、0、1、……;这些0、1、0、1、……有的代表
数值,有的仅代表要处理的信息(如字母、标点符号、数字符号等文字符号),所以,计算机不仅要认识各种数字,还要能识别各种文字符号。
人们事先已对各种文字符号进行二进制数编码:
如,美国信息交换标准码——ASCII码,用一个字节表示一个字符。
低7位是字符的ASCII码值;最高位是通信时的校验位。
见P328
巩固新课:
1、补码的作用?
2为什么对BCD码要进行十进制调整?
布置作业:
P13:
5、6
版书设计
一、补码的运算
1、…….
2、…….
二、运算溢出问题
1、…….
2、…….
三、十进制数的编码
1、…….
2、…….
四、字符信息的表示
1、…….
2、…….
小结:
1、…….
2、…….
3、…….
4、…….
作业:
第三讲MCS-51单片机结构原理
教学方法:
讲授法
教学目的
1、理解MCS-51单片机分类及特征
2、了解单片机内部组成
3、掌握MCS-51单片机引脚的使用
教学重点
单片机外部引脚的使用
教学难点
单片机外部引脚的功能
第二章MCS-51单片机结构原理
单片机硬件结构
·内部结构
·引脚功能
·内存的配置
·CPU时序
·I/O接口
§2-1概述
IntelMCS-51系列单片机三个版本:
8031、8051、8751(8位机)
(表2-1P14程序内存配置)
IntelMCS-96系列机:
8096(16位机)
除此之外,Motorla公司、Zilog公司、Mcrochip……相继推出产品,
各系列产品内部功能、单元组成、指令系统不尽相同。
Intel公司单片机问世早,系列齐全,兼容性强,所以得到广泛使用。
51子系列:
8031、8051、8751MCS-51系列
52子系列:
8032、8052
无有
ROMROM
§2-2MCS-51单片机内部结构及引脚
一、MCS-51单片机内部结构
P15图2-1
1、中央处理单元(8位)
数据处理、测试位,置位,复位位操作
2、只读存储器(4KB或8KB)
永久性存储应用程序,掩模ROM、EPROM、EEPROM
3、随机存取内存(128B、128BSFR)
在程序运行时存储工作变量和资料
4、并行输入/输出口(I/O)(32条)
作系统总线、扩展外存、I/O接口芯片
5、串行输入/输出口(2条)
串行通信、扩展I/O接口芯片
6、定时/计数器(16位、加1计数)
计满溢出、中断标志置位、向CPU提出中断请求,与CPU之间独立工作
7、时钟电路
内振、外振。
8、中断系统
五源中断、2级优先。
结构特点:
MCS-51系列单片机为哈佛结构(而非普林斯顿结构)
1)内ROM:
4KB
2)内RAM:
128B
3)外ROM:
64KB
4)外RAM:
64KB
5)I/O线:
32根(4埠,每埠8根)
6)定时/计数器:
2个16位可编程定时/计数器
7)串行口:
全双工,2根
8)寄存器区:
工作寄存器区、在内128BRAM中,分4个区,
9)中断源:
5源中断,2级优先
10)堆栈:
最深128B
11)布尔处理机:
位处理机,某位单独处理
12)指令系统:
五大类,111条
二、MCS-51单片机外部引脚
DIP40脚P17图2-3
方形封装44脚
1、主电源引脚
Vss、Vcc
2、外接晶振引脚
XTAL1、XTAL2
3、控制或复位引脚
RST/VPD两个机器周期高电平,单片机复位。
P0~P3口:
输出高电平
SP:
07H
SFR、PC:
清0
不影响内RAM状态,机器从0地址开始执行。
上电复位电路、电平方式开关复位电路如图2-4所示。
ALE/PROG:
地址锁存控制端
提供1/6fosc振荡频率,输入编程脉冲EPROM
PSEN:
外部程序内存的读选通信号端。
EA/VPP:
EA=1,访问内部程序内存
当PC值超过内ROM范围(0FFFH)时,自动转执行外部内存的程序
EA=0,只访问外部程序内存。
对8751机,可施加21V编程电源(Vpp)
4、输入/输出引脚
P0~P3:
四个I/O口,每口8线,共同32线。
小结:
1、MCS-51系列机种类
2、MCS-51内部结构有几部分?
特点?
3、MCS-51机DIP有多少引脚?
ALE、PSEN、EA作用?
布置作业:
P351
版书设计
一、MCS-51单片机内部结构
1、CPU…….
2、ROM…….
3、RAM
4、并行I/O口
5、串行I/O口…….
6、定时/计数器…….
7、时钟电路
8、中断系统…….
…….
二、MCS-51单片机内部结构
1、主电源(VCC、VSS)
2、外接晶振
….
3、控制或复位
4、输入/输出
小结:
1、……..
2、…….
.
作业:
第四讲MCS-51单片机存储器配置
教学方法:
讲授法
教学目的:
1、了解特殊功能寄存器名称
2、了解单片机位地址空间分配
3、掌握MCS-51单片机内部存储器的空间与分配
教学重点:
单片机外部引脚的使用
教学难点:
单片机外部引脚的功能
复习:
1、MCS-51系列单片机有几种典型机型?
有何区别?
2、MCS-51单片机有多少外部引脚?
ALE、EA、PSEN、RET的作用?
3、MCS-51单片机的特点?
课题§2-3MCS-51单片机内存配置
一、MCS-51机的内存结构(如图1所示)
60KB
外部ROM
64KB
外部
RAM
4KB
内部
EA=1
4KB
外部
EA=0
特殊功能寄存器
内部RAM
FFFFH
FFFFH
1000H
0FFFH0FFFHFFH
80H
7FH
0000H0000H00H0000H
7F
程序存储器内部数据存储器外部数据存储器
图1MCS-51机的内存结构
物理上分为:
4个空间,片内ROM、片外ROM
片内RAM、片外RAM
逻辑上分为;3个空间,程序内存(片内、外)统一编址MOVC
数据存储器(片内)MOV
数据存储器(片外)MOVX
1、程序内存
寻址范围:
0000H~FFFFH容量64KB
EA=1,寻址内部ROM;EA=0,寻址外部ROM
地址长度:
16位
作用:
存放程序及程序运行时所需的常数。
七个具有特殊含义的单元是:
0000H——系统复位,PC指向此处;
0003H——外部中断0入口