isp是什么-回收站清空了怎么恢复
![key1](/uploads/image/0665.jpg)
2023年4月6日发(作者:烟雾头)
实验一KeilC51集成开发环境的使用练习、仿真与调试
实验一KeilC51集成开发环境的使用练习、仿真与调试
一、实验目的
1、熟悉KeilC51集成开发环境的使用方法
2、熟悉KeilC51集成开发环境调试功能的使用和DP-51PROC单
片机综合
仿真实验仪的使用。
二、实验设备及器件
IBMPC机一台
DP-51PROC单片机综合仿真实验仪一台
三、实验内容
1、进行KeilC51集成开发环境的安装和使用练习。然后按照以下
内容建立
文件并编译产生HEX文件。
ORG0000H
LJMPMain
ORG00F0H
Main:
MOVR7,#0
Loop:
MOVR6,#0
DJNZR6,$
DJNZR6,$
DJNZR6,$
DJNZR6,$
DJNZR7,Loop
CPLP1.0;P1.0取反
CPLP1.1;P1.1取反
CPLP1.2;P1.2取反
CPLP1.3;P1.3取反
CPLP1.4;P1.4取反
CPLP1.5;P1.5取反
CPLP1.6;P1.6取反
CPLP1.7;P1.7取反
SJMPMain
;
END
2、进行KeilC51集成开发环境的仿真调试练习。然后按照以下内
容建立文
件并编译仿真调试。
ORG8000H
LJMPMain
ORG80F0H
Main:
MOVR7,#0
Loop:
MOVR6,#0
DJNZR6,$
DJNZR6,$
DJNZR6,$
DJNZR6,$
DJNZR7,Loop
CPLP1.0;P1.0取反
CPLP1.1;P1.1取反
CPLP1.2;P1.2取反
CPLP1.3;P1.3取反
CPLP1.4;P1.4取反
CPLP1.5;P1.5取反
CPLP1.6;P1.6取反
CPLP1.7;P1.7取反
SJMPMain
END
四、实验要求
1、熟练掌握KeilC51集成开发环境的工程建立、编辑与编译功
能。
2、熟练掌握结合DP-51PROC单片机综合仿真实验仪和KeilC51
集成开发
环境进行仿真调试。
五、实验步骤
(1)用40针排线把DP-51PROC实验仪上
的A1区J76接口和A2区J79接口相
连,然后使用排线把A2区的J61接口
与D1区的J52接口相连。如右图所示。
(2)对DP-51PROC实验仪上电,然后设置
TKSMonitor5仿真器和使用软件
DPFLASH把MON51监控程序下载到
TKSMonitor5仿真器。
(3)关闭DPFLASH软件。把TKSMonitor5
仿真器的工作模式选择开关切换到
RUN处,然后按一下复位键(RST),
MON51程序就开始运行了。此时,TKSMonitor5仿真器进入调
试状
态。
(4)用户使用KeilC51集成开发环境建立工程、编辑与编译“实
验内容”
所列的程序。然后按照(软件调试环境的设置)设置好,然后在
编译
一次。
(5)此时用户就可以进行仿真调试。如果用户在退出仿真调试模
式后想再进入仿真调试,可以先按一下TKSMonitor5仿真器的复位键
(RST)。
用户可以在仿真调试环境下设置断点,单步,全速运行等。在调
试过
程中用户可以看见D1区LED的亮灭是由用户程序来控制的。
六、实验思考题
(1)试写一条把片内RAM50H~59H单元清零的程序。
(2)试写一条把片内RAM50H~59H单元写入01H的程序。
(3)如何仿真和调试C51程序呢?(用户可以把上面的例子改为
C51程序然后在编译调试)
实验二蜂鸣器驱动实验
一、实验目的
利用单片机的P1口作IO口,使用户学会蜂鸣器的使用。
二、实验设备及器件
IBMPC机一台
DP-51PROC单片机综合仿真实验仪一台
频率计一台
三、实验内容
1、编写一段程序,用P1.3口控制(输出3K到4K频率的方波),
使B5区
的蜂鸣器发出嘹亮的响声。
2、按照例程输入一段程序,用P1.3口控制,使B5区的蜂鸣器发
出“生日
快乐”的音乐。
四、实验步骤
1、使用导线把A2区的P13与B5区的BUZZ接线柱相连。
2、先编写一个延时程序(120`200us)。
3、再编写一个循环程序,改变P1.3脚的电平,然后延时。这样,
这个循环
就使P1.3口输出一个频率为2.5KHZ-4KHZ的方波。在DP-
51PROC单片机综合仿真实验仪上运行该程序时,B5区的蜂鸣器将发
出嘹亮的响声。
4、按以下例程序输入,然后运行,蜂鸣器发出“生日快乐”的音
乐。
五、实验参考程序
ORG8000H
JMPMAIN
ORG800BH
JMPINTT0
ORG8100H
MAIN:
MOVSP,#60H
MOVTMOD,#01H;初始化定时器及其中断
SETBET0;开定时器0中断
SETBEA
SETBTR0;启动定时器0
START0:SETBP1.3
MOV30H,#00H
NEXT:MOVA,30H
MOVDPTR,#TABLE;从TABLE中读取数据--响声时间
MOVCA,@A+DPTR
MOVR2,A
JZENDD
ANLA,#0FH
MOVR5,A
MOVA,R2
SWAPA
ANLA,#0FH
JNZSING
CLRTR0
JMPD1
SING:DECA
MOV22H,A
RLA
MOVDPTR,#TABLE1;从TABLE中读取数据—声调
MOVCA,@A+DPTR
MOVTH0,A
MOV21H,A
MOVA,22H
RLA
INCA
MOVCA,@A+DPTR
MOVTL0,A
MOV20H,A
SETBTR0
D1:CALLDELAY;声音延时
INC30H
JMPNEXT
ENDD:CLRTR0
JMPSTART0
INTT0:;定时器0中断服务程序
PUSHPSW
PUSHACC
MOVTL0,20H
MOVTH0,21H
CPLP1.3
POPACC
POPPSW
RETI
DELAY:;R5的值就是声响持续时间MOVR7,#02
DELAY0:MOVR4,#187
DELAY1:MOVR3,#248
DJNZR3,$
DJNZR4,DELAY1
DJNZR7,DELAY0
DJNZR5,DELAY
RET
TABLE:DB82H,01H,81H,94H,84H,0B4H,0A4H,04H
DB82H,01H,81H,94H,84H,0C4H,0B4H,04H
DB82H,01H,81H,0F4H,0D4H,0B4H,0A4H,94H
DB0E2H,01H,0E1H,0D4H,0B4H,0C4H,0B4H,04H
DB82H,01H,81H,94H,84H,0B4H,0A4H,04H
DB82H,01H,81H,94H,84H,0C4H,0B4H,04H
DB82H,01H,81H,0F4H,0D4H,0B4H,0A4H,94H
DB0E2H,01H,0E1H,0D4H,0B4H,0C4H,0B4H,04H,00HTABLE1:
DW64260,64400,64524,64580,64684,64777,64820,64898DW
64968,65030,65058,65110,65157,65178,65217END
六、实验思考题
请用户思考,如何通过程序来编写出音乐。
实验三电子琴实验
一、实验目的
利用实验仪上提供的按键K1~K7作为电子琴按键,控制蜂鸣器发
声,使用户了解计算机发声原理,熟悉定时器和键盘扫描电路的工作
原理及编程方法。
二、实验设备及器件
IBMPC机一台
DP-51PROC单片机综合仿真实验仪一台
频率计一台
三、实验内容
1、编写一段程序,用P3.3口控制(输出7种音阶标称频率的方
波),使B5
区的蜂鸣器发出对应的音调。
2、按照歌曲的音调,使用D1区的按键K1~K7,弹奏一首简单的
音乐。
四、实验步骤
1、用导线将A2区P3.3口(INT1)和B5区的BUZZ
接口相连,然后将D1区的J53接口和A2区的J61
接口一一对应相连。如右图所示。
2、编写按键的动态键盘扫描程序,根据不同音阶的频
率编写蜂鸣器的音调控制程序,然后完成电子琴的
主程序设计。
3、调试编写好的程序,使用频率计校准音阶的频率,
然后使用键盘演奏一段好听的音乐。
五、实验参考程序
BUZZEQUP3.3
ORG8000H
LJMPMAIN
ORG800BH
LJMPINT_T0
ORG8100H
MAIN:
MOVSP,#60H;初始化堆栈向量
MOV30H,#00;定时器初值清零
MOV31H,#00
MOVP1,#0FFH;设置P1口为输入模式
MOVTMOD,#01H;设置定时器0为工作模式1
SETBET0;开定时器0中断
SETBEA;开总中断
CLRTR0;关闭定时器0
START:
MOVR0,P1
CJNER0,#0FFH,KEY1;键盘扫描
CLRTR0
SJMPSTART
KEY1:
CJNER0,#0FEH,KEY2;K1键按下MOV30H,#0FBH;设置音阶1
MOV31H,#0E9H
LJMPSET_TIMER
KEY2:
CJNER0,#0FDH,KEY3;K2键按下MOV30H,#0FCH;设置音阶2
MOV31H,#5CH
LJMPSET_TIMER
KEY3:
CJNER0,#0FBH,KEY4;K3键按下MOV30H,#0FCH;设置音阶3
MOV31H,#0C1H
LJMPSET_TIMER
KEY4:
CJNER0,#0F7H,KEY5;K4键按下MOV30H,#0FCH;设置音阶4
MOV31H,#0EFH
LJMPSET_TIMER
KEY5:
CJNER0,#0EFH,KEY6;K5键按下MOV30H,#0FDH;设置音阶5
MOV31H,#045H
LJMPSET_TIMER
KEY6:
CJNER0,#0DFH,KEY7;K6键按下MOV30H,#0FDH;设置音阶6
MOV31H,#92H
LJMPSET_TIMER
KEY7:
CJNER0,#0BFH,NOKEY;K7键按下MOV30H,#0FDH;设置音阶
7
MOV31H,#0D6H
SET_TIMER:
SETBTR0;发声
SJMPSTART
NOKEY:
CLRTR0;无键按下
SJMPSTART
更多推荐
key1
发布评论