单片机原理及接口技术实验报告.docx

上传人:b****2 文档编号:11594095 上传时间:2023-06-01 格式:DOCX 页数:27 大小:767.53KB
下载 相关 举报
单片机原理及接口技术实验报告.docx_第1页
第1页 / 共27页
单片机原理及接口技术实验报告.docx_第2页
第2页 / 共27页
单片机原理及接口技术实验报告.docx_第3页
第3页 / 共27页
单片机原理及接口技术实验报告.docx_第4页
第4页 / 共27页
单片机原理及接口技术实验报告.docx_第5页
第5页 / 共27页
单片机原理及接口技术实验报告.docx_第6页
第6页 / 共27页
单片机原理及接口技术实验报告.docx_第7页
第7页 / 共27页
单片机原理及接口技术实验报告.docx_第8页
第8页 / 共27页
单片机原理及接口技术实验报告.docx_第9页
第9页 / 共27页
单片机原理及接口技术实验报告.docx_第10页
第10页 / 共27页
单片机原理及接口技术实验报告.docx_第11页
第11页 / 共27页
单片机原理及接口技术实验报告.docx_第12页
第12页 / 共27页
单片机原理及接口技术实验报告.docx_第13页
第13页 / 共27页
单片机原理及接口技术实验报告.docx_第14页
第14页 / 共27页
单片机原理及接口技术实验报告.docx_第15页
第15页 / 共27页
单片机原理及接口技术实验报告.docx_第16页
第16页 / 共27页
单片机原理及接口技术实验报告.docx_第17页
第17页 / 共27页
单片机原理及接口技术实验报告.docx_第18页
第18页 / 共27页
单片机原理及接口技术实验报告.docx_第19页
第19页 / 共27页
单片机原理及接口技术实验报告.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

单片机原理及接口技术实验报告.docx

《单片机原理及接口技术实验报告.docx》由会员分享,可在线阅读,更多相关《单片机原理及接口技术实验报告.docx(27页珍藏版)》请在冰点文库上搜索。

单片机原理及接口技术实验报告.docx

单片机原理及接口技术实验报告

 

单片机原理及接口技术

实验报告

 

任课教师

班级

姓名

日期

实验一构建单片机最小系统和实验环境熟悉

一、单片机最小系统的组成原理图

二、单片机的工作原理:

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():

进(借)位标志位,也是位处理器的位累加器C。

在加减运算中,若操作结果的最高位有进位或有借位时,CY由硬件自动置1,否则清“0”。

在位操作中,CY作为位累加器C使用,参于进行位传送、位与、位或等位操作。

另外某些控制转移类指令也会影响CY位状态(第三章讨论)。

AC():

辅助进(借)位标志位。

在加减运算中,当操作结果的低四位向高四位进位或借位时此标志位由硬件自动置1,否则清“0”。

F0():

用户标志位,由用户通过软件设定,决定程序的执行方式。

RS1(),RS0():

寄存器组选择位。

用于设定当前通用寄存器组的组,其对应关系如下:

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():

溢出标志位。

它反映运算结果是否溢出,溢出时OV=1;否则OV=0。

OV可作为条件转移指令中的条件。

未定义位。

P():

奇偶标志位。

P=1,表示ACC中1的个数为奇数;否则P=0。

P也可以作为条件转移指令中的条件。

二、控制器

控制器包括定时控制逻辑(时钟电路、复位电路),指令寄存器,指令译码器程序计数器PC,堆栈指针SP,数据指针寄存器DPTR以及信息传送控制部件等。

1.时钟电路

MCS—51系列单片机芯片内部有一个高增益反相放大器,输入端为XTAL1,输出端为XTAL2,一般在XTAL1与XTAL2之间接石英晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,就是单片机的内部时钟电路,如图(A)所示。

时钟电路产生的振荡脉冲经过二分频以后,才成为单片机的时钟信号。

电容C1和C2为微调电容,可起频率稳定、微调作用,一般取值在5~30pf之间,常取30pf。

晶振的频率范围是~12MHz,典型值取6MHz。

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

如图(B)所示。

(A)内部时钟电路(B)外部振荡源

2.复位电路

对于使用6MHZ的晶振的单片机,复位信号持续时间应超过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。

5堆栈指针SP

SP为8位寄存器,用于指示栈顶单元地址。

所谓堆栈是一种数据结构,它只允许在其一端进行数据删除和数据插入操作的线性表。

数据写入堆栈叫入栈(PUSH),数据读出堆栈叫出栈(POP)。

堆栈的最大特点是“后进先出”的数据操作原则。

MCS-51系统复位后,SP初始化为07H。

6.数据指针DPTR

数据指针DPTR为16位寄存器,它是MCS—51中唯一的一个16位寄存器。

编程时,既可按16位寄存器使用,也可作为两个8位寄存器分开使用。

DPH为DPTR的高八位寄存器,DPL为DPTR的低八位寄存器。

DPTR通常在访问外部数据存储器时作为地址指针使用,寻址范围为64KB。

三、存储单元数据传输

ORG0000H

JMPMAIN

ORG1000H

MAIN:

MOVR0,#40H

MOVR1,#41H

MOV@R0,#30H

MOV@R1,#31H

MOV50H,@R0

MOV51H,@R1

END

由以上观察结果容易看出,程序运行正确。

四、思考题

在单片机最小系统的构建中,应注意哪些因素

答:

EA引脚要接高电平,晶振要离XTAL1和XTAL2引脚很近,同时焊接晶振时必须快,否则会烧坏晶振。

五、实验总结

本实验我熟悉了单片机的最小系统板的组成部分,了解了各构成单元的工作原理,熟悉KeilC51集成环境软件的安装和使用方法。

通过自己对单片机最小系统板的焊接过程,清楚了在焊接过程中需要注意的问题,在存储单元数据传输实验中,我熟悉MCS51汇编指令,汇编非常方便简洁,编程很简单。

实验二跑马灯实验及74HC138译码器

一、实验原理

参考实验原理图如下:

(跑马灯原理图)

二、流程图

二、实验仿真图

三、实验程序

ORG0000H程序开始

LJMPMAIN转移到主函数

ORG0100H

MAIN:

MOVA,#0feH主函数MAIN

LOOP:

MOVP1,A

LCALLDELAY调用子函数DELAY

RLAA的内容向左环移1位

MOVP1,A

LCALLDELAY

JMPLOOP

DELAY:

MOVR5,#0FFHDELAY子函数

D1:

MOVR6,#0FFH

D2:

DJNZR6,D2

DJNZR5,D1

RET

END

四、思考题

1、在单片机系统中,74HC138通常用来产生片选信号,请读者考虑一下,应如何处理

答:

74HC138是3--8线译码器,有3个管脚,2个接地,一个高则选中,直接用单片机的I/O即可。

五、实验总结

通过本实验进一步熟悉了集成环境软件和熟悉KeilC51集成环境软件的使用方法,本实验中8个指示灯,循环点亮,瞬间只有一个灯亮,跑马灯具有广泛的应用,例如老虎机和彩灯都是这个原理的应用,可见本实验非常实用。

实验三8255控制交通灯实验

一、实验原理

二、流程图

三、实验仿真图

三、实验程序

WORK_ADREQU0003H

PA_ADREQU0000H

ORG0000H

LJMPMAIN

ORG1000H

MAIN:

MOVSP,#30H

MOVDPTR,#WORK_ADR

MOVA,#80H;PA口工作在方式零,且为输出状态

MOVX@DPTR,A

MOVA,#09H

MOVDPTR,#PA_ADR

MOVX@DPTR,A;东西南北初始化均为红灯

LCALLDELAY1

LOOP:

CLRA

MOVDPTR,#PA_ADR;南北红灯,东西绿灯

MOVA,#21H

MOVX@DPTR,A

LCALLDELAY1

MOVR3,#3;南北红灯,东西黄灯闪烁三次

LOOP1:

MOVA,#11H

MOVX@DPTR,A

CALLDELAY2

MOVA,#01H

MOVX@DPTR,A

CALLDELAY2

DJNZR3,LOOP1

;LCALLDELAY1

MOVA,#0CH;东西红灯,南北绿灯

MOVX@DPTR,A

LCALLDELAY1

MOVR3,#3;东西红灯,南北黄灯闪烁三次

LOOP2:

MOVA,#08H

MOVX@DPTR,A

CALLDELAY2

MOVA,#0AH

MOVX@DPTR,A

CALLDELAY2

DJNZR3,LOOP2

LJMPLOOP

DELAY1:

MOVR5,#100;延时10秒

D0:

MOVR6,#100

D1:

MOVR7,#248

D2:

DJNZR7,D2

DJNZR6,D1

DJNZR5,D0

RET

DELAY2:

MOVR0,#0FFH

D11:

MOVR1,#0AAH

D22:

DJNZR1,D22

DJNZR0,D11

RET

END

四、实验总结

通过本实验我了解了8255芯片的工作原理,熟悉了其初始化编程方法以及输入、输出程序设计技巧,学会使用8255并行接口芯片实现各种控制功能,另外熟悉了8255内部结构和与单片机的接口逻辑并熟悉8255芯片的3种工作方式以及控制字格式。

交通灯在日常生活中是非常重要的,可以说在城市中交通灯是必不可少的,它对我们的人身安全很重要,没有交通灯城市会混乱不堪。

 

实验四8253方波实验

一、实验原理

参考电路原理图如下:

二、流程图

三、实验仿真图

四、实验程序

ORG0000H

JMPSTART

ORG000BH

LJMPT0INT

ORG0100H

;---------------------------------------------------;

START:

;使用定时器0产生10000方波

MOVTMOD,#02H

MOVTL0,#63H

MOVTH0,#00H

SETBEA

SETBET0

SETBTR0

;---------------------------------------------------;

MOVDPTR,#0F3FFH;,分别接A0A1

MOVA,#34H;通道0控制字,先读写低字节,后高字节,方式2,二进制计数

MOVX@DPTR,A

MOVDPTR,#0F0FFH;对10KHZ的方波进行50分频10000/50=200此时T=,计数初值,N0=50

MOVA,#32H

MOVX@DPTR,A

MOVA,#00H

MOVX@DPTR,A

;-------------------------------------------------;

MOVDPTR,#0F3FFH;,分别接A0A1

MOVA,#76H;通道1控制字,先读写低字节,后高字节,方式3,二进制计数

MOVX@DPTR,A

MOVDPTR,#0F1FFH;对200HZ的方波进行200分频,此时T=1S,计数初值,N1=200

MOVA,#0C8H

MOVX@DPTR,A

MOVA,#00H

MOVX@DPTR,A

;-------------------------------------------------;

LED:

MOVA,#0feH

MOVR5,#2

MOVR2,#8

LOOP3:

MOVP1,A

LCALLDELAY1

RLA

MOVP1,A

LCALLDELAY1

JMPLOOP3

;DJNZR2,LOOP3

DELAY1:

;通过R5进行参数传递

D0:

MOVR6,#2

D1:

MOVR7,#200

D2:

DJNZR7,D2

DJNZR6,D1

DJNZR5,D0

RET

;--------------------------------------------;

T0INT:

CPL

RETI

END

;---------------------------------------------;

五、实验总结

通过本实验我们了解了8253的内部结构、工作原理,了解了8253与单片机的接口逻辑,熟悉,8253的控制寄存器和初始化编程方法和8253的6种工作模式。

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

 

实验五继电器控制/光偶控制实验

一、实验原理

参考电路原理图如下:

(继电器控制原理图)

二、流程图

三、实验总结

通过本实验了解继电器的工作原理及应用,继电器在生产及生活中具有重要的作用,自动化控制设备中,存在一个电子与电气电路的互连问题,一方面,电子电路需要控制电气电路的执行元件,如:

电动机、电磁铁、电灯等;一方面又要为电子电路提供良好的电隔离,以保护电子电路和人身安全,减少干扰源。

继电器就起这个桥梁作用。

附录1:

SEL1EQU

SEL2EQU

WORK_ADREQU0300H

PA_ADREQU0000H

ORG0000H

JMPMAIN

ORG000BH

LJMPT0INT

ORG0100H

MAIN:

JNBSEL2,SQUAR;方波程序,流水灯,电机

JNBSEL1,TRAFFIC;交通灯程序

JMPMAIN

TRAFFIC:

LCALLMAIN1

JMPMAIN

SQUAR:

LCALLMAIN2

JMPMAIN

;----------------------8255初始化------------------;

MAIN1:

MOVSP,#070H

MOVDPTR,#WORK_ADR

MOVA,#80H;PA口工作在方式零,且为输出状态

MOVX@DPTR,A

;-------------------------------------------------;

MOVA,#36H

MOVDPTR,#PA_ADR

MOVX@DPTR,A;东西南北初始化均为红灯

MOVR5,#50

LCALLDELAY1

LOOP:

CLRA

MOVDPTR,#PA_ADR;南北红灯,东西绿灯

MOVA,#2EH

MOVX@DPTR,A

MOVR5,#50

LCALLDELAY1

;-------------------------------------------------;

MOVR3,#3;南北红灯,东西黄灯闪烁三次

LOOP1:

MOVA,#1EH

MOVX@DPTR,A

CALLDELAY2

MOVA,#3EH

MOVX@DPTR,A

CALLDELAY2

DJNZR3,LOOP1

;--------------------------------------------------;

MOVA,#35H;东西红灯,南北绿灯

MOVX@DPTR,A

MOVR5,#50

LCALLDELAY1

MOVR3,#3;东西红灯,南北黄灯闪烁三次

LOOP2:

MOVA,#33H

MOVX@DPTR,A

CALLDELAY2

MOVA,#37H

MOVX@DPTR,A

CALLDELAY2

DJNZR3,LOOP2

RET

;-------------------8253方波、流水灯、继电器--------------------------------;

MAIN2:

NOP

NOP

NOP

MOVTMOD,#02H

MOVTL0,#63H

MOVTH0,#00H

SETBEA

SETBET0

SETBTR0;使用定时器0产生10k方波

;---------------------------------------------------;

MOVDPTR,#0F3FFH;,分别接A0A1

MOVA,#34H;通道0控制字,先读写低字节,后高字节,方式2,二进制计数

MOVX@DPTR,A

MOVDPTR,#0F0FFH;对10KHZ的方波进行50分频10000/50=200此时T=,计数初值,N0=50

MOVA,#32H

MOVX@DPTR,A

MOVA,#00H

MOVX@DPTR,A

;-------------------------------------------------;

MOVDPTR,#0F3FFH;,分别接A0A1

MOVA,#76H;通道1控制字,先读写低字节,后高字节,方式3,二进制计数

MOVX@DPTR,A

MOVDPTR,#0F1FFH;对200HZ的方波进行200分频,此时T=1S,计数初值,N1=200

MOVA,#0C8H

MOVX@DPTR,A

MOVA,#00H

MOVX@DPTR,

;-------------------------------------------------;

;----------------------------在这里放流水灯程序----------;

LED:

MOVA,#0feH

;MOVR5,#2

MOVR2,#8

LOOP3:

MOVP1,A

LCALLDELAY2

RLA

MOVP1,A

LCALLDELAY2

DJNZR2,LOOP3

RET

;--------------------------------------------;

T0INT:

CPL

RETI

;------------------------------------------;

DELAY1:

;通过R5进行参数传递

D0:

MOVR6,#100

D1:

MOVR7,#248

D2:

DJNZR7,D2

DJNZR6,D1

DJNZR5,D0

RET

DELAY2:

MOVR0,#0FFH

D11:

MOVR1,#0AAH

D22:

DJNZR1,D22

DJNZR0,D11

RET

END

 

附录2:

 

 

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 生物学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2