当前位置:文档之家› 实验一KeilC集成开发环境的使用练习仿真调试和蜂鸣器驱动实验

实验一KeilC集成开发环境的使用练习仿真调试和蜂鸣器驱动实验

实验一Keil C51集成开发环境的使用练习、仿真、调试和蜂鸣器驱动实验第一部分Keil C51集成开发环境的使用练习、仿真与调试一、实验目的1、熟悉Keil C51集成开发环境的使用方法2、熟悉Keil C51集成开发环境调试功能的使用和DP-51PROC单片机综合仿真实验仪的使用。

二、实验设备及器件1、IBM PC机一台2、DP-51PROC单片机综合仿真实验仪一台三、实验步骤1、用40针排线把DP-51PROC实验仪上的A1区J76接口和A2区J79接口相连,然后使用排线把A2区的J61接口与D1区的J52接口相连。

2、用串口通信电缆连接TKSMonitor51仿真器的RS-232串行通信口,另一端连接PC机的串行口,把TKSMonitor51仿真器上的开关拨到LOAD模式,即下载状态下,用户应将TKSMonitor51仿真器的仿真头插入DP-51PROC单片机综合仿真实验仪的U13锁紧座上;然后ISP跳线JP14跳开(即不短接),按下复位按键“RESET”。

此时,DP-51PROC单片机综合仿真实验仪即进入下载状态。

对DP-51PROC实验仪上电,然后按照本书的第2章的2.5.1小节设置TKSMonitor5仿真器和使用软件DPFLASH把MON51监控程序下载到TKSMonitor5仿真器。

3、关闭DPFLASH软件。

把TKSMonitor5仿真器的工作模式选择开关切换到RUN处,然后按一下复位键(RST),MON51程序就开始运行了。

此时,TKSMonitor5仿真器进入调试状态。

4、新建工程文件和文件的编译、链接(一)新建工程文件1)打开“keil uvision2”软件,点击工具栏Project选项,在下拉菜单中选择New Project命令,弹出项目文件保存对话框,输入项目名后,点击保存按钮。

2)在工程建立完毕以后,uVision会弹出器件选择窗口,选择相应的器件型号。

例如:philips公司的p80/p87c52x2型单片机。

3)点击工具栏File选项,选中New命令,新建文件,输入源程序。

例如: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 Main;END4)把文件保存到磁盘中,如用汇编语言编写程序用.asm为扩展名,如用C语言编写程序用.c 为扩展名。

5)添加该文件到工程中,在Projectwindos窗口内,选中Source Group1然后点击鼠标右键,选择Add files to Group “Source Group1”,选择刚才创建的源程序文件,单击Add按钮。

(二)程序文件的编译、链接1)编译连接环境设置A、点击菜单栏上的Project项,选择Option for target ‘target1’将出现调试环境设置界面。

B、Target属性的设置,设置Off-Chip Code Memory栏内的Eprom选项,start下输入0x8000,size下输入0x4000;Off-Chip Xdata memory栏内的Eprom选项,start下输入0xC000,size 下输入0x4000。

C、点击Output选项卡在出现的窗口中选中Create HEX file选项。

D、点击C51选项卡,勾上“Interrupt vectors at a”并把0x000改为“0x8000”E、Debug环境的设置,选择Use选项,勾上“load application at sta”和“go till main”,然后单击Settings项,弹出Target Setup对话框,Port中选择与电脑连接的串口,然后确定。

2)程序的编译、连接点击工具栏Project选项,选中Build Target命令,选中Rebuild All Target File命令对所有的工程文件进行重新编译,此时“Output Windows”信息输出窗口输出一些相关信息,直至编译链接成功。

5、工程文件的仿真调试1)点击菜单栏的“debug”选项,在弹出的下拉菜单中执行“start/stop debug session”;2)点击菜单栏的“debug”选项,在弹出的下拉菜单中执行“go”;3)点击菜单栏的“debug”选项,在弹出的下拉菜单中执行“go”。

用户可以看见D1区LED的亮灭是由用户程序来控制的。

四、实验要求熟练掌握结合DP-51PROC单片机综合仿真实验仪和Keil C51集成开发环境进行仿真调试。

如果还有时间,可以把本书的第2章的2.6节、2.7节内容也看一下。

五、实验思考题如何仿真和调试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,R2SW AP 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,64898DW 64968,65030,65058,65110,65157,65178,65217END六、实验思考题请用户思考,如何通过程序来编写出音乐。

(做完实验后,资料要还给指导老师)。

相关主题