单片机实验2从099讲述.docx
- 文档编号:11864568
- 上传时间:2023-04-06
- 格式:DOCX
- 页数:9
- 大小:1.61MB
单片机实验2从099讲述.docx
《单片机实验2从099讲述.docx》由会员分享,可在线阅读,更多相关《单片机实验2从099讲述.docx(9页珍藏版)》请在冰豆网上搜索。
单片机实验2从099讲述
实验报告
课程名称:
单片机原理及应用
实验项目:
外部中断编程及调试实验
专业班级:
姓名:
学号:
实验室号:
实验组号:
实验时间:
批阅时间:
指导教师:
成绩:
1.实验名称
外部中断编程及调试实验
2.实验目的
2.1掌握KeiluVision3环境下程序的编写、编译、排错和调试方法。
2.2掌握单步、断点、自动跟踪/单步、全速执行等各种执行方法。
2.3了解汇编语言的编程方法。
2.4了解中断处理程序的编写方法。
3.实验内容
3.1采用外部中断编写程序,用按键S1和S2控制两个数码管从00到99加计数循环显示(S1加延时去抖,S2不加,比较实验现象)。
4.2在实验板上编程实现,INT0中断读入P1.0—P1.3开关的状态,且在数码管DS1和DS2显示,编码表如下所示:
4.实验步骤或程序
1、设置STC-ISP,将单片机与其连接。
2、在Keil上新建工程,并设置对应STC单片机的选项
3、右键单击Target,设置Debug选项。
4、添加并编译所编辑程序
5、点击仿真按钮进入仿真界面
程序
ORG0000HINN:
CJNER0,#9,INN0
LJMPMAINCJNER1,#9,INN1
ORG0003HMOVR0,#0
AJMPIN0MOVR1,#0
ORG0013HRETI
AJMPIN1INN1:
MOVR0,#0
ORG0100HINCR1
MAIN:
SETBIT0RETI
SETBEX0INN0:
INCR0
SETBIT1RETI
SETBEX1DEL:
MOVR6,#20//S1
SETBEADL2:
MOVR7,#114
MOVR0,#0DL1:
NOP
MOVR1,#0NOP
DIS:
MOVA,R1DJNZR7,DL1
MOVDPTR,#TAB2DJNZR6,DL2
MOVCA,@A+DPTRRET
MOVR3,ATAB0:
DB11H,0D7H,32H,92H,0D4H,98H,18H,0D3H,1
MOVA,R00H,90H,50H,1CH,39H,16H,38H,78H
MOVDPTR,#TAB0TAB2:
DB88H,0EBH,4CH,49H,2BH,19H,18H,0CBH,08
MOVCA,@A+DPTRH,09H,0AH,38H,9CH,68H,1CH,1EH
MOVR2,AEND
MOVP0,R2
MOVP2,R3
AJMPDIS
IN0:
ACALLDEL
JNBP3.2,INN
RETI
IN1:
AJMPINN//
5.程序运行结果
6.出现的问题及解决方法
问题1:
在这次实验中,我在调试结束后运行了一下,发现软件提示有一个错误。
解决方法:
我最开始输入的程序是
TAB0:
DB11H,0D7H,32H,92H,0D4H,98H,18H,0D3H,1
0H,90H,50H,1CH,39H,16H,38H,78H
TAB2:
DB88H,0EBH,4CH,49H,2BH,19H,18H,0CBH,08
H,09H,0AH,38H,9CH,68H,1CH,1EH(写了四行),当把程序分成两行写的时候,重新的调试了一遍,程序能够运行了,显示没有错误,可以运行了。
问题2:
在连接单片机的时候,一直没有连接上,而且通道一直显示的是1通道。
解决方法:
通道1表示电脑和单片机没有接上,在重新思考了之后,我发现我没有进行单片机连接的过程,在连接了之后,发现通道显示为3通道,并且计算机和单片机连接上了。
这个程序执行之后,可以更改单片机上数码管的数值,并且可以观察到数码管显示可以从00到99,然后从99跳到00的过程。
7.心得体会及建议
在这次的单片机上机实验中,我对KeiluVision3编译软件更加了解了。
学会了单步、断点、自动跟踪/单步、全速执行等各种执行方法,可以对程序进行更改,并且能够简单的编写程序,并对编写的程序进行编译与检查。
无建议
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 实验 099 讲述