湖工单片机实验报告.docx
- 文档编号:29118514
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:19
- 大小:199.96KB
湖工单片机实验报告.docx
《湖工单片机实验报告.docx》由会员分享,可在线阅读,更多相关《湖工单片机实验报告.docx(19页珍藏版)》请在冰豆网上搜索。
湖工单片机实验报告
厚德博学和而不同
单片机与应用技术实验
学院:
电气与信息工程学院
专业:
电气工程及其自动化
年级:
学号:
学生姓名:
指导教师:
二〇一三年一月四日
实验一存储器读写
一、实验目的:
1、掌握寄存器、存储器读写等汇编指令;
2、掌握编程软件编辑、编译、调试等基本操作;
3、学习简单程序的基本调试方法。
二、实验内容:
将70H-7FH16个字节单元的数据复制到片外存储器2000H开始的地址单元中,程序清单如下:
ORG0000H
SJMPSTART
ORG0030H
START:
MOVR1,#10H
MOVR0,#70H
MOVDPTR,#2000H
MOV70H,#01H
MOV71H,#02H
MOV72H,#03H
MOV73H,#04H
MOV74H,#05H
MOV75H,#06H
MOV76H,#07H
MOV77H,#08H
MOV78H,#09H
MOV7AH,#0AH
MOV7BH,#0BH
MOV7CH,#0CH
MOV7DH,#0DH
MOV7EH,#0EH
MOV7FH,#0FH
LOOP:
MOVA,@R0
MOVX@DPTR,A
INCR0
INCDPTR
DJNZR1,LOOP
END
三、实验报告
(1)、说明实验操作的基本步骤;
1.打开伟福或者Keil,本报告中使用的是伟福。
进行相关参数的设置,选择仿真器。
2.选择文件菜单下新建命令,在新建页面的空白处输入程序,输入完毕后选择文件菜单下的保存命令,文件的后缀名需要保存为“.ASM”格式。
3.选择项目菜单下编译指令,软件下方会出现“.BIN”和“.HEX”文件,如有错误,下方会出现Error字样,双击该处,相应的程序会变成红色,修改之后重新进行编译,知道没有错误。
4.单击左侧对话框中的Watch中可以添加观察项,选择执行菜单下,添加观察项的命令,填入2000H,缺省方式前面的勾取消,存储区域选择XDATA。
再选择执行菜单下的全速运行,观察左侧对话框中XDATA选项卡的变化,如果出现问题也可选择但不运行,每次按下F8会运行一步,便于检查错误。
5、为每一条汇编指令写出中文注释;
ORG0000H;伪指令
SJMPSTART;跳转到START处
ORG0030H;伪指令
START:
MOVR1,#10H;寄存器R1送入10
MOVR0,#70H;寄存器R0送入70
MOVDPTR,#2000H;DPTR中送入2000
MOV70H,#01H;给70H地址中送数01
MOV71H,#02H;71H地址中送入02
. . .
. . .
MOV7FH,#0FH;71H地址中送入0F
LOOP:
MOVA,@R0 ;将70H地址中的数送给A
MOVX@DPTR,A;将A的数送到片外2000H中
INCR0;R0内容加一
INCDPTR;DPTR内容加一
DJNZR1,LOOP ;R1不为0就转到LOOP
END;结束
3、记录下程序单步运行时,寄存器(R0、R1)、累加器(A)、程序状态字(PSW)、内部存储器(70H—7FH单元)、外部存储器(2000H—200FH单元)的数据变化。
R1的值从10减到0;R0的值从70加到7F;A的值从1到F;内部存储器70H到7FH单元中的内容被复制到片外以2000H为首地址的单元中。
四、配分、评分标准(参考)
序号
考核内容
配分
评分标准
考核记录
扣分
得分
1
基本操作
20
2
实验程序及结果
60
3
实验报告
20
合计
实验二数据排列
一、实验目的
熟悉单片机汇编指令系统,掌握汇编程序设计方法。
二、实验内容
编写并调试一个排序子程序,其功能为用冒泡法将内容RAM中几个单字节无符号的正整数,按从小到大的次序重新排列。
三、实验程序框图
实验参考程序;
ORG09B0H
7B50QUE:
MOVR3,#50H
EBQUE1:
MOVA,R3;指针送R0
F8MOVR0,A
7F0AMOVR7,#0AH;长度送R7
C200CLR00H;标志位为0
E6MOVA,@R0
08QL2:
INCR0
FAMOVR2,A
C3CLRC
8622MOV22H,@R0
B52201CJNEA,22H,QL3;相等吗?
D3SETBC
EAQL3:
MOVA,R2
4006JCQL1;大于交换位置
D200SETB00H
C6XCHA,@R0
18DECR0
C6XCHA,@R0
08INCR0;大于交换位置
E6QL1:
MOVA,@R0
DFEBDJNZR7,QL2
2000E1JB00H,QUE1;一次循环中有交换继
80FELOOP:
SJMPLOOP;无交换退出
四、实验步骤
把用keil软件将单片机RAM50H~5AH中放入不等的数据,并通过keil软件的数据观察窗口观察运行本实验程序后50H~5AH中内容是否按从小到大排列。
1、实验程序汇编指令及中文注释;
ORG0000H;程序开始地址
MOV50H,#12H;随机生成10个数
MOV51H,#15H
MOV52H,#2H
MOV53H,#8h
MOV54H,#56H
MOV55H,#51H
MOV56H,#33H
MOV57H,#21H
MOV58H,#14H
MOV59H,#22H
MOV5AH,#18H
CLR00H;清交换标志位
SETBPSW.3;工作寄存器选择
SETBPSW.4
SUB:
MOVR3,#0AH;11个数据循环次数
movR0,#50H;数据存放区首址
MOVA,@R0;取前数
L2:
INCR0;取下一地址中的值
MOVR2,A;保存前数
SUBBA,@R0;相邻两数相减
MOVA,R2;恢复前数
JCL1;顺序则继续比较
SETB00H;逆序则建立标志位
XCHA,@R0;前数与后数交换
DECR0;长度减1
XCHA,@R0
INCR0;仍指向后数单元
L1:
MOVA,@R0
DJNZR3,L2;依次重复比较
JB00H,SUB;交换后重新比较
RET
END;结束
2、排序结果(抓图)。
程序开始前数据
程序执行后数据
六、配分、评分标准(参考)
序号
考核内容
配分
评分标准
考核记录
扣分
得分
1
基本操作
20
2
实验程序及结果
60
3
实验报告
20
合计
实验三I/O端口操作
一、实验目的:
1、掌握I/O端口读写等基本汇编指令;
2、掌握单片机最小系统硬件电路设计及仿真软件PROTEUS仿真、调试等基本操作方法。
二、实验仪器设备
1、PC机,1台
2、WAVE软件开发系统
3、仿真软件PROTEUS
三、实验内容:
编写一段汇编程序,使与单片机P0.3口相连的发光二极管循环点亮,亮灭时间必须大于0.5秒(肉眼能清晰分辨二极管的亮灭变化)。
要求用PROTEUS软件完成仿真电路设计,并进行功能验证。
四、实验步骤:
1、使用Protues完成硬件仿真电路的绘制。
2、用WAVE软件完成发光二级管亮灭程序,用延时子程序设计一段时间延时,编译通过后生成16进制文件(.HEX),加载到PROTEUS中仿真验证。
五、实验报告
1、PROTEUS仿真效果图;
2、实验程序汇编指令及中文注释;
ORG0000H;伪指令
LJMPSTART;跳转到START
ORG0030H;伪指令
START:
SETBP0.3;P0.3置1
ACALLDELAY;调用延时
CLRP0.3;P0.3清零
ACALLDELAY;调用延时
LJMPSTART;跳转到START
DELAY:
MOVR0,#05H;延时程序R0赋值5,下面程序走5遍就是0.5秒
LOOP1:
MOVR1,#200;0.1秒的延时程序
LOOP2:
MOVR2,#126
LOOP3:
DJNZR2,LOOP3
DJNZR1,LOOP2
DJNZR0,LOOP1
RET;调用结束返回
SJMP$;死循环,防止程序跑飞
END;结束
六、思考题:
单片机晶振设为12MHZ,试计算自己编写的延时子程序的精确延时时间?
七、配分、评分标准(参考)
序号
考核内容
配分
评分标准
考核记录
扣分
得分
1
基本操作
20
2
实验程序及结果
60
3
实验报告
20
合计
实验四定时中断
一、实验目的:
1、熟悉单片机定时器工作原理;
2、掌握定时器定时控制的编程方法。
二、实验基本原理
1、定时/计数器工作原理
图2.11定时/计数器原理图
(1)定时时间的求取。
例:
设单片机晶振频率为12MHZ,定时时间为1ms,求时间常数?
定时器计数周期=12/fosc=1us,1ms/1us=1000,
因此,计数初值=65535+1-1000=64536=FC18H
(2)定时/计数器初始化
MOVTMOD,#10H
SETBTR1
三、实验内容:
编写一段汇编程序,使单片机P1.0口输出一段时钟周期为2ms的方波。
要求采用T1中断方式,工作方式1。
用PROTEUS软件完成仿真电路设计,并用软件中自带的示波器观察输出结果。
四、实验操作步骤:
1、硬件电路设计
图2.12硬件电路设计
2、单片机晶振频率为12MHZ,用WAVE软件编写P1.0引脚上输出周期为2ms的方波程序。
编译通过后生成16进制文件(.HEX),加载到PROTEUS中仿真验证。
3、PROTEUS仿真验证。
五、实验报告
1、PROTEUS仿真效果图;
2、实验程序汇编指令及中文注释;
ORG0000H;伪指令
SJMPSTART;跳转到START
ORG0013H;伪指令,T1计时器中断入口地址
LJMPIOP0;跳转到IOP0
ORG0030H;伪指令
START:
MOVSP,#60H;将堆栈指针放到60H处
MOVTMOD,#10H;T1计时器工作方式1
MOVTH1,#0FCH;赋初值
MOVTL1,#18H
SETBP1.0;P1.0置1
SETBEA;打开中断允许总控制位
SETBTR1;启动计时器T1
SETBET1;打开定时器1的中断允许控制位
IOP0:
CLREA;关闭中断
MOVTH1,#0FCH;重新赋初值
MOVTL1,#18H
CLRP1.0;P1.0清零
SETBEA;打开中断开关
RETI;调用结束
END;结束
六、配分、评分标准(参考)
序号
考核内容
配分
评分标准
考核记录
扣分
得分
1
基本操作
20
2
实验程序及结果
60
3
实验报告
20
合计
实验五十字路口交通灯
一、实验目的:
1、掌握ISP在线调试的方法;
2、掌握硬件实验箱的使用方法;
3、熟悉汇编程序基本格式与编程方法。
二、实验仪器设备:
1、PC机
2、PROTEUS仿真环境。
三、实验内容:
编写十字路口交通灯控制程序,控制红、黄、绿交通指示灯的亮灭,模拟十字路口交通灯控制。
参考程序如下:
PORTEQU0CFA0H;片选地址CS0
CSEGAT0000H
LJMPSTART
CSEGAT4100H
START:
MOVA,#11H;两个红灯亮,黄灯、绿灯灭
ACALLDISP;调用273显示单元(以下雷同)
ACALLDE3S;延时3秒
LLL:
MOVA,#12H;东西路口绿灯亮;南北路口红灯亮
ACALLDISP
ACALLDE10S;延时10秒
MOVA,#10H;东西路口绿灯灭;南北路口红灯亮
ACALLDISP
MOVR2,#05H;R2中的值为黄灯闪烁次数
TTT:
MOVA,#14H;东西路口黄灯亮;南北路口红灯亮
ACALLDISP
ACALLDE02S;延时0.2秒
MOVA,#10H;东西路口黄灯灭;南北路口红灯亮
ACALLDISP
ACALLDE02S;延时0.2秒
DJNZR2,TTT;返回TTT,使东西路口;黄灯闪烁五次
MOVA,#11H;两个红灯亮,黄灯、绿灯灭
ACALLDISP
ACALLDE02S;延时0.2秒
MOVA,#21H;东西路口红灯亮;南北路口绿灯亮
ACALLDISP
ACALLDE10S;延时10秒
MOVA,#01H;东西路口红灯亮;南北路口绿灯灭
ACALLDISP
MOVR2,#05H;黄灯闪烁五次
GGG:
MOVA,#41H;东西路口红灯亮;南北路口黄灯亮
ACALLDISP
ACALLDE02S;延时0.2秒
MOVA,#01H;东西路口红灯亮;南北路口黄灯灭
ACALLDISP
ACALLDE02S;延时0.2秒
DJNZR2,GGG;返回GGG,使南北路口;黄灯闪烁五次
MOVA,#03H;两个红灯亮,黄灯、绿灯灭
ACALLDISP
ACALLDE02S;延时0.2秒
JMPLLL;转LLL循环
DE10S:
MOVR5,#100;延时10秒
JMPDE1
DE3S:
MOVR5,#30;延时3秒
JMPDE1
DE02S:
MOVR5,#02;延时0.2秒
DE1:
MOVR6,#200
DE2:
MOVR7,#126
DE3:
DJNZR7,DE3
DJNZR6,DE2
DJNZR5,DE1
RET
DISP:
MOVDPTR,#PORT;273显示单元
CPLA
MOVX@DPTR,A
RET
END
四、实验操作步骤:
用WAVE软件编写交通灯控制程序。
编译通过后生成16进制文件(.HEX),加载到PROTEUS中仿真验证。
五、实验报告要求:
1、PROTEUS仿真效果图;
2、实验程序汇编指令及中文注释;
ORG0000H;伪指令
SJMPLOOP1;跳转到LOOP1
ORG0030H;伪指令
LOOP1:
;LOOP1子程序
MOVP1,#21H;将P1口送00100001南北绿灯东西红灯
ACALLDE5S;调用DE5S处的5S延时程序
MOVP1,#11H;将P1口送00010001南北黄灯东西红灯
ACALLDE3S;调用DE3S处的3S延时程序
MOVP1,#0CH;将P1口送00001100南北红灯东西绿灯
ACALLDE5S;调用DE5S处的5S延时程序
MOVP1,#0AH;将P1口送00001010南北红灯东西黄灯
ACALLDE3S;调用DE3S处的3S延时程序
LJMPLOOP1;跳转到LOOP1循环
SJMP$;死循环,防止程序跑飞
DE5S:
;5S延时程序入口
MOVR5,#50
JMPDE1;无条件转移到DE1
DE3S:
MOVR5,#30;延时3S程序入口
JMPDE1;无条件转移到DE1
DE1:
MOVR6,#200;延时子程序
DE2:
MOVR7,#126
DE3:
DJNZR7,DE3
DJNZR6,DE2
DJNZR5,DE1
RET;延时返回
END;结束
六、思考题:
改写实验源程序,使东西南北红绿灯亮灭的时间不同。
七、配分、评分标准(参考)
序号
考核内容
配分
评分标准
考核记录
扣分
得分
1
基本操作
20
2
实验程序及结果
60
3
实验报告
20
合计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 实验 报告