实验指导书单片机.docx

上传人:b****3 文档编号:5472011 上传时间:2022-12-16 格式:DOCX 页数:27 大小:595.31KB
下载 相关 举报
实验指导书单片机.docx_第1页
第1页 / 共27页
实验指导书单片机.docx_第2页
第2页 / 共27页
实验指导书单片机.docx_第3页
第3页 / 共27页
实验指导书单片机.docx_第4页
第4页 / 共27页
实验指导书单片机.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

实验指导书单片机.docx

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

实验指导书单片机.docx

实验指导书单片机

 

《单片机原理》

实验指导书

徐迎曦张松灿

河南科技大学电子信息工程学院

自动化系

2007年4月

目录

前言......................................................1

试验一清零程序.........................................2

试验二拆字程序..........................................4

试验三拼字程序..........................................6

试验四数据区传送子程序..................................8

试验五数据排序程序.....................................10

实验六8031单片机P3、Pl口应用.........................12

实验七工业顺序控制器...................................14

实验八并行接口芯片8255应用............................18

实验九8279键盘、显示实验...........................22

附录DVCC实验装置及实验系统说明..........................27

前言

《单片机原理及应用》课程不仅是自动化专业的专业课,还是计算机应用等非电专业的选修课。

由于单片机具有良好的控制性能和灵活的嵌入品质,单片机在各种领域都得到了极为广泛的使用,这也使我们必须学好这门课程。

《单片机原理及应用》课程的主要内容包括单片机的结构、时序、指令系统与程序设计、中断系统、定时器/计数器、存储器扩展、接口技术(包括用户界面技术、串行通信技术、A/D及D/A转换接口技术)、开发系统的组成和功能等。

在学习本课程的过程中,只有通过上机做实验,能够更好地激发学生的学习兴趣,才能使学生真正掌握单片机原理、工作方式。

本课程实验要求学生通过对各部分实验的具体操作练习,使学生通过实验能够加深对MCS—51单片机以及扩展电路的理解,更全面地掌握MCS—51单片机的基本知识以及单片机扩展技术。

学生应认真阅读《单片机原理及应用》教材中的与实验相关的章节内容,提前做好实验预习,做到在每个实验前明确实验目的、掌握实验的基本内容及操作方法;在实验中正确使用实验设备,认真观察、分析实验结果;实验后要根据要求做好总结,上交实验报告。

这些实验都是在基于启动计算机厂的DVCC系列实验仪和试验系统的基础上编写的,实验教材也是以此为蓝本编写的。

实验一软件类清零程序

一、实验目的

(一)通过本实验了解和熟悉单片机实验装置和实验系统的使用,掌握如何在实验系统中编写汇编程序,如何编译、调试程序,如何使用各种程序运行方式,并能够分析程序运行的结果。

(二)掌握如何在实验系统中观察单片机各个寄存器的状态、数据区数据的查看。

(三)掌握汇编语言程序设计特点、调试方法与技巧。

二、预习要求

(一)熟悉实验软件环境和程序调试方法。

(二)复习DPTR作间接寻址用时的方法。

三、实验内容

编写程序把8031单片机存储器2000H~20FFH地址单元的内容全部清零。

四、算法流程

图1-1

五、参考程序

ORG0640H

SE01:

MOVR0,#00H

MOVDPTR,#2000H

LOO1:

CLRA

MOVX@DPTR,A

INCDPTR

INCR0

CJNER0,#00H,LOO1

LOOP:

SJMPLOOP

END

六、思考题

(一)程序LOO1中指令“INCDPTR”的作用是什么?

(二)指令“CJNER0,#00H,LOO1”中的CJNE如果改为DJNZ,程序该如何实现?

七、实验报告要求

(一)实验报告要用学校统一的纸。

(二)实验内容应包括,实验题目、实验目的、实验原理、步骤简述、实验调试过程中出现的问题、结果和分析以及程序清单并给程序做注释。

(三)每个实验后的思考题必须完成。

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

实验二软件类拆字程序

一、实验目的

掌握汇编语言设计和调试方法。

二、预习要求

(一)熟悉实验软件环境和程序调试方法。

(二)熟悉逻辑运算指令的运用及外部存储器的访问方法。

三、实验内容:

把单片机存储器2000H地址单元的内容拆开,高位送2001H低位,低位送2002H低位,2001H、2002H高位清零,一般本程序用于把数据送显示缓冲区时用。

四、参考算法

图2-1

五、参考程序

ORG0660H

SE02:

MOVDPTR,#2000H

MOVXA,@DPTR

MOVB,A

SWAPA

ANLA,#0FH

INCDPTR

MOVX@DPTR,A

INCDPTR

MOVA,B

ANLA,#0FH

MOVX@DPTR,A

LOOP:

SJMPLOOP

END

六、思考题

对比程序执行前后存储器2001H、2002H地址单元内容的变化情况。

并记录2001H、2002H单元内容的变化情况。

七、实验报告要求

(一)实验报告要用学校统一的纸。

(二)实验内容应包括,实验题目、实验原理、实验目的、步骤简述、试验调试过程中出现的问题、结果和分析以及程序清单并给程序做注释。

(三)每个实验后的思考题必须完成。

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

 

实验三软件类拼字程序

一、实验目的

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

二、预习要求

(一)熟悉实验软件环境和程序调试方法。

(二)熟悉逻辑运算指令,外部数据存储器的访问方法。

三、实验内容

把2000H、2001H的低位分别送入2002H高低位,一般本程序用于把显示缓冲区的数据取出拼装成一个字节。

四、参考算法

图3-1

五、参考程序

ORG0680H

MOVDPTR,#2000H

MOVXA,@DPTR

ANLA,#0FH

SWAPA

MOVB,A

INCDPTR

MOVXA,@DPTR

ANLA,#0FH

ORLA,B

INCDPTR

MOVX@DPTR,A

END

六、思考题

对比程序执行前后存储器2000H、2001H、2002H地址单元内容的变化情况。

并记录2000H、2001H、2002H单元内容的变化情况。

七、实验报告要求

(一)实验报告要用学校统一的纸。

(二)实验内容应包括,实验题目、实验原理、实验目的、步骤简述、试验调试过程中出现的问题、结果和分析以及程序清单并给程序做注释。

(三)每个实验后的思考题必须完成。

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

 

实验四软件类数据区传送子程序

一、实验目的

掌握RAM中的数据操作。

二、预习要求

(一)熟悉实验软件环境和程序调试方法。

(二)进一步熟悉外部数据存储器的访问方法和堆栈指针的应用。

三、实验内容

把R2、R3源RAM区首址内的R6、R7个字节数据,传送到R4、R5目的RAM区。

四、参考算法

图4-1

五、参考程序

ORG07B0H

SE22:

MOVDPL,R3

MOVDPH,R2

MOVXA,@DPTR

MOVDPL,R5

MOVDPH,R4

MOVX@DPTR,A

CJNER3,#0FFH,LO42

INCR2

LO42:

INCR3

CJNER5,#0FFH,LO43

INCR4

LO43:

INCR5

CJNER7,#00H,LO44

CJNER6,#00H,LO45

LOOP:

SJMPLOOP

NOP

LO44:

DECR7

SJMPSE22

LO45:

DECR7

DECR6

SJMPSE22

END

六、思考题

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

七、实验报告要求

(一)实验报告要用学校统一的纸。

(二)实验内容应包括,实验题目、实验原理、实验目的、步骤简述、试验调试过程中出现的问题、结果和分析以及程序清单并给程序做注释。

(三)每个实验后的思考题必须完成。

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

实验五软件类数据排序实验

一、实验目的

熟悉MCS-51指令系统,掌握汇编语言程序设计方法。

二、预习要求

(一)熟悉实验软件环境和程序调试方法。

(二)熟悉外部数据存储器的访问方法和显示程序的编写方法。

三、实验内容

编写并调试一个排序子程序,其功能为用冒泡法将内部RAM中几个单字节无符号的正整数,按从小到大的次序重新排列。

四、参考算法

图5-1

五、实验程序

ORG09B0H

QUE:

MOVR3,#50H

QUE1:

MOVA,R3

MOVR0,A

MOVR7,#0AH

CLR00H

MOVA,@R0

QL2:

INCR0

MOVR2,A

CLRC

MOV22H,@R0

CJNEA,22H,QL3

SETBC

QL3:

MOVA,R2

JCQL1

SETB00H

XCHA,@R0

DECR0

XCHA,@R0

INCR0

QL1:

MOVA,@R0

DJNZR7,QL2

JB00H,QUE1

LOOP:

SJMPLOOP

END

六、思考题

编一程序,把50H—5AH中内容按从大到小排列。

七、实验报告要求

(一)实验报告要用学校统一的纸。

(二)实验内容应包括,实验题目、实验原理、实验目的、步骤简述、试验调试过程中出现的问题、结果和分析以及程序清单并给程序做注释。

(三)每个实验后的思考题必须完成。

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

 

试验六硬件类8031单片机P3、Pl口应用

一、实验目的

(一)掌握P3口、P1口简单使用。

(二)学习延时程序的编写和使用。

二、预习要求

(一)认真阅读实验指导书,明确本次实验的目的、方法与步骤,并进行必要的记录。

(二)熟悉并行口做输入输出时的用法,分析脉冲输入的电路原理。

(三)预习延时子程序的设计方法及如何确定延时的时间。

三、实验内容

1、P3.3口做输入口线,外接一脉冲输入,每输入一个脉冲,P1口按十六进制加一。

2、P1口做输出口,编写程序,使P1口接的8个发光二极管L1—L8按16进制加一方式点亮发光二极管。

3、实验电路

图6-1

四、实验说明

1、P1口是准双向口,它作为输出口时与一般的双向口使用方法相同,由准双向口结构可知:

当P1口作为输入口时,必须先对它置高电平,使内部MOS管截止,因内部上拉电阻是20KΩ—40KΩ,故不会对外部输入产生影响。

若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。

2、延时子程序的延时计算问题。

对于延时程序

DELAY:

MOVR6,#00H

DELAY1:

MOVR7,#80H

DJNZR7,$

DJNZR6,DELAY1

查指令表可知MOV、DJNZ指令均需用两个机器周期,而一个机器周期时间长度为12/6.0MHZ,所以该段指令执行时间为:

((80+1)×256+1)×2×(12÷6000000)=132.1ms

五、实验步骤

1P3.3用插针连至K1,P1.0—P1.7用插针连至L1—L8。

2开关K1每拨动一次,L1—L8发光二极管按16进制方式加一点亮。

3编译、运行、调试自己所编写的程序,并检验结果。

六、思考题

如果开关K1每拨动一次,L1-L8八个发光管轮流点亮,应该怎么实现?

七、实验报告要求

(一)实验报告要用学校统一的纸。

(二)实验内容应包括,实验题目、实验原理、实验目的、步骤简述、试验调试过程中出现的问题、结果和分析以及程序清单并给程序做注释。

(三)每个实验后的思考题必须完成。

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

试验七硬件类工业顺序控制器

一、实验目的

(一)掌握单片机开发系统的使用。

(二)掌握工业顺序控制程序的简单编程、中断的使用。

二、预习要求

(一)认真阅读实验指导书,明确本次实验的目的、方法与步骤,并进行必要的记录。

(二)熟悉工业顺序控制程序的设计思路,预习中断子程序的设计方法及在汇编语言中如何实现。

三、实验内容

(一)实验原理:

在工业控制中,象冲压、注塑、轻纺、制瓶等生产过程,都是一些断续生产过程,这些过程又都是按照某种顺序有规律地执行预定的动作,对这类生产过程的控制称为顺序控制。

例如:

注塑机要生产一个工件,其工艺流程大致按“合模-注射-延时-开模-产伸-产迟”等时间顺序动作。

这种顺序动作采用微机是很容易实现的。

本试验就是以控制注塑机为例而设计的典型控制试验。

(二)实验内容:

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

P3.3为外故障输入模拟开关,P3.3为0时不断告警。

P1.7为报警声音输出,设定6道工序只有一位输出,第七道工序三位有输出。

(三)实验电路(见下页)

四、实验说明

实验中用外部中断0,编中断服务程序的关键是:

(一)保护进入中断时的状态,并在退出中断之前恢复进入的状态。

(二)必须在中断程序中设定是否允许中断重入,即设置EX0位。

一般中断程序进入时应保护PSW、ACC以及中断程序使用但非其专用的寄存器,本实验中未涉及。

五、实验步骤

①P3.4连K1,P3.2连K2,P1.0—P1.6分别连到L1—L7,P1.7连SIN(电子音响输入端)。

②K1开关拨在上面,K2拨在上面。

③用连续方式从起始地址0580H开始运行程序(输入0580后按EXEC键),此时应在等待开工状态。

④K1拨至下面(显低电平),各道工序应正常运行。

图7-1

⑤K2拨至下面(低电平),应有声音报警(人为设置故障)。

⑥K2拨至上面(高电平),即排除故障,程序应从刚才报警的那道工序继续执行。

六、工业顺序控制程序

ORG0003H

LJMPHA2S3

ORG0580H

HA2S:

MOVP1,#07FH

ORLP3,#00H

HA2S1:

JNBP3.4,HA2S1

ORLIE,#85H

ORLIP,#04H

MOVPSW,#00H

MOVSP,#53H

HA2S2:

MOVP1,#01H

ACALLHA2S7

MOVP1,#02H

ACALLHA2S7

MOVP1,#04H

ACALLHA2S7

MOVP1,#08H

ACALLHA2S7

MOVP1,#10H

ACALLHA2S7

MOVP1,#20H

ACALLHA2S7

MOVP1,#40H

ACALLHA2S7

SJMPHA2S2

HA2S3:

MOVB,R2

HA2S4:

MOVP1,#00H

MOV20H,#0A0H

HA2S5:

SETBP1.7

ACALLHA2S6

CLRP1.7

ACALLHA2S6

DJNZ20H,HA2S5

CLRP1.7

ACALLHA2S6

JNBP3.2,HA2S4

MOVR2,B

RETI

HA2S6:

MOVR2,#06H

ACALLDELAY

RET

HA2S7:

MOVR2,#30H

ACALLDELAY

RET

DELAY:

PUSH02H

DELAY1:

PUSH02H

DELAY2:

PUSH02H

DELAY3:

DJNZR2,DELAY3

POP02H

DJNZR2,DELAY2

POP02H

DJNZR2,DELAY1

POP02H

DJNZR2,DELAY

RET

END

七、思考题

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

八、实验报告要求

(一)实验报告要用学校统一的纸。

(二)实验内容应包括,实验题目、实验原理、实验目的、步骤简述、试验调试过程中出现的问题、结果和分析以及程序清单并给程序做注释。

(三)每个实验后的思考题必须完成。

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

 

实验八硬件类并行接口芯片8255应用

一、实验目的

1、掌握可编程I/O接口芯片8255的结构及编程方法

2、熟悉对8255初始化编程和输入,输出软件的设计方法。

3、学习模拟交通灯控制的实现方法。

二、预习要求

1、认真阅读实验指导书,明确本次实验的目的、方法与步骤,并进行必要的记录。

2、熟悉8255接口芯片的特点及工作原理及能够根据需要编写8255的初始控制字。

三、实验内容

1、用8255做输出口,控制十二个发光二极管燃灭,模拟交通灯管理。

2、实验电路

图8-1

四、实验说明

因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化情况和规律。

假设一个十字路口为东西南北走向。

初始状态0为东西红灯,南北红灯。

然后转状态1东西绿灯通车,南北红灯。

过一段时间转状态2,东西绿灯灭,黄灯闪烁几次,南北仍然红灯。

再转状态3,南北绿灯通车,东西红灯。

过一段时间转状态4,南北绿灯灭,闪几次黄灯,延时几秒,东西仍然红灯。

最后循环至状态1。

五、实验步骤

(一)8255PC0—PC7、PB0—PB3依次接发光二极管L1—L12。

(二)以连续方式从0630H开始执行程序,初始态为四个路口的红灯全亮之后,东西路口的绿灯亮南北路口的红灯亮,东西路口方向通车。

延时一段时间后东西路口的绿灯熄灭,黄灯开始闪耀。

闪耀若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北路口方向开始通车,延时一段时间后,南北路口的绿灯熄灭,黄灯开始闪耀。

闪耀若干次后,再切换到东西路口方向,之后重复以上过程。

六、实验程序

ORG0600H

HA4S:

MOVSP,#60H

MOVDPTR,#0FF2BH

MOVA,#80H

MOVX@DPTR,A

MOVDPTR,#0FF29H

MOVA,#49H

MOVX@DPTR,A

INCDPTR

MOVA,#49H

MOVX@DPTR,A

MOVR2,#25H

LCALLDELAY

HA4S3:

MOVDPTR,#0FF29H

MOVA,#08H

MOVX@DPTR,A

INCDPTR

MOVA,#61H

MOVX@DPTR,A

MOVR2,#55H

LCALLDELAY

MOVR7,#05H

HA4S1:

MOVDPTR,#0FF29H

MOVA,#04H

MOVX@DPTR,A

INCDPTR

MOVA,#51H

MOVX@DPTR,A

MOVR2,#20H

LCALLDELAY

MOVDPTR,#0FF29H

MOVA,#00H

MOVX@DPTR,A

INCDPTR

MOVA,#41H

MOVX@DPTR,A

MOVR2,#20H

LCALLDELAY

DJNZR7,HA4S1

MOVDPTR,#0FF29H

MOVA,#03H

MOVX@DPTR,A

INCDPTR

MOVA,#0cH

MOVX@DPTR,A

MOVR2,#55H

LCALLDELAY

MOVR7,#05H

HA4S2:

MOVDPTR,#0FF29H

MOVA,#02H

MOVX@DPTR,A

INCDPTR

MOVA,#8aH

MOVX@DPTR,A

MOVR2,#20H

LCALLDELAY

MOVDPTR,#0FF29H

MOVA,#02H

MOVX@DPTR,A

INCDPTR

MOVA,#08H

MOVX@DPTR,A

MOVR2,#20H

LCALLDELAY

DJNZR7,HA4S2

LJMPHA4S3

DELAY:

PUSH02H

DELAY1:

PUSH02H

DELAY2:

PUSH02H

DELAY3:

DJNZR2,DELAY3

POP02H

DJNZR2,DELAY2

POP02H

DJNZR2,DELAY1

POP02H

DJNZR2,DELAY

RET

END

七、思考题

如果在各灯亮的同时显示倒计时时间该如何实现?

八、实验报告要求

(一)实验报告要用学校统一的纸。

(二)实验内容应包括,实验题目、实验目的、实验目的、步骤简述、试验调试过程中出现的问题、结果和分析以及程序清单并给程序做注释。

(三)每个实验后的思考题必须完成。

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

 

实验九硬件类8279键盘、显示实验

一、实验目的

(一)掌握8031系统中,扩展8279键盘显示接口的方法。

(二)掌握8279工作原理和编程方法。

二、预习要求

(一)熟悉8279接口芯片的特点及工作原理能够根据需要编写8255的初始控制字。

(二)预习如何编写键盘的识别程序和数码管的显示程序。

三、实验内容

(一)在外接的键盘功能板上,按数字键,数码管上应相应能显示按下的数字,按下功能键,能相应执行其它功能程序。

(二)实验电路

图9-1

四、实验说明

利用8279可以实现对键盘/显示器的自动扫描,以减轻CPU负担,具有显示稳定,程序简单,不会出现误动作等特点。

本实验利用8279实现显示扫描自动化。

五、实验步骤

①将DVCC实验系统上J8插座与键盘显示板用扁平电缆相连。

②将KEY区D0—D7用8芯排线连到BUS2区XD0—XD7上。

③将KEY区WR、RD、ALE分别连到BUS3区XWR、XRD、ALE上。

④KEY区A0连到BUS1区XA0上。

⑤KEY区RST连到MP区SP上。

⑥KEY区KCS连

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

当前位置:首页 > 医药卫生 > 基础医学

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

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