实验一Keil C51集成开发环境的使用练习、仿真与调试一、实验目的1、熟悉Keil C51集成开发环境的使用方法2、熟悉Keil C51集成开发环境调试功能的使用和DP-51PROC单片机综合仿真实验仪的使用。
二、实验设备及器件IBM PC机一台DP-51PROC单片机综合仿真实验仪一台三、实验内容1、进行Keil C51集成开发环境的安装和使用练习。
然后按照以下内容建立文件并编译产生HEX文件。
ORG 0000HLJMP MainORG 00F0HMain:MOV R7, #0Loop:MOV R6, #0DJNZ R6, $DJNZ R6, $DJNZ R6, $DJNZ R6, $DJNZ R7, LoopCPL P1.0 ; P 1 .0 取反CPL P1.1 ; P 1 .1 取反CPL P1.2 ; P 1 .2 取反CPL P1.3 ; P 1 .3 取反CPL P1.4 ; P 1 .4 取反CPL P1.5 ; P 1 .5 取反CPL P1.6 ; P 1 .6 取反CPL P1.7 ; P 1 .7 取反SJMP Main;END2、进行Keil C51集成开发环境的仿真调试练习。
然后按照以下内容建立文件并编译仿真调试。
ORG 8000HLJMP MainORG 80F0HMain:MOV R7, #0Loop:MOV R6, #0DJNZ R6, $DJNZ R6, $DJNZ R6, $DJNZ R6, $DJNZ R7, LoopCPL P1.0 ; P 1 .0 取反CPL P1.1 ; P 1 .1 取反CPL P1.2 ; P 1 .2 取反CPL P1.3 ; P 1 .3 取反CPL P1.4 ; P 1 .4 取反CPL P1.5 ; P 1 .5 取反CPL P1.6 ; P 1 .6 取反CPL P1.7 ; P 1 .7 取反SJMP MainEND四、实验要求1、熟练掌握Keil C51集成开发环境的工程建立、编辑与编译功能。
2、熟练掌握结合DP-51PROC单片机综合仿真实验仪和Keil C51集成开发环境进行仿真调试。
五、实验步骤(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)用户使用Keil C51集成开发环境建立工程、编辑与编译“实验内容”所列的程序。
然后按照(软件调试环境的设置)设置好,然后在编译一次。
(5)此时用户就可以进行仿真调试。
如果用户在退出仿真调试模式后想再进入仿真调试,可以先按一下TKSMonitor5仿真器的复位键(RST)。
用户可以在仿真调试环境下设置断点,单步,全速运行等。
在调试过程中用户可以看见D1区LED的亮灭是由用户程序来控制的。
六、实验思考题(1)试写一条把片内RAM 50H~59H单元清零的程序。
(2)试写一条把片内RAM 50H~59H单元写入01H的程序。
(3)如何仿真和调试C51程序呢?(用户可以把上面的例子改为C51程序然后在编译调试)实验二蜂鸣器驱动实验一、实验目的利用单片机的P1口作IO口,使用户学会蜂鸣器的使用。
二、实验设备及器件IBM PC机一台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、按以下例程序输入,然后运行,蜂鸣器发出“生日快乐”的音乐。
五、实验参考程序ORG 8000HJMP MAINORG 800BHJMP INTT0ORG 8100HMAIN:MOV SP,#60HMOV TMOD,#01H ;初始化定时器及其中断SETB ET0 ;开定时器0中断SETB EASETB TR0 ;启动定时器0START0: SETB P1.3MOV 30H,#00HNEXT: MOV A,30HMOV DPTR,#TABLE ;从TABLE中读取数据--响声时间MOVC A,@A+DPTRMOV R2,AJZ ENDDANL A,#0FHMOV R5,AMOV A,R2SWAP AANL A,#0FHJNZ SINGCLR TR0JMP D1SING: DEC AMOV 22H,ARL AMOV DPTR,#TABLE1 ;从TABLE中读取数据—声调MOVC A,@A+DPTRMOV TH0,AMOV 21H,AMOV A,22HRL AINC AMOVC A,@A+DPTRMOV TL0,AMOV 20H,ASETB TR0D1: CALL DELAY ;声音延时INC 30HJMP NEXTENDD: CLR TR0JMP START0INTT0: ;定时器0中断服务程序PUSH PSWPUSH ACCMOV TL0,20HMOV TH0,21HCPL P1.3POP ACCPOP PSWRETIDELAY: ;R5的值就是声响持续时间MOV R7,#02DELAY0: MOV R4,#187DELAY1: MOV R3,#248DJNZ R3,$DJNZ R4,DELAY1DJNZ R7,DELAY0DJNZ R5,DELAYRETTABLE: DB 82H,01H,81H,94H,84H,0B4H,0A4H,04HDB 82H,01H,81H,94H,84H,0C4H,0B4H,04HDB 82H,01H,81H,0F4H,0D4H,0B4H,0A4H,94HDB 0E2H,01H,0E1H,0D4H,0B4H,0C4H,0B4H,04HDB 82H,01H,81H,94H,84H,0B4H,0A4H,04HDB 82H,01H,81H,94H,84H,0C4H,0B4H,04HDB 82H,01H,81H,0F4H,0D4H,0B4H,0A4H,94HDB 0E2H,01H,0E1H,0D4H,0B4H,0C4H,0B4H,04H,00H TABLE1: DW 64260,64400,64524,64580,64684,64777,64820,64898 DW 64968,65030,65058,65110,65157,65178,65217 END六、实验思考题请用户思考,如何通过程序来编写出音乐。
实验三电子琴实验一、实验目的利用实验仪上提供的按键K1~K7作为电子琴按键,控制蜂鸣器发声,使用户了解计算机发声原理,熟悉定时器和键盘扫描电路的工作原理及编程方法。
二、实验设备及器件IBM PC机一台DP-51PROC单片机综合仿真实验仪一台频率计一台三、实验内容1、编写一段程序,用P3.3口控制(输出7种音阶标称频率的方波),使B5区的蜂鸣器发出对应的音调。
2、按照歌曲的音调,使用D1区的按键K1~K7,弹奏一首简单的音乐。
四、实验步骤1、用导线将A2区P3.3口(INT1)和B5区的BUZZ接口相连,然后将D1区的J53接口和A2区的J61接口一一对应相连。
如右图所示。
2、编写按键的动态键盘扫描程序,根据不同音阶的频率编写蜂鸣器的音调控制程序,然后完成电子琴的主程序设计。
3、调试编写好的程序,使用频率计校准音阶的频率,然后使用键盘演奏一段好听的音乐。
五、实验参考程序BUZZ EQU P3.3ORG 8000HLJMP MAINORG 800BHLJMP INT_T0ORG 8100HMAIN:MOV SP,#60H ;初始化堆栈向量MOV 30H,#00 ;定时器初值清零MOV 31H,#00MOV P1,#0FFH ;设置P1口为输入模式MOV TMOD,#01H ;设置定时器0为工作模式1SETB ET0 ;开定时器0中断SETB EA ;开总中断CLR TR0 ;关闭定时器0START:MOV R0,P1CJNE R0,#0FFH,KEY1 ;键盘扫描CLR TR0SJMP STARTKEY1:CJNE R0,#0FEH,KEY2 ;K1键按下MOV 30H,#0FBH ;设置音阶1MOV 31H,#0E9HLJMP SET_TIMERKEY2:CJNE R0,#0FDH,KEY3 ;K2键按下MOV 30H,#0FCH ;设置音阶2MOV 31H,#5CHLJMP SET_TIMERKEY3:CJNE R0,#0FBH,KEY4 ;K3键按下MOV 30H,#0FCH ;设置音阶3MOV 31H,#0C1HLJMP SET_TIMERKEY4:CJNE R0,#0F7H,KEY5 ;K4键按下MOV 30H,#0FCH ;设置音阶4MOV 31H,#0EFHLJMP SET_TIMERKEY5:CJNE R0,#0EFH,KEY6 ;K5键按下MOV 30H,#0FDH ;设置音阶5MOV 31H,#045HLJMP SET_TIMERKEY6:CJNE R0,#0DFH,KEY7 ;K6键按下MOV 30H,#0FDH ;设置音阶6MOV 31H,#92HLJMP SET_TIMERKEY7:CJNE R0,#0BFH,NOKEY ;K7键按下MOV 30H,#0FDH ;设置音阶7MOV 31H,#0D6HSET_TIMER:SETB TR0 ;发声SJMP STARTNOKEY:CLR TR0 ;无键按下SJMP STARTINT_T0: ;T0中断服务程序MOV TH0,30H ;定时器附初值MOV TL0,31HCPL BUZZ ;输出方波RETIEND六、实验思考题结合实验仪上的硬件,设计一个可以任意选曲播放的电子音乐盒。
实验四串转并的I/O口实验一、实验目的熟悉并掌握串转并的I/O口扩展方法。
二、实验设备及器件IBM PC机一台DP-51PROC单片机综合仿真实验仪一台三、实验内容1、写程序,通过单片机的P1口控制74HC164的输入端口,实现串并转换。