版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一讲单片机概述
一、单片机简介
1、何谓单片机
那么什么是单片机呢,我们还是从计算机讲起。一台能够工作的个人计算
机要有这样几个部分构成:
1)中央处理器CPU(它负责完成计算机的运算和控制任务)进行运算和控
制,
2)存储器RAM和ROM,其中RAM是数据存储器(我们用它来存放临时
数据,计算机断电之后它里面的内容就全没有了)数据存储、而ROM是
程序存储器,(用它来存放固化好程序,计算机开机后的自检程序就固化
在ROM中)它用来进行程序存储、
3)输入输出设备(例如串行接口、并行接口等)。
在个人计算机中,这些部分被分成若干块芯片,安装在一个称之为主板的
印刷电路板上,构成计算机的主机。
而在单片机中,这些部分全部都做到块集成电路芯片中了,这样就
形成了只有一块芯片的微型计算机,我们就称之为单片机。所以说单片机
就是做在一片集成芯片上的微型计算机,它还有另外一个名字,就是单片
微控制器。这里的单片是(单芯片)的意思。
2、单片机的定义:
单片机中,微机的基本部件全部被做到一块集成芯片上,这种集成芯片
称为单片机。
二、单片机都能干些什么。
1、单片机的应用领域。
目前单片机渗透到我们生活的各个领域,几乎彳臃找到哪个领域没
有单片机的踪迹。导弹的导物球置,飞利比各种仪表的捽制,计算机的网
络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的
各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自
动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机
的学习、开发与应用将造就批计算机应用与智能化控制的科学家、工程
师。
(-)单片机的应用范围:
1)工业控制领域;2)仪器仪表;3)电讯技术;
4)汽车与节能;5)办公自动化和计算机外部设备;
6)导航与控制;7)商用产品和家用主品。
(二)单片机在控制领域中具有的优点:
1)体积小,成本低,运用灵活,易于产品化,它能方便地组成各种
智能设备。
2)面向控制:能针对性地解决各种任务。
3)抗干扰能力强,能可靠地工作。
4)可方便地实现多机和分布式控制,提高系统的可靠性和效率。
2、单片机的分类。
单片机按用途大体上可分为两大类:
1-通用型单片机2-专用型单片机
I)专用型单片机是指用途比较专一,出厂时程序已经•次性固化
好,不能再修该的单片机。例如电子表里的单片机就是其中的一种。其
生产成本很低。
2)通用型单片机的用途很广泛,使用不同的接口电路及编制不同
的应用程序就可完成不同的功能。小到家用电器仪器仪表,大到机器设备
和整套生产线都可用单片机来实现自动化控制。
通用型单片机按位数分有4位机,8位机16位机和32位机等等.按厂家
分种类就更多,我国目前最常用的单片机有如下几家:
Intel--------(MCS51系歹1MCS96系歹U);Atmel——(AT89系歹(MCS51内
核);Microchip-(PIC系列)[Motorola—(68HCXX系列);Zilog-------(Z86
系列);Philips一一一(87,80系列,MCS51内核);
Siemens—(SAB80系列《MCS51内核);NEC--------(78系列);
Epson-------(系列)。
3、单片机的特点:
1)单片机中的ROM和RAM严格分工。
ROM为程序存储器,只存放程序常数和表格;
RAM为数据存储器,用作工作区和存放数据及变量。
2)采用面向控制的指令系统。
3)单片机的I/O引脚通常是多功能的。
4)系列齐全,功能扩展性强;
5)单片机的功能是通用的。
三MCS51单片机和8051、8031、89c51等的关系
MCS51是指由美国INTEL公司生产的一个系列单片机的总称,这•
系列单片机包括了好些品种,如8031,8051,8751,8032,8052,8752
等,其中8051是最早最典型的产品,该系列其它单片机都是在8051的基
础上进行功能的增、减、改变而来的,所以人们习惯于用8051来称呼
MCS51系列单片机,而8031是前些年在我国最流行的单片机,所以很多
场合会看到8031的名称。另外INTEL公司将MCS51的核心技术授权给
了很多其它公司,所以有很多公司在做以8051为核心的单片机,当然,
功能或多或少有些改变,以满足不同的需求,其中89C51就是这几年在我
国非常流行的单片机,它是由美国ATMEL公司开发生产的。以后我们单
片机课的一系列实验将用89C51这款单片机来完成。
四.如何学习单片机
1、注重理论联系实际;2、重在基本理论;
3、多参阅相关书籍;4、能借助网络交流。
五、小结:
本讲重点介绍了单片机的组成、定义、特点、应用和各种常用系列单片机
的型号及相互关系。
作业:1、单片机的定义与特点?
第二讲§1.3计算机数据表示
复习:
1、单片机的组成、定义、特点、应用。
2、常用系列单片机的型号及相互关系。
新课:§1.3计算机的数据表示
一、用的进位计数制:
1、十进制数
1)定义:按“逢十进,'的原则进行计数的数称为十进制数。
2)特点:A:逢十进一
B有0——9卜个数码。
3)位权展开式
4)例:
2、二进制数
1)定义:按逢二进一的原则计数。
2)特点:
A逢二进一
B只有0和1两个代码,且分别代表两种不同的状态。
3)位权展开式:略
4)例:略
3、十六进制数:
1)定义:按十六进一的原则计数。
2)特点:
A逢十六进一的原则;
B有0——9A、B、C、D、E、F十六个代码。
3)位权展开式:略
4)例:略
4、二~十进制编码(BCD码)
二进制数、十进制数、十六进制数、BCD码的对应关系如表1-1所示(见
P5)
二、二进制的算术运算
1、加法规则:
0+0=0;0+1=1;1+0=1;1+1=10
2、乘法规则:
0X0=0;0X1=0;1X0=0;1X1=1
三、数制间的转换
1、十进制数转换为二进制数
1)方法除二取余法,即把待转换的数不断地用2除,一直到商是0为止,
然后将所得的余数由下而上排列即可
2)例:略
2、二进制数转换为十进制数
1)方法位权法一即把各非十进制数按位权展开,然后求和。
2)例:略
3、二进制数转换为十六进制数
1)方法从右至左,每4位二进制数转换为一位十六进制数,产足部分用
0补齐。
2)例:略
4、十六进制数转换为二进制数
1)方法一位十六进制数化为4位二进制数
2)例:略
5、数的表示方法
编程时为方便书写,规则在数字后加一个字母以示区别
二进制后加B:十六进制后加H;十进制后加I),并规则D可以省略。
五、逻辑数据的表示
1、逻辑“与”:逻辑功能表示为“有0出0,全1出1”。
2、逻辑“或”:逻辑功能表示为“有1出1,全0出0”。
3、逻辑“非”:逻辑功能表示为“0出1,1出0”。
六、小结:
1、常用进位计数制;2、二进制的算术运算规则;
3、数制间的相互转换;4、逻辑数据的表示。
作业:
P12:思考题与习题1、2、3
第三讲§1.4§1.5单片机的常用术语与存储器
复习:
1,常用进位计数制;2、二进制的算术运算规则;
4、数制间的相互转换;4、逻辑数据的表示。
新课:
§1.4计算机中常用的基本术语
为帮助理解,我们先来看一个例子。
用于照明的灯有两种状态,即亮与灭。如规则灯亮为1,灯灭为0,
那两灯的状态如表1—3所示(见P8)
从表中可知两盏灯能呈现4种状态,即00、01、10、11,在二进制数
中,相当于十进制数中的0、1、2、3。
结论:灯的状态可用数学方法来描述,数值也可用电子元件的不同状
态组合来表示。
一、儿个基本概念
1)数的本质和物理现象:灯亮为1,灯不亮为0。3盏灯:可表示
001—010—111八种不同状态。
2)位的含义:(BIT)一根线(一盏灯)称之为一位。是计算机中所能表
示的最小数据单位。
3)字节的含义:(BYTE)字节:8位称为一个字节。(规定)。
4)字:是计算机中进行处理数据的基本单位。
§1.5存储器
一、储器的工作原理:
1、存储器结构:
存储器象一个个小抽屉,一个里有8个小格子,用来存放电荷,小抽
屉称之为一个单元。
如存放10,也就是00001010只要第3号和1号格子存满电荷即可,
其它把电荷放掉。
问题是一存储器有许多单元,这样会使其只能存一个数据?如何才能
解决?我们在结构稍作变化,给每个单元加上一根控制线,需存储数
据把开关打开,其它不打开。
2、存储器译码
每个单元都有一根控制线,如把所有线引出,那么一片27c512存储器有
65536个单元,就得有6万多个引脚,天啦!如用译码解决,只需16根线
即可。
3、存储器的选片及总线的概念
存储器的选片由读控制端、写控制端和片选端控制个开关来实现。
数据总路线BUS:用来传送数据的8线不专用;
地址总路线卜六根地址线连在•起。
二、半导体存储器的分类:
1、只读存储器ROM
其中的内容在操作运行过程中只能被CPU读出,而不能写入或更新。可
分为以下4类
1)掩膜ROM:一次性固化后不能再改变,成本低廉,适用于大批量生
产。
2)PROM:可编程存储器。只能写一次,以后再也不能改变。3)E
PROM紫外线擦除的可编程只读存储器,可擦几百次。
4)EEPR0M电擦除,寿命可达几万次。
2、随机存取存储器RAM
其内容可以在工作时随机读出和存入,但断电后即消失。
3、可现场改写的非易失存储器
快擦写FLASH存储器、新型非易失静态存储器NVSRAM,铁电存储器
FRAM三类。
FLASHL:集成度高,成本低,且具有SRAM的读写灵活性和较快的访问
速度,又具有ROM的断电后不丢失信息的特点。寿命长,擦写可达100万
次以上。
小结:
1、计算机中几个基本概念;
2、存储器的结构与工作原理;
3、半导体存储器的种类与特点。
作业:
P12思考题与习题5、6、7
第二章一步一步学单片机
第四讲§2.2用单片机控制LED
一、单片机的外部结构:
1、MCS—51单片机的引脚定义和功能:
8051单片机采用40引脚双列直插封装(DIP)方式,引脚和逻辑符号
如图所示:(见P52)。
1)引脚功能简要说明:
A、主电源引脚Vcc和Vss®、2D脚。单片机使用的是5V电源,其中
正极接40引脚,负极(地)接20引脚。
B.振荡电路
单片机是一种时序电路,必须提供脉冲信号才能正常工作,由于在单片机
内部已集成了振荡器,我们只要买来(晶体振荡器)晶振,电容,连上就
可以了。接法是晶振两端分别接单片机的第18、19引脚,同时两端又各
接一个20Pf的电容。如图。
C.复位电路
这里我给出一种复位电路图,我们按图中画法连好即可;至于复位是何含
义及为何需要复位,在单片机功能中在作介绍
D.EA线
EA引脚接到正电源端。
E、4个8位I/O端口:P0口、P1口、P2口、P3口。
2、89C51的外部结构:
1)电源5V⑪脚接电源正极,20脚接电源负极。
2)振荡电路@、(9脚接晶振,并连上2个17P电容即可。
3)复位引脚步⑨脚如图接一电容、电阻并加工5V电源;EA接电
源的正极。(至此单片Miffl电即可工作
一.第一个任务(点亮一盏灯)
发光二极管的外形图和点亮发光二极管的基本电路如图2-19
1.分析:1脚高电平+5V为灯灭
低电平0V灯亮
如何完成任务呢?
让一个引脚输出高电平SETBP1.0
让一个引脚输出低电平CLRP1.0
2、怎样才能让计算机Tl行这两条指令
1)计算机看不懂SETBCLR之类的指令,我们得把指令翻译成计算机能懂的
方式,再让计算机去读。
2)在得到这两个数字后,怎样让这两个数字进入单片机的内部呢?这要借
助于一个硬件工具"编程器”。
3、这样我们看到,硬件电路的连线没有做任何改变,只要改变写入单片
机中的内容,就可以改变电路的输出效果。
4、单片机的内部结构分析:
我们来思考一个问题,写入指令单片机即可工作,指令存于何处呢?其实
我们把它们放在内部ROM处。
5、单片机的工作过程
单片机的内部的4096个单元其地址编号为0000H〜OFFFFH
每次开机将从特定的单元开始读取该单元中保存的内容。也就是0000H,
然后依次从0001H单元、0002H…中读取内容。
为实现功能,单片机内部有一程序计数器部件(PC),十六进制寄
存器。单片机一通电复位,PC中的值为0000H(由硬件保证,使用者无
关),CPU据PC值去取存储单元中所存放的指令,每取一指令,PC
值自动增加,增加值山指令长度决定,这样就能不断从存储单元中取出指
令并执行。
四小结:
1.单片机正常工作时,需要的电路:
(1)电源;2)振荡电路;3)复位电路;4)EA是单片机程序存储器的选择
控制引脚。
EA:高读片内ROM(程序)
低读片外ROM
2.如何点亮盏灯?
作业:1、画出8051单片引国简硬件接线图,并简要说明;
2、P55思考题与习题2
第五讲§2.3用单片机控制单个LED闪烁发光
复习:
1、单片机正常工作的最简硬件接线图;
2、SETB和CLR两条指令的用法。
新课:
上一讲我们让灯亮、灯灭都需重写一次片子,这样编程又有何意义
呢?如能让灯不断闪烁,就有一定的实用价值吧!比如作成汽车的信号灯,
下面我们分析。
一、怎样才能让灯不停地闪烁?
P1.0不断地输出高和低电平。
用如下指令可行吗?
SETBP1.0;(1)
CLRP1.0;⑵
END
二、分析
不行,因为存在以下两个问题
1、计算机执行指令的时间非常快,(微秒1/1000000秒),从⑴到⑵只要百万分之
一秒.肉眼分辨不出灯火过.1秒=1000毫秒=1000000微秒
2、执行⑵后,单片机不会再执行SETBP1.0指令,灯就一直亮着.
三、解决方案
1、在执行第一条指令后,延时一段时间(比如1s)就可分辨出灯灭过
2、在执行第二条指令后,延时•段时间(比如1s),再去执行第一条指令,不断地
在原地兜圈“循环”,即可实现灯的闪烁。
四、程序
;主程序
LOOP:SETBP1.0;(1)灯灭
LCALLDELAY;(2)延时
CLRPLO;⑶灯亮
LCALLDELAY;(4)延时
LJMPLOOP;(5)转去执行第1条
;延时125ms的子程序:
DELAY:
MOVR7,#250;(6)
DI:MOVR6,#250;(7)
D2:DJNZR6,D2;(8)
DJNZR7,D1;(9)
RET;(10)
END;(11)
LJMP---------转移指令;
LOOP:是标号,用来给一行起个名字,便于使用(名字可以随意,如XI,
X2)
BMPLOOP:程序转移到有LOOP标号的那一行继续执行。
LCALL--------子程序调用指令
当执行到LCALL指令时,程序转移到LCALL后面标号所标定的程序处
执行,如果在执行程序的过程中遇到RET指令,则程序返回到LCALL的
下面一行继续执行。
RET-----------子程序返回指令,当执行LCALL时,若遇RET,则返回到
LCALL指令的下一条指令。
MAIN标号
SJMP只能跳相邻最多128个字节短跳转
UMP能©倒ROM的任行长跳转
AJMP只能在一个2K的段内任意跳绝对助照
LCALL长子程序调用
ACALL
RET:返回'一■一return
MOV-----------传递数据的指令
五.单片机的内部结构分析
80c51单片机片内RAM的分配图如图2—23所示(P32),从图中可知,共
有128个字节的RAM,80C51将其分为三个区.
1、工作寄存器区
RO、RI、R2—R7:工作寄存器,实际上是一个一个的RAM(内
存单元,供我们存放数据)
2、寻址区
内部数据存储器地址为20H〜2FH共16个单元被定义为寻址区,在
位寻址区CPU不仅具有字节寻址的能力,而且可以对这16个字节中的
每一位(一共128个位)进行寻址。
单元地址与位地址的对应关系如表2—3所示(P33)
3、一般用途区
地址为30H〜7FH的区间为般用途区,用于数据的存放、堆栈等操作。
小结:
1、单个LED闪烁的设计分析及编程;
2、单片机片内RAM与工作寄存器;
作业:
1、写出LED闪烁程序中主程序中条指令的用法。
2、单片机内部RAM分为哪几个区及各自的作用。
第六讲、§2.3单片机控制单个LED闪烁(二)
复习:
1、单个LED闪烁的设计分析及编程;
2、单片机片内RAM与工作寄存器;
新课:
六、延时程序分析:
1、延时子程序:
DELAY:MOVR7,#250
DI:MOVR6,#250
D2:DJNZR6,D2
DJNZR7,DI
RET
END
2、延时程序分析:
1)R6、R7代表了工作寄存器的单元,用来存放数据。
2)MOV:移动,将数据从一个存储单元移动(传送)到另一个存储单元。
例:MOVR7,#250;将立即数250送到工作寄存器R7中去。
3)DJNZ:(跳转指令)程序每执行一次本指令,先将其后第一个参数中
的值减1,并判断这个值是否为0,等于0,就往下执行(结束循环)。如
不等于0,就转移到第2个参数(标号)指定的地方去执行程序(继续循
环)一一叫循环控制指令。
4)RET:返回指令,子程序在执行过程中如遇RET,则返回主程序,返
回到哪呢?返回至调用该子程序指令的下一条指令继续执行。
七、时序分析
1、时序:时间的顺序个周期内(如一个人一天内)先干什么(输出什
么信号),接下来干什么,。。。最后干什么。
2、机器周期:规定完成一个基本操作所需的时间为一个机器周期
机器周期是计算机的时间基准;就象平常我们用秒做时间基准或用小时做
时间基准一样。
3、振荡周期:单片机1个机器周期包括12个时钟周期(振荡周期)
设单片机工作在12MHZ晶振下
时钟周期=1/频率=1/(12XI06)秒
机器周期=12X时钟周期
=12/(12XIO。)秒
=104秒=1微秒
4、指令周期:执行一条指令所需要的时间
DJNZ是一个双周期指令,每执行一次DJNZ需要2个机器周期的时间
小结:
1、延时程序分析;
2、机器周期、振荡周期、指令周期的定义与延时时间的计算。
作业:
1、P55思考题与习题3
2、请设计一个延时1S的延时子程序。
第七讲§2.4§2.5单片机的复位电路与省电工作方式
复习:
1、延时程序分析;
2、机器周期、振荡周期、指令周期的定义与延时时间的计算。
新课:
§2.4单片机的复位电路
复位电路的作用:
为使单片机内部电路有确定的工作状态,单片机在工作之前要有一个复
位的过程。
二、复位电路的结构:
复位电路的结构有多种,我们以最简单的来为大家讲述。
具体电路如图2—25所示(P36)
三、电路工作原理:
通电时,电容C1两端相当于短路,RST引脚上为高电平,通过R1
对CI充电,RST端电压慢慢下降,以至达到低电平,单片机开始工作。
四、复位后内部寄存器状态
如l'"表所示:
寄存器内容寄存器内容
PCOOOOHTMODOOH
ACCOOHTCONOOH
BOOHTHOOOH
PSWOOHTLOOOH
SP07HTH1OOH
DPTR0000HTL1OOH
P0〜P3OFFHSCONOOH
IP(XXXSBUF不确定
00000B)
IE(0XXPCON(OXXXX
00000B)XXXB)
§2.5省电工作方式
一、80C51单片机省电工作方式种类
1、空闲方式:
振荡器继续工作,时钟脉冲继续输出到中断系统、串行□和定时器
模块,但不提供给CPU。
2、掉电方式:
振荡器也停止工作。
两种工作方式由电源控制寄存器PCON的控制M立来定义。
二、电源控制寄存器PCON的控制格式
1、控制格式如F表所示
SMOD一一一GF1GFOPDIDL
其中:
SNOD——串行口波特率控制位(详见3.5节)
GF1--------通用标志位
GF0--------通用标志位
PD--------掉电方式控制位。PD=1,进入掉电工作方式。
IDL--------空闲方式控制位。IDl^l,进入空闲工作方式。
提问:如PD、IDL同时为1,结果如何?
三、两种工作方式
1、空闲工作方式:
1)进入空闲工作方式
当ID*1,系统进入空闲工作方式,振荡器继续工作,时钟脉冲继续
输出到中断系统、串行口和定时器模块,但不提供给CPU,CPU内部状态
维持不变。
2)退出空闲工作方式的方法
A任何的中断请求被响应都可以由硬件将IDL清0而中止空闲工作
方式。
B硬件复位。
2、掉电工作方式
1)当CPU执行PD-1指令时,系统进入掉电工作方式,振荡器也停止工
作,所有功能部件都停止工作。
2)退出掉电工作方式的唯一方法是硬件复位,复位后,所有SFR的内容
初始化,RAM中的数据不变。
小结:
1、复位电路的结构与工作原理;
2、80c51单片机的省电工作方式;
3、电源控制寄存器PCON的捽制格式
作业:
P55思考题与习题4、5
第八讲§2.6§2.7单片机控制8只LED闪烁和用按钮控制LED
复习:
1、复位电路的结构与工作原理;
2、80C51单片机的省电工作方式;
3、电源控制寄存器PCON的控制格式
新课:
§2.6单片机控制8个LED闪烁发光
P1.0能点亮灯,那其它的引脚呢?大家想想!
事实上凡是以P开头的引脚都能/F面我们来验证一下。
一、硬件接线图:
如图2—21所示(P28)
其中:
8只LED分别接Pl.0—PL7,接好电源和振荡电路及复位电路。
二、程序设计:
1、程序清单:(接P1口的8个LED闪烁程序)
;主程序
MAIN:MOVPl,M)FFH
LCALLDELAY
MOVPl,#00H
LCALLDELAY
UMPMAIN
DELAY:MOVR7,#250
DI:MOVR6,#250
D2:DJNZR6,D2
DJNZR7,DI
RET
END
2,程序分析
1)Pl相当于P1.0~P1.7,MOV指令的用途是数据传递。
2)OFFH、00H是什么含义呢?——学生回答。
3)FFH前应加0,才表示是数,而不是字符,汇编软件所要求。
§2.7用按钮控制LED
通过上面的例子,我们知道P1□能作为输出使用,另外凡以P开头的引
脚都能作为输出使用,能否都作为输入端使用,我们来分析下面的例子。
一、用按钮控制LED的硬件接线图:
电路结构如图2—27所示(见教材P39)
P1□接8只LED,P3.2、P3.3、P3.4、P3.5引脚分别接4个按钮。当按钮
按下时,相当于引脚接地。
二、程序设计
1、程序清单:
MAIN:MOVP3,#OFFH
LOOP:MOVPl,P3
UMPLOOP
END
2、程序分析:
1)实验过程:
接通电源,P1□的灯全不亮,然后任意按下一按钮,P1口上有一个灯
亮,松开灯即熄灭。再另一个按钮,P1口的另一个灯亮,松开灯灭。同时
按下几个按钮,同时亮几个灯,可见按钮与灯成一一对应关系。
2)各条指令的功能:
。第条指令的用途:使P3□全部为高电平;
O第二条指令的用途:将P3口的数据送入P1口;
。第三条指令是循环,即不断地重复这过程。
3)从图2—27中,我们看到,按S2、S3、S4和同时按下,相对应的灯即
亮,可以得如下结论:
P3口的4个引脚可以用作输入。
4)以P开头的的引脚酉何用作输入端,也可以用作输出端,因此这32
个引脚称之为“并行输入/输出口”,即I/0口。
小结:1、8个LED闪烁程序的设计与分析;
2、P3□作输入的程序分析;
3、并行I/。口的定义。
作业:
1、试设计一程)手,要求4只灯亮4只灯灭,交替闪烁。
第九讲§2.8并行I/0口
复习:
1、8个L印闪烁程^的设计与分析;
2、P3□作输入的程序分析;
3、并行I/。口的定义。
新课:
§2.8并行I/0口
89C51单片机有4个8位的并行双向I/0口,分别用P0、P1、
P2、P3表示。
并行I/0口的功能:
◎P0口是一多功能口,除用作通用I/0口外,还可作为地址/
数据总线。
©p1□作为通用I/。口使用。
◎P2口多功能口,既可作通用I/0口,还可作为高8位地址线,
用于系统的扩展。
◎P3口多功能口,既可作通用I/0口,每一引脚还有第二功能。
P3□引脚的第二功能列表如下:
引脚第二功能引第二功能
脚
P3.0RXD(串行数据输入)P3.4TO(定时器0外部输入)
P3.1TXD(串行数据输出)P3.5T1(定时器1外部输入)
P3.2INTO(外部中断0输入)P3.6WR(外部RAM写信号)
P3.3INT1(外部中断1输入)P3.7RD(外部RAM读信号)
二、并行I/0口的结构分析:
1、简要说明:
图2—28(a)是Pl□的一位的结构示意图。从图中可以看出,如
果把内部的电子开关打开,引脚通过上拉电阻与VCC接通,此时引脚输
出高电平。如果把电子开关合匕引脚就直接与地相连贴此时引脚输出低
电平。P2、P3□结构基本相同。P0口则不同,如图2-28(b)所示,具有
真正的三态(高电平、低电平和高阻态),而图2-28(a)所示的结构是不
存在第三态(高阻态)的。通常把Pl、P2T和P3□称之为准双向I/O口,
而P0则是真正的双向I/O口。
2、结构分析
图2-29给出了PO、Pl、P2、和P3口的一位的结构图。由于4个I/O
端口的功能并不•样,所以它们在电路结构上也不相同,但是输出部分大
体是一致的。
三、I/O□的输入功能分析
1、读锁存器与读引脚
80C51单片机中,输入有两种方式,分别称为“读引脚”和“读锁存器”。
□第一种方式是将引脚作为输入,那是从外部引脚读进输入的值,即当
引脚作为输入端时用读弓脚的方式来输入。
□第二种方式是引脚作为输出端使用时采用的工作方式。
X80c51单片机中引入了读锁存器这种操作,避免出现“失误”,读的
是控制锁存器,而不是引脚本身。
2、准双向I/O口
参见图2-31
由于在输入时要先做这么一个准备工作,所以P1口、P2口、P3
口被称之为准双向I/O口。
小结:
1、并行I/O□的功能;
2、并行I/O□的结构分析;
3、I/O口的输入功能分析;
作业:
1、并行I/O□的功能?
第I讲§2.9用单片机实现澈K彩灯
复习:
1、并行I/O口的功能;
2、并行I/O□的结构分析;
3、I/O口的输入功能分析;
新课:§2.9用单片机实现流水彩灯
流水彩灯是一种常见的装饰,常用于T台灯光。大家一定在想,如果
我们能亲自动手制作出来,那该多好啊!好,下面我们一起来做,大家一
定会挺有兴趣的。
一、硬件接线图:
如图2-27所示
P1口接8只发光二极管,要求依次点亮,时间间隔为0.5S
二、程序设计:
1、直接送数据的程序设计:
ORG0000H
UMPSTART
ORG30H
START:MOVPl,#11111HOB
LCALLDELAY
MOVPl,#11111101B
LCALLDELAY
MOVPl,#11111011B
LCALLDELAY
MOVPl,
LCALLDELAY
UMPSTART
DELAY:MOVR7,#250
DI:MOVR6,#250
D2:DJNZR6,D2
DJNZR7,DI
RET
END
卜.述方法稍显“笨”了点,我们能否有更简单的方法呢?当然有,只是还
没学习相关的指令,卜面我们来用另一种方法来设计,大家一定会说,原
来这样简单哟!
2、用移位指令实现流水彩灯
ORG0000H
UMPSTART
ORG30H
START:MOVA,#0FEH
LOOP:MOVPl,A
RLA
LCALLDELAY
UMPLOOP
DELAY:;MOVR7,#250
DI:MOVR6,#250
D2:DJNZR6,D2
DJNZR7,DI
RET
END
RL:左移指令,把累加器中的值循环左移。也就是各位数字不断向左移动,
而最后一位由最左一位移入。
小结:
1、实现流水彩灯的硬件接线图;
2、直接送数据的流水彩灯程序设计;
3、用移位指令的流水彩灯程序设计。
作业:
1、请设计一暗点流水彩灯程序;
2、请设计一多花样的彩灯程序。
第十一讲单片机内部结构分析
复习:
1、实现流水彩灯的硬件接线图;
2、直接送数据的流水彩灯程序设计;
3、用械指令的初彩灯而设计。
新课:
2.10单片机内部结构分析
一、80c51CPU的内部结构与功能
1、51单片机的内部结构示意图如图2-32所示
◎■•个8位CPU,用来运算、控制。
©片内数据存储器RAM,51单片机容量是128字节。
◎片内数据存储器ROM,89c51单片机容量是4K。
◎4个8位的并行I/O口,分别是P0、Pl、P2、P3。
©2个16位的定时/计数器。
◎中断结构。
◎一个可编程全双工通用异步接收发并比送器UART。
◎一个片内振荡器用于时钟的产生。
◎可以寻址64KB外部程序存储器和外部数据存储器的总线扩展结
构。
2、80c51cpU的内部结构与功能
1、运算器
包括1个算术和逻辑运算单元、TM1、TM2、ACC、B、PSW。
2>B-----8位寄存器
一般作通用寄存器用,但执行乘法和除法运算时,B用来存放一个操作
数和运算后的结果。
3、PSW——程序状态字
用来存放当前有关指令执行结果的状态标志。
从而了解CPU的当前状态,并作出相应的处理。
程序状态字PSW中的各位的功能
位D7D6D5D4D3D2D1DO
含义CYACF0RS1RSOOV一P
1)CY进位标志,如运算结果超过255,最高位进到CY,防出错。
2)AC半进位标志。
用于运算结果的低4位有进位而整个数无进位的情况。
3)F0:用户标志位
由编程人员自行决定何时使用。
4)DPTR(DPH、DPL)
数据指针,由两个8位的寄存器DPH、DPL组成16位的DPTR,可
用来访问外部数据存储器中的任一单元,不用时也可用作通用寄存器。
5)SP一堆栈指针
用来存放数据,按“先进后出,后进先出”的规律规律执行。
6)特殊功能寄存器(SFR)
送入其中的值有特定的含义而不能当作“中转站”使用的寄存器称为SFR。
表2—8特殊功能寄存器表
符号蜘功能介绍符号蜘功能介绍
BFOHB寄存器TL18BH定时/计数器1(低8位)
ACCEOH累加器TL08AH定时/计数器0(高8位)
PSWDOH程序状态字TMOD89H定时/计数器方式控制寄
IPB8H中断优先级控制存器
寄存器
IEA8H中断允许控制寄DPH83H数据则指针(高8位)
存器
P2AOHP2锁存器DPL82H数据地址指针(低8位)
P3BOHP3锁存器SP81H堆栈指针
SBUF99H串行口锁存器P080HP0口锁存器
Pl90HP1口锁存器PCON87H电源控制寄存器
TH18DH定时/计数器1TCON88H定时/计数器控制寄存器
THO8CH定时/计数器0
4,控制器
包括程序计数器PC、指令寄存器、指令译码器、振荡器和定时电路等。
其中PC共有16位,对16位地址线进行管理,对MKB的程序存储器
(ROM)进行直接寻址,其它不做介绍。
小结:
1、了解89c51单片机的内部结构;
2、掌握各组成部分的作用;
3、理解SFR的定义和具体符号、功能。
作业:
1、写出80c51单片机中的SFR名称、符号和功能?
实验一Medwin软件和编程精灵的使用
一、实验目的
1、了解Medwin软件的下载、安装,掌握其使用方法;
2、熟悉编程精灵的使用方法。
二、实验器材
1、上网微型计算机一台
2、编程器与相关软件一套
3、89C51单片机实验平台一套
三、实验步骤
1、在中搜索"万利",下载Medwin和Winrer
软件,解压安装在电脑上。
2、学会使用Medwin编程、编译、及产生代码等基本
操作。
3、安装编程精灵软件,熟悉编程器的使用
选择器件装载可执行文件一擦除原芯片内容
一编程一烧写完毕。
4、在MEDVIN窗口下打开一个新文件,输入自己的
学号作文件名,以.asm为扩展名,开始编程。
5、编完程序,开始汇编,检查有无语法错误,如无错
误,再产生代码。
6、打开编程软件,调入可执行文件**-hex,装载完后,
写入芯片。
7、把芯片放入平台实验,查找有无逻辑错误,如有则
修改直至正常。
8、熟悉实验的每个环节
四实验报告
要求祥细记录下操作过程,如实验中出现问题,应写
出其解决的方案。
实验二89c51单片机实验平台的安装
一、实验目的
1、熟悉89c51单片机实验平台的电路结构,了解其工
作原理;
2、熟悉平台元件的检测及相关注意事项;
3、通过保质保量完成安装任务,提高基本操作技能。
二、实验器材
1、上网微型计算机一台
2、编程器与相关软件一套
3、89C51单片机实验平台散件一套。
三、实验步骤
1、设计安装好89c51单片机正常工作最简硬件原
理图;
包括电源电路、振荡电路、复位电路、EA引脚
2、P1□彩灯实验接线图
注意二极管的极性与接法
3、安装好5V稳压电源原理图
注意桥堆的连线,电容的极性,三端稳压块
W7805的引脚的分别。
4、P0口数码管部分接线图
注意数码管的引脚。
5、安装注意事项
1)集成电路的缺口要与丝印层一致;
2)三极管、桥堆、二极管、W7805引脚不能有安装
错误;
3)按钮开关应注意两引脚的距离;
4)发光二极管不能落座安装;
5)电阻一般贴板安装,电容应特别注意极性;
6)整板应整齐美观,应符合电气要求。
四实验报告
要求祥细记录下操作过程,如实验中出现问题,应写
出其解决的方案。
实验三89C51单片机实验平台的调试与检测
一、实验目的
1、熟悉89c51单片机实验平台的电路结构,掌握其工
作原理;
2、熟悉实验平台的检测维修;
3、通过调试与检测,提高基本操作技能。
二、实验器材
1、上网微型计算机一台
2、编程器组一台
3、安装完的89c51单片机实验平台一套。
三、实验步骤
1、熟悉实验平台的元件结构与电气连接;
2、用万用表检测平台各部分工作状态;
3、通过检测如发现问题,及时检修实验平台;
4、用写好的芯片检验实验平台工作情况;
5、如工作正常,对平台进行必要的整形,使平台整
齐美观,实用可靠。
四实验报告
要求祥细记录下操作过程,如检测中出现问题,应写
出其解决的方案。并做出小结。
实验四用单片机控制LED闪烁
一、实验目的
1、熟悉LED的工作原理;
2、明确用单片机控制产品的设计思路,学会基本的编
程方法;
3、进一步熟悉编程器和MEDWIN的使用。
二、实验器材
1、上网微型计算机一台
2、编程器组一台
3、89C51单片机实验平台一套。
三、实验步骤
1、首先明确完成本实验所需硬件电路图,要求作出
硬件接线图;
2、用MEDWIN软件编写程序;
程序清单
ORG0000H
AJMPLOOP
ORG30H
LOOP:SETBP1.0;(1)灯灭
LCALLDELAY;(2)延时
CLRP1.0;(3)灯亮
LCALLDELAY;(4)延时
LJMPLOOP;(5)转去执行第1条
;延时125ms的子程序:
DELAY:
MOVR7,#250;(6)
DI:MOVR6,#250;(7)
D2:DJNZR6,D2;(8)
DJNZR7,D1;(9)
RET;(10)
END;(11)
3、对所编程序进行汇编,查找有无语法错误并修改,
汇编通过后产生代码;
4、用编程器进行烧录芯片;
5、放入实验平台试验,检查有无逻辑错误,如有则
修改源程序,产生代码后重试,直至成功。
四实验报告
要求祥细记录下操作过程,写出源程序,并编写8
只LED同时闪烁的程序清单。
第三章定时/计数器、中断和串行接口
第十二讲单片机的定时/计数器(一)
复习:
1、89c51单片机实验平台的设计;
2、89C51单片机实验平台的安装注意事项;
3、编程器的使用。
新课:
§3.1-2单片机的定时7计数器(一)
一、定时/计数器的基本概念
1、计数:
是指对事件的统计,如电度表、里程表等。
2、计数器的容量:
89c51单片机有两个计数器T1和TO,分别由两个
8位计数单元组成,即每个计数器都是16位,最大计
数容量为65536o
3、定时
1)8031的计数器除用作计数之外,可用作时钟,计
数器是如何作为定时器来用呢?
一个闹钟计数的次数与时间的关系,是秒钟每走动
一次,时间正好是一秒。
结论:只要计数脉冲的时间间隔相等,则计数值就
代表了时间的流逝。
2)定时/计数器示意图
如图3-1所示:(略见P57)
12MHz晶振,T=1US
结论:计数脉冲的时间间隔与晶振有关。
4、溢出
计数器超过计数范围会产生溢出,溢出后TFO为
1,会产生变化,引发事件。
5、任意定时及计数的方法:
计数器容量为16位,最大计数值为65536,计满会
溢出,问题是现实中会少于65536个计数值,如何来
满足要求呢?
我们采用预置数的方法来解决,要计100,先放
65436o
定时也是如此,每个脉冲lus,计满为65536个脉
需时65.536ms只计1ms,则只需在计数器中放进55536
就可。
二、计数器/定时器结构及工作原理
1、计数器/定时器结构框图
如图3―2所小
89C51单片机内部集成有两个16位可编程定时/
计数器,分别是定时/计数器0和定时/计数器1,都具
有定时和计数功能。
2、定时/计数器的工作原理
TO、T1定时/计数器都可由软件设置为定时或计数
的工作方式,其中T1可作为串行口的波特率发生器。T1、
TO的功能由TMOD和TCON进行控制。
◎当TO或T1用作定时器时,计数输入信号是内部
时钟脉冲,每个机器周期使寄存器的值加1。计数
频率是振荡频率的l/12oOT=0o
◎当TO或T1用作计数器时,计数脉冲来自相应的
外部输入引脚。TO为P3.4,T1为P3.5,时钟脉
冲下降沿到来时,计数存储器(THO、TL0或TH1、
TL1)的值增加I。OT=lo
定时/计数器工作不占用CPU时间,直到定时/计
数器产生溢出,CPU才会停下当前的操作,去处
理相关事件。
小结:
1、定时/计数器的基本概念;
2、定时/计数器的基本结构与工作原理。
作业:
P88思考题与习题1
第十三讲单片机的定时/计数器(二)
复习:
1、定时/计数器的基本概念;
2、定时/计数器的基本结构与工作原理。
新课:
§3.2单片机的定时/计数器(二)
三、定时/计数器的控制字
TO和T1有两个8位的控制寄存器TMOD和
TCON,分别用来设置定时/计数器的工作方式、选择
定时或计数功能、控制启动运行及伯为运行的标志。
系统复位时,TMOD和TCON的所有位都清Oo
1、定时/计数器的方式控制寄存器(TMOD)
TMOD的格式如下:
位D7D6D5D4D3D2DIDO
含义GATEOTMlMOGATEOTMlMO
在TMOD中,高4位用于T1的方式控制,低4位
用于TO的方式控制,功能简述如下
©M1M0:定时器工作方式选择位。
MIMO=OO,定时工作于方式0(13位的定
时/计数工作方式)
M1MO=O1,定时工作于方式1(16位的定时
/计数方式)
M1MO10,定时工作于方式2(8位自动重装方式)
M1MO=11,定时工作于方式3(TO被分为两个8位计
数器,T1只能工作于方式2)。
OOT:定时/计数器选择位。
OT=0,工作于计数方式;
C"=l,工作于定时方式。
©GATE:门控位。由GATE、软件控制位TR1"RO和
INT1/INT0共同决定定时/计数器的打开或关闭。
GATE=0,只要用指令置TRlfTRO为1即可启动定时
/计数器工作,而不管INT的状态如何;
GATE=1,只有INT1/INT0为高电平且用指令置
TR1/TRO为1时,才能启动定时/计数器工作。
2、定时/计数器控制寄存器(TCON)
TCON是特殊功能寄存器,高4位为定时/计数器的
运行控制和溢出标志位,低4位与外部中断有关,在
此不做介绍。
定时/计数器控制寄存器(TCON)的格式
位D7D6D5D4D3D2D1DO
含义TF1TR1TF0TR0
□TF1/TF0:TIE)溢出标志位。
溢出时该位置为1,使用中断方式时;该位作中断
标志位,在转向中断服务程序时一,由硬件自动复位清0。
□TR1ATR0:Tl"0运行控制位。
TR1/TROO,停止定时/计数器工作;
TRlfTROl,启动定时/计数器工作。
注意:该位需软件置1或清0。
小结:
1、定时/计数器的方式控制寄存器(TMOD)
2、定时/计数器控制寄存器(TCON)
作业:
1、写出TMOD的格式,并说明各位的意义?
2、写出TCON的格式,并说明各位的意义?
第十四讲单片机的定时/计数器(三)
复习:
1、定时/计数器的方式控制寄存器(TMOD)
2、定时/计数器控制寄存器(TCON)
新课:
§3.2单片机的定时7计数器(三)
四、定时/计数器的四种工作方式
TO、T1的定时器功能由TOMD中的OT位选择,
其工作方式选择则由TMOD中的M1M0决定。
1、工作方式0
1)定时/计数器工作方式0的逻辑电路结构图如图
3-3所示(见P60)
定时/计数器的工作方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论