单片机实验二1.docx

上传人:b****1 文档编号:15211028 上传时间:2023-07-02 格式:DOCX 页数:20 大小:296.88KB
下载 相关 举报
单片机实验二1.docx_第1页
第1页 / 共20页
单片机实验二1.docx_第2页
第2页 / 共20页
单片机实验二1.docx_第3页
第3页 / 共20页
单片机实验二1.docx_第4页
第4页 / 共20页
单片机实验二1.docx_第5页
第5页 / 共20页
单片机实验二1.docx_第6页
第6页 / 共20页
单片机实验二1.docx_第7页
第7页 / 共20页
单片机实验二1.docx_第8页
第8页 / 共20页
单片机实验二1.docx_第9页
第9页 / 共20页
单片机实验二1.docx_第10页
第10页 / 共20页
单片机实验二1.docx_第11页
第11页 / 共20页
单片机实验二1.docx_第12页
第12页 / 共20页
单片机实验二1.docx_第13页
第13页 / 共20页
单片机实验二1.docx_第14页
第14页 / 共20页
单片机实验二1.docx_第15页
第15页 / 共20页
单片机实验二1.docx_第16页
第16页 / 共20页
单片机实验二1.docx_第17页
第17页 / 共20页
单片机实验二1.docx_第18页
第18页 / 共20页
单片机实验二1.docx_第19页
第19页 / 共20页
单片机实验二1.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

单片机实验二1.docx

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

单片机实验二1.docx

单片机实验二1

 

单片机实验

(一)

 

姓名:

吕贺

班级:

信科11-1

学号:

08113533

日期:

2013.12.20

 

实验一单片机I/O口应用实验

一、实验目的

1、掌握单片机P3口、P1口简单使用。

2、学习延时程序的编写和使用。

二、实验内容

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

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

三、实验说明

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

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

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

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

对于延时的程序

DELAY:

MOVR6,#00H

DELAY1:

MOVR7,#80H

DJNZR7,$

DJNZR6,DELAY1

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

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

四、实验原理图

图2-1-1

五、实验接线示意图

六、实验程序框图

 

七、实验步骤

1、P3.3用插针连至K1,P1(P1.0~P1.7)用8芯线连至JL(L0~L7)。

2、调试、运行程序test1中的MCUIO.ASM。

3、开关K1每拨动一次,L0~L7发光二极管按16进制方式加一点亮。

八、实验代码

ORG0000h

AJMPHA1S

ORG0030H

HA1S:

MOVA,#00H

HA1S1:

JBP3.3,HA1S1

MOVR2,#20H

LCALLDELAY

JBP3.3,HA1S1

HA1S2:

JNBP3.3,HA1S2

MOVR2,#20H

LCALLDELAY

JNBP3.3,HA1S2

INCA

PUSHACC

MOVP1,A

POPACC

AJMPHA1S1

DELAY:

PUSH02H

DELAY1:

PUSH02H

DELAY2:

PUSH02H

DELAY3:

DJNZR2,DELAY3

POP02H

DJNZR2,DELAY2

POP02H

DJNZR2,DELAY1

POP02H

DJNZR2,DELAY

RET

END

九、实验体会

这次虽然不是第一次用汇编语言编程,但是对其还是没有很深的印象,以至于刚开始时可以说错误百出,甚至是一些非常低级的错误。

实验中写程序的时候,总是对某些指令不熟悉,然后不断地去翻书,这反映出对指令的不熟悉

 

实验二单片机I/O口应用实验

一、实验目的

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

二、实验预备知识

在工业控制中,像冲压、注塑、轻纺、制瓶等生产过程,都是一些断续生产过程,按某种程序有规律地完成预定的动作,对这类断续生产过程的控制称顺序控制,例:

注塑机工艺过程大致按“合模→注射→延时→开模→产伸→产退”顺序动作,用单片机最易实现。

三、实验内容

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

P3.3为外故障输入模拟开关,P3.3为0时不断告警,P1.7为报警声音输出。

注意:

实验说明

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

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

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

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

五、实验原理图

图2-2-1

六、接线示意图

 

图2-2-2

七、实验程序框图

图2-2-3

七、实验步骤

1、P3.4连K1,P3.3连K2,P1.0~P1.6分别连到L0~L6,P1.7连SIN(在音频发生器区域,该区域中一跳线器连在LB位置)。

2、K1开关拨在上面,K2拨在上面。

3、调试、运行程序test2中的GYSX.ASM。

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

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

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

八、实验代码

ORG0000H

AJMP0030H

ORG0013H

LJMPHA2S3

ORG0030H

HA2S:

MOVP1,#0fFH

ORLP3,#00H

HA2S1:

JBP3.4,HA2S1

ORLIE,#84H

ORLIP,#04H

MOVPSW,#00H

MOVSP,#53H

HA2S2:

MOVP1,#081H

ACALLHA2S7

MOVP1,#082H

ACALLHA2S7

MOVP1,#084H

ACALLHA2S7

MOVP1,#088H

ACALLHA2S7

MOVP1,#090H

ACALLHA2S7

MOVP1,#0A0H

ACALLHA2S7

MOVP1,#0C0H

ACALLHA2S7

SJMPHA2S2

HA2S3:

MOVB,R2

HA2S5:

SETBP1.7

ACALLHA2S6

CLRP1.7

ACALLHA2S6

JNBP3.3,HA2S5

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

九、实验体会

本次实验利用单片机模拟了注塑机工艺过程:

按“合模→注射→延时→开模→产伸→产退”顺序动作。

体会到了利用汇编程序编写顺序结构的程序的方法,同时我们有利用单片机的中断资源,体会到中断资源适合用在实际应用中的哪些地方。

实验三并行I/O接口8255应用

一、实验目的

了解8255芯片的结构及编程方法。

二、实验内容

用8255的PA口做输入口,PB口做输出口,控制PA口状态从PB口输出显示。

三、实验说明

通过PA口接8个开关K1~K8,PB口接8个发光二极管,从PA口读入8位开关的状态送PB口显示,拨动K1~K8,PB口上接的8个发光二极管L0~L7对应显示K1~K8的状态。

四、实验接线图

图2-3-1

图2-3-2

五、实验程序框图

六、实验步骤

1、8255芯片的PA(PA0~PA7)插座用8芯线连接开关JK(K1~K8)。

2、8255芯片的PB(PB0~PB7)连接发光二极管JL(L0~L7)。

3、8255芯片的片选CS_8255插孔接译码输出Y0。

4、调试、运行程序test3中8255.ASM。

拨动开关,相对应的发光二极管显示其状态。

七、实验代码

org0000h

ajmpmain

org0030h

main:

movsp,#60h

movdptr,#8003h

mova,#90h

movx@dptr,a

m:

movdptr,#8000h

movxa,@dptr

lcalldelay

movdptr,#8001h

movx@dptr,a

lcalldelay

ajmpm

delay:

movr6,#00h

djnzr6,$

ret

end

八、实验体会

本次实验我们利用了8255芯片和51单片机实现了通过开关控制8个led小灯的亮灭。

学习巩固了8255芯片的编程方法和使用规范。

实验四简单I/O口扩展实验

一、实验目的

学习在单片机系统中扩展简单I/O口的基本方法。

二、实验内容

MCS—51外部扩展空间很大,但数据总线口和控制信号的负载能力是有限的,若需要扩展的芯片较多,则MCS—51总线口负载过重,74LS244是一个输入扩展口,同时也是一个单向驱动器,以减轻总线负担。

74LS273作为同向输出口,控制8个发光二极管的亮灭。

三、实验原理图

图2-4-1

四、实验接线示意图

图2-4-2

五、实验程序框图

 

六、实验步骤

1、74LS244的输入端PI0~PI7接JK(K1~K8),74LS273的输出端PO0~PO7接JL(L0~L7),CS_244接Y2,CS_273接Y3。

2、调试、运行程序test4中的IO.ASM。

3、拨动K1~K8,观察L0~L7点亮情况。

七、实验代码

ORG0H

AJMP0030H

ORG0030H

HA3S:

MOVSP,#60H;?

MOVDPTR,#0a000H

MOVXA,@DPTR

MOVR2,#02H

LCALLDELAY

MOVDPTR,#0b000H

MOVX@DPTR,A

MOVR2,#02H

LCALLDELAY

nop

SJMPHA3S

DELAY:

PUSH02H

DELAY1:

PUSH02H

DELAY2:

PUSH02H

DELAY3:

DJNZR2,DELAY3

POP02H

DJNZR2,DELAY2

POP02H

DJNZR2,DELAY1

POP02H

DJNZR2,DELAY

RET

END

八、实验体会

经过这几次对汇编语言的使用,慢慢的发现掌握了汇编语言的应用。

不在像刚开始那样错的那么离谱。

这次实验中我学习了在单片机系统中扩展简单I/O口的基本方法。

MCS—51外部扩展空间很大,但数据总线口和控制信号的负载能力是有限的,若需要扩展的芯片较多,则MCS—51总线口负载过重,74LS244是一个输入扩展口,同时也是一个单向驱动器,以减轻总线负担。

74LS273作为同向输出口,控制了8个发光二极管的亮灭。

实验虽然简单,但是其意义是巨大的,它给我们提供了一种扩展io口的方法,以增加单片机的负载能力。

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

当前位置:首页 > 经管营销 > 经济市场

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

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