版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验一 Keil C51集成开发环境的使用练习、仿真与调试一、 实验目的1、熟悉Keil C51集成开发环境的使用方法2、熟悉Keil C51集成开发环境调试功能的使用和DP-51PROC单片机综合仿真实验仪的使用。二、 实验设备及器件IBM PC机 一台 DP-51PROC单片机综合仿真实验仪 一台三、 实验内容1、进行Keil C51集成开发环境的安装和使用练习。然后按照以下内容建立文件并编译产生HEX文件。ORG 0000HLJMP MainORG 00F0HMain: MOV R7, #0 Loop: MOV R6, #0DJNZ R6, $DJNZ R6, $DJNZ R6, $DJ
2、NZ 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, #0 Loop: MOV R6, #0D
3、JNZ 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
4、集成开发环境进行仿真调试。五、 实验步骤(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、建立工程、编辑与编译“实验内容”所列的程序。然后按照(软件调试环境的设置)设置好,然后在编译一次。(5) 此时用户就可以进行仿真调试。如果用户在退出仿真调试模式后想再进入仿真调试,可以先按一下TKSMonitor5仿真器的复位键(RST)。用户可以在仿真调试环境下设置断点,单步,全速运行等。在调试过程中用户可以看见D1区LED的亮灭是由用户程序来控制的。六、 实验思考题(1) 试写一条把片内RAM 50H59H单元清零的程序。(2) 试写一条把片内RAM 50H59H单元写入01H的程序。(3) 如何仿真和调试C51程序呢?(用户可以把上面的例子改为C51程序然后在编译调试) 实验二 蜂鸣器驱
6、动实验一、 实验目的利用单片机的P1口作IO口,使用户学会蜂鸣器的使用。二、 实验设备及器件IBM PC机 一台DP-51PROC单片机综合仿真实验仪 一台频率计 一台三、 实验内容1、 编写一段程序,用P1.3口控制(输出3K到4K频率的方波),使B5区的蜂鸣器发出嘹亮的响声。2、 按照例程输入一段程序,用P1.3口控制,使B5区的蜂鸣器发出“生日快乐”的音乐。四、 实验步骤1、 使用导线把A2区的P13与B5区的BUZZ接线柱相连。2、 先编写一个延时程序(120200us)。3、 再编写一个循环程序,改变P1.3脚的电平,然后延时。这样,这个循环就使P1.3口输出一个频率为2.5KHZ-
7、4KHZ的方波。在DP-51PROC单片机综合仿真实验仪上运行该程序时,B5区的蜂鸣器将发出嘹亮的响声。4、 按以下例程序输入,然后运行,蜂鸣器发出“生日快乐”的音乐。五、实验参考程序ORG 8000H JMP MAIN ORG 800BH JMP INTT0 ORG 8100H MAIN: MOV SP,#60H MOV TMOD,#01H ;初始化定时器及其中断 SETB ET0 ;开定时器0中断 SETB EA SETB TR0 ;启动定时器0START0: SETB P1.3 MOV 30H,#00HNEXT: MOV A,30H MOV DPTR,#TABLE ;从TABLE中读取数
8、据-响声时间 MOVC A,A+DPTR MOV R2,A JZ ENDD ANL A,#0FH MOV R5,A MOV A,R2 SWAP A ANL A,#0FH JNZ SING CLR TR0 JMP D1SING: 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 TR0D1: CALL DELAY ;声音延时 INC 30H JMP NEX
9、TENDD: CLR TR0 JMP START0INTT0: ;定时器0中断服务程序 PUSH PSW PUSH ACC MOV TL0,20H MOV TH0,21H CPL P1.3 POP ACC POP PSW RETIDELAY: ;R5的值就是声响持续时间MOV R7,#02DELAY0: MOV R4,#187DELAY1: MOV R3,#248 DJNZ R3,$ DJNZ R4,DELAY1 DJNZ R7,DELAY0 DJNZ R5,DELAY RETTABLE: DB 82H,01H,81H,94H,84H,0B4H,0A4H,04H DB 82H,01H,81H,
10、94H,84H,0C4H,0B4H,04H DB 82H,01H,81H,0F4H,0D4H,0B4H,0A4H,94H 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,00HTABLE1: DW 64260,64400,64524,64580,64684,
11、64777,64820,64898 DW 64968,65030,65058,65110,65157,65178,65217 END 六、实验思考题请用户思考,如何通过程序来编写出音乐。实验三 电子琴实验一、 实验目的利用实验仪上提供的按键K1K7作为电子琴按键,控制蜂鸣器发声,使用户了解计算机发声原理,熟悉定时器和键盘扫描电路的工作原理及编程方法。二、实验设备及器件IBM PC机 一台DP-51PROC单片机综合仿真实验仪 一台频率计 一台三、实验内容1、 编写一段程序,用P3.3口控制(输出7种音阶标称频率的方波),使B5区的蜂鸣器发出对应的音调。2、 按照歌曲的音调,使用D1区的按键K1
12、K7,弹奏一首简单的音乐。四、实验步骤1、 用导线将A2区P3.3口(INT1)和B5区的BUZZ接口相连,然后将D1区的J53接口和A2区的J61接口一一对应相连。如右图所示。2、 编写按键的动态键盘扫描程序,根据不同音阶的频率编写蜂鸣器的音调控制程序,然后完成电子琴的主程序设计。3、 调试编写好的程序,使用频率计校准音阶的频率,然后使用键盘演奏一段好听的音乐。五、 实验参考程序 BUZZEQUP3.3ORG 8000HLJMP MAINORG 800BHLJMP INT_T0ORG 8100H MAIN: MOV SP,#60H;初始化堆栈向量MOV30H,#00;定时器初值清零MOV31
13、H,#00MOV P1,#0FFH;设置P1口为输入模式MOV TMOD,#01H;设置定时器0为工作模式1SETB ET0;开定时器0中断SETBEA;开总中断CLRTR0;关闭定时器0START:MOVR0,P1CJNER0,#0FFH,KEY1;键盘扫描CLR TR0SJMPSTARTKEY1:CJNER0,#0FEH,KEY2;K1键按下MOV30H,#0FBH;设置音阶1MOV31H,#0E9HLJMPSET_TIMERKEY2:CJNER0,#0FDH,KEY3;K2键按下MOV30H,#0FCH;设置音阶2MOV31H,#5CHLJMPSET_TIMERKEY3:CJNER0,#
14、0FBH,KEY4;K3键按下MOV30H,#0FCH;设置音阶3MOV31H,#0C1HLJMPSET_TIMERKEY4:CJNER0,#0F7H,KEY5;K4键按下MOV30H,#0FCH;设置音阶4MOV31H,#0EFHLJMPSET_TIMERKEY5:CJNER0,#0EFH,KEY6;K5键按下MOV30H,#0FDH;设置音阶5MOV31H,#045HLJMPSET_TIMERKEY6:CJNER0,#0DFH,KEY7;K6键按下MOV30H,#0FDH;设置音阶6MOV31H,#92HLJMPSET_TIMERKEY7:CJNER0,#0BFH,NOKEY;K7键按下M
15、OV30H,#0FDH;设置音阶7MOV31H,#0D6HSET_TIMER:SETBTR0;发声SJMPSTARTNOKEY:CLRTR0;无键按下SJMPSTARTINT_T0:;T0中断服务程序 MOV TH0,30H;定时器附初值 MOV TL0,31H CPL BUZZ;输出方波 RETIEND 六、 实验思考题结合实验仪上的硬件,设计一个可以任意选曲播放的电子音乐盒。实验四 串转并的I/O口实验一、实验目的熟悉并掌握串转并的I/O口扩展方法。二、实验设备及器件IBM PC机 一台DP-51PROC单片机综合仿真实验仪 一台三、实验内容1、 写程序,通过单片机的P1口控制74HC16
16、4的输入端口,实现串并转换。2、 验证串并转换数据的正确性。四、实验要求熟悉串并转换芯片的工作原理,学会使用串并转换芯片扩展单片机的I/O口资源。五、实验步骤1、 短接A5区JP10接口,将A5区的CLK164、DINA164、DINB164、CLR164与A2区的P10013对应相连(CLK对P10等等)。如下图所示。2、 运行编写好的软件程序,完成一次串并转换。3、 使用C2区的逻辑笔或D1区的LED指示灯测试并行输出数据Q0Q7数据的正确性。六、实验参考程序 CLKEQUP1.0DINAEQUP1.1DINBEQUP1.2CLR164EQUP1.3ORG8000HLJMPMAINORG8
17、100HMAIN:MOV SP,#60H;设置堆栈向量NOP;设置以下端口初始化CLR CLK;CLK=0SETB DINB;DINB=1CLR CLR164;CLR=0输出端口清零SETB CLR164;CLR=1MOV A,#0AAH;用户输出数据初始化MOV R4,#08HSLCHG:RLC AMOV DINA,C;串行输出一位数据SETB CLK;移位时钟NOPCLR CLKNOPDJNZ R4,SLCHGSJMP $;程序结束,完成一次串并转换END实验五 定时器输出PWM实验一、 实验目的利用定时器控制产生占空比可变的PWM波。二、实验设备及器件IBM PC机 一台DP-51PRO
18、C单片机综合仿真实验仪 一台频率计 一台三、实验内容编写好一段程序,用P1.0口输出PWM波,用D1区的按键KEY1和KEY2实现占空比的增加和降低。用示波器查看P1.0口的输出波形。四、实验要求学会事业能够单片机的定时器产生250HZ的PWM波。五、实验步骤1、 用导线连接A2区的P11与D1区的KEY1。2、 用导线连接A2区的P12与D1区的KEY2。3、 将示波器的探针连接到A2区的P10。4、 用示波器观测P1.0口的PWM波形。六、实验参考程序 PWMHDATA30H;高电平脉冲的个数PWMDATA31H;PWM周期COUNTERDATA32HTEMPDATA33HORG8000H
19、AJMPMAINORG800BHAJMPINTT0ORG8100HMAIN:MOVSP,#60H;给堆栈指针赋初值MOVPWMH,#02H;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,跳转到 KEY2处理程序SJMPKSCANK1CHECK:JBP1.
20、1,K1HANDLE;去抖动,如果按下KEY1,跳转到KEY1处理程序 SJMP K1CHECKK1HANDLE:MOVA,PWMHCJNEA,PWM,K1H0;判断是否到达上边界SJMPKSCAN;是,则不进行任何操作K1H0:MOVA,PWMHINC ACJNEA,PWM,K1H1;如果在加1后到达最大值CLRTR0;定时器停止SETBP1.0;P1.0为高电平SJMPK1H2K1H1:CJNEA,#02H,K1H2;如果加1后到达下边界SETBTR0;重开定时器K1H2:INC PWMH;增加占空比SJMPKSCANK2CHECK:JBP1.2,K2HANDLE;去抖动,如果按下KEY2
21、,跳转到KEY2处理程序SJMPK2CHECKK2HANDLE:MOVA,PWMHCJNEA,#01H,K2H0;判断是否到达下边界SJMPKSCAN;是,则不进行任何操作K2H0:MOVA,PWMHMOVTEMP,PWMDECACJNEA,#01H,K2H1;如果在减1后到达下边界CLRTR0;定时器停止CLRP1.0;P1.0为低电平SJMPK2H2K2H1:DECTEMPCJNEA,TEMP,K2H2;如果到达上边界SETBTR0;启动定时器K2H2:DECPWMH;降低占空比SJMPKSCANINTT0:PUSHPSW;现场保护PUSHACCINC COUNTER;计数值加1MOVA,
22、COUNTERCJNEA,PWMH,INTT01;如果等于高电平脉冲数CLRP1.0;P1.0变为低电平INTT01:CJNEA,PWM,INTT02;如果等于周期数MOVCOUNTER,#01H;计数器复位SETBP1.0;P1.0为高电平INTT02:POPACC;出栈POPPSWRETIEND七、 实验思考题请用另一种方式实现定时器产生PWM波。实验六 万年历时钟实验一、 实验目的进行一次实际开发的经验,提高实际开发的能力。二、实验设备及器件IBM PC机 一台DP-51PROC单片机综合仿真实验仪 一台三、实验内容结合I2C总线控制的实时时钟、ZLG7290键盘LED控制器进行万年历时
23、钟的设计。四、实验要求 熟练掌握I2C总线的控制,灵活运用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文件中的sbit SDA=P
24、17;和sbit SCL=P16;。另外还要增加ZLG7290软件包“ZLG7290.C”文件加入到Keil C51的项目中,开头包含“ZLG7290.H”头文件。3、 先编写显示的子函数,可以分别显示日期和显示时间。用按键来切换显示的内容(初步设计用D5区的S1按键来切换)。4、 然后再进行整体编程,如果还有困难可以先画流程图,再编写程序。5、 显示结果为:上电运行时,8位数码管显示时间,时分秒;按一下S1切换到显示年月日,再按一下S1又切换回时分秒。六、实验预习要求 认真阅读PCF8563T、ZLG7290的数据手册和模拟I2C软件包使用手册,理解硬件结构,还可以先把程序编好,然后在Kei
25、l C51环境下进行软件仿真。七、实验参考程序 #include"reg52.h"#include"VIiC_C51.H"/包含VI2C软件包#include "zlg7290.h"#definePCF85630xA2/定义器件地址#defineWRADDR0x00/定义写单元首地址#defineRDADDR0x02/定义读单元首地址sbitKEY_INT=P32;sbitRST=P10;unsigned char disp_buf8=0,0,0,0,0,0,0,0; /显示缓存unsigned char KEY;/保存键值bitsw
26、ich_date=0;unsigned 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 char *sd) sd0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年湖北十堰市八年级地理生物会考真题试卷(+答案)
- 2025年四川自贡市地理生物会考考试题库(含答案)
- 吸痰护理的未来发展趋势
- 新政下劳动合同纠纷处理指南
- 2026年劳动派遣合同签订注意事项
- 2026年劳动合同解除条件及法律风险提示
- 党员自查自评报告(2篇)
- 2025年仓储系统流程自动化脚本设计
- 呼吸康复护理的伦理问题
- 2026五年级上新课标科学探究能力培养
- 出境竹木草制品自检自控计划
- 高温环境进气道结构设计-洞察及研究
- 大宗贸易基本知识培训课件
- 校园食品安全和膳食经费管理自查情况报告
- 矿山法律法规培训
- 小升初六年级语法专项练习每日一练小纸条【空白完整版】
- Unit4 Eat WellSection A 1a~1d 说课稿2024-2025学年人教版七年级英语下册
- 医学影像技术mr试题及答案
- (正式版)DB61∕T 5053-2023 《湿陷性黄土地区建筑边坡治理技术规程》
- DB61T 568-2013 地理标志产品 定边荞麦
- 喷吹煤基础知识培训课件
评论
0/150
提交评论