单片机三个实验.docx
- 文档编号:1071445
- 上传时间:2022-10-16
- 格式:DOCX
- 页数:16
- 大小:250.80KB
单片机三个实验.docx
《单片机三个实验.docx》由会员分享,可在线阅读,更多相关《单片机三个实验.docx(16页珍藏版)》请在冰豆网上搜索。
单片机三个实验
实验一构建单片机最小系统和实验环境熟悉
一、单片机最小系统的组成原理图
二、单片机的工作原理
1.运算器
运算器包括算术逻辑运算单元ALU、累加器ACC、寄存器B、暂存器TMP、程序状态字寄存器PSW、十进制调整电路等。
它能实现数据的算术逻辑运算、位变量处理和数据传送操作。
(1)算术逻辑单元ALU
ALU在控制器根据指令发出的内部信号控制下,对8位二进制数据进行加、减、乘、除运算和逻辑与、或、非、异或、清零等运算。
它具有很强的判跳、转移、丰富的数据传送、提供存放中间结果以及常用数据寄存器的功能。
MCS-51中位处理具有位处理功能,特别适用于实时逻辑控制。
(2)累加器ACC
累加器ACC是8位寄存器,是最常用的专用寄存器,它既可存放操作数,又可存放运算的中间结果。
MCS—51系列单片机中许多指令的操作数来自累加器ACC。
累加器非常繁忙,在与外部存储器或I/O接口进行数据传送时,都要经过A来完成。
(3)寄存器B
寄存器B是8位寄存器,主要用于乘、除运算。
乘法运算时,B中存放乘数,乘法操作后,高8位结果存于B寄存器中。
除法运算时,B中存放除数,除法操作后,余数存于寄存器B中。
寄存器B也可作为一般的寄存器用。
(4)程序状态字PSW
程序状态字是8位寄存器,用于指示程序运行状态信息。
其中有些位是根据程序执行结果由硬件自动设置的,而有些位可由用户通过指令方法设定。
PSW中各标志位名称及定义如下:
位序
D7
D6
D5
D4
D3
D2
D1
D0
位标志
CY
AC
F0
RS1
RS0
OV
—
P
CY(PSW.7):
进(借)位标志位,也是位处理器的位累加器C。
在加减运算中,若操作结果的最高位有进位或有借位时,CY由硬件自动置1,否则清“0”。
在位操作中,CY作为位累加器C使用,参于进行位传送、位与、位或等位操作。
另外某些控制转移类指令也会影响CY位状态(第三章讨论)。
AC(PSW.6):
辅助进(借)位标志位。
在加减运算中,当操作结果的低四位向高四位进位或借位时此标志位由硬件自动置1,否则清“0”。
F0(PSW.5):
用户标志位,由用户通过软件设定,决定程序的执行方式。
RS1(PSW.4),RS0(PSW.3):
寄存器组选择位。
用于设定当前通用寄存器组的组,其对应关系如下:
RS1
RS0
寄存器组
R0~R7地址
0
0
组0
00~07H
0
1
组1
08~0FH
1
0
组2
10~17H
1
1
组3
18~1FH
OV(PSW.2):
溢出标志位。
它反映运算结果是否溢出,溢出时OV=1;否则OV=0。
OV可作为条件转移指令中的条件。
PSW.1:
未定义位。
P(PSW.1):
奇偶标志位。
P=1,表示ACC中1的个数为奇数;否则P=0。
P也可以作为条件转移指令中的条件。
2.控制器
控制器包括定时控制逻辑(时钟电路、复位电路),指令寄存器,指令译码器程序计数器PC,堆栈指针SP,数据指针寄存器DPTR以及信息传送控制部件等。
(1)时钟电路
MCS—51系列单片机芯片内部有一个高增益反相放大器,输入端为XTAL1,输出端为XTAL2,一般在XTAL1与XTAL2之间接石英晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,就是单片机的内部时钟电路,如图(A)所示。
时钟电路产生的振荡脉冲经过二分频以后,才成为单片机的时钟信号。
电容C1和C2为微调电容,可起频率稳定、微调作用,一般取值在5~30pf之间,常取30pf。
晶振的频率范围是1.2MHz~12MHz,典型值取6MHz。
XTAL1接地,XTAL2接外部震荡器,外接信号应是高电平持续时间大于20ns的方波,且脉冲频率应低于12MHZ。
如图(B)所示。
(A)内部时钟电路(B)外部振荡源
(2)复位电路
对于使用12MHZ的晶振的单片机,复位信号持续时间应超过4μs才能完成复位操作。
产生复位信号的电路有上电自动复位电路和按键手动复位电路两种方式。
上电自动复位是通过外部复位电路的电容充电来实现的,该电路通过电容充电在RST引脚上加了一个高电平完成复位操作。
上电自动复位电路如图(a)所示。
按键手动复位电路。
按键手动复位是通过按键实现人为的复位操作,按键手动复位电路如图(b)所示。
复位后内部暂存器的状态如下:
PC
0000H
TCON
00H
ACC
00H
TL0
00H
PSW
00H
TH0
00H
SP
07H
TL1
00H
DPTR
0000H
TH1
00H
P0~P3
FFH
SCON
00H
IP
××000000B
SBUF
不定
IE
0×000000B
PCON
0×××0000B
TMOD
00H
(3)指令寄存器和指令译码器
指令寄存器中存放指令代码,CPU执行指令时,由程序存储器中读取的指令代码送入指令存储器,经译码器后由定时与控制电路发出相应的控制信号,完成指令所指定的操作。
4.程序计数器PC
PC是一个16位计数器,其内容为单片机将要执行的指令机器码所在存储单元的地址。
PC具有自动加1的功能,从而实现程序的顺序执行。
由于PC不可寻址的,因此用户无法对它直接进行读写操作,但可以通过转移、调用、返回等指令改变其内容,以实现程序的转移。
PC的寻址范围为64KB,即地址空间为0000~0FFFFH。
(4)堆栈指针SP
SP为8位寄存器,用于指示栈顶单元地址。
所谓堆栈是一种数据结构,它只允许在其一端进行数据删除和数据插入操作的线性表。
数据写入堆栈叫入栈(PUSH),数据读出堆栈叫出栈(POP)。
堆栈的最大特点是“后进先出”的数据操作原则。
MCS-51系统复位后,SP初始化为07H。
(5)数据指针DPTR
数据指针DPTR为16位寄存器,它是MCS—51中唯一的一个16位寄存器。
编程时,既可按16位寄存器使用,也可作为两个8位寄存器分开使用。
DPH为DPTR的高八位寄存器,DPL为DPTR的低八位寄存器。
DPTR通常在访问外部数据存储器时作为地址指针使用,寻址范围为64KB。
三、实验小结
单片机系统电路的基本模块有:
复位电路,晶振电路,上拉电阻,下载口等主要模块。
其中P0口作为输出使用必须对单片机的I/O口,因为P0为集电极开路,可以提高其功率和电平转换。
在单片机最小系统的构建中,EA脚拉高是非常必要的,它可以影响单片机的正常工作。
在检测单片机是否正常工作,可以通过检测晶振两端的信号的波形形状。
在单片机正常工作条件下,其信号为正弦波。
经过一周的时间基本完成单片机最小系统板的焊接部分和单片机的工作原理,以及对单片机外围电路的焊接,知道了硬件部分的重要性,单片机最小系统板的焊接最主要是晶振部分的焊接,它为单片机提供了做工作的频率,是单片机的心脏。
实验二跑马灯实验及74HC138译码器
一、实验原理
1、跑马灯
(1)参考实验原理图如下:
(跑马灯原理图)
(2)工作原理
给单片机的端口赋初值,点亮第一个LED,然后延时一段时间后,点亮下一个LED,依次循环下去。
形成动态闪亮的效果。
2、138译码器电路
74LS138译码器:
图874LS138译码器芯片图
74LS138为3线-8线译码器,共有54/74S138和54/74LS138两种线路结构型式。
其工作原理如下:
(1)当一个选通端E1为高电平,另两个选通端和为低电平时,可将地址端A0、A1、A2的二进制编码在Y0至Y7对应的输出端以低电平译出。
比如:
A0A1A2=110时,则Y6输出端输出低电平信号。
(2)利用E1、E2和E3可级联扩展成24线译码器;若外接一个反相器还可级联扩展成32线译码器。
(3)若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器。
(4)可用在8086的译码电路中,扩展内存。
(1)参考实验原理图如下:
(2)工作原理
根据138译码器的工作原理,当G1G2AG2B=111时,译码器工作,根据74LS138的3个译码信号A、B、C来选择Y0、Y1、Y2、Y3、Y4、Y5、Y6作为输出,各输出为低电平时,当共阳极的LED灯节高电平时,就会使相应的灯亮。
A、B、C三个信号由单片机的P1.0、P1.1和P1.2来提供,而P1.0、P1.1和P1.2的值是通过汇编程序设置初始值后,然后根据P1.0、P1.1和P1.2的值加1和循环来时8各LED灯循环点亮。
二、软件流程图
1、138译码器程序流程图:
三、源程序代码
1、跑马灯实验代码:
#include
#include
#defineuintunsignedint//宏定义
#defineucharunsignedchar
voiddelay(uintn)//延时子程序
{
uchari;
while(n--)
for(i=0;i<255;i++);
}
voidmain()
{
uchari;
while
(1)
{
for(i=0;i<8;i++)//左右循环点亮
{
P1=i;
delay(300);//调用延时函数
}
四、实验调试:
将硬件电路焊制完成后,连接好电路,仔细检查无错误后,我们将流水灯程序下载至STC89C52单片机中,看到八个灯按顺序依次循环点亮。
但在焊制的过程中由于八个LED灯是按共阳极接法连入电路中,所以可以只焊一个470Ω的上拉电阻,此处上拉电阻的选择规则如下:
由于点亮LED需要大约7~11mA的电流,而电源供电为5V,所以由欧姆定律可知上拉电阻为714~454Ω,此处选择470Ω。
实验中的接线是非常重要的,在接线之前一定要用万用表检测线的好坏否则实验是很难成功的!
实验三8255控制交通灯实验
一、实验原理
1、交通灯原理
交通灯的变化规律是:
先假定一个十字路口为东南西北走向交通灯的初始状态为状态1,东西方向绿灯通车,南北方向红灯。
经过过一段时间(3S)转换状态2,东西方向黄灯闪亮,延时2S,南北方向仍然红灯。
再转换到状态3,东西方向红灯通车,南北方向绿灯。
过一段时间(3S)转换到状态4,南北方向黄灯闪亮,延时2S,东西方向仍然红灯。
最后循环至南北红灯,东西绿灯。
实验原理参考图:
2、8255芯片工作原理:
8255A是一个40引脚的双列直插式集成电路芯片。
按功能可把8255A分为三个逻辑电路部分,即:
口电路、总线接口电路和控制逻辑电路。
(1)口电路
8255A共有三个8位口,其中A口和B口是单纯的数据口,供数据I/O使用。
而C口则既可以作数据口,又可以作控制口使用,用于实现A口和B口的控制功能。
数据传送中A口所需的控制信号由C口高位部分(PC7~PC4)提供,因此把A口和C口高位部分合在一起称之为A组;同样理由把B口和C口低位部分(PC3~PC0)合在一起称之为B组。
(2)总线接口电路
总线接口电路用于实现8255A和单片微机的信号连接。
其中包括:
数据总线缓冲器和读/写控制逻辑,数据总线缓冲器为8位双向三态缓冲器,可直接和80C51的数据线相连,与I/O操作有关的数据、控制字和状态信息都是通过该缓冲器进行传送。
与读写有关的控制信号有
CS为片选信号(低电平有效),RD为读信号(低电平有效),WR为写信号(低电平有效),A0、A1为端口选择信号。
8255A共有四个可寻址的端口(即A口、B口、C口和控制寄存器),用二位地址编码即可实现选择。
参
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 三个 实验