单片机实验讲义 2.docx

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

单片机实验讲义 2.docx

《单片机实验讲义 2.docx》由会员分享,可在线阅读,更多相关《单片机实验讲义 2.docx(38页珍藏版)》请在冰点文库上搜索。

单片机实验讲义 2.docx

单片机实验讲义2

《单片机与接口技术实验指导书》

苏州大学应用技术学院

2012年11月

实验环境

LJD-SY模块式实验系统

概况

LJD-SY模块式实验系统共由6块模块构成,它们分别是开关量输入输出模块(LJD-SY-1)、键盘和LED显示模块(LJD-SY-2)、I/O和存储器扩展接口模块(LJD-SY-3)、电机控制模块(LJD-SY-4)、A/D和D/A转换模块(LJD-SY-5)、LCD和点阵LED显示模块(LJD-SY-6)。

LJD-SY模块式实验系统是在MCS-51/96/AVR单片机实验开发系统-LJD-2008基础上改变而来的,它将大板箱子结构改为了小板模块结构,使用比较灵活,但与LJD-2008相比缺少了实时时钟芯片、语音芯片和IIC接口芯片。

另外,除了开关量输入输出模块(LJD-SY-1)有串行通信接口外,其他模块没有与外界的通信接口。

为了满足嵌入式系统实验的要求,我们在各模块上增加了串行接口的引出连接件。

LJD-SY模块式实验系统在使用时还需要与仿真系统、编程器配合使用,才能完成调试、程序的固化等工作。

开关量输入输出模块LJD-SY-1

外形

原理图

主要部件和资源分配

主要部件有:

CPU(AT89S51)+8位LED指示灯(P1口控制)+8个开关(P0口控制)+1个脉冲发生器(可作为中断或计数信号)+RS-232(485)通信口(P3.0、P3.1)+蜂鸣器(报警用P3.4)+20引脚扩展口。

CPU为AT89S51等51系列单片机兼容,晶振频率为6MHz。

8位LED指示灯L1-L8分别由P1.0-P1.7控制,分红、黄、绿三种颜色。

8个K1-K8开关分别由P2.0-P2.7控制

1个单脉冲发生器S1.其中P3.2(INT0)、P3.4(T0)接正脉冲、P3.3(INT1)、P3.5(T1)接负脉冲。

P3.0、P3.1经MAX232转换为RS232电平,可以直接和计算机通信(COM口的2脚发送,3脚接收,5接地)。

P0.0接蜂鸣器。

P0.0=0时,蜂鸣器响;P0.0=1时,蜂鸣器不响。

键盘和LED显示模块LJD-SY-2

外形

原理图

主要部件和资源分配

主要部件有CPU(AT89S51)+4×4键盘+6位LED数码管+蜂鸣器。

CPU为AT89S51等51系列单片机兼容,晶振频率为6MHz。

6个LED共阳极数码管LED1-LED6的位控分别由P1.0-P1.6控制,高电平有效。

段码分别由P0.0-P0.7控制分别对应如下:

P0.0-P0.7对应a-f8个段。

七段共阴极LED显示器的段码表

显示字符

二进制段码

十六进制段码

显示字符

二进制段码

十六进制段码

00111111B

3FH

01110111B

77H

00000110B

06H

01111100B

7CH

01011011B

5BH

00111001B

39H

01001111B

4FH

01011110B

5EH

01101001B

66H

01111001B

79H

01101101B

6DH

01110001B

71H

01111101B

7DH

01110011B

73H

00000111B

07H

00111110B

3EH

01111111B

7FH

11001110B

31H

01101111B

6FH

00000000B

6EH

键盘由0-F16个键组成,由P2口控制,其中P2.0-P2.3对应1-4列,P2.7-P2.4对应1-4行。

INT1(P3.3)接蜂鸣器。

INT1=0时,蜂鸣器响;INT1=1时,蜂鸣器不响。

I/O和存储器扩展接口模块LJD-SY-3

外形

原理图

主要部件和资源分配

主要部件有CPU(AT89S51)+6264(SRAM)+8255(带3×8I/O口)+8155(带22路I/O口,256RAM,1个14位的计数器)+8253(带3路计数器)+地址锁存器74LS373+译码器74LS138+复位电路iMP813L+振荡电路+3个接连插座等。

CPU为AT89S51等51系列单片机兼容,晶振频率为6MHz。

扩展电路的地址由74LS138译码器分配,其中:

6264(RAM):

0000H-1FFFH

8255(I/O):

A口地址为2000H;B口地址为2001H;C口地址为2002H;命令口地址为2003H。

8155(I/O):

命令口地址为6100H;A口地址为6101H;B口地址为6102H;C口地址为6103H;定时器低8位地址为6104H;定时器高6位地址为6105H;8155(RAM)内部256BRAM地址为6000H-60FFH。

8253(计数器):

计数器0地址为4000H;计数器1地址为4001H;计数器2地址为4002H;命令控制寄存器地址为4003H。

上述芯片的片选信号由74LS138译码器提供。

振荡电路由74HC04和晶体振荡器组成,产生的1.8432MHz信号送至8253。

3个接连插座引出的信号:

CZ1为8255PA,PB口的输出端;CZ2为8155的PA,PB的输出端;CZ3为8255的C口,8155的C口,以及8253计数器的输出口。

具体见表。

CZ18255I/O口的定义

引脚编号

1

3

5

7

9

11

13

15

17

19

信号

GND

GND

PB0

PB1

PB2

PB3

PB4

PB5

PB6

PB7

引脚编号

2

4

6

8

10

12

14

16

18

20

信号

VCC

VCC

PA7

PA6

PA5

PA4

PA3

PA2

PA1

PA0

CZ28155I/O口的定义

引脚编号

1

3

5

7

9

11

13

15

17

19

信号

PA0

PA1

PA2

PA3

PA4

PA5

PA6

PA7

VCC

VCC

引脚编号

2

4

6

8

10

12

14

16

18

20

信号

PB7

PB6

PB5

PB4

PB3

PB2

PB1

PB0

GND

GND

CZ38255(PC0-PC7),8155(PC10-PC14)和8253(OUT0-OUT2)I/O口的定义

引脚编号

1

3

5

7

9

11

13

15

17

19

信号

OUT0

OUT1

OUT2

PC10

PC11

PC12

PC13

PC14

GND

GND

引脚编号

2

4

6

8

10

12

14

16

18

20

信号

PC0

PC1

PC2

PC3

PC4

PC5

PC6

PC7

VCC

VCC

电机控制模块LJD-SY-4

外形

原理图

主要部件和资源分配

主要部件有CPU(AT89S51)+直流风扇及驱动电路+直流电机及转速转向控制电路+步进电机及光电隔离驱动电路等。

CPU为AT89S51等51系列单片机兼容,晶振频率为6MHz。

直流风扇通过P1.0控制继电器来驱动。

P1.0=1时继电器断开,风扇不动;P1.0=0继电器闭合,风扇转动。

直流电机的正反方向转动由P1.1、P1.2控制。

P1.1=0、P1.2=1时,为正转;P1.1=1、P1.2=0为反转。

步进电机由P2.0、P2.1、P2.2、P2.3控制。

A/D和D/A转换模块LJD-SY-5

外形

原理图

主要部件和资源分配

主要部件有CPU(AT89S51)+A/D转换器(ADC0809)及输出电路+D/A转换器电路(DAC0832)+电位器(调节输出电压)+振荡器等。

CPU为AT89S51等51系列单片机兼容,晶振频率为6MHz。

AD0809的地址为

,8个通道地址分别为:

00H-07H,结束信号经非门送AT89S51的INT0(注意:

印制板上的此处连线漏画了,需要另外飞线)。

AD0809的时钟信号由4069组成的振荡器提供。

DAC0832的地址为0BFFFH,DAC0832输出电流信号经运算放大器uA741转换为电压信号。

注意:

D/A电路工作时,需要加+12V、-12V的电源。

参考程序

;直接方式

ORG0000H

LJMPMAIN

ORG0100H

MAIN;

MOVA,#00H

MOVDPTR,#7FF8H

LOOP:

MOVX@DPTR,A

LCALLDELAY

MOVXA,@DPTR

MOV60H,A

SJMPLOOP

DELAY:

MOVR7,#02H

DL1:

MOVR6,#0FAH

DL2:

MOVR5,#0FAH

DJNZR5,$

DJNZR6,DL2

DJNZR5,DL1

RET

END

;中断程序

ORG0000H

LJMPMAIN

ORG0003H

LJMPINT0

ORG0100H

MAIN;

MOVSP,#30H

MOVA,#00H

MOVDPTR,#7FF8H

SETBEX0

SETBIT0

SETBEA

LOOP:

MOVX@DPTR,A

SJMPLOOP

INT0:

PUSHPSW

PUSHACC

MOVXA,@DPTR

MOV60H,A

POPACC

POPPSW

RETI

END

LCD和点阵LED显示模块LJD-SY-6

外形

原理图

主要部件和资源分配

主要部件有CPU(AT89S51)+16X2LCD字符显示器+16X16LED点阵显示器及驱动电路。

CPU为AT89S51等51系列单片机兼容,晶振频率为6MHz。

LCD字符显示器的数据线与P1.0-P1.7相连,控制信号连接P3.0-P3.2。

P3.0连接RS,P3.1连接R/W,P3.2连接E。

16X16LED点阵显示器的行由P2.0-P2.3经74LS154译码器和三极管构成的驱动电路控制,列由P2.4-P2.7经两个74HC595串入并出移位寄存器及ULN2803达林顿驱动电路控制。

QTH单片机仿真器

概况

QTH系列单片机仿真器由国内启东市微机应用研究所开发的产品,实验中所使用的型号是QTH-8052F+。

该产品的主要特点有:

支持多种操作系统环境

支持Windows9x、ME、NT、2000、XP操作系统环境,全中文界面。

调试方便

支持ASM、PLM、C(FranklinC、KeilC)语言多模块混合语言源程序调试,一次下载源程度长度无限制。

先进的错误定位,可直接进入错误位置,无需查找错误信息。

所有软件均可直接在线修改、编译、连接、装载、调试源程序。

在线全静态测试功能

通过修改寄存器窗口PC值(8052模式EA=0)可静态测试地址总线、数据总线及译码等电路的状态。

通过修改寄存器窗口P0-P3口值(8752模式EA=1)可静态测试端口的输出状态。

通过修改外部数据存贮器窗口I/O地址的值,可测试I/O端口的输出状态。

从而可方便地排除硬件故障。

完全仿真8052系列单片机

对目标系统没有任何限制。

完全支持(EA=18752模式)仿真调试大于CPU片内ROM的扩展程序,扩展的片外数据存贮器及I/O端口,并可直接显示扩展ROM的代码,及可读写扩展的片外数据存贮器的内容。

保护功能

特别设计有侦测反插及防高压防静电保护功能,可有效避免不当插拔仿真头(带电插拔或插反)及目标板意外高压或静电对仿真器的损坏,也就避免了不必要的开发延期和经济损失。

仿真器其他功能

仿真器自带64K仿真程序存贮器、64K数据存贮器、64K硬件断点存贮器、采用高速度大规模可编程器件作为仿真器主控逻辑芯片,高速度、高集成度、高可靠性、高抗干拢性;设置断点不受任何条件限制,无限制夭折功能,正确显示夭折处CPU的状态。

RS232C串通讯口,通讯速率达115200BIT。

QTH-8052F+支持多种CPU,均可直接仿真,无需另购适配器,支持的CPU如下:

INTEL:

8031/32、80C31/32、8051/52、80C51/52、87C51/52

ATMAL:

89C51/32、80F51/52、89C2051/4051

WINBOND:

78E51、78E52、78E54、78E58、78C31/32

LG:

90C31/32、97C51/52、97C2051/4051、97C54/58

使用入门

外形和连接

QTH-8052F/G仿真器示意图如下图所示。

仿真主机通过RS-232C接口与PC机相连,仿真头POD插在待调试的仿真目标板CPU插座上。

其中,开关设置说明如下:

SW1为电源选择跳线,用于选择仿真器与目标板电源是断开还是连接。

SW2为晶振选择跳线,用于。

选择使用仿真头晶振(XTAL1)还是使用目标板晶振。

XTAL1为用户晶振插座,使用仿真头晶振(XTAL1)时用户自己插入符合您要求的晶振。

CZ1为P3.6,P3.7/WR,RD选择跳线,用于选择仿真头16,17脚为WR,RD功能还是为P3.6,P3.7功能。

使用

一般使用过程如下:

安装QTH集成开发环境

设置QTH仿真器

连接

编码和调试

QTH集成开发环境PC机上,通过RS-232C与仿真机相连,并控制仿真机的工作过程。

QTH集成开发环境提供了以下两种方式开发应用程序:

不使用QTH集成开发环境项目管理方式——对源程序文件直接进行汇编/连接方式,兼容传统开发习惯。

使用QTH集成开发环境项目管理方式——可进行多模块、混合语言编程的方式,也同样适合单模块程序的开发。

调试过程

不使用项目管理方式开发应用程序

不使用QTH集成开发环境项目管理方式,只能进行单模块方式下的应用程序开发,具有很大的局限性。

以下是不使用QTH集成开发环境项目管理方式开发应用程序的步骤。

第一步:

关闭当前项目

执行命令:

[项目|关闭项目]。

不使用QTH集成开发环境项目管理方式开发应用程序,用户必须关闭已经打开的项目,此时QTH集成开发环境关闭界面上所有的窗口。

因为当打开项目文件后,QTH集成开发环境默认所有编译/汇编、产生代码的过程都是对项目或项目所包含的文件进行的。

第二步:

在文件菜单下打开应用程序

执行命令:

[文件|新建]或[文件|打开]。

单模块方式下的文件调试可以按照以下方法新建或打开文件:

点击[文件|新建],输入文件名和扩展名,新建文件。

点击[文件|打开],选择文件捡取框中的文件将其打开。

第三步:

编译/汇编

执行命令:

[项目|编译]。

QTH集成开发环境根据文件的扩展名,自动对当前激活的文件选择调用外部编译器或汇编器:

如果当前文件的扩展名为ASM,编译/汇编命令调用外部汇编命令对当前文件汇编。

如果当前文件的扩展名为C,编译/汇编命令调用外部C编译命令对当前文件编译。

执行[项目|编译]命令后产生的结果显示在消息框中。

第四步:

错误信息关联

QTH集成开发环境调用外部命令编译后产生的结果,显示在消息窗口中。

消息窗口中,当编译发生错误时,消息窗口中的错误信息自动与源文件关联,提示出错的位置。

在消息窗口中错误提示处双击鼠标左键,也可将错误信息与源文件的错误位置关联。

如果编译没有错误,可进入第五步操作。

如果编译出现错误,在修改文件后重复进行第三步操作。

错误信息关联的窗口如下图所示。

第五步:

产生代码并装入仿真器调试

执行命令:

[项目|装入调试信息]或[调试|装入]。

装入调试信息或装入命令对编译连接无误后产生的.OBJ文件进行连接产生用于下载的代码。

此命令自动地对修改过的源程序进行编译或汇编,对没有修改过的程序将越过编译或汇编过程,然后连接所的OBJ,LIB文件,再装载代码到仿真器,完成调试程序所需的准备工作。

装载完成后,调试器窗口调试工具条所有命令钮变亮。

使用项目管理方式开发应用程序

使用QTH集成开发环境项目管理方式,可以对单模块和多模块方式应用程序进行开发。

使用QTH集成开发环境项目管理方式开发应用程序可从第一步——新建项目建立一个新的项目进入,或打开已经存在的项目文件直接进入第三步——打开项目。

具体各步骤说明如下。

第一步:

新建项目(命令:

[项目|新建项目]输入项目名称)

QTH集成开发环境的项目文件是按项目名称管理的,项目管理器内的项目名称不可以相同。

在项目名称输入栏内,项目名称用户必须输入,并且项目名称不得超过8个字符,不可以使用汉字以及“-,?

,*,/”等DOS文件所不可以使用的字符。

之后可立即选择加入模块文件,表示在项目建立后,会自动打开文件检取框,供用户选择文件添加到项目管理器。

第二步:

加入模块文件(命令:

[项目|加入模块文件])

在当前新建或打开的项目中添加源程序文件。

注意:

必须逐个加入模块文件,并且把主模块第一个加入其中。

第三步:

打开项目(命令:

[项目|打开项目])

对于调试已经存在的项目,可以直接打开项目文件进入第四步操作。

第四步:

设置项目属性

设置当前项目的编译及连接控制属性。

第五步:

编译/汇编/连接(命令:

[项目|编译连接装载])

QTH集成开发环境根据文件的扩展名,自动对激活的文件选择调用外部编译器或汇编器:

如果当前文件的扩展名为ASM,编译/汇编命令调用外部汇编命令对当前文件汇编。

如果当前文件的扩展名为C,编译/汇编命令调用外部C编译命令对当前文件编译。

文件编译/连接的命令行参数由[项目|项目属性]确定。

第六步:

错误信息关联

文件经过编译/连接后的结果显示于消息窗口,出现错误后错误信息与文件关联。

在消息窗口中错误之处双击鼠标左键,可将错误与文件关联:

如果没有错误,进入第七步操作。

如果出现错误,修改文件后重复第五步操作。

第七步:

装入调试信息(命令:

[项目|编译连接装载];命令:

[项目|装入调试信息];命令:

[调试|装入])

编译连接装载命令对经过编译/汇编无误后产生的OBJ文件进行连接产生用于下载的代码。

此命令对修改过的源程序自动进行编译或汇编,否则将越过编译或汇编过程进行连接并装载代码到仿真器,完成调试文件所需的准备工作,并自动装入调试信息到仿真器。

使用编译连接装载命令,命令管理器会自动判别文件是否需要重新编译/汇编,提高调试效率,对编译连接通过的程序自动装入调试信息到仿真器。

使用重新装入信息或装入命令,直接装入调试信息到仿真器。

之后可使用断点、单步、连续运行等调试手段进行调试。

调试窗口如下图所示。

窗口菜单

菜单主要有:

文件、编辑、查看、项目、调试、设置、外设、窗口和帮助等。

其中,查看、项目、调试、设置、外设是经常使用的菜单。

不同版本的窗口界面也有所不同,下面是一个具体的窗口图示。

SUPERPRO编程器

概况

调试通过的程序需要对机器码程序固化到单片机后,才能脱离仿真器独立运行。

这一过程通常需要由编程器完成(现在也有支持在线编程的芯片,可通过串行口或专用接口直接进行编程,而不需要专门的编程器)。

实验中采用的是SUPERPRO系列通用编程器。

SUPERPRO是XELTEK南京西尔特电子有限公司的注册商标。

SUPERPRO是一种性价比高、可靠、快速的通用编程器系列。

适用于Intel486或基于奔腾处理器的IBM兼容台式机或笔记本电脑。

工作时直接与计算机并行口或USB端口(依型号而定)通讯,其菜单驱动接口软件使操作十分方便。

其外形图如下所示。

其主要特点有:

1、支持Windows95/98、WindowsNT/2000。

2、支持大量器件(1500~8000以上),类型包括60多个厂家的PROM、E/EPROM、

PLD、MCU等。

3、支持TTL/CMOS逻辑器件和存储器测试。

4、支持Binary、Intel(普通型或扩展型)Hex、MotorolaS、Tektronix(普通型或扩展

型)、Jed、pof等多种文件格式。

5、支持器件插入测试,能检测出坏芯片、错误放置的器件或接触不良的管脚(依型号而定)。

6、集成化全屏幕缓冲区编辑环境,附有填充、拷贝、移动、交换等命令。

7、支持自动生成电子序列号。

(依型号而定)

使用

编程过程通常要经历:

选择器件、装入文件和编程操作三个过程。

选择器件

在主屏幕上单击Select图标,弹出Select(器件选择)窗口。

首先应选择器件类型(E/EPROM、BPROM、SRAM、PLD或MCU),然后选择厂家和器件名,单击OK或双击器件名均可。

也可通过在Search(查找)编辑框中,键入器件名来选择。

装入文件

编程时要先装入数据到缓冲区。

可从磁盘装入或从母片中读取。

从文件读取

单击主屏幕中File(文件)菜单和Load下拉菜单,可装入文件到缓冲区。

在Search(搜寻)对话框中键入相应的文件夹和文件名,在随后出现的数据类型选择对话框中选取相应的文件格式,这样所选数据文件将自动装入。

请到缓冲区编辑窗口中检查数据是否正确。

从母片中读取数据

选择相应器件名并放置好母片,在主窗口中单击Run图标即弹出功能对话框。

单击Read功能项,它将芯片中的数据复制到缓冲区。

此时可进入缓冲区编辑窗口,检验数据是否正确。

这些数据可存盘,以备后需。

编程

放置好芯片后,单击Program图标,即开始编程,然后进行校验。

除非器件是新的,否则编程前需进行Blank-check(空检查)。

(非空器件请先擦除)

用户也可选择Auto功能一次完成所有操作。

在实验环境中,提供了SUPERPRO通用编程器使用说明书的电子文档“SUPERPRO编程器说明书.doc”,实验时可参考。

汇编和编译系统

ASM51汇编程序

QTH集成开发环境会根据需要调用ASM51汇编程序,而编写的汇编语言源程序必须符合汇编程序的要求,不同的汇编程序除了MCS51的指令有统一的格式,而其他的伪指令和控制语句会有所不同。

另外,汇编程序生成的目标程序,还需通过链接程序才能生成可执行的机器代码。

有关实验中使用的ASM51汇编程序和链接程序可参考相应的电子文档“ASM.PDF”,其中包括了:

操作数和表达式

汇编程序伪指令

汇编程序操作及控制

L51的使用方法

C-51编译程序

QTH集成开发环境会根据需要调用C编译程序,不同的编译程序除了C语言语句有统一的格式外,而控制指令和库函数会有所不同。

另外,编译程序生成的目标程序,还需通过链接程序才能生成可执行的机器代码。

有关实验中使用的C51编译程序可参考相应的电子文档“C51.PDF”,其中包括了:

FranklinC-51

C51编译器控制指令

C库函数

实验内容

实验一:

基本程序结构和简单I/O控制

实验目的

了解LJD-SY模块式实验系统的基本结构

熟悉QTH单片机仿真器的使用

了解汇编语言编写的应用程序结构

掌握简单I/O控制程序的编写

实验设备

开关量输入输出模块(LJD-SY-1)一

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

当前位置:首页 > 幼儿教育 > 幼儿读物

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

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