《单片机原理与接口技术实验报告》由会员分享,可在线阅读,更多相关《单片机原理与接口技术实验报告(23页珍藏版)》请在金锄头文库上搜索。
1、 单片机原理及接口技术实验报告任课教师 班级 日期 实验一 构建单片机最小系统和实验环境熟悉一、单片机最小系统的组成原理图二、单片机的工作原理:1. 运算器运算器包括算术逻辑运算单元ALU、累加器ACC、存放器B、暂存器TMP、程序状态字存放器PSW、十进制调整电路等。它能实现数据的算术逻辑运算、位变量处理和数据传送操作。(1) 算术逻辑单元ALU ALU在控制器根据指令发出的部信号控制下,对8位二进制数据进展加、减、乘、除运算和逻辑与、或、非、异或、清零等运算。它具有很强的判跳、转移、丰富的数据传送、提供存放中间结果以及常用数据存放器的功能。MCS-51中位处理具有位处理功能,特别适用于实时
2、逻辑控制。2累加器ACC累加器ACC是8位存放器,是最常用的专用存放器,它既可存放操作数,又可存放运算的中间结果。MCS51系列单片机中许多指令的操作数来自累加器ACC。累加器非常繁忙,在与外部存储器或I/O接口进展数据传送时,都要经过A来完成。3存放器B存放器B是8位存放器,主要用于乘、除运算。乘法运算时,B中存放乘数,乘法操作后,高8位结果存于B存放器中。除法运算时,B中存放除数,除法操作后,余数存于存放器B中。存放器B也可作为一般的存放器用。4程序状态字PSW程序状态字是8位存放器,用于指示程序运行状态信息。其中有些位是根据程序执行结果由硬件自动设置的,而有些位可由用户通过指令方法设定。
3、PSW中各标志位名称及定义如下:位序D7D6D5D4D3D2D1D0位标志CYACF0RS1RS0OVPCYPSW.7:进借位标志位,也是位处理器的位累加器C。在加减运算中,假设操作结果的最高位有进位或有借位时,CY由硬件自动置1,否那么清“0。在位操作中,CY作为位累加器C使用,参于进展位传送、位与、位或等位操作。另外某些控制转移类指令也会影响CY位状态第三章讨论。ACPSW.6:辅助进借位标志位。在加减运算中,当操作结果的低四位向高四位进位或借位时此标志位由硬件自动置1,否那么清“0。F0PSW.5:用户标志位,由用户通过软件设定,决定程序的执行方式。RS1PSW.4,RS0PSW.3:存
4、放器组选择位。用于设定当前通用存放器组的组,其对应关系如下:RS1RS0存放器组R0R7地址00组00007H01组1080FH10组21017H11组3181FHOVPSW.2:溢出标志位。它反映运算结果是否溢出,溢出时OV=1;否那么OV=0。OV可作为条件转移指令中的条件。PSW.1:未定义位。PPSW.1:奇偶标志位。P=1,表示ACC中1的个数为奇数;否那么P=0。P也可以作为条件转移指令中的条件。二 、控制器控制器包括定时控制逻辑时钟电路、复位电路,指令存放器,指令译码器程序计数器PC,堆栈指针SP,数据指针存放器DPTR以及信息传送控制部件等。1. 时钟电路MCS51系列单片机芯
5、片部有一个高增益反相放大器,输入端为XTAL1,输出端为XTAL2,一般在XTAL1与XTAL2之间接石英晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,就是单片机的部时钟电路,如图A所示。时钟电路产生的振荡脉冲经过二分频以后,才成为单片机的时钟信号。电容C1和C2为微调电容,可起频率稳定、微调作用,一般取值在530pf之间,常取30pf。晶振的频率围是1.2MHz12MHz ,典型值取6 MHz。XTAL1接地,XTAL2接外部震荡器,外接信号应是高电平持续时间大于20ns的方波,且脉冲频率应低于12 MHZ。如图B所示。A部时钟电路 B外部振荡源2.复位电路对于使用6MHZ的晶振的单片
6、机,复位信号持续时间应超过4s才能完成复位操作。产生复位信号的电路有上电自动复位电路和按键手动复位电路两种方式。上电自动复位是通过外部复位电路的电容充电来实现的,该电路通过电容充电在RST引脚上加了一个高电平完成复位操作。上电自动复位电路如图a所示。按键手动复位电路。按键手动复位是通过按键实现人为的复位操作,按键手动复位电路如图b所示。复位后部暂存器的状态如下:PC0000HTCON00HACC00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0P3FFHSCON00HIP000000BSBUF不定IE0000000BPCON00000BTMOD0
7、0H3.指令存放器和指令译码器指令存放器中存放指令代码,CPU执行指令时,由程序存储器中读取的指令代码送入指令存储器,经译码器后由定时与控制电路发出相应的控制信号,完成指令所指定的操作。4.程序计数器PCPC是一个16位计数器,其容为单片机将要执行的指令机器码所在存储单元的地址。PC具有自动加1的功能,从而实现程序的顺序执行。由于PC不可寻址的,因此用户无法对它直接进展读写操作,但可以通过转移、调用、返回等指令改变其容,以实现程序的转移。PC的寻址围为64KB,即地址空间为00000FFFFH。5堆栈指针SPSP为8位存放器,用于指示栈顶单元地址。所谓堆栈是一种数据构造,它只允许在其一端进展数
8、据删除和数据插入操作的线性表。数据写入堆栈叫入栈PUSH,数据读出堆栈叫出栈POP。堆栈的最大特点是“后进先出的数据操作原那么。MCS-51系统复位后,SP初始化为07H。6. 数据指针DPTR数据指针DPTR为16位存放器,它是MCS51中唯一的一个16位存放器。编程时,既可按16位存放器使用,也可作为两个8位存放器分开使用。DPH 为DPTR的高八位存放器,DPL 为DPTR的低八位存放器。DPTR通常在访问外部数据存储器时作为地址指针使用,寻址围为64KB。三、存储单元数据传输ORG 0000H JMP MAIN ORG 1000H MAIN:MOV R0,#40H MOV R1,#41
9、H MOV R0,#30H MOV R1,#31H MOV 50H,R0 MOV 51H,R1 END由以上观察结果容易看出,程序运行正确。四、思考题在单片机最小系统的构建中,应注意哪些因素?答:EA引脚要接高电平,晶振要离和引脚很近,同时焊接晶振时必须快,否那么会烧坏晶振。五、实验总结 本实验我熟悉了单片机的最小系统板的组成局部,了解了各构成单元的工作原理,熟悉Keil C51集成环境软件的安装和使用方法。通过自己对单片机最小系统板的焊接过程,清楚了在焊接过程中需要注意的问题,在存储单元数据传输实验中,我熟悉MCS51汇编指令,汇编非常方便简洁,编程很简单。实验二 跑马灯实验及74HC138
10、译码器一、实验原理 参考实验原理图如下: 跑马灯原理图二、流程图二、 实验仿真图三、实验程序ORG 0000H 程序开场 LJMP MAIN 转移到主函数 ORG 0100H MAIN: MOV A,#0feH 主函数MAIN LOOP:MOV P1,A LCALL DELAY 调用子函数DELAY RL A A的容向左环移1位 MOV P1,ALCALL DELAYJMP LOOPDELAY:MOV R5,#0FFH DELAY子函数 D1:MOV R6,#0FFHD2: DJNZ R6,D2 DJNZ R5,D1 RETEND四、思考题1、在单片机系统中,74HC138通常用来产生片选信号
11、,请读者考虑一下,应如何处理?答:74HC138是3-8线译码器,有3个管脚, 2个接地,一个高那么选中,直接用单片机的I/O即可。五、实验总结通过本实验进一步熟悉了集成环境软件和熟悉Keil C51集成环境软件的使用方法,本实验中8个指示灯,循环点亮,瞬间只有一个灯亮,跑马灯具有广泛的应用,例如老虎机和彩灯都是这个原理的应用,可见本实验非常实用。实验三 8255控制交通灯实验一、实验原理二、流程图三、 实验仿真图三、实验程序WORK_ADR EQU 0003HPA_ADR EQU 0000HORG 0000HLJMP MAINORG 1000HMAIN: MOV SP,#30H MOV DP
12、TR,#WORK_ADR MOV A,#80H ;PA口工作在方式零,且为输出状态 MOVX DPTR,A MOV A,#09H MOV DPTR,#PA_ADR MOVX DPTR,A ;东西南北初始化均为红灯LCALL DELAY1LOOP: CLR A MOV DPTR,#PA_ADR ;南北红灯,东西绿灯 MOV A,#21H MOVX DPTR,A LCALL DELAY1 MOV R3,#3 ;南北红灯,东西黄灯闪烁三次LOOP1: MOV A,#11H MOVX DPTR,A CALL DELAY2 MOV A,#01H MOVX DPTR,A CALL DELAY2 DJNZ
13、R3,LOOP1 ;LCALL DELAY1 MOV A,#0CH ;东西红灯,南北绿灯 MOVX DPTR,A LCALL DELAY1 MOV R3,#3 ;东西红灯,南北黄灯闪烁三次LOOP2: MOV A,#08H MOVX DPTR,A CALL DELAY2 MOV A,#0AH MOVX DPTR,A CALL DELAY2 DJNZ R3,LOOP2 LJMP LOOPDELAY1: MOV R5,#100 ;延时10秒 D0: MOV R6,#100 D1: MOV R7,#248 D2:DJNZ R7,D2DJNZ R6,D1DJNZ R5,D0 RETDELAY2: MOV R0,#0FFH D11:MOV R1,#0AAH D22:DJNZ R1,D22DJNZ R0,D11 RET