当前位置:文档之家› 实验一KeilC51集成开发环境的使用练习、仿真与调试

实验一KeilC51集成开发环境的使用练习、仿真与调试

实验一KeilC51集成开发环境的使用练习、仿真与调试
实验一KeilC51集成开发环境的使用练习、仿真与调试

实验一Keil C51 集成开发环境的使用练习、仿真与调试

、实验目的

1、熟悉Keil C51 集成开发环境的使用方法

2、熟悉Keil C51集成开发环境调试功能的使用和DP-51PR0C单片机综合仿真实验仪的使用。

、实验设备及器件

IBM PC 机一台

DP-51PR0C单片机综合仿真实验仪一台

、实验内容

1、进行Keil C51 集成开发环境的安装和使用练习。然后按照以下内容建立文件并编译产生HEX 文件。

0RG 0000H

LJMP Main

0RG 00F0H

Main:

M0V R7, #0

Loop:

M0V R6, #0

DJNZ R6, $

DJNZ R6, $

DJNZ R6, $

DJNZ R6, $

DJNZ R7, Loop

CPL 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

END

2、进行Keil C51 集成开发环境的仿真调试练习。然后按照以下内容建立文件并编译仿真调试。

0RG 8000H

LJMP Main

0RG 80F0H

Main:

M0V R7, #0

Loop:

MOV R6, #0

DJNZ R6, $

DJNZ R6, $

DJNZ R6, $

DJNZ R6, $

DJNZ R7, Loop

CPL 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取反

J

CPL P1.6 ; P 1 .6取反

CPL P1.7 ; P 1 .7取反

SJMP Mai n

END

四、实验要求

1、熟练掌握Keil C51集成开发环境的工程建立、编辑与编译功能。

2、熟练掌握结合DP-51PR0C单片机综合仿真实验仪和Keil C51集成开发

环境进行仿真调试。

五、实验步骤

(1)用40针排线把DP-51PR0C实验仪上的A1区J76接口和A2区J79接口相连,然后使用排线把A2区的J61接口

与D1区的J52接口相连。如右图所示。

(2)对DP-51PR0C实验仪上电,然后设置

TKSMonitor5仿真器和使用软件DPFLASH

把MON51监控程序下载到

TKSMonitor5 仿真器。

(3)关闭DPFLASH 软件。把TKSMonitor5 仿

真器的工作模式选择开关切换到RUN处,

然后按一下复位键(RST),

MON51程序就开始运行了。此时,

TKSMonitor5仿真器进入调试状 ^态。

(4)用户使用Keil C51集成开发环境建立工程、编辑与编译“实验内容” 所列的程序。然后按照(软件调试环境的设置)设置好,然后在编译一

次。

(5)此时用户就可以进行仿真调试。如果用户在退出仿真调试模式后想再进入仿真调试,可以先按一下TKSMonitor5仿真器的复位键(RST)用

户可以在仿真调试环境下设置断点,单步,全速运行等。在调试过程中

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

六、实验思考题

RAM 50H~59H 单元清零的程序。

RAM 50H~59H 单元写入 01H 的程序。 C51 程序呢?(用户可以把上面的例子改为

1) 试写一条把片内 2) 试写一条把片内 3) 如何仿真和调试 C51 程序

然后在编译调试)

实验二蜂鸣器驱动实验

、实验目的

利用单片机的P1 口作10 口,使用户学会蜂鸣器的使用 、实验设备及器件 IBM PC 机一台

DP-51PR0C 单片机综合仿真实验仪 一台 频率计 一台 、实验内容

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-51PR0C 单片 机综合仿真实验仪上运行该程序时,B5区的蜂鸣器将发出嘹亮的响声。

MOV

NEXT: MOV

MOV MOVC MOV JZ

30H,#00H A,30H

DPTR,#TABLE A,@A+DPTR R2,A ENDD

A,#0FH R5,A A,R2

SWAP

ANL A,#0FH

4、按以下例程序输入,然后运行,蜂鸣器发出“生日快乐”的音乐。 五、实验参考程序 ORG JMP ORG

JMP ORG MAIN: MOV MOV SETB

SETB SETB START0: SETB

8000H MAIN 800BH INTT0 8100H SP,#60H TMOD,#01H ET0 EA TR0 P1.3 ;初始化定时器及其中断 ;开定时器0中断 ;启动定时器0

;从TABLE 中读取数据--响声时间

ANL MOV MOV

JNZ SING CLR TR0 JMP D1 DEC A

MOV 22H,A

RL A

MOV DPTR,#TABLE1 ;从 TABLE 中读取数据 —声调 MOVC A,@A+DPTR MOV TH0,A MOV 21H,A MOV A,22H RL A INC A

MOVC A,@A+DPTR MOV TL0,A MOV 20H,A SETB TR0

CALL DELAY ;声音延时 INC 30H JMP NEXT

ENDD: CLR TR0

JMP START0 INTT0:

PUSH PSW PUSH ACC MOV TL0,20H MOV TH0,21H CPL P1.3 POP ACC POP PSW RETI

DELAY:

MOV R7,#02

DELAY0: MOV R4,#187 DELAY1: MOV R3,#248

DJNZ R3,$

DJNZ R4,DELAY1 DJNZ R7,DELAY0

DJNZ R5,DELAY RET

TABLE: DB 82H,01H,81H,94H,84H,0B4H,0A4H,04H

DB 82H,01H,81H,94H,84H,0C4H,0B4H,04H DB 82H,01H,81H,0F4H,0D4H,0B4H,0A4H,94H

SING: D1: ;定时器 0 中断服务程序 ;R5 的值就是声响持续时间

DB 0E2H,01H,0E1H,0D4H,0B4H,0C4H,0B4H,04H

DB 82H,01H,81H,94H,84H,0B4H,0A4H,04H

DB 82H,01H,81H,94H,84H,0C4H,0B4H,04H

DB 82H,01H,81H,0F4H,0D4H,0B4H,0A4H,94H

DB 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-51PR0C 单片机综合仿真实验仪 一台 频率计 一台 、实验内容

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.3 ORG 8000H LJMP MAIN ORG 800BH LJMP INT_T0 ORG

8100H

MAIN:

START:

MOV R0,P1

CJNE R0,#0FFH,KEY1 ;键盘扫描

CLR TR0

SJMP START

MOV

SP,#60H ;初始化堆栈向量

MOV 30H,#00

;定时器初值清零 MOV 31H,#00

MOV P1,#0FFH

;设置P1 口为输入模式 MOV

TMOD,#01H ;设置定时器0为工作模式 SETB ET0 ;开定时器0中断

SETB EA

;开总中断 CLR TR0 ;关闭定时器0 1

相关主题
文本预览
相关文档 最新文档