南昌大学单片机实验报告及程序1.docx
- 文档编号:7728094
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:10
- 大小:179.31KB
南昌大学单片机实验报告及程序1.docx
《南昌大学单片机实验报告及程序1.docx》由会员分享,可在线阅读,更多相关《南昌大学单片机实验报告及程序1.docx(10页珍藏版)》请在冰豆网上搜索。
南昌大学单片机实验报告及程序1
南昌大学单片机实验报告及程序
实验报告
实验课程:
单片机原理与应用实验
学生姓名:
吴晓峰
学号:
6100311019
专业班级:
电力系统及其自动化111班
2013年12月16日
南昌大学实验报告
学生姓名:
吴晓峰学号:
6100311019专业班级:
电力系统111班实验类型:
□验证□综合□设计□创新实验日期:
实验成绩:
实验一、I/O口的应用
一、实验要求
单片机P1.0口外接8个LED灯,P3.0口接开关,电路图如下,当开关断开时,流水灯从L1到L7依次间隔0.2秒循环点亮,在任意位置当开关合上时,流水灯便从L7灯开始,按照L7到L6的顺序点亮,晶振选用11.0592MH。
二、选择元器件
1.80C51
2.Crystal
3.CAP
4.22pceramic22p
5.3watt10k
6.LED-BIRG
7.SWITCH
三、放置元器件及连线
用导线连接八位逻辑电平输出模块的K0到CPU模块的RXD(P3.0口);
用8位数据线连接八位逻辑电平显示模块的JD2B到CPU模块的JD8(P1口)。
四、实验程序
程序要求:
用延时程序设计灯每间隔0.2秒循环点亮
1、汇编程序:
ORG0000H
LJMPSTART
START:
MOVSP,#60H;设置堆栈
JBP3.0,ZY;若开关断开,P3.0为1,转到左移子程序
JNBP3.0,YY;若开关合上,P3.0为0,转到右移子程序
YY:
MOVA,#7FH;右移程序
ACALLYY1
RET
ZY:
MOVA,#0FEH;左移程序
ACALLZY1
RET
YY1:
MOVP1,A;将A送入P1,灯从L7开始亮
ACALLDELAYS;延时
RRA;右移一位
JNBP3.0,YY1;判断开关是否合上,若合上,P3.0为0,转到YY1,继续右移
JBP3.0,START;若开关断开,P3.0为1,转到START,重新从L1灯开始左移
RET
ZY1:
MOVP1,A;将A送入P1,灯从L1开始亮
ACALLDELAYS;延时
RLA;左移一位
JNBP3.0,START;若开关合上,P3.0为0,转到START,重新从L7灯开始右移
JBP3.0,ZY1;若开关断开,P3.0为1,转到ZY1,继续左移
RET
DELAYS:
MOVR6,#2;延时0.2s
DELAYS2:
MOVR4,#100;延时100ms
DELAYS1:
MOVR5,#230;延时1ms
LOOP:
NOP
NOP
DJNZR5,LOOP
DJNZR4,DELAYS1
DJNZR6,DELAYS2
RET
END
四、实验心得
通过本次对实验程序进行了仿真与调试,因此实验顺利完成,但有些时候还是有问题,本次试验,是我们更加对I/O口有进一步了解,是我们更好地掌握所学的知识
现象:
打开开关,我们观察到L1到L7灯循环亮。
南昌大学实验报告
学生姓名:
吴晓峰学号:
6100311019专业班级:
电力系统111班实验类型:
□验证□综合□设计□创新实验日期:
实验成绩:
实验二、外部中断实验
一、实验目的
学习外部中断技术的基本使用方法。
二、实验内容
INT0端接单次脉冲发生器。
按一次脉冲产生一次中断,CPU使P1.0状态发生一次反转,P1.0接LED灯,以查看信号反转。
三、实验要求
根据实验内容编写一个程序,并在实验仪上调试和验证。
四、实验说明
1)外部中断的初始化设置共有三项内容:
中断总允许即EA=1,外部中断允许即EXi=1(i=0或1),中断方式设置。
中断方式设置一般有两种方式:
电平方式和脉冲方式,本实验选用后者,其前一次为高电平后一次为低电平时为有效中断请求。
因此高电平状态和低电平状态至少维持一个周期,中断请求信号由引脚INT0(P3.2)和INT1(P3.3)引入。
2)中断服务的关键:
a、保护进入中断时的状态。
堆栈有保护断点和保护现场的功能使用PUSH指令,在转中断服务程序之前把单片机中有关寄存单元的内容保护起来。
b、必须在中断服务程序中设定是否允许中断重入,即设置EX0位。
c、用POP指令恢复中断时的现场。
3)中断控制原理:
中断控制是提供给用户使用的中断控制手段。
实际上就是控制一些寄存器,51系列用于此目的的控制寄存器有四个:
TCON、IE、SCON及IP。
4)中断响应的过程:
首先中断采样然后中断查询最后中断响应。
采样是中断处理的第一步,
5)对于本实验的脉冲方式的中断请求,若在两个相邻周期采样先高电平后低电平则中断请求有效,
6)IE0或IE1置“1”;否则继续为“0”。
所谓查询就是由CPU测试TCON和SCON中各标志位的状
7)态以确定有没有中断请求发生以及是那一个中断请求。
中断响应就是对中断请求的接受,是在中断查询之后进行的,当查询到有效的中断请求后就响应一次中断。
8)本实验需要用到CPU模块(F3区)和八位逻辑电平显示模块(B5区)、单次脉冲模块(E3区)。
五、实验预习要求
学习教材的相关内容,根据实验要求画出程序流程图,写出实验程序。
六、实验步骤
1)系统各跳线器处在初始设置状态,用导线连接单次脉冲模块的输出端到CPU模块的P32;CPU模块的P10接八位逻辑电平显示模块的灯。
2)启动PC机,打开THGMW-51软件,输入源程序,并编译源程序。
编译无误后,下载程序运行。
3)连续按动单次脉冲产生电路的按键,发光二极管L0每按一次状态取反,即隔一次点亮。
七、实验程序
1.汇编程序
ORG0000H
LJMPMAIN
ORG0003H
LJMPITOP
ORG1000H
MAIN:
MOVSP,#60H
SETBEX0
SETBIT0
SETBEA
HERE:
SJMPHERE
ITOP:
CPLP1.0
RETI
END
2、C语言程序
#include
#defineucharunsignedchar
#defineuintunsignedint
sbitLED=P1^0;
voidmain()
{
IE0=1;
IT0=1;
EX0=1;
EA=1;
while
(1);
}
voidzhongduan()interrupt0
{
LED=!
LED;//取反
}
八、结果分析:
运行程序后,连续按动单次脉冲产生电路的按键,发光二极管L0每按一次状态取反,即隔一次点亮,综合分析,本实验主要有2个模块:
中断模块和主程序模块,主程序主要是用来初始化中断的,包括中断模式的选择,中断开关的打开,
当脉冲变化时触发中断,硬件自动产生ACALL指令,跳转到中端口执行程序。
九、实验心得
通过这次实验,我学到了如何通过外部的控制,对单片机实现中断的处理,外部中断首先要初始化设置,中断总允许即EA=1,外部中断允许即EXi=1(i=0或1),中断方式的选择可以选择电平方式或者脉冲方式。
本次试验外部中断,通过程序的仿真与调试,我们完成了实验,本次试验,是我们了解外部中断的原理及如何应用,让我们去掌握学到的知识,印象更深刻,学以致用。
现象:
按一次脉冲产生一次中断,CPU使P1.0状态发生一次反转,P1.0接LED灯,以查看信号反转。
南昌大学实验报告
学生姓名:
吴晓峰学号:
6100311019专业班级:
电力系统111班
实验类型:
□验证□综合□设计□创新实验日期:
实验成绩:
实验三、定时器\计时器的应用
一、实验目的
学习51单片机内部计数器的使用和编程方法。
二、实验内容
单片机P1.0口外接8个LED灯,P3.0口接开关,电路图如下,当开关断开时,流水灯从L1到L7依次间隔0.5秒循环点亮,在任意位置当开关合上时,流水灯便从L7灯开始,按照L7到L6的顺序点亮,晶振选用11.0592MH。
三、实验要求
根据实验内容编写一个程序,并在实验仪上调试和验证。
四、实验说明
关于内部计数器的编程主要是定时常数的设置和有关控制寄存器的设置。
内部计数器在单片机中主要有定时器和计数器两个功能。
本实验使用的是定时器,定时为0.2秒钟。
定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。
TMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。
TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。
内部计数器用作定时器时,是对机器周期计数。
每个机器周期的长度是12个振荡器周期。
假设实验系统的晶振是11.0592MHZ,程序工作于方式1,定时器50mS,中断一次。
中断10次为0.5秒。
五、选择元器件
8.80C51
9.Crystal
10、CAP
11、22pceramic22p
12、3watt10k
13、LED-BIRG
14、SWITCH
六、放置元器件及连线
仿真电路图:
七、实验步骤
1)先画出仿真电路图,载入程序进行仿真
2)在实验箱上,系统各跳线器处在初始设置状态,用导线连接CPU模块P10
到八位逻辑电平显示模块的L0.
启动PC机,打开THGMW-51软件,输入源程序,并编译源程序。
编译无误后,下载程序运行。
3)运行程序观察实验现象。
八、实验程序
程序要求:
用定时器0采用方式1使灯每间隔0.5秒循环点亮
汇编程序
ORG0000H
LJMPSTRAT
ORG000BH
LJMPITOP
ORG0100H
STRAT:
JBP3.0,MAIN1
JNBP3.0,MAIN2
CHUSHI:
MOVB,#0AH
MOVSP,#60H
MOVTMOD,#01H
MOVTL0,#00H
MOVTH0,#4CH
SETBTR0
SETBET0
SETBEA
RET
MAIN1:
MOVA,#0FEH
MOVP1,A
ACALLCHUSHI
HERE:
SJMPHERE;等待中断
MAIN2:
MOVA,#7FH
MOVP1,A
ACALLCHUSHI
SJMPHERE;等待中断
ZY:
RLA
MOVP1,A
JBP3.0,RETURN
RET
YY:
RRA
MOVP1,A
JNBP3.0,RETURN
RET
ITOP:
MOVTL0,#00H
MOVTH0,#4CH
DJNZB,RETURN
MOVB,#0AH
JBP3.0,ZY
JNBP3.0,YY
RETURN:
RETI
END
七、结果分析
运行程序后,发光二极管L0每隔一秒点亮一次,实验主要有2个模块:
定时初始化模块和中断模块,主程序主要是用来初始化定时的,包括定时模式的选择,为方式2模式,该模式精度高能够准确定时,还包括定时器的初值设定,设定为100us,当定时标志位高电位时自动跳转到中断程序中,如果未满10000次就还得继续返回主程序无法实现CPLLEDBuf指令。
而要实现本功能,最重要的是orla,C100us+1这条语句,只有当计数单元的高位和低位都位0才使得a为0,也就是说只有计满10000次才能跳转。
否则跳转到exit。
九、实验心得
本次实验室定时器与计数器,通过实验程序的仿真与调试,我顺利完成实验。
本次试验,我们了解定时器与计数器的工作原理与应用,使我们更好在编程中如何去应用定时器,让我们学到的知识更深刻。
南昌大学实验报告
学生姓名:
吴晓峰学号:
6100311019专业班级:
电力系统111班
实验类型:
□验证□综合□设计□创新实验日期:
实验成绩:
实验四、交通灯控制实验
一、实验目的
掌握十字路口交通灯控制方法。
二、实验内容
利用系统提供的双色LED显示电路,和四位静态数码管显示电路模拟十字路口交通信号灯。
4位LED数码管显示时间,LED显示红绿灯状态。
三、实验要求
根据实验内容编写一个程序,并在实验仪上调试和验证。
四、实验说明和电路原理图
交通信号灯控制逻辑如下:
假设一个十字路口为东西南北走向。
开始为四个路口的红灯全部亮之后,东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车,延时一段时间后(20秒),东西路口的绿灯,闪烁若干次后(3秒),东西路口的绿灯熄灭,同时东西路口的黄灯亮,延时一段时间后(2秒),东西路口的红灯亮,南北路口的绿灯亮,南北路口方向通车,延时一段时间后(20秒),南北路口的绿灯闪烁若干次后(3秒),南北路口的绿灯熄灭,同时南北路口的黄灯
亮,延时一段时间后(2秒),再切换到东西路口的绿灯亮,南北路口的红灯亮,之后重复以上过程。
双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,共用负极,当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。
本实验需要用到CPU模块(F3区)、静态数码管/双色LED显示模块(B4区)。
双色LED显示电路原理参见图18-1。
五、实验步骤
1)系统各跳线器处在初始设置状态。
P10同时接G1、G3;P11同时接R1、R3;P1.2同时接G2、G4;P1.3同时接R2、R4;
P1.6、P1.7分别接静态数码显示的DIN、CLK。
2)启动PC机,打开THGMW-51软件,输入源程序,并编译源程序。
编译无误后,下载程序
运行。
3)观察十字路口交通灯效果。
六、实验程序
;//*****************************************************************
;功能:
双色LED模拟交通灯信号,并通过调用静态数码显示状态时间。
;接线:
P1.0同时接G1、G3,P1.1接R1、R3,P1.2接G2、G4,P1.3同时接R2、
R4,
;P1.6、P1.7接静态数码显示的DIN、CLK。
;//******************************************************************
*
SECOND1EQU30H;东西秒寄存器
SECOND2EQU31H;南北秒寄存器
DBUFEQU40H;显示缓冲1
TEMPEQU44H;显示缓冲2
LED_G1BITP1.0;东西绿灯
LED_R1BITP1.1;东西红灯
LED_G2BITP1.2;南北绿灯
LED_R2BITP1.3;南北红灯
DinBITP1.6;串行显示数据
CLKBITP1.7;串行显示时钟
ORG0000H
LJMPSTART
ORG0100H
START:
LCALLSTATE0;调用状态0
LCALLDELAY;调用延时
MOVTMOD,#01H;置T0工作方式1
MOVTH0,#3CH;置T0定时初值50mS
MOVTL0,#0B0H
SETBTR0;启动T0CLREA
LOOP:
MOVR2,#20;置1S计数初值50mS*20=1S
MOVR3,#20;红灯20S
MOVSECOND1,#25;东西秒显示初值25S
MOVSECOND2,#25;南北秒显示初值25S
LCALLDISPLAY
LCALLSTATE1;调用状态1
WAIT1:
JNBTF0,WAIT1;查询50mS到否
CLRTF0
MOVTH0,#3CH;恢复T0定时初值50mS
MOVTL0,#0B0H
SETBTR0;启动T0
DJNZR2,WAIT1;判1S到否?
未到继续状态1
MOVR2,#20;置50mS计数初值
DECSECOND1;东西秒显示减一
DECSECOND2;南北秒显示减一
LCALLDISPLAY
-全文完-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 南昌大学 单片机 实验 报告 程序