文档介绍:实验报告
实验课程: 单片机原理与应用实验
学生姓名:
学号:
专业班级:
2013年 12 月 24 日
实验一:I/O 口输入、输出实验
一、实验目的
掌握单片机P1口、P3口的使用方法。
二、实验内容
以P1 口为输出口,接八位逻辑电平显示,LED 显示跑马灯效果。以P3 口为输入口,接八位逻辑电平输出,用来控制跑马灯的方向。
三、实验说明与电路原理图
P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止。因为内部上拉电阻阻值是20K~40K,故不会对外部输入产生影响。若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。
本实验需要用到CPU模块(F3区)和八位逻辑电平输出模块(E4区)和八位逻辑电平显示模块(B5区),八位逻辑电平输出电路原理图参见图1-1。八位逻辑电平显示电路原理图参见图1-2。
2
四、实验步骤
1)系统各跳线器处在初始设置状态。用导线连接八位逻辑电平输出模块的K0 到CPU 模块的RXD( 口);用8 位数据线连接八位逻辑电平显示模块的JD4B 到CPU 模块的JD8(P1 口)。
2)启动PC 机,打开THGMW-51 软件,输入源程序,并编译源程序。编译无误后,下载程序运行。
3)观察发光二极管显示跑马灯效果,拨动K0 可改变跑马灯的方向。
五、实验程序
DIR BIT
ORG 0000H
LJMP START
ORG 0100H
START:
Output1:
mov a, #0fEH
mov r5, #8
loop1:
CLR C
mov C,DIR
JC Output2
mov P1, a
rl a
Acall Delay
djnz r5, loop1
Sjmp Output1
Output2:
mov a, #07fH
mov r5, #8
loop2:
CLR C
mov C,DIR
JNC Output1
mov P1, a
rr a
Acall Delay
djnz r5,loop2
Sjmp Output2
Delay:
mov r6,#0
DelayLoop1:
mov r7,#0
DelayLoop2:
NOP
NOP
djnz r7,DelayLoop2
djnz r6,DelayLoop1
ret
六、实验现象
当ko处于低电平时,跑马灯从当前位置左移;当ko处于高电平时,跑马灯从当前值右移。
程序分析
本程序运行后,拨动开关ko,可以实现左移和右移的灯方式。这主要是由语句JC Output2和JNC Output1语句实现的。当ko拨到下面时,其状态为0跳转到Output1,所以跑马灯从右向左一次点亮。当ko拨到上面时,其状态为1,跳转到Output2,所以跑马灯为从左向右一次点亮。综合分析,本实验主要有三个模块:左移模块,右移模块,延时模块。
八、实验心得
从这个实验中我们了解到如何用PI口输出来点亮二极管,也学会了如何根据具体的单片机的原理图进行编写程序,及线路的连接。通过这次实验我了解到单片机芯片的结构及编程方法,巩固了汇编语言编程的能力。通过实验和学会了流水灯的实验方法和实现延时的程序编写方法,为下面的实验做好了充分的准备。
实验二:外部中断实验
一、实验目的
学习外部中断技术的基本使用方法。
二、实验内容
INT0 端接单次脉冲发生器。按一次脉冲产生一次中断,CPU 状态发生一次反转, 灯,以查看信号反转。
三、实验要求
根据实验内容编写一个程序,并在实验仪上调试和验证。
四、实验说明
1) 外部中断的初始化设置共有三项内容:中断总允许即EA=1,外部中断允许即EXi=1(i=0或1),中断方式设置。中断方式设置一般有两种方式:电平方式和脉冲方式,本实验选用后者,其前一次为高电平后一次为低电平时为有效中断请求。因此高电平状态和低电平状态至少维持一个周期,中断请求信号由引脚INT0()和INT1()引入。
2)中断服务的关键:
a、保护进入中断时的状态。堆栈有保护断点和保护现场的功能使用PUSH 指令,在转中断服务程序之前把单片机中有关寄存单元的内容保护起来。
b、必须在中断服务程序中设定是否允许中断重入,即设置EX0 位。
c、用POP 指令恢复中断时的现场。
3)中断控制原理:中断控制是提供给用户使用的中断控制手段。实际上就