单片机原理实验指导书.docx

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

单片机原理实验指导书.docx

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

单片机原理实验指导书.docx

单片机原理实验指导书

 

《单片机原理》

实验指导书

 

张毅刚何谨孙震

 

哈尔滨工业大学

 

2005年4月

 

目录

序1

实验1单片机实验开发系统操作实验2

实验2单片机数据区传送程序设计4

实验3数据排序实验6

实验4查找相同数个数8

实验5P1口转弯灯实验10

实验6工业顺序控制13

实验78255控制交通灯16

实验8A/D转换实验19

实验9D/A转换实验22

实验10电子时钟(定时器、中断综合实验)26

附录1Dais-80958B单片机实验开发系统简介36

附录2实验开发系统的字形/字位/键值表37

一、实验素养和一般知识

1.实验前准备工作

(1)明确实验目的、熟悉实验内容、掌握实验步骤、了解所用单片机实验开发系统及仪器设备的性能。

(2)做好实验前预习和必要的准备(先编好程序),作到有的放矢。

2.进入实验室后

(1)熟悉所用的单片机实验开发系统及仪器设备,了解其外观、性能。

(2)接线要简单、正确、明了,一个人接线,另一个人检查,经老师复查后允许后才可通电。

(3)通电瞬间,应注意仪器是否正常工作,不要只看开关,如有不正常现象,应立即断电找出原因。

(4)不允许自带光盘和软盘上机,违反者取消实验资格!

(指导教师允许情况除外)。

3.实验进行时

(1)正常请况下,按规定步骤进行,读取数据,并及时纪录。

(2)各种操作要有目的进行,不可盲动。

(3)实验完后,经老师察看或签字,并把仪器、导线、工具清理、收拾完毕后,学生签到方可离开实验室。

二、实验报告内容和要求

1.实验报告要用学校统一的纸。

2.实验内容应包括,是实验目的、设备、原理、步骤简述、原始数据、结果和分析以及程序清单等。

3.每个实验后的思考题必须完成。

4.对实验中发现的问题应加以讨论,并提出自己的改进意见和要求、希望等。

 

实验1单片机实验开发系统操作实验

一、实验目的和要求

1.掌握汇编语言的设计和调试。

2.熟悉Dais-80958B微机实验开发系统调试软件的应用。

二、实验设备

1.Dais-80958B单片机实验开发系统一套

2.WD990微机专用电源一台

3.PC机一套

三、实验线路及使用仪器

1.实验连接图

Dais-80958B单片机实验开发系统与PC机的连接如下图所示。

2.Dais-80958B单片机开发系统组成及功能

单片机实验开发系统自带32个键的键盘和6位LED数码管。

系统有两种工作方式:

独立运行的单板机工作方式以及与PC通过串行口相连的串行监控工作方式。

(1)独立运行的样板机工作方式

无需任何设备,利用开发系统上的单片机、监控程序、键盘和LED数码管,自构成一台样板机独立运行。

(2)串行监控工作方式

通过RS-232C串行口与PC机的串行口相连,以PC机为操作平台,配合系统操作软件,适用于PC机的系统编程和调试界面。

实验开发系统提供以Windows98操作平台的在线仿真调试软件包。

支持汇编语言(ASM51)及高级语言(PL/M51、C51)源程序级及反汇编窗口式调试环境,该仿真软件具有:

编辑、汇编、连接、反汇编、开观察窗口、单点跟踪、设置断点、全速/非全速运行、系统设置、程序固化等功能,具有查看SFR、内部RAM、外部RAM等选项。

四、实验开发系统的使用

1.按实验线路接好线后,检查无误在指导教师允许下才可通电。

先打开电源+5V,主机板上的六位LED显示器最左边一位出现提示符“P”,表明系统正常。

否则应立即关掉电源!

!

!

2.80958B主机板通电后,不允许在上面放置任何物品,特别是金属物!

(因集成芯片或线路引起短路损坏设备)。

五、实验步骤

1.Dais-80958B接好线后,电源线红色接+5V,黑色接地。

先打开电源,出现提示符“P”,表明该系统工作正常。

2.打开PC机电源,正常工作后,在显示器的桌面上点击快捷图标“MCS-51仿真开发系统“,进入Dais-MCS-51仿真开发系统的调试平台。

3.源文件的建立和打开:

(1)选菜单栏文件/新文件或者工具栏新文件,出现源文件编辑窗口,输入程序S1。

(2)选文件/存储(或另存),要求输入文件名,同时保存类型选*.asm。

文件名按下面要求写:

1P26S1

一班学号文件名

保存路经为:

D盘,然后单击保存即可。

(3)编译源文件,选菜单栏/编译、连接、装载或者工具栏“!

”,弹出“装载完毕OK”,根据编译结果的错误提示,修正源程序S1,直至成功。

此时可以关闭“编译结果”和源文件编辑窗口。

(4)出现“当前模块:

1P26S1”,同时打开菜单栏视图/调试、寄存器、存储空间,然后可以选主菜单/窗口或者工具栏/XX窗口;整理平台视野。

4.调试和运行程序S1

(1)“当前模块:

1P26S1”中“小手光标”位置是PC指针所在,“寄存器”中显示当前各寄存器中的内容。

“数据存储区”中地址用右键选显示地址,“输入数据”为十六进制2000,确认后调试。

(2)首先单步运行,选主菜单/调试/单步运行或者选工具栏单步运(F7)。

运行一个循环,观察相关的寄存器和存储区的变化。

(3)运用连续运行和设断点运行。

工具栏/为连续运行,在“当前模块”中鼠标出现“小手”时点击,“红色手”即为断点位置。

5.记录下数据区2000H~20FFH中,在执行程序S1前后的内容变化。

六、实验内容

程序S1的参考程序如下:

 

机器代码汇编语言注释

ORG0000H

7800SE01:

MOVR0,#00H;

902000MOVDPTR,#2000H;

E4L001:

CLRA;

F0MOVX@DPTR,A;

A3INCDPTR;

08INCR0;

B800F9CJNER0,#00H,L001;

80FELOOP:

SJMPLOOP;

END

七、思考题

1.程序S1的功能是什么?

画出S1程序框图,并写出注释。

2.把2000H~20FFH中内容改成FF,如何修改程序S1?

3.把3000H~20FFH中内容改成AA,如何修改程序S1?

4.程序S1中指令:

“CJNER0,#00H,L001”的作用是什么?

实验2单片机数据区传送程序设计

一、实验目的

1.进一步掌握汇编语言程序设计和调试方法。

2.了解单片机RAM中的数据操作。

二、实验设备

1.Dais-80958B单片机实验开发系统一套

2.WD990微机专用电源一台

3.PC机一套

三、实验线路

同实验1。

四、实验内容

1.要求:

编写程序把R2、R3源RAM区首地址内的R6、R7字节数据传送到R4、R5目的地址的RAM区。

2.框图如下,文件名为:

XXXXS2

班级学号

 

五、实验步骤

1.打开电源,PC机开机正常工作后,进MCS-51仿真开发系统调试平台,编译源文件S2成功。

(详细过程同实验1的步骤1~3)

2.在R2、R3中输入源地址(例如:

0000H),R4、R5中输入目的地址(例如2000H),R6、R7中输入字节数(例如:

1FFFH)。

3.查看RAM区0000~1FFFH和2000~3FFFH内容,也可自己重新赋值。

4.运行程序XXXXS2,首先单步,然后用自动单步,最后用连续运行方式。

5.记录下运行结果,检查0000~1FFFH中内容是否和2000~3FFFH内容完全一致。

六、要求

1.写出自己编写的程序,并写出原理性注释。

2.将检查程序运行的结果,分析一下是否正确。

七、思考题

如果使0000~1000H中内容与2000~3000H内容完全一致,如何来改写程序?

八、参考程序

ORG0100H

8B82SE22:

MOVDPL,R3

8A83MOVDPH,R2;建立源程序首址

E0MOVXA,@DPTR;取数

8D82MOVDPL,R5

8C83MOVDPH,R4;目的地首址

F0MOVX@DPTR.A;传送

BBFF01CJNER3,#OFFH,LO42

0AINCR2

0BLO42:

INCR3;源地址加1

BDFF01CJNER5,#0FFH,L043

OCINCR4

ODLO43:

INCR5;目的地址加1

BF0006CJNER7,#00H,LO44

BE0006CJNER6,#00H,LO45;字节数减1

80FESJMP$

00NOP

1FLO44:

DECR7

80E0SJMPSE22

1FLO45:

DECR7

1EDECR6

80DCSJMPSE22;未完继续

END

实验3数据排序实验

一、实验目的

熟悉MCS-51指令系统,掌握数据排序程序的设计方法。

二、实验设备

1.Dais-80958B微机实验开发系统一套

2.WD990微机专用电源一台

3.PC机一套

三、实验线路

同实验1。

四、实验内容

1.编写并调试一个排序程序,其功能为用冒泡法(参见单片机教材84页)将RAM中几个单字节无符号的正整数,按从小到大的次序重新排列。

程序框图如下:

 

五、实验步骤

1.编写程序XXXXS3,满足程序要求,在CPU内部的RAM50H~5AH中放入不等的数据。

2.运行该程序后检查50H~5AH内容是否按从小到大排列,结果记录下表中:

RAM

状态

50

51

52

53

54

55

56

57

58

59

5A

运行前内容

运行后内容

六、思考题

修改程序S3,将50H~5AH中内容按从大到小排列,并且记录下程序运行前后的结果,分析是否正确。

七、参考程序

ORG0300H

7B50QUE:

MOVR3,#50H

EBQUE1:

MOVA,R3;指针送R0

F8MOVR0,A

7F0AMOVR7,#0AH;长度送R7

C200CLR00H;标志位为0

E6MOVA,@R0

08QL2:

INCR0

FAMOVR2,A

C3CLRC

8622MOV22H,@R0;取后数

B52201CJNEA,22H,QL3;相等吗?

D3SETBC

EAQL3:

MOVA,R2

4006JCQL1;大于则交换位置

D200SETB00H

C6XCHA,@R0

18DECR0

C6XCHA,@R0

08INCR0;大于则交换位置

E6QL1:

MOVA,@R0

DFEBDJNZR7,QL2

2000E1JB00H,QUE1;一次循环中有交换继续

80FESJMP$;无交换退出

END

实验4查找相同数个数

一、实验目的

熟悉汇编语言编程

二、实验内容

在2000~200FH中查出有几个字节是零,把零的个数放在2100H中。

三、程序框图

 

 

四、实验步骤

在2000~200FH的几个单元中填入零,运行本程序后检查2100H单元中的数是否与2000~200FH中零的个数相同。

五、思考

在1000~100FH的几个单元中填入8H,检查8H的个数,并填入1100H单元中,如何来修改程序?

六、参考程序

ORG0AA0H

0AA07810L5800:

MOVR0,#10H;查找16个字节

0AA27900MOVR1,#00H

0AA4902000MOVDPTR,#2000H

0AA7E0L5811:

MOVXA,@DPTR

0AA8B40001CJNEA,#00H,L5816;取出内容与00H相等吗?

0AAB09INCR1;取出个数加1

0AACA3L5816:

INCDPTR

0AADD8F8DJNZR0,L5811;未完继续

0AAF902100MOVDPTR,#2100H

0AB2E9MOVA,R1

0AB3F0MOVX@DPTR,A;相同数个数送2100H

0AB480FEL581E:

SJMPL581E

END

实验5P1口转弯灯实验

一、实验目的

进一步了解P1口的使用,学习汇编语言编程方法与调试技巧。

二、实验内容

P1.0开关接5V时,右转弯灯闪亮,P1.1开关接5V时左转弯灯闪亮。

P1.0、P1.1开关同时接5V或接地时,转弯灯均不闪亮。

三、程序框图

四、实验电路

五、实验步骤

P1.0接K1,P1.1接K2,P1.4~P1.7分别接L1、L5、L9、L13,连续运行本程序,应看到转弯灯正确闪亮,在用单步方式调试本程序时需修改延时子程序,(例如可把延时程序第一个字节改成返回指令22H),以便观察。

六、参考程序

ORG0C30H

0C307590EFPX00:

MOVP1,#0FFH;初始化

0C33E590PX03:

MOVA,P1

0C35F5F0MOVB,A

0C375403ANLA,#03H

0C39B40126CJNEA,#01H,PX01;满足只是P1.0为高条件吗?

0C3C200012JB00H,PX04;闪烁标志位

0C3FC294CLRP1.4

0C41C295CLRP1.5;开右灯

0C43D296SETBP1.6

0C45D297SETBP1.7;关左灯

0C477A20MOVR2,#20H

0C49120213LCALLDELY;延时

0C4CD200SETB00H;置标志位

0C4E020C33LJMPPX03;继续查状态

0C51D294PX04:

SETBP1.4

0C53D295SETBP1.5

0C55D296SETBP1.6;关灯

0C57D297SETBP1.7

0C597A20MOVR2,#20H

0C5B120213LCALLDELY;延时

0C5EC200CLR00H;清标志位

0C608133AJMPPX03;继续查状态

0C62B40227PX01:

CJNEA,#02H,PX02;满足只是P1.1为高条件

;吗?

0C65200112JB01H,PX05;判标志位

0C68D294SETBP1.4

0C6AD295SETBP1.5;开左灯

0C6CC296CLRP1.6

0C6EC297CLRP1.7;关右灯

0C707A20MOVR2,#20H;延时

0C72120213LCALLDELY

0C75D201SETB01H;置标志位

0C77020C33LJMPPX03;继续查状态

0C7AD294PX05:

SETBP1.4

0C7CD295SETBP1.5

0C7ED296SETBP1.6;关灯

0C80D297SETBP1.7

0C827A20MOVR2,#20H

0C84120213LCALLDELY;延时

0C87C201CLR01H;清标志位

0C89020C33LJMPPX03;继续查状态

0C8CD294PX02:

SETBP1.4

0C8ED295SETBP1.5

0C90D296SETBP1.6;关灯

0C92D297SETBP1.7

0C94020C33LJMPPX03;继续

ORG0213H

0213C002DELY:

PUSH02H

0215C002DEL2:

PUSH02H

0217C002DEL3:

PUSH02H;延时

0219DAFEDEL4:

DJNZR2,DEL4

021BD002POP02H

021DDAF8DJNZR2,DEL3

021FD002POP02H

0221DAF2DJNZR2,DEL2

0223D002POP02H

0225DAECDJNZR2,DELY

022722RET

END

实验6工业顺序控制

一、实验目的

掌握工业顺序控制程序的简单编程,中断的使用。

二、实验预备知识

在工业控制中,象冲压、注塑、轻纺、制瓶等生产过程,都是一些继续生产过程,按某种顺序有规律的完成预定的动作,对这类继续生产过程的控制称顺序控制,象注塑机工艺过程大致按“合模

注射

延时

开模

产伸

产退”顺序动作,用单片机最易实现。

三、实验内容

8031的P1.0~P1.6控制注塑机的七道工序,现模拟控制七只发光二极管的点亮,低电平有效,设定每道工序时间转换为延时,P3.4为开工启动开关,高电平动作。

P3.3为外部故障输入模拟开关,低电平报警,P1.7为报警声音输出,设定6道工序只有一位输出,第七道工序三位有输出。

四、程序框图

五、实验电路

六、实验步骤

按实验电路图接好连线。

执行程序,把K1接到高电平,观察发光二极管点亮情况,确定工序执行是否正常,然后把K2置为低电平,看是否有声音报警,恢复中断1,报警停,又从刚才报警时一道程序执行下去。

可以单步、单步跟踪,非全速断点、全速断点、连续执行功能调试软件,直到符合程序设计要求为止。

七、思考

修改程序,使每道工序中有多位输出。

八、参考程序

ORG0190H

019075907FPO10:

MOVP1,#7FH

019343B000ORLP3,#00H

019630B4FDPO11:

JNBP3.4,PO11;开工吗?

019943A884ORLIE,#84H

019C43B801ORLIP,#01H

019F75D000MOVPSW,#00H;初始化

01A2758153MOVSP,#53H

01A575907EPO12:

MOVP1,#7EH;第一道工序

01A831F1ACALLPO1B

01AA75907DMOVP1,#7DH;第二道工序

01AD31F1ACALLPO1B

01AF75907BMOVP1,#7BH;第三道工序

01B231F1ACALLPO1B

01B4759077MOVP1,#77H;第四道工序

01B731F1ACALLPO1B

01B975906FMOVP1,#6FH;第五道工序

01BC31F1ACALLPO1B

01BE75905FMOVP1,#5FH;第六道工序

01C131F1ACALLPO1B

01C375900FMOVP1,#0FH;第七道工序

01C631A5ACALLPO12

01C880DBSJMPPO12

01CA8AF0PO16:

MOVB,R2;保护现场

01CC75907FPO17:

MOVP1,#7FH;关输出

01CF7520A0MOV20H,#0A0H;振荡次数

01D2D297PO18:

SETBP1.7;振荡

01D431ECACALLPO1A;延时

01D6C297CLRP1.7;停振

01D831ECACALLPO1A;延时

01DAD520F5DJNZ20H,PO18;不为0转

01DDC297CLRP1.7

01DF31ECACALLPO1A;停振

01E130B3E8JNBP3.3,PO17;故障消除吗?

01E4AAF0MOVR2,B;恢复现场

01E632RETI

01E77A10PO19:

MOVR2,#10H

01E95113ACALLDELY;延时1

01EB22RET

01EC7A06PO1A:

MOVR2,#06H

01EE5113ACALLDELY;延时2

01F022RET

01F17A30P01B:

MOVR2,#30H

01F35113ACALLDELY;延时3

01F522RET

ORG0213H

0213C002DELY:

PUSH02H

0215C002DEL2:

PUSH02H

0217C002DEL3:

PUSH02H

0219DAFEDEL4:

DJNZR2,DEL4

021BD002POP02H

021DDAF8DJNZR2,DEL3

021FD002POP02H

0221DAF2DJNZR2,DEL2

0223D002POP02H

0225DAECDJNZR2,DELY

022722RET

END

实验78255控制交通灯

一、实验目的

进一步了解8255芯片的结构及编程方法,学习模拟交通控制的实现方法。

二、实验内容

用8255作输出口,控制12个发光二极管燃灭,模拟交通灯管理。

三、程序框图

四、实验电路

 

五、实验步骤

8255的PA0~PA7、PB0~PB3接发光二极管L15~L13、L11~L9、L7~L5、L3~L1。

执行程序,初始态为四个路口的红灯全亮之后,东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车,延时一段时间后东西路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北路口方向开始通车,延时一段时间后,南北路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,再切换到东西路口方向,之后重复以上过程。

六、参考程序

ORG0BB0H

0BB0758160JOD0:

MOVSP,#60H

0BB390FFDBMOVDPTR,#0FFDBH

0BB67488MOVA,#88H

0BB8F0MOVX@DPTR,A;8255初始化

0BB990FFD8MOVDPTR,#0FFD8H

OBBC74B6MOVA,#0B6H

0BBEF0MOVX@DPTR,A

0BBFA3INCDPTR

0BC0740DMOVA,#0DH

0BC2F0MOVX@DPTR,A;点亮4个红灯

0BC37A25MOVR2,#25H;延时

0BC5120213

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

当前位置:首页 > 自然科学 > 物理

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

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