《单片微型计算机与接口技术》实验指导书_第1页
《单片微型计算机与接口技术》实验指导书_第2页
《单片微型计算机与接口技术》实验指导书_第3页
《单片微型计算机与接口技术》实验指导书_第4页
《单片微型计算机与接口技术》实验指导书_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

《单片微型计算机与接口技术》操作指导书

单片机软硬件仿真工具的使用

一、利用Keil进行软件仿真

(1)源文件的建立:启动^Vision软件,单击菜单【File】/【New】选项,在工程窗口右侧打开一个文本编辑窗

口。在该窗口内输入源程序并俣存,命名为“**.asm”。

(2)建立工程文件:选择菜单【Project】/【NewProject】选项,打开新建工程窗口,命名为“*”(此处文件名

不加后缀),单击【保存】按钮,在弹出的对话框中选择Atmel中的AT89c51芯片,单击【确定】按钮,在

左侧工程窗口文件页中选中uTarget1"中的"SourceGroup1”并右键单击,选中【AddFilestoGroup“Source

Group1”】,在弹出的对话框中找到“**.asm”文件,添加该文件。

(3)工程详细设置:选择菜单【Project】/【OptionsforTarget“Target1”工打开工程属性对话框进行属性设置,

在“Output”选项卡中选择“CreateHEXFile”。

(4)编译、连接:选择菜单【Project】/【Buildtarget】,系统即对当前工程进行编译、连接。若源程序中有错误,

在构造页里会有出错信息提示,若源程序正确,则会产生“**.HEX”及其他相关文件,用于Keil的仿真和

调试。

(5)调试:选择菜单【Debug】/【Start/StopDebugSession】,进入调试状态,分为单步运行与连馍运行。单击R}

可进行单步运行,箭头将按照指令的执行顺序依次下移,导航条深色部分表示已执行指令,灰色部分表示未

执行指令。单击{供,CPU将连续运行到子程序结束,箭头返回到断点位置.<>单击1},CPU将连续运行箭

头与光标之间的程序段。在程序开始调试前,连续单击小,将使CPU执行到子程序是自动连续运行

二、利用Proteus进行硬件仿真

(1)绘制原理图:在Isis编辑a窗口内绘制电路图,如卜图所示

s修

P3«m

fBiP3.WT0

-P32WTO

堂,Z?C

PZ«AU

告PZSOKG

-F2.WAQ

fi,2HMi

F22XO

,zwe

facpzae

porrnw

POAAOG

fcROSTA06

fc,0*03

,口方AOZ

PO.1CA01

..®,口gg

(2)装载“**.HEX”文件:鼠标左键双击原理图中的AT89c51单片机芯片,在弹出的对话框中“ProgramFile”

栏内输入欲装载的“**.HEX”文件的路径,然后单击【OK】按钮。

(3)仿真:成功装载“**.HEX”文件后,即可利用Proteus仿真工具栏中的图标进行仿真。

三、使用程序(例)

ORG0000H

LJMPMAIN

ORG1000H

MAIN:MOVA,#101010108;让Pl的LED隔个亮

MOVP1,A;把累加器A的内容从Pl口输出

END

•、流水灯

一、实验目的

I、了解单片机顺序执行的工作特点,

2、掌握单片机并行控制I/O口的基本方法。

3、掌握汇编语言的编写,及对I/O口的基本操作方法。

二、实验设备使用

计算机一台、单片机实验箱一台、Proteus软件、Keil软件。

三、实验基本原理

硬件原理图:

VCC

VCC

0

EAWPoPO,

138

>PO2

PO37

I_336

口PO4

P0

534

PO6

IIP0733

PO32

RJESA9

RESET

P2021

P2122

P2223

INTO

P2324

INTI

京P2425

TOP2326

T1P26

P2727

PIOA128

P1.0

PllA2

P1.1

P12A317

Pl.2

P13A416

Pl.3

P14A529

Pl.4»一

P15A630

Pl.5

P16A711

Pl.6

=~P17A8§

Pl.7

I

实验箱LED使用Pl口进行控制,低电平有效。

四、预习要求

1、I/O口并行操作方法的优点。

2、单片机延时程序的实现方式。

3、单片机汇编语言左右移动语句、逻辑运算语句的使用。

五、实验步骤

1、打开KeiL新建工程:学号-l.uv2。

2、参考实验程序,编写程序:让灯向左(即从Pl_0到Pl_7)做流水动作,生成:学号-l.hcx文件。

3、把学号-l.hex文件烧写到单片机,观察流水灯的现象。

4、修改程序让流水灯反向流动。

5、编写自己想要的流水方式。

六、实验程序及注释

1、程序流程图:2、程序清单及注释:

ORG0000H

LIMPMAIN

ORG1000H

MAIN:MOVA.#lllllliOB

LOOP:MOVPl,A;把累加器A的内容从PI口输出

LCALLDELAY:调用延时程序

RLA;把累加器A的内容循环左移

SJMPLOOP

DELAY:MOVR7,#50;延时Is子程序

DL1:MOVR6,#IOO

DL2:MOVR5,#100

DJNZR5,$

DJNZR6,DL2

DJNZR7,DL1

RET

END

七、思考问题及需掌握要点

1、左右移动语句的使用。

2、如果想让流水灯右移(即从Pl_7到P1_O)移动,程序应该怎么改?

3、有没有其它方法可以实现本实验的功能?

二、独立按键识别

一、实验目的

1、掌握单片机I/O口读写方法。

2、掌握独立按键的连接方法及使用,

3、掌握汇编语言的编写,及对I/O口的基本操作方法。

二、实验设备使用

计算机一台、单片机实验箱一台、Proteus软件、Keil软件。

三、实验基本原理

硬件原理图:

vcc

EA/VPoPOO

o

P0.1

XIP0.2

P0.3

P0.4

X2P0.5

P0.6

P0.7

RESETP2O

P21

NP22

TOP2

N3

T1。P2

SPEAKER

TnOP2

P2.4

P2,65

Q3

8550

P1.1.7

Pl.2RD

Pl3WR

Pl.4PSEN

Pl5ALE^

Pl6TXD

Pl.7RXD

电路采用PNP8550三极管驱动蜂鸣器,低电平有效。

因为单片机开机初始化瞬间,其I/O口为高电平,会有误响动作。

单片机的独立键盘使用的是P1口。

当有键按下时,P1口相应位为低电平。

四、预习要求

1、查找资料说明按键抖动的原因。

2、延时程序是怎么实现延时的?

五、实验步骤

1、打开Keil新建工程:学号211V2,

2、参考实验程序,编写程序:任意Key按下后让蜂鸣器响一声。生成:学号2hex文件。

3、打开下载软件,把学号-2.hex文件烧写到单片机,观察蜂鸣器现象。

4、修改程序将按键绑定在Pl」匕并每按•次按键让蜂鸣器响三声。

六、实验程序及注释

1、程序流程图:2、程序清单及注释:

ORG0000H

UMPMAIN

ORG1000H

MAIN:MOVPI,#OFFH

TEXTkMOVA,P1;读I/O口状态

CJNEA,#0FFH,TEXT2;有键闭合?

SJMPTEXT1

TEXT2:LCALLDIOms:延时10-20ms消除抖动

MOVA,Pl;再读I/O口状态

CJNEA,#0FFH,TEXT3;有键闭合?

SJMPTEXT1

TEXT3:MOVP2,#11101111B;让蜂呜器响

LCALLDis;响声延时l-2s

MOV关闭蜂鸣器

AJMPTEXTI

D10ms:MOVR7,#50:延时10-20ms

D1:MOVR6,#100

DJNZR6,$

DJNZR7,D1

RET

Dls:MOVR0,#50;延时l-2s

D2:MOVRL#100

D3:MOVR2,#100

DJNZR2,$

DJNZR1,D3

DJNZR0,D2

RET

END

七、思考问题及需掌握要点

1、单片机读写方式。

2、按键防抖动技术。

3、延时程序的使用方法。

4、对蜂鸣器的操作是读还是写操作?

三、静态显示技术

一、实验目的

1、掌握数码管与单片机的连接方法,

2、掌握段代码表的推算及数据表的使用方法。

3、掌握逻辑操作、控制转移指令的具体用法。

4、为动态扫描显示做准备。

二、实验设备使用

计算机一台、单片机实验箱一台、Proteus软件、Keil软件。

三、实验基本原理

硬件原理图:

采用共阴数码管,数码管的数据由单片机的P0口提供,单片机的P2口做位选通信号。

当P0口输出相应的数据,并且P2口输出对应的低电平,相应的数码管就被点亮。如:P0=0011iillB,

P2=01111111B,则数码管最低位显示0。

74LS573这里用于提高P0口的输出电流,驱动数码管显示,并有一定的隔离干扰的作用。

本实验只用到8位数码管的其中一位。

四、预习要求

1、静态显示的工作原理。

2、数码管内部结构、引脚定义及驱动。

3、读懂实验程序。

五、实验步骤

1、打开Keil新建工程:学号-3.uv2c

2、参考实验程序,编写程序:在数码管上最低位显示“1”。生成:学号-3.hex文件。

3、打开下载软件,把学号-3.hex文件烧写到单片机,观察实验现象。

4、修改程序,让数码管最低位由0~F显示。

六、实验程序及注释

1、程序流程图:LOOP:MOVP0,#06H;送“1”的字形

MOVP2,#7FH;送“1”的字/立

NOP

SJMPLOOP

END

(2)数码管最低位由。〜F显示

ORG0000H

UMPMAIN

ORG1000H

MAIN:MOVP0,#0FFH;初始化

MOVP2,#OFFH

START:MOVR0,#00H

MOVDPTR.#TAB

(1)数码管最低位显示“1”LOOP:MOVA.RO

MOVCA,@A+DPTR

MOVP0,A:送字形

MOVP2,#7FH;送字位

LCALLDELAY;延时

INCRO

CJNERO.#16.LOOP;0~F是否显示完?

AJMPSTART

DELAY:MOVR7,#50;延时l-2s

D2:MOVR6.#100

D3:MOVR5,#100

DJNZR5,$

DJNZR6.D3

DJNZR7,D2

RET

(2)数码管最低位由。~F显示TAB:DB3FH,06H,5BH.4FH

DB66H.6DH,7DH,07H

2、程序清单及注释:DB7FH,6FH,77H,7CH

(1)数码管最低位显示“1”DB39H,5EH,79H,7IH

ORG0000H

END

UMPMAIN

ORG1000H

MAIN:MOVP0,#()FFH;初始化

MOVP2,#OFFH

七、思考问题及需掌握要点

1、掌握数码管的使用方法,为动态显示做准备。

2、思考静态显示和流水灯的相同之处。

四、动态显示技术

一、实验目的

1、掌握动态显示技术。

2、掌握数码管与单片机的连接方法,

3、掌握段代码表的推算及数据表的使用方法。

4、掌握逻辑操作、控制转移指令的具体用法。

二、实验设备使用

计算机一台、单片机实验箱一台、Proteus软件、Keil软件。

三、实验基本原理

硬件原理图:

DS1DS2

oc

DPY7SEGDP4DPY.7SEG.DP.4

DPYDPYDPYDPYaDPYDPYDPYDPY

BB

1D为F

2D或T7«r~

3DTFDF-

4D4Q

及IFf匚

P05.A75D回i匚

6D6QTFG匚

P07T97D7Q

TFHAnOIzmr-

8D8Q叩RMWW

74LS573

P20.AN

KA

P2T2_A2-

P2H-

采用共阴数码管,数码管的数据由单片机的P0口提供,单片机的P2口做位选通信号。

当P0口输出相应的数据,并且P2口输出对应的低电平,相应的数码管就被点亮。如:P0=0011iillB,

P2=onimiB,则数码管最低位显示0。

74LS573这里用于提高P0口的输出电流,驱动数码管显示,并有一定的隔离干扰的作用。

四、预习要求

1、思考动态显本的工作原理。

2、各寄存器的使用。

3、读懂实验程序。

五、实验步骤

1、打开Keil新建工程:学号4uv2c

2、参考实验程序,编写程序:首先在数码管最高位连续显示0~9字段,其次在数码管次高位连续显示。~9字段,

依此类推。生成:学号-4.hex文件。

3、打开下载软件,把学号・4.hex文件烧写到单片机,观察实验现象。

4、修改程序,将自己的学号显示在数码管上。

六、实验程序及注释

1、程序流程图:2、程序清单及注释:

ORG0000H

LJMPMAIN

ORG0030H

MAIN:MOVPO,#OFFH;初始化

MOVP2,#OFFH

MOVRO,#OFEH;设置数码管最高位显示

START:MOVDPTR,#TAB;送数据表地址

MOVR1.#OOH;送数据表第一位数字序号

LOOP:MOVA,R1

MOVCA,@A+DPTR

MOVP0,A:送字形

MOVP2,R0;送字位

LCALLDELAY;延时

INCRI

CJNERI,#10,LOOP:0~9是否显示完?

MOVA.R0

RLA;数码管显示位移动

MOVR0,A

AJMPSTART

DELAY:MOVR7,#50;延时l-2s

D2:M0VR6,#I(X)

D3:M0VR5.#100

DJNZR5,$

DJNZR6,D3

DJNZR7,D2

RET

TAB:DB3FH,06H,5BH,4FH,66H

DB6DH.7DH,07H,7FH,6FH

END

七、思考问题及需掌握要点

1、数据表的调用方法。

2、数码管的使用方法。

3、利用定时/计数器实现延时,程序应该怎么写?

五、定时器运用

一、实验目的

1、掌握定时/计数器中断服务程序的编写方法。

2、掌握定时器初值及定时器的计算,

3、掌握单片机中断系统优先级别IP的设定。

二、实验设备使用

计算机一台、单片机实验箱一台、Proteus软件、Keil软件。

三、实验基本原理

硬件原理图:

VCC

039

FAAT

1no

po22T~一

XIpo36~

po3

4~PH

po34

X2po

-56

pohP12

po

RESETpo.7O

P221

m1~P13

▽223—

Ih▽324~

IbTUO

T1425—P14

TTlID

526—一

P6

1.2128P15

PpW2

13

P1.7-

WIQ17

P1罂R

P.J4N16P16

1-

P16

P1TXI/DP

PRXI11P17

1.7§DTo—-

四、预习要求

1、定时器中断服务程序的编程方法,

2、定时器的开启。

3、读懂实验程序。

五、实验步骤

1、打开Keil新建工程:学号-5.uv2c

2、参考实验程序,编写程序:开启定时器0产生一个1S的脉冲信号,并让P1」每秒取反一次。生成:学号-5.hex

文件。

3、打开下载软件,把学号-5.hex文件烧写到单片机,观察实验现象。

4、修改程序,使LED每2S闪烁一次。

5、开启定时器1,让LED每1S闪烁一次。

六、实验程序及注释

1、程序流程图:2、程序清单及注释:

ORGOO(X)H

温馨提示

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

评论

0/150

提交评论