实验一KeilC51集成开发环境的使用练习、仿真与调试_第1页
实验一KeilC51集成开发环境的使用练习、仿真与调试_第2页
实验一KeilC51集成开发环境的使用练习、仿真与调试_第3页
实验一KeilC51集成开发环境的使用练习、仿真与调试_第4页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验一Keil C51 集成开发环境的使用练习、仿真与调试一、实验目的1、熟悉 Keil C51 集成开发环境的使用方法2、熟悉 Keil C51 集成开发环境调试功能的使用和DP-51PROC 单片机综合仿真实验仪的使用。二、实验设备及器件IBM PC 机一台DP-51PROC 单片机综合仿真实验仪一台三、实验内容1、进行 Keil C51 集成开发环境的安装和使用练习。然后按照以下内容建立文件并编译产生 HEX 文件。ORG0000HLJMPMainORG00F0HMain:MOVR7, #0Loop:MOVR6, #0DJNZR6, $DJNZR6, $DJNZR6, $DJNZR6,

2、$DJNZR7, LoopCPLP1.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;END2、进行 Keil C51 集成开发环境的仿真调试练习。然后按照以下内容建立文件并编译仿真调试。ORG8000HLJMPMainORG80F0HMain:MOVR7, #0Loop:1MOVR6, #0DJNZR6, $DJNZR6, $DJNZR6, $DJNZR6, $DJNZR7, LoopCPLP1.0;P1.0取反

3、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取反SJMPMainEND四、实验要求1、熟练掌握 Keil C51 集成开发环境的工程建立、编辑与编译功能。2、熟练掌握结合 DP-51PROC 单片机综合仿真实验仪和 Keil C51 集成开发环境进行仿真调试。五、实验步骤(1) 用 40 针排线把 DP-51PROC 实验仪上的 A1 区 J76 接口和 A2 区 J79 接口相连,然后使用排线把 A2 区的 J61 接口与 D1 区的 J52接

4、口相连。如右图所示。(2) 对 DP-51PROC 实验仪上电,然后设置TKSMonitor5仿真器和使用软件DPFLASH 把 MON51 监控程序下载到TKSMonitor5 仿真器。(3) 关闭 DPFLASH 软件。把 TKSMonitor5仿真器的工作模式选择开关切换到RUN 处,然后按一下复位键(RST),MON51 程序就开始运行了。此时, TKSMonitor5 仿真器进入调试状态。(4) 用户使用 Keil C51 集成开发环境建立工程、编辑与编译“实验内容”所列的程序。然后按照(软件调试环境的设置)设置好,然后在编译一次。(5) 此时用户就可以进行仿真调试。如果用户在退出仿

5、真调试模式后想再进入仿真调试,可以先按一下TKSMonitor5 仿真器的复位键( RST)。用户可以在仿真调试环境下设置断点,单步,全速运行等。在调试过程中用户可以看见D1 区 LED 的亮灭是由用户程序来控制的。六、实验思考题2(1) 试写一条把片内RAM 50H59H 单元清零的程序。(2) 试写一条把片内RAM 50H59H 单元写入 01H 的程序。(3) 如何仿真和调试 C51 程序呢?(用户可以把上面的例子改为 C51 程序然后在编译调试)3实验二蜂鸣器驱动实验一、实验目的利用单片机的 P1 口作 IO 口,使用户学会蜂鸣器的使用。二、实验设备及器件IBM PC 机一台DP-51

6、PROC 单片机综合仿真实验仪一台频率计一台三、实验内容1、编写一段程序,用P1.3 口控制(输出 3K 到 4K 频率的方波),使 B5 区的蜂鸣器发出嘹亮的响声。2、按照例程输入一段程序,用 P1.3 口控制,使 B5 区的蜂鸣器发出“生日快乐”的音乐。四、实验步骤1、使用导线把 A2 区的 P13 与 B5 区的 BUZZ 接线柱相连。2、先编写一个延时程序(120200us)。3、再编写一个循环程序,改变 P1.3 脚的电平,然后延时。这样,这个循环就使 P1.3 口输出一个频率为 2.5KHZ-4KHZ 的方波。在 DP-51PROC 单片机综合仿真实验仪上运行该程序时, B5 区的

7、蜂鸣器将发出嘹亮的响声。4、按以下例程序输入,然后运行,蜂鸣器发出“生日快乐”的音乐。五、实验参考程序ORG8000HJMPMAINORG800BHJMPINTT0ORG8100HMAIN:MOVSP,#60HMOVTMOD,#01H;初始化定时器及其中断SETBET0;开定时器 0 中断SETBEASETBTR0;启动定时器 0START0: SETBP1.3MOV30H,#00HNEXT: MOVA,30HMOVDPTR,#TABLE;从 TABLE 中读取数据 -响声时间MOVCA,A+DPTRMOVR2,AJZENDDANLA,#0FHMOVR5,AMOVA,R2SWAPAANLA,#

8、0FH4JNZSINGCLRTR0JMPD1SING:DECAMOV22H,ARLAMOVDPTR,#TABLE1;从 TABLE 中读取数据 声调MOVCA,A+DPTRMOVTH0,AMOV21H,AMOVA,22HRLAINCAMOVCA,A+DPTRMOVTL0,AMOV20H,ASETBTR0D1:CALLDELAY;声音延时INC30HJMPNEXTENDD:CLRTR0JMPSTART0INTT0:;定时器 0 中断服务程序PUSHPSWPUSHACCMOVTL0,20HMOVTH0,21HCPLP1.3POPACCPOPPSWRETIDELAY:;R5 的值就是声响持续时间MO

9、VR7,#02DELAY0: MOVR4,#187DELAY1: MOVR3,#248DJNZR3,$DJNZR4,DELAY1DJNZR7,DELAY0DJNZR5,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,94H5DB 0E2H,01H,0E1H,0D4H,0B4H,0C4H,0B4H,04HDB 82H,01H,81H,94H,84H,0B4H,0A4H,04HDB 82H,01H,81H,

10、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六、实验思考题请用户思考,如何通过程序来编写出音乐。6实验三电子琴实验一、实验目的利用实验仪上提供的按键 K1K7 作为电子琴按键,控制蜂鸣器发声,使用户了解计算机发声原理,熟悉定时

11、器和键盘扫描电路的工作原理及编程方法。二、实验设备及器件IBM PC 机一台DP-51PROC 单片机综合仿真实验仪一台频率计一台三、实验内容1、编写一段程序,用P3.3 口控制(输出 7 种音阶标称频率的方波) ,使 B5区的蜂鸣器发出对应的音调。2、按照歌曲的音调,使用D1 区的按键 K1K7 ,弹奏一首简单的音乐。四、实验步骤1、用导线将 A2 区 P3.3 口(INT1 )和 B5 区的 BUZZ 接口相连,然后将 D1 区的 J53 接口和 A2 区的 J61 接口一一对应相连。如右图所示。2、编写按键的动态键盘扫描程序, 根据不同音阶的频率编写蜂鸣器的音调控制程序, 然后完成电子琴

12、的主程序设计。3、调试编写好的程序,使用频率计校准音阶的频率,然后使用键盘演奏一段好听的音乐。五、实验参考程序BUZZEQUP3.3ORG8000HLJMPMAINORG800BHLJMPINT_T0ORG8100HMAIN:MOVSP,#60H;初始化堆栈向量MOV30H,#00;定时器初值清零MOV31H,#00MOVP1,#0FFH;设置 P1 口为输入模式MOVTMOD,#01H;设置定时器0 为工作模式 1SETBET0;开定时器 0 中断SETBEA;开总中断CLRTR0;关闭定时器 0START:MOVR0,P1CJNER0,#0FFH,KEY1;键盘扫描7CLRTR0SJMPS

13、TARTKEY1:CJNER0,#0FEH,KEY2;K1 键按下MOV30H,#0FBH ; 设置音阶 1MOV31H,#0E9HLJMPSET_TIMERKEY2:CJNER0,#0FDH,KEY3;K2 键按下MOV30H,#0FCH ;设置音阶 2MOV31H,#5CHLJMPSET_TIMERKEY3:CJNER0,#0FBH,KEY4;K3 键按下MOV30H,#0FCH ;设置音阶 3MOV31H,#0C1HLJMPSET_TIMERKEY4:CJNER0,#0F7H,KEY5;K4 键按下MOV30H,#0FCH ;设置音阶 4MOV31H,#0EFHLJMPSET_TIMER

14、KEY5:CJNER0,#0EFH,KEY6;K5 键按下MOV30H,#0FDH ;设置音阶 5MOV31H,#045HLJMPSET_TIMERKEY6:CJNER0,#0DFH,KEY7;K6 键按下MOV30H,#0FDH ;设置音阶 6MOV31H,#92HLJMPSET_TIMERKEY7:CJNER0,#0BFH,NOKEY;K7 键按下MOV30H,#0FDH ;设置音阶 7MOV31H,#0D6HSET_TIMER:SETBTR0;发声SJMPSTARTNOKEY:CLRTR0;无键按下SJMPSTART8INT_T0:;T0 中断服务程序MOVTH0,30H;定时器附初值M

15、OVTL0,31HCPLBUZZ;输出方波RETIEND六、实验思考题结合实验仪上的硬件,设计一个可以任意选曲播放的电子音乐盒。9实验四串转并的 I/O 口实验一、实验目的熟悉并掌握串转并的I/O 口扩展方法。二、实验设备及器件IBM PC 机一台DP-51PROC 单片机综合仿真实验仪一台三、实验内容1、写程序,通过单片机的 P1 口控制 74HC164 的输入端口,实现串并转换。2、验证串并转换数据的正确性。四、实验要求熟悉串并转换芯片的工作原理, 学会使用串并转换芯片扩展单片机的 I/O 口资源。五、实验步骤1、短接 A5 区 JP10 接口,将 A5 区的 CLK164 、DINA16

16、4 、DINB164 、CLR164与 A2 区的 P10013对应相连( CLK 对 P10 等等)。如下图所示。2、运行编写好的软件程序,完成一次串并转换。3、使用 C2 区的逻辑笔或 D1 区的 LED 指示灯测试并行输出数据 Q0Q7 数据的正确性。六、实验参考程序CLKEQUP1.0DINAEQUP1.1DINBEQUP1.2CLR164 EQUP1.3ORG8000HLJMPMAINORG8100HMAIN:MOVSP,#60H;设置堆栈向量NOP;设置以下端口初始化CLRCLK;CLK=010SETBDINB;DINB=1CLRCLR164;CLR=0 输出端口清零SETBCLR

17、164;CLR=1MOVA,#0AAH;用户输出数据初始化MOVR4,#08HSLCHG:RLCAMOVDINA,C;串行输出一位数据SETBCLK;移位时钟NOPCLRCLKNOPDJNZR4,SLCHGSJMP$;程序结束 ,完成一次串并转换END11实验五定时器输出PWM 实验一、实验目的利用定时器控制产生占空比可变的PWM 波。二、实验设备及器件IBM PC 机一台DP-51PROC 单片机综合仿真实验仪一台频率计一台三、实验内容编写好一段程序,用 P1.0 口输出 PWM 波,用 D1 区的按键 KEY1 和 KEY2 实现占空比的增加和降低。用示波器查看 P1.0 口的输出波形。四

18、、实验要求学会事业能够单片机的定时器产生250HZ 的 PWM 波。五、实验步骤1、用导线连接 A2 区的 P11 与 D1 区的 KEY1 。2、用导线连接 A2 区的 P12 与 D1 区的 KEY2 。3、将示波器的探针连接到A2 区的 P10。4、用示波器观测 P1.0 口的 PWM 波形。六、实验参考程序PWMH DATA30H;高电平脉冲的个数PWMDATA31H;PWM 周期COUNTER DATA 32HTEMPDATA33HORG8000HAJMPMAINORG800BHAJMPINTT0ORG8100HMAIN:MOVSP,#60H;给堆栈指针赋初值MOVPWMH,#02H

19、;MOVCOUNTER,#01HMOVPWM,#15HMOVTMOD,#02H;定时器 0 在模式 2 下工作MOVTL0,#38H;定时器每 200us产生一次溢出MOVTH0,#38H;自动重装的值SETBET0;使能定时器 0 中断SETBEA;使能总中断SETBTR0;开始计时KSCAN:JNBP1.1,K1CHECK;扫描 KEY1,JNBP1.2,K2CHECK;扫描 KEY2, 如果按下 KEY2, 跳转到12KEY2 处理程序SJMPKSCANK1CHECK:JB P1.1,K1HANDLE;去抖动 ,如果按下 KEY1, 跳转到 KEY1 处理程序SJMPK1CHECKK1H

20、ANDLE:MOVA,PWMHCJNEA,PWM,K1H0;判断是否到达上边界SJMPKSCAN;是 ,则不进行任何操作K1H0:MOVA,PWMHINCACJNEA,PWM,K1H1;如果在加 1 后到达最大值CLRTR0;定时器停止SETBP1.0;P1.0 为高电平SJMPK1H2K1H1:CJNEA,#02H,K1H2;如果加 1 后到达下边界SETBTR0;重开定时器K1H2:INCPWMH;增加占空比SJMPKSCANK2CHECK:JBP1.2,K2HANDLE;去抖动 ,如果按下 KEY2, 跳转到KEY2 处理程序SJMPK2CHECKK2HANDLE:MOVA,PWMHCJ

21、NEA,#01H,K2H0;判断是否到达下边界SJMPKSCAN;是 ,则不进行任何操作K2H0:MOVA,PWMHMOVTEMP,PWMDECACJNEA,#01H,K2H1;如果在减 1 后到达下边界CLRTR0;定时器停止CLRP1.0;P1.0 为低电平SJMPK2H2K2H1:DECTEMPCJNEA,TEMP,K2H2;如果到达上边界SETBTR0;启动定时器13K2H2:DECPWMH;降低占空比SJMPKSCANINTT0:PUSHPSW;现场保护PUSHACCINCCOUNTER;计数值加 1MOVA,COUNTERCJNEA,PWMH,INTT01;如果等于高电平脉冲数CL

22、RP1.0;P1.0 变为低电平INTT01:CJNEA,PWM,INTT02;如果等于周期数MOVCOUNTER,#01H;计数器复位SETBP1.0;P1.0 为高电平INTT02:POPACC;出栈POPPSWRETIEND七、实验思考题请用另一种方式实现定时器产生PWM 波。14实验六万年历时钟实验一、实验目的进行一次实际开发的经验,提高实际开发的能力。二、实验设备及器件IBM PC 机一台DP-51PROC 单片机综合仿真实验仪一台三、实验内容结合 I2C 总线控制的实时时钟、 ZLG7290 键盘 LED 控制器进行万年历时钟的设计。四、实验要求熟练掌握 I 2C 总线的控制,灵活

23、运用 I2C 主控器软件包,深刻理解实际实时时钟、 ZLG7290 键盘 LED 控制的各种功能,并能把它们相结合,组成具有实际功能的万年历时钟。五、实验步骤1、用导线连接 D5 区的 SCL、SDA 到 A2 区的 P16、P17( SCLP16、SDAP17),连接 D5 区的 RST-L、INT-KEY 到 A2 区的 P10、INT0(/RSTP10、INT-KEYINT0 ),短接 D5 区的 JP1 跳线。2、模拟 I2C 软件包“ VIIC-C51.C ”文件加入到 Keil C51 的项目中,开头包含“ VIIC-C51.H ”头文件。修改 VIIC-C51.C 文件中的 sb

24、it SDA=P17;和 sbit SCL=P16;。另外还要增加 ZLG7290 软件包“ ZLG7290.C ”文件加入到 Keil C51 的项目中,开头包含“ ZLG7290.H ”头文件。3、先编写显示的子函数,可以分别显示日期和显示时间。用按键来切换显示的内容(初步设计用D5 区的 S1 按键来切换)。4、然后再进行整体编程,如果还有困难可以先画流程图,再编写程序。5、显示结果为:上电运行时, 8 位数码管显示时间,时分秒;按一下 S1 切换到显示年月日,再按一下 S1 又切换回时分秒。六、实验预习要求认真阅读 PCF8563T、 ZLG7290 的数据手册和模拟 I2 C 软件包

25、使用手册,理解硬件结构,还可以先把程序编好,然后在 Keil C51 环境下进行软件仿真。七、实验参考程序#include"reg52.h"#include"VIiC_C51.H" /包含 VI2C 软件包#include"zlg7290.h"#define PCF85630xA2/定义器件地址#define WRADDR0x00/定义写单元首地址#define RDADDR0x02/定义读单元首地址sbit KEY_INT=P32;sbit RST=P10;unsigned char disp_buf8=0,0,0,0,0,0,0,

26、0;/显示缓存unsigned char KEY;/保存键值bitswich_date=0;15unsigned char display_time(unsigned char *sd)sd0=sd0&0x7f;/秒屏蔽保留位sd1=sd1&0x7f;/分屏蔽保留位sd2=sd2&0x3f;/时屏蔽保留位disp_buf0 =(sd0%16);disp_buf1 =(sd0/16);disp_buf2 = 31;disp_buf3 =(sd1%16);disp_buf4 =(sd1/16);disp_buf5 = 31;disp_buf6 =(sd2%16);disp_buf7 =(sd2/16);ZLG7290_SendBuf(disp_buf,8);return 0;unsigned char display_date(unsigned c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论