DP51PROMCU单片机实验指导书B.docx

上传人:b****0 文档编号:9615579 上传时间:2023-05-20 格式:DOCX 页数:25 大小:1,020.51KB
下载 相关 举报
DP51PROMCU单片机实验指导书B.docx_第1页
第1页 / 共25页
DP51PROMCU单片机实验指导书B.docx_第2页
第2页 / 共25页
DP51PROMCU单片机实验指导书B.docx_第3页
第3页 / 共25页
DP51PROMCU单片机实验指导书B.docx_第4页
第4页 / 共25页
DP51PROMCU单片机实验指导书B.docx_第5页
第5页 / 共25页
DP51PROMCU单片机实验指导书B.docx_第6页
第6页 / 共25页
DP51PROMCU单片机实验指导书B.docx_第7页
第7页 / 共25页
DP51PROMCU单片机实验指导书B.docx_第8页
第8页 / 共25页
DP51PROMCU单片机实验指导书B.docx_第9页
第9页 / 共25页
DP51PROMCU单片机实验指导书B.docx_第10页
第10页 / 共25页
DP51PROMCU单片机实验指导书B.docx_第11页
第11页 / 共25页
DP51PROMCU单片机实验指导书B.docx_第12页
第12页 / 共25页
DP51PROMCU单片机实验指导书B.docx_第13页
第13页 / 共25页
DP51PROMCU单片机实验指导书B.docx_第14页
第14页 / 共25页
DP51PROMCU单片机实验指导书B.docx_第15页
第15页 / 共25页
DP51PROMCU单片机实验指导书B.docx_第16页
第16页 / 共25页
DP51PROMCU单片机实验指导书B.docx_第17页
第17页 / 共25页
DP51PROMCU单片机实验指导书B.docx_第18页
第18页 / 共25页
DP51PROMCU单片机实验指导书B.docx_第19页
第19页 / 共25页
DP51PROMCU单片机实验指导书B.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

DP51PROMCU单片机实验指导书B.docx

《DP51PROMCU单片机实验指导书B.docx》由会员分享,可在线阅读,更多相关《DP51PROMCU单片机实验指导书B.docx(25页珍藏版)》请在冰点文库上搜索。

DP51PROMCU单片机实验指导书B.docx

DP51PROMCU单片机实验指导书B

实验一单片机开发系统熟悉与开发

一、实验目的

1、了解DP-51PROC单片机综合仿真实验仪,SH51仿真器和烧录器等开发工具的使用。

2、学会单片机系统汇编程序开发、调试的一般过程。

二、实验内容

1、SH51仿真器外观

图1.1

2、DP一51PROC单片机综合仿真实验仪的电路布局如图所示。

图1.2

由图1.2可以看出,它分为多个功能块,各功能块之间是相对独立的,每个功能块都有一个编号,分别是竖数A~D,横数1~10。

可从编号快速地找到功能块所在的位置。

例如,c3功能块,就是第3行的第3个功能块,这样用户就能比较方便地找到对应的位置。

1.4主要功能块

DP-5lPROc单片机综合仿真实验仪上的功能块如表1.1所列。

表1.1DP-51PROC单片机综合仿真实验仪功能块及说明

编号

功能块名称

功能说明

A1

ISP下载电路

实现PHILIPS单片机的64KBFLASH的IsP下载编程功能。

另外,RS232串口通信实验也用这个功能块来进行,还可以接SH51仿真器。

A2

总线I/0扩展区

该扩展区主要功能足把单片机的各功能引脚引出来,方便用户选择使用各I/O口或单片机总线。

该扩展区还包含了一个74Hc573对单片机的PO口进行锁存,并扩展输出A0~A7总线地址。

A3

138译码电路区

该区包含一片74HC138译码芯片

A4

并转串实验区

该区包含一片74HC165并转串芯片

A5

串转并实验区

该区包含一片74HCl64串转并芯片

A6

PARKl

用于扩展连接各种扩展PARK模块,包括USBl.O,CAN-BUS、USB2O(选配)、以太网接口(选配),用于进行相关的实验。

它每次只能插接一个PARK模块

A7

PARK2

功能同A6区,DP-51PROC单片机综合仿真实验仪可同时在A6和A7区分别扩展一个PARK模块,同时进行两个PARK模块的实验。

比如:

A6区扩展USBl.0,A7区扩展CAN-BUS,这样用户就可进行USB转CAN-bus的桥接实验了

B1

B语音模块

该有一个ZLG1420A语音模块,还有麦克风和扬声器,用户可在上面进行语音录放实验

B2

非接触式IC卡读卡模块

该区有一个ZLG5130A非接触式IC卡读卡模块接口(ZLG500A模块为选配件)和相关的天线接口(天线也是选配件),用户可利用该接口进行非接触式IC卡的实验。

在该区迁有一个时钟源电路和8路分频输出接口。

B3

LCD模块

该区包含有一个LcD液晶模块,用户可选择128×64的点阵图形液晶模块(标配)或16×2的点阵字符液晶模块(选配)

B4

温度传感器区

该区包含一片DSl8B20单总线(1一WIRE)的数字温度传感器

B5

蜂鸣器区

该区包含一个交流蜂鸣器及其驱动电路,能够演奏乐曲

B6

PWM输出实验区

该区把用户提供的PWM信号转换成电压输出

B7

电压基准源电路

该区提供一个TL431精密可调电压基准源电路

B8

串行A/D实验区

该区包含有一片TLC5498位串行A/D转换器

B9

串行D/A实验区

该区包舍有一片TLC56208位4通道串行D/A转换器

B10

直流电机实验区

该区包含有一个可调速的直流电机及其驱动电路

C1

电源输出接口区

该区包含+5V、一12V、+12v电源接口,方便用户外接使用

C2

逻辑笔电路

该区是一个检查TTL|逻辑电平高低的逻辑笔,并可通过LED显示电平的高低状态

C3

16×16点阵LED模块

该区包含一个16×16点阵LED模块及其驱动电路

C4

运放实验区

该区包含一片LM324芯片

C5

电阻接口

该区为运算放大器提供电阻接口电路

C6

555实验区

该区包含一片555芯片及相关的电阻、电容接口电路

C7

继电器实验区

包含一个继电器及其驱动电路

C8

步进电机实验区

该区包含有个步进电机及其驱动电路

D1

I/O口实验区

该区分别包古8个独立的LED发光二极管、拨动开关、按键

D2

可调电阻区

该区包含一个10k和一个1k的可调电阻

D3

红外收发区

该区包含一个红外发射管和一个带解码的红外接收器

D4

RS485实验区

该区包含一片SP485芯片,用于RS485的电平驱动和数据收发

D5

I2C实验区

该区包古一片24WC02256字节的EEPROM、一片PCF8563实时时钟/日历芯片及外围电路、一片ZLG7290键盘LED驱动芯片及8段8位数码管和16个按键

D6

接触式Ic卡实验区

该区包含一个可连接SLE4442卡的读卡头

 

 

实验二数据传送

一、实验目的

1.进一步熟悉SH51仿真器的使用方法。

2.练习设计简单的程序。

3.掌握8031片内RAM和片外RAM的数据传送方法,从而了解这两部分存贮器的特点。

二、实验设备及器件

PC机一台

DP-51PROC单片机实验仪一台

SH51仿真器一台

三、实验内容

将8031内容RAM40H~4FH置初值00H~0FH,然后将40H~4FH内容传送到外部RAM的4800H~480FH,再将4800H~480FH传回内部RAM的50H~5FH。

设置断点B1、B2、B3每运行到断点时检查相应的CPU现场和存贮单元的内容。

四、实验步骤

1、向机器输入程序。

2、运行程序至第一个断点B1,检查40H~4FH单元内容及累加器A的内容。

3、运行程序至第二个断点B2,检查4800H~480FH单元内容及累加器A、数据指针DPTR的内容。

4、运行程序至第三个断点B3,检查50H~5FH单元内容及累加器A、数据指针DPTR的内容。

五、实验参考程序

ORG000H

START:

LJMPMAIN

ORG040H

MAIN:

MOVR0,#40H

MOVR2,#16

CLRA

A1:

MOV@R0,A

INCR0

INCA

DJNZR2,A1;

B1:

MOVR0,#40H

MOVDPTR,#4800H

MOVR2,#10H

A2:

MOVA,@R0

MOVX@DPTR,A

INCR0

INCDPTR

DJNZR2,A2;

B2:

MOVR0,#50H

MOVDPTR,#4800H

MOVR2,#10H

A3:

MOVXA,@DPTR

MOV@R0,A

INCR0

INCDPTR

DJNZR2,A3

B3:

SJMP $

end

数据记录表格:

断点

40H~4FH

4800H~480FH

50H~5FH

A

R0

R2

DPTR

000

B1

B2

B3

五、实验报告要求

1、写出具有源程序和注解的程序清单。

2、将测得的数据填入表格,并和理论分析的结果相比较。

3、说明8031CPU对内部存贮器和外部扩展RAM存贮器各有哪些寻址方式?

4、说明指令MOVA,20H和MOVC,20H中的20H的含义有什么不同?

传送指令中的助记符MOV,MOCX,MOVC各适于访问哪个空间?

……………………….

实验三并行口

一、实验目的

通过实验了解8031并行口输入方式和输出方式的工作原理及编程方法。

二、实验设备及器件

PC机一台

DP-51PROC单片机实验仪一台

SH51仿真器一台

三、实验内容

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

2.编写一段程序,用P1.0~P1.6口控制LED,P1.7口控制LED的亮和灭(P1.7口接按键,按下时LED亮,不按时LED灭)。

四、实验步骤

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

原理如图3.2(a)所示。

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

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

4.使用导线把A2区的J61接口的P1.0~P1.6与D1区的J52接口的LEDl~LED6相连,另外A2区J61接口的Pl.7与D1区J53的KEYl相连。

原理如图3.2(b)所示。

5.编写P1.7控制LED的程序,并调试运行(按下K1键看是否全亮)。

6.将A2区J61接口的P1.7与Dl区J54的SWl相连,然后再运行程序,查看结果。

3.2单片机I/O口实验原理图

五、实验预习要求

可先把程序编好,然后在VW环境下进行软件仿真。

 

六、实验参考程序

参考程序1

ORG000H

LJMPMain

ORG0100H

Main:

MOVA,#0FFH

CLRC

MainLoop:

CALLDelay

RLCA

MOVP1,A

SJMPMainLoop

Delay:

MOVR7,#0

Loop:

MOVR6,#0

DJNZR6,$

DJNZR6,$

DJNZR6,$

DJNZR7,Loop

RET

END

参考程序2

ORG0000H;

LJMPMain

ORG0100H;

Main:

JBP1.7,SETLED

CLRLED:

CLRP1.0

CLRP1.1

CLRP1.2

CLRP1.3

CLRP1.4

CLRP1.5

CLRP1.6

SJMPMain

SETLED:

SETBP1.0

SETBP1.1

SETBP1.2

SETBP1.3

SETBP1.4

SETBP1.5

SETBP1.6

SJMPMain

END

七、实验思考题

1、想出几十实现以上功能的编程方法,

*2、在程序2中,如果使用KEYl作为外部中断控制LED的亮和灭,则程序应如何修改?

 

实验四 定时器/中断

一、实验目的

1、掌握定时器的工作原理、工作方式、计数与定时

2、掌握定时器的使用方法和程序设计方法。

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

二、实验设备及器件

PC机一台

DP-51PROC单片机实验仪一台

SH51仿真器一台

万用电表VC9805一台

三、实验内容

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

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

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

四、实验步骤

1.用导线将A2区的P3.3口(INTl)和B5区的Buzz接口相连,然后将D1区的J53接口和A2区的J61接口一一对应相连。

实验原理图如图3.4所示。

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

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

图3.4电子琴实验实验原理图

五、实验参考程序

BUZZEQUP3.3

ORG0000H

LJMPMAIN

ORG000BH

LJMPINT_T0

ORG0100H

MAIN:

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

MOV30H,#00;定时器初值清零

MOV31H,#00

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

六、实验说明

1、利用定时器,可以发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同的音调。

2、定时器按设置的定时参数产生中断,这一次中断发出脉冲低电平,下一次反转发出脉冲高电平。

由于定时参数不同,就发出了不同频率的脉冲。

本实验中当有键按下,会发出连续脉冲,直到按键松开,才停止发音。

发完后继续检测键盘,如果键还按下,继续发音。

各音阶标称频率值:

音阶

1

2

3

4

5

6

7

频率(HZ)

261.1

293.7

329.6

349.2

392.0

440.0

493.9

七、思考题

1、请思考实验是怎样在硬件与软件上实现发声的?

2、本程序中断子程序的调用是怎样进行的?

 

实验五显示器/键盘

一、实验目的

1、了解显示器的结构和工作原理。

2、掌握显示程序的设计方法。

3、学会查表程序的编写方法。

4、掌握键盘工作原理和程序设计方法

二、实验器材

PC机,DP-51PROC实验仪,SH51仿真器,键盘实验板

 

图5-1键盘实验板电路图

三、编程提示

1、如图所示,采用发光二极管(LED)显示器作为输出。

LED显示器由七段a~g组成一个字符,每段是一个发光二极管。

如图5-1所示的共阴极接法中,只要在a~g相应输入端加上高电平,公共端K上加上低电平,就点亮相应的发光二极管段。

图规定了段码所占的数据位。

例如,段码3FH显示的字型是字符0,段码79H显示的字形是字符E,……。

 

图5-2LED结构及外形图

要显示6位数码,就必须有6个LED显示器。

哪一位为低电平,哪一位LED显示器被点亮。

本实验用8155的PB口和PA口分别作为字形和字位的输出口,,它们的地址分别为7F02H和7F01H,内部命令/状态寄存器地址为7F00H。

工作方式命令字设为03H,使8155的PA、PB口工作于输出方式,PC口工作于输入方式。

为了存放欲显示的6个数码,必须在存贮器中开辟一个显示缓冲区,首地址存放显示器最左端的显示值。

此外 存贮器中开辟一个字模表,里面放有欲显示的数字、字母或其它字符的相应段码。

程序从显示缓冲区取出要显示的数码值,由其值从字模表中得到要显示数的段码,并输出至显示器各段发光二极管。

随后输出显示位指针(从最左端开始),选择一个LED显示器工作,为显示下一位,修改缓冲区指针及显示位指针。

如此进行,直至最右端。

当需要同时显示多个字符时,逐次把字符显示在规定的字位上。

在每点亮一个显示器后稍延迟一段时间,(例如1ms),使之发光稳定,然后顺序点亮另外的显示器。

这样巡回扫描显示,速度很快,每秒可重复多次,虽然在同一时刻只有一个显示器工作,但利用人眼的视觉暂留效应和发光二极管灭时的余辉效应,我们看到的都是稳定的多个字符同时显示。

调整延时时间的长短,可以使显示器达到最大亮度和稳定性。

2、编写查表程序,可以将表格常数设置在64K字节程序存贮器的任何地址空间,选用数据指针DPTR作基址寄存器,将表首地址送入DPTR,然后再将需查访表的项数送入累加器A,最后用MOVC A,@A+DPTR指令将查访表中相应项的内容送累加器A中。

这样程序编写起来很容易,但由于本实验要用DPTR指示8155的口地址,因此换用程序计数器PC作基址寄存器。

将欲查访表的项数送入累器A中,将从查表指令MOVC A,@A+PC所在地址到表首地址间的偏移量计算出来(注意CPU在读取本指令时,PC已执行加1操作,指向下一条指令的第一个字节。

所以作基址寄存器时,已不是原PC值,而是PC+1值),再加到累加器A中,然后执行MOVC A,@A+PC指令,将查表内容取出来送A。

由于PC值已经确定,查表范围只能由累加器A内容决定。

所以使用本指令的表格只能存放在以PC当前值为起始地址的256字节单元范围内。

这就使表格的地址空间分配受到限制。

3、8155的PC口的PC00~PC3接行线,作为键盘的输入信号线。

8155的PA口的PA0~PA7接列线,作为键盘的输出信号线。

在每一行与每一列之间接有一个键。

首先判别有无键被闭合,方法是:

往A口送数00H,使所有列线置0,即低电平。

若是有某个键被闭合,则该键所在的行与列连通,因而此行线上将变为低电平。

若是没有键被闭合,则所有行线上都是高电平,即全1。

所以用C口读入行线的值,看是否有0位,即可知是否有键被闭合。

如果有某键被闭合,为了去除抖动(机械键闭合与释放时均有抖动),延时一定时间(10MS),然后重复上述判别有无键被闭合的过程,这样测出的闭合键才是有效的闭合。

为了判定闭合键的值(键号),逐一向各列输出低电平,逐一读入各行值,闭合键所在行的行首键号加上所在列的列号,即为闭合键的值。

四、实验步骤

1、设70H~75H是显示缓冲区,设字模表中段码的顺序是3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H,73H,3EH,31H,6EH,1CH,23H,40H,03H,18H,00H,00H,00H。

编写程序,并译成机器码。

2、将70H~75H单元装入00H,05H,0AH,0FH,10H,31H,运行程序,记下显示结果。

3、将70H~75H单元重新装04H,00H,00H,00H,16H,0FH运行程序,记下显示结果。

4、修改延时程序,运行程序,观察显示结果有什么变化。

五、实验程序流程

图5-3键盘输入子程序流程图

图5-4显示子程序流程图

五、实验报告要求

1、列出程序清单。

2、将实验结果与理论分析相比较。

3、说明字模表中的段码对应的显示字符是什么?

4、说明显示结果与显示缓冲区单元的内容有什么关系?

5、说明程序中的延迟时间对显示的亮度和稳定性有什么影响?

6、如果要显示一个字符,而在字模表中不存在它的段码,怎么办?

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2