当前位置:文档之家› 单片机实验5个

单片机实验5个

实验内容及要求实验一构建单片机最小系统和实验环境熟悉1、熟悉单片机最小系统的组成和工作原理,熟悉Keil C51集成环境软件的安装和使用方法。

2、作出单片机最小系统的组成原理图,分析其各构成单元的工作原理。

3、熟悉MCS51汇编指令。

4、进行存储单元数据传输实验,编写程序。

5、运行程序,验证译码的正确性。

实验二跑马灯实验及74HC138译码器跑马灯实验:1、熟悉集成环境软件或熟悉Keil C51集成环境软件的安装和使用方法。

2、8个指示灯,循环点亮,瞬间只有一个灯亮。

3、观察实验结果,验证程序是否正确。

74HC138译码器实验:1、设计74HC138接口电路,编写程序:使用单片机的P1.0、P1.1、P1.2控制74HC138的数据输入端,通过译码产生8选1个选通信号,轮流点亮8个LED指示灯。

2、运行程序,验证译码的正确性。

实验三8255控制交通灯实验1、设计8255接口电路,编写程序:使用8255的PA0..2、PA5..7控制LED指示灯,实现交通灯功能。

2、连接线路验证8255的功能,熟悉它的使用方法。

实验四8253方波实验1、设计接口电路,编写程序:使用8253的计数器0和计数器1实现对输入时钟频率的两级分频,得到一个周期为1秒的方波,用此方波控制蜂鸣器,发出报警信号,也可以将输入脚接到逻辑笔上来检验程序是否正确。

2、连接线路,验证8253的功能,熟悉它的使用方法。

实验一构建单片机最小系统和实验环境熟悉一、单片机最小系统的组成原理图二、单片机的工作原理1.运算器运算器包括算术逻辑运算单元ALU、累加器ACC、寄存器B、暂存器TMP、程序状态字寄存器PSW、十进制调整电路等。

它能实现数据的算术逻辑运算、位变量处理和数据传送操作。

(1)算术逻辑单元ALUALU在控制器根据指令发出的内部信号控制下,对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 F0RS1RS0OV —PCY(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~07H0 1 组1 08~0FH1 0 组2 10~17H1 1 组3 18~1FHOV(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 ,典型值取6 MHz。

XTAL1接地,XTAL2接外部震荡器,外接信号应是高电平持续时间大于20ns 的方波,且脉冲频率应低于12 MHZ。

如图(B)所示。

(A)内部时钟电路(B)外部振荡源(2)复位电路对于使用12MHZ的晶振的单片机,复位信号持续时间应超过4μs才能完成复位操作。

产生复位信号的电路有上电自动复位电路和按键手动复位电路两种方式。

上电自动复位是通过外部复位电路的电容充电来实现的,该电路通过电容充电在RST 引脚上加了一个高电平完成复位操作。

上电自动复位电路如图(a)所示。

按键手动复位电路。

按键手动复位是通过按键实现人为的复位操作,按键手动复位电路如图(b)所示。

复位后内部暂存器的状态如下:PC 0000H TCON 00HACC 00H TL0 00HPSW 00H TH0 00HSP 07H TL1 00HDPTR 0000H TH1 00HP0~P3 FFH SCON 00HIP ××000000B SBUF 不定IE 0×000000B PCON 0×××0000BTMOD 00H(3)指令寄存器和指令译码器指令寄存器中存放指令代码,CPU执行指令时,由程序存储器中读取的指令代码送入指令存储器,经译码器后由定时与控制电路发出相应的控制信号,完成指令所指定的操作。

4.程序计数器PCPC是一个16位计数器,其内容为单片机将要执行的指令机器码所在存储单元的地址。

PC 具有自动加1的功能,从而实现程序的顺序执行。

由于PC不可寻址的,因此用户无法对它直接进行读写操作,但可以通过转移、调用、返回等指令改变其内容,以实现程序的转移。

PC的寻址范围为64KB,即地址空间为0000~0FFFFH。

(4)堆栈指针SPSP为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)参考实验原理图如下:XTAL218XTAL119ALE 30EA31PSEN 29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX 2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C52R8510R7510R6510R5510R4510R3510R2510R1510D1D2D3D4D5D6D7D8(跑马灯原理图)(2)工作原理给单片机的端口赋初值,点亮第一个LED ,然后延时一段时间后,点亮下一个LED ,依次循环下去。

形成动态闪亮的效果。

2、138译码器电路 74LS138译码器:图8 74LS138译码器芯片图74LS138 为3 线-8 线译码器,共有 54/74S138和 54/74LS138 两种线路结构型式。

其工作原理如下:(1)当一个选通端E1为高电平,另两个选通端E2和E3为低电平时,可将地址端A0、A1、A2的二进制编码在Y0至Y7对应的输出端以低电平译出。

比如:A0A1A2=110时,则Y6输出端输出低电平信号。

(2)利用 E1、E2和E3可级联扩展成 24 线译码器;若外接一个反相器还可级联扩展成 32 线译码器。

(3)若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器。

(4)可用在8086的译码电路中,扩展内存。

(1)参考实验原理图如下:XTAL218XTAL119ALE 30EA31PSEN 29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX 2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C52A 1B 2C3E16E24E35Y015Y114Y213Y312Y411Y510Y69Y77U274LS138D1LED-BLUE D2LED-BLUE D3LED-BLUE D4LED-BLUE D5LED-BLUE D6LED-BLUE D7LED-BLUE D8LED-BLUER1510R2510R3510R4510R5510R6510R7510R8510(2)工作原理根据138译码器的工作原理,当G1G2AG2B=111时,译码器工作,根据74LS138的3个译码信号A 、B 、C 来选择Y0、Y1、Y2、Y3、Y4、Y5、Y6作为输出,各输出为低电平时,当共阳极的LED 灯节高电平时,就会使相应的灯亮。

相关主题