420《单片机原理及应用》实验指导书.docx

上传人:b****1 文档编号:23076018 上传时间:2023-04-30 格式:DOCX 页数:33 大小:172.70KB
下载 相关 举报
420《单片机原理及应用》实验指导书.docx_第1页
第1页 / 共33页
420《单片机原理及应用》实验指导书.docx_第2页
第2页 / 共33页
420《单片机原理及应用》实验指导书.docx_第3页
第3页 / 共33页
420《单片机原理及应用》实验指导书.docx_第4页
第4页 / 共33页
420《单片机原理及应用》实验指导书.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

420《单片机原理及应用》实验指导书.docx

《420《单片机原理及应用》实验指导书.docx》由会员分享,可在线阅读,更多相关《420《单片机原理及应用》实验指导书.docx(33页珍藏版)》请在冰豆网上搜索。

420《单片机原理及应用》实验指导书.docx

420《单片机原理及应用》实验指导书

《单片机原理及应用》课程实验指导书

一、实验目的

《单片机原理及应用》课程实验是电子信息工程专业的一门专业基础课实验,是本专业学生获得单片机知识的开端。

要求学生通过本课程实验,具备利用单片机技术解决实际控制问题的能力。

培养与提高学生科学实验的能力,动手实践能力、理论联系实际的能力、自学能力、从简单的设计到综合的应用能力和创新能力。

通过实验的训练,使学生掌握《单片机原理及应用》实验的基本方法和基本技能,加深对单片机知识的理解,掌握单片机应用系统设计方法,为今后的工作打下良好的基础。

二、实验设备及器件

PC机一台

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

示波器一台

导线若干

三、实验内容

本实验共8个实验内容:

实验一仿真实验仪的操作使用练习实验二单片机I/O口控制实验

实验三蜂鸣器驱动实验实验四电子琴实验

实验五定时器输出PWM实验实验六直流电机实验

实验七16×16LED扫描输出实验实验八串口通信实验(选做)

*详细指导内容请见附录。

四、实验考核、成绩评定

考核方法:

设计过程中检查学生实际操作能力,根据课程设计内容要求,设计相关程序,指导书中所给代码仅供参考,要求学生独立进行整体程序设计,教师要检查学生的运行步骤及结果。

成绩评定:

实验成绩根据考勤、实验态度、动手能力、创新能力和实验报告来综合评定,实验成绩计入课程平时成绩,占总成绩的20%。

五、参考资料

1、DP-51PROC实验指导书(实验设备配套指导资料),2007年.

2、李广第.等单片机基础.北京航空航天大学出版社,2005年.

3、胡汉才等.单片机原理及其接口技术.清华大学出版社,,2009年.

六、实验报告格式要求

按学院实验报告统一格式报告内容包括:

实验目的与要求、实验步骤、程序流程图和实验程序、实验步骤和实验结论。

附录——详细指导内容

实验一仿真实验仪的操作使用练习

一.实验目的和要求

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

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

二.实验内容

进行KeilC51集成开发环境的仿真调试练习,按照以下内容建立文件并编译仿真调试。

ORG8000H

LJMPMain

ORG80F0H

Main:

MOVR7,#0

Loop:

MOVR6,#0

DJNZR6,$

DJNZR6,$

DJNZR6,$

DJNZR6,$

DJNZR7,Loop;延时

CPLP1.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

END

三.实验步骤

1.用40针排线把DP-51PROC实验仪上的A1区J76接口和A2区J79接口相连,然后使用排线把A2区的J61接口与D1区的J52接口相连。

图1实验一原理图

2.对DP-51PROC实验仪上电,设置TKSMonitor51仿真器和使用软DPFLASH把MON51监控程序下载到TKSMonitor51仿真器。

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

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

4.如果在退出仿真调试模式后想再次进入仿真调试,可以先按一下TKSMonitor51仿真器的复位键(RST)。

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

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

四.实验思考题

如何仿真和调试C51程序呢?

(学生可以把上面的例子改为C51程序然后再编译调试)

实验二单片机I/O口控制实验

一.实验目的

利用单片机的P1口作IO口,使学生掌握使用P1口作为输入和输出口。

二.实验内容

1、编写一段程序,用P1口作为控制端口,使D1区的LED轮流亮.

2、编写一段程序,用P1.0-P1.6口控制LED,P1.7控制LED的亮和灭。

三.实验要求

学会使用单片机的P1口作IO口.(有精力的同学也可用P3口作IO口来做该实验)

四.实验步骤

1、用导线把A2区的J61接口与D1区的J52接口相连。

原理如下图A所示

图2实验二原理图

2、先编写一个延时程序。

3、将LED轮流亮的程序编写完整并调试运行。

4、使用导线把A2区的J61接口的P1.0-P1.6与D1区的J52接口的LED1-LED7相连,另外A2区J61接口的P1.7与D1区的J53的KEY1相连.原理图如图B所示。

5、编写P1.7控制LED的程序,并调试运行。

6、A2区J61接口的P1.7与D1区的J54的SW1相连。

然后再运行程序,查看结果。

五.实验参考程序

程序1:

ORG8000H

LJMPMain

ORG8100H

Main:

MOVA,#OFFH

CLRC

MainLoop:

CALLDelay

RLCA

MOVP1,A

SJMPMainLoop

Delay:

MOVR7,#0

Loop:

MOVR6,#0

DJNZR6,$

DJNZR6,$

DJNZR6,$

DJNZR7,Loop

RET

End

程序2:

ORG8000H

LJMPMain

ORG8100H

Main:

JBP1.7,SETLED

CLRLED:

CLRPl.0

CLRPl.l

CLRP1.2

CLRP1.3

CLRP1.4

CLRP1.5

CLRPl.6

SJMPMain

SETLED:

SETBP1.0

SETBP1.1

SETBP1.2

SETBP1.3

SETBP1.4

SETBP1.5

SETBP1.6

SJMPMain

End

六.实验思考题

1.请同学们思考出几个实现以上功能的编程方法。

2.请同学们思考第二个程序中如果使用KEY1作为外部中断控制LED的亮和灭时,

程序应如何修改?

实验三蜂鸣器驱动实验

一.实验目的

利用单片机的P1口作IO口,使学生学会蜂鸣器的使用。

二.实验内容

1.编写一段程序,用P1.3口控制(输出3K到4K频率的方波),使B5区的蜂鸣器发出嘹亮的响声。

2.按照例程输入一段程序,用P1.3口控制,使B5区的蜂鸣器发出“生日快乐”的音乐。

图3蜂鸣器原理图

三.实验步骤

1.使用导线把A2区的P13与B5区的BUZZ接线柱相连。

2.先编写一个延时程序(120~200us)。

3.再编写一个循环程序,改变P1.3脚的电平,然后延时。

这样,这个循环就使P1.3口输出一个频率为2.5KHz-4KHz的方波。

在DP-51PROC单片机综合仿真实验仪上运行该程序时,B5区的蜂鸣器将发出嘹亮的响声。

4.可按以下参考程序输入,然后运行,蜂鸣器发出“生日快乐”的音乐。

四.实验参考程序

ORG8000H

JMPMAIN

ORG800BH

JMPINTT0

ORG8100H

MAIN:

MOVSP,#60H

MOVTMOD,#01H;初始化定时器及器中断

SETBET0;开定时器0中断

SETBEA

SETBTR0;启动定时器0

START0:

SETBP1.3

MOV30H,#00H

NEXT:

MOVA,30H

MOVDPTR,#TABLE;从TABLE中读取数据――声响时间

MOVCA,@A+DPTR

MOVR2,A

JZENDD

ANLA,#0FH

MOVR5,A

MOVA,R2

SWAPA

ANLA,#0FH

JNZSING

CLRTR0

JMPD1

SING:

DECA

MOV22H,A

RLA

MOVDPTR,#TABLE1;从TALBE1中读取数据――声调

MOVCA,@A+DPTR

MOVTH0,A

MOV21H,A

MOVA,22H

RLA

INCA

MOVCA,@A+DPTR

MOVTL0,A

MOV20H,A

SETBTR0

D1:

CALLDELAY;声音延时

INC30H

JMPNEXT

ENDD:

CLRTR0

JMPSTART0

INTT0:

;定时器0中断服务程序

PUSHPSW

PUSHACC

MOVTL0,20H

MOVTH0,21H

CPLP1.3

POPACC

POPPSW

RETI

DELAY:

;R5的值就是声响持续时间

MOVR7,#02

DELAY0:

MOVR4,#187

DELAY1:

MOVR3,#248

DJNZR3,$

DJNZR4,DELAY1

DJNZR7,DELAY0

DJNZR5,DELAY

RET

TABLE:

DB82H,01H,81H,94H,84H,0B4H,0A4H,04H

DB82H,01H,81H,94H,84H,0C4H,0B4H,04H

DB82H,01H,81H,0F4H,0D4H,0B4H,0A4H,94H

DB0E2H,01H,0E1H,0D4H,0B4H,0C4H,0B4H,04H

DB82H,01H,81H,94H,84H,0B4H,0A4H,04H

DB82H,01H,81H,94H,84H,0C4H,0B4H,04H

DB82H,01H,81H,0F4H,0D4H,0B4H,0A4H,94H

DB0E2H,01H,0E1H,0D4H,0B4H,0C4H,0B4H,04H,00H

TABLE1:

DW64260,64400,64524,64580,64684,64777,64820,64898

DW64968,65030,65058,65110,65157,65178,65217

END

五.实验思考题

请同学们思考一下,如何通过编写程序来实现其它的音乐。

实验四电子琴实验

一.实验目的

利用实验仪上提供的按键K1~K7作为电子琴按键,控制蜂鸣器发声,使学生了解计算机发声原理,熟悉定时器和键盘扫描电路的工作原理及编程方法。

二.实验内容

1.编写一段程序,用P3.3口控制(输出7种音阶标称频率的方波),使B5区的蜂鸣器发出不同的音调。

程序检测按键的状态,当某一键按下时,蜂鸣器发出对应的音调。

2.按照歌曲的音调,使用D1区的按键K1~K7,弹奏一首简单的音乐。

三.实验步骤

1.用导线将A2区P3.3口(INT1)和B5区的BUZZ接口相连,然后将D1区的J53

接口和A2区的J61接口一一对应相连。

2.编写按键的动态键盘扫描程序,根据不同音阶的频率编写蜂鸣器的音调控制程序,然后完成电子琴的主程序设计。

3.调试编写好的程序,使用频率计校准音阶的频率,然后使用键盘演奏一段好听的音乐。

四.实验参考程序

BUZZEQUP3.3;端口定义

ORG8000H

LJMPMAIN

ORG800BH

LJMPINT_T0

ORG8100H

MAIN:

MOVSP,#60H;初始化堆栈指针

MOVP1,#0FFH;设置P1口为输入模式

MOVTMOD,#01H;设置定时器0为工作模式1

SETBET0;开定时器0中断

SETBEA;开总中断

CLRTR0;关闭定时器0

START:

MOVR0,P1

CJNER0,#0FFH,KEY1;键盘扫描

CLRTR0

SJMPSTART

KEY1:

CJNER0,#0FEH,KEY2;K1键按下

MOV30H,#0FBH;设置音阶1

MOV31H,#0E9H

LJMPSET_TIMER

KEY2:

CJNER0,#0FDH,KEY3;K2键按下

MOV30H,#0FCH;设置音阶2

MOV31H,#5CH

LJMPSET_TIMER

KEY3:

CJNER0,#0FBH,KEY4;K3键按下

MOV30H,#0FCH;设置音阶3

MOV31H,#0C1H

LJMPSET_TIMER

KEY4:

CJNER0,#0F7H,KEY5;K4键按下

MOV30H,#0FCH;设置音阶4

MOV31H,#0EFH

LJMPSET_TIMER

KEY5:

CJNER0,#0EFH,KEY6;K5键按下

MOV30H,#0FDH;设置音阶5

MOV31H,#045H

LJMPSET_TIMER

KEY6:

CJNER0,#0DFH,KEY7;K6键按下

MOV30H,#0FDH;设置音阶6

MOV31H,#92H

LJMPSET_TIMER

KEY7:

CJNER0,#0BFH,NOKEY;K7键按下

MOV30H,#0FDH;设置音阶7

MOV31H,#0D6H

SET_TIMER:

SETBTR0;发声

SJMPSTART

NOKEY:

CLRTR0;无键按下

SJMPSTART

INT_T0:

;T0中断服务程序

MOVTH0,30H;定时器赋初值

MOVTL0,31H

CPLBUZZ;输出方波

RETI

END

实验五定时器输出PWM实验

一.实验目的和要求

利用定时器控制产生占空比可变的PWM波;要求学生学会使用单片机的定时器产生250Hz的PWM波。

二.实验内容

编写一段程序,用P1.0口输出PWM波,用D1区的按键KEY1和KEY2实现占空比的增加和降低。

用示波器查看P1.0口的输出波形。

三.实验步骤

1.用导线连接A2区的P11与D1区的KEY1;2.用导线连接A2区的P12与D1区的KEY2;3.将示波器的探针连接到A2区的P1.0;4.用示波器观测P1.0口的PWM波形。

四.实验参考程序

PWMHDATA30H

PWMDATA31H

COUNTERDATA32H

TEMPDATA33H

ORG8000H

AJMPMAIN

ORG800BH

AJMPINTT0

ORG8100H

MAIN:

MOVSP,#60H

MOVPWMH,#02H

MOVCOUNTER,#01H

MOVPWM,#115H

MOVTMOD,#02H

MOVTL0,#38H

MOVTH0,#38H

SETBET0

SETBEA

SETBTR0

KSCAN:

JNBP1.1,K1CHECK

JNBP1.2,K2CHECK

SJMPKSCAN

K1CHECK:

JBP1.1,K1HANDLE

SJMPK1HANDLE

K1HANDLE:

MOVA,PWMH

CJNEA,PWM,K1H0

SJMPKSCAN

K1H0:

MOVA,PWMH

INCA

CJNEA,PWM,K1H1

CLRTR0

SETBP1.0

SJMPK1H2

K1H1:

CJNEA,#02H,K1H2

SETBTR0

K1H2:

INCPWMH

SJMPKSCAN

K2CHECK:

JBP1.2,K2,K2HANDLE

SJMPK1HANDLE

K2HANDLE:

MOVA,PWMH

CJNEA,#01H,K2H0

SJMPKSCAN

K2H0:

MOVA,PWMH

MOVTEMP,PWM

DECA

CJNEA,#01H,K2H1

CLRTR0

CLRP1.0

SJMPK2H2

K2H1:

DECTEMP

CJNEA,TEMP,K2H2

SETBTR0

K2H2:

DECPWMH

SJMPKSCAN

INTT0:

PUSHPSW

PUSHACC

INCCOUNTER

MOVA,COUNTER

CJNEA,PWMH,INTT01

CLRP1.0

INTT01:

CJNEA,PWM,INTT02

MOVCOUNTER,#01H

SETBP1.0

INTT02:

POPACC

POPPSW

RETI

;

End

五.实验思考题

请同学思考用其它方式实现定时器产生PWM波。

实验六直流电机实验

一.实验目的及实验要求

学会利用PWM控制直流电机的转动速度。

要求参考实验五的程序,用D1区的按键KEY1与KEY2改变PWM的占空比来控制直流电机的转速。

二.实验内容和实验步骤

PWM功率驱动电路原理图如下图,学习如何控制直流电机即只要ZDJ_A的电压比ZDJ_B的电压高,电机正转;若ZDJ_B的电压比ZDJ_A高,电机反转。

实验步骤如下:

1.用导线连接A2区的P11与D1区的KEY1;

2.用导线连接A2区的P12与D1区的KEY2;

3.用导线连接A2区的P10与B10区的ZDJ_A;

4.B10区的ZDJ_B连接到C1区的GND;

5.短接B10区JP18的电机电源跳线。

 

图4直流电机驱动原理图

三.实验参考程序

可参考实验五的程序。

四.实验思考题

请编写一段程序实现电机的正、反转。

实验七16×16LED扫描输出实验

一.实验目的

使用学生学会利用单片机的IO口进行LED点阵的扫描显示。

二.实验内容

编写一段程序,用P1口控制C3区4片74HC164进行行列扫描,使C3区的16×16LED点阵显示学生指定的汉字。

三.实验步骤

1.使用导线将A2区的P10~P14与C3区的L_DAT_H、L_DAT_L、L_CLK、L_OE、L_STR依次连接。

2.运行光盘中的程序,显示“感谢您使用DP-51PROC单片机综合仿真实验仪!

”,先是向左滚动,后是向上滚动。

3.如果同学希望改变显示的汉字,可以使用光盘中附带的字模提取软件(Pctolcd2002)提取同学希望显示汉字的字模,字模提取软件的设置为阴码、逐列式、逆向、十六进制、C51格式自定义,将生成的字模拷贝到程序中所指定的位置插入即可。

四.实验参考程序

#include

typedefunsignedcharbyte;

typedefunsignedintword;

sbitdatah595=P1^0;

sbitdatal595=P1^1;

sbitclk595=P1^2;

sbitoe595=P1^3;

sbitstr595=P1^4;

worddatadatah,datal;

bytecodedisplaydata[]=

{0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,

//在以下位置插入字模

0x00,0x04,0x00,0x43,0xFC,0x70,0x14,0x00,0xD4,0x39,0x54,0x41,

0x54,0x41,0xD4,0x49,

0x04,0x50,0x3F,0x42,0xC4,0x41,0x45,0x61,0x36,0x0A,0x04,0x34,

0x00,0x27,0x00,0x00,/*"感",0*/

0x40,0x00,0x42,0x00,0xCC,0x3F,0x04,0x50,0x00,0x29,0xFC,0x11,

0x56,0x4D,0x55,0x83,

0xFC,0x7F,0x50,0x00,0x90,0x41,0x10,0x80,0xFF,0x7F,0x10,0x00,

0x10,0x00,0x00,0x00,/*"谢",1*/

0x80,0x00,0x40,0x20,0x30,0x38,0xFC,0x03,0x03,0x38,0x90,0x40,

0x68,0x40,0x06,0x49,

0x04,0x52,0xF4,0x41,0x04,0x40,0x24,0x70,0x44,0x00,0x8C,0x09,

0x04,0x30,0x00,0x00,/*"您",2*/

0x40,0x00,0x20,0x00,0xF0,0x7F,0x1C,0x00,0x07,0x40,0xF2,0x41,

0x94,0x22,0x94,0x14,

0x94,0x0C,0xFF,0x13,0x94,0x10,0x94,0x30,0x94,0x20,0xF4,0x61,

0x04,0x20,0x00,0x00,/*"使",3*/

0x00,0x80,0x00,0x40,0x00,0x30,0xFE,0x0F,0x22,0x02,0x22,0x02,

0x22,0x02,0x22,0x02,

0xFE,0xFF,0x22,0x02,0x22,0x02,0x22,0x42,0x22,0x82,0xFE,0x7F,

0x00,0x00,0x00,0x00,/*"用",4*/

0x08,0x20,0xF8,0x3F,0x08,0x20,0x08,0x20,0x08,0x20,0x10,0x10,

0xE0,0x0F,0x00,0x00,/*"D"*/

0x08,0x20,0xF8,0x3F,0x08,0x21,0x08,0x01,0x08,0x01,0x08,0x01,

0xF0,0x00,0x00,0x00,/*"P",5*/

0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x80,0x00,0x80,0x00,

0x80,0x00,0x80,0x00,

0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,/*"-",6*/

0x00,0x00,0xF8,0x19,0x08,0x21,0x88,0x20,0x88,0x20,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 韩语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1