单片机实验报告93467Word文档下载推荐.docx

上传人:b****5 文档编号:20942423 上传时间:2023-01-26 格式:DOCX 页数:15 大小:342.22KB
下载 相关 举报
单片机实验报告93467Word文档下载推荐.docx_第1页
第1页 / 共15页
单片机实验报告93467Word文档下载推荐.docx_第2页
第2页 / 共15页
单片机实验报告93467Word文档下载推荐.docx_第3页
第3页 / 共15页
单片机实验报告93467Word文档下载推荐.docx_第4页
第4页 / 共15页
单片机实验报告93467Word文档下载推荐.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

单片机实验报告93467Word文档下载推荐.docx

《单片机实验报告93467Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《单片机实验报告93467Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。

单片机实验报告93467Word文档下载推荐.docx

LED跑马灯

ORG0000H

LJMPMAIN

ORG0100H

MAIN:

MOVA,#0FFH

CLRC

MAINLOOP:

CALLDELAY

RLCA

MOVP1,A

SJMPMAINLOOP

DELAY:

MOVR7,#0

LOOP:

MOVR6,#0

DJNZR6,$

DJNZR7,LOOP

RET

END

程序二:

P1.7控制LED

ORG000H

LJMPMAIN

JBP1.7,SETLED

CLRLED:

CLRP1.0

CLRP1.1

CLRP1.2

CLRP1.3

CLRP1.4

CLRP1.5

CLRP1.6

SJMPMAIN

SETLED:

SETBP1.0

SETBP1.1

SETBP1.2

SETBP1.3

SETBP1.4

SETBP1.5

SETBP1.6

七.程序流程图

八.实验结果

1.程序一用到了RLC指令,该指令为循环指令,跑马灯为每9个周期构成的循环中,有一个周期是全灭。

2.按下K1时LED灯全亮,松开K1时LED灯全灭。

九.实验思考题

1.请同学思考一下,想出几个实现以上功能的编程方法。

程序1可利用定时计数器延时时间,在定时器产生的中断中A进行移位后输出至P1口。

程序2可在判断P1.7高低电平后根据判断结果直接将#80H或#7F直接送P1口。

2.请同学再思考一下,第二个程序中如果使用KEY1作为外部中断控制LED的亮和灭时,程序应如何修改。

此时将KEY1接/INT0口,中断服务子程序控制LED亮灭。

程序如下:

ORG0000H

LJMPMAIN

ORG0003H;

中断服务程序

LJMPSETLED

MOVSP,#40H

SETBET0;

开外部中断

CLRIT0;

设置为电平触发

SETBEA

CLRP1.0

CLRP1.1

CLRP1.2

CLRP1.3

CLRP1.4

CLRP1.5

CLRP1.6

SJMPCLRLED

RETI

实验结果:

按下K1时LED灯全亮,松开K1时LED灯全灭。

 

实验二串转并的I/O口实验

熟悉并掌握串转并的I/O口扩展方法。

1.写程序,通过单片机的P1口控制74HC164的串行输入端口,实现串并转换。

2.验证串并转换数据的正确性。

熟悉串并转换芯片的工作原理,学会使用串并转换芯片扩展单片机的I/O口资源。

74HC164真值表

1.短接C5区JP10借口,将C5区J43接口与A2区J61接口的P10~P13对应相连,如图所示:

2.运行程序,完成串并转换。

3.使用C2区的逻辑笔或D1区的J52接口(LED指示灯)测试并行输出数据Q0~Q7数据的正确性。

LED亮灭情况与传输数据相同。

程序:

CLKEQUP1.0

DINAEQUP1.1

DINBEQUP1.2

CLR164EQUP1.3

MOVSP,#60H

NOP

CLRCLK

SETBDINB

CLRCLR164

SETBCLR164

MOVA,#0AAH

MOVR4,#08H

SLCHG:

RLCA

MOVDINA,C

SETBCLK

DJNZR4,SLCHG

SJMP$

;

END

七.实验结果

实验中观察到1、3、5、7LED灯亮,同时2、4、6、8LED灯灭。

八.实验思考题

参考电路图,尝试编写软件程序,实现8位LED流水灯的控制。

可利用定时计数器延时时间,在定时器产生的中断中A进行移位后输出,程序如下:

CLKEQUP1.0

DINAEQUP1.1

DINBEQUP1.2

CLR164EQUP1.3

ORG0000H

LJMPMAIN

ORG000BH;

定时器0中断服务程序

LJMPSLCHG

MOVSP,#60H

NOP

CLRCLK

SETBDINB

CLRCLR164

SETBCLR164

MOVA,#0FFH

MOVTMOD,#01H;

定时器0工作方式1

MOVTH0,#18H;

送2ms时间常数

MOVTL0,#0FCH

SETBTR0;

开中断

SETBET0

SETBEA

SJMP$

MOVTH0,#18H

MOVDINA,C

SETBCLK

NOP

CLRCLK

RETI

END

实验三继电器控制实验

加深理解继电器的工作原理和特点,掌握利用单片机的I/O口控制继电器的一般方法。

1.利用D1区的拨动开关和LED,学习继电器的工作原理和特点。

2.编写一段程序,用P1.0口控制继电器,继电器控制LED的亮和灭(COM与CLOSE连通时,一盏LED亮;

不连通时该LED灭。

COM与OPEN连通时,另一盏LED亮,不通时该LED灭)。

学会继电器的使用和利用单片机的I/O口控制继电器的方法。

1.短接JP7,连接J54接口的SW1与J9接口的KJ。

2.使用导线把D1区J52接口的LED1、LED2与C7区J103接口的OPEN1,CLOSE1分别相连,另外C7区J103接口的COM1接地(GND)。

3.接好线后,同学可以拨动D1区的SW1拨动开关,观察现象(拨到1时LED2亮,拨到0时LED1亮),并得出结论。

运行程序后拨到1时LED2亮,拨到0时LED1亮。

4.然后把C7区J9接口的KJ改接到A2区的J61接口的P10。

再编写一个程序程序(参考实验二),使P1.0口延时一段时间后改变电平值,来控制继电器的开关。

运行程序后,LED交替点亮,继电器交替开关。

ORG00F0H

MOVR7,#0

DJNZR6,$

DJNZR7,LOOP

CPLP1.0

SJMPMAIN

拨动开关后,继电器会对应开关,使得两个LED循环被点亮,两个LED灯循环被点亮,周期为1s。

1.请同学思考一下,改由OPEN2、COM2、CLOSE2时本实验如何进行。

把D1区J52接口的LED1、LED2与C7区J103接口的OPEN2,CLOSE2分别相连,另外C7区J103接口的COM2接地(GND)即可。

2.请同学再思考一下,继电器的用途,并举例说明。

继电器是一种电控制器件,是当输入量(激励量)的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器。

它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。

通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种“自动开关”。

故在电路中起着自动调节、安全保护、转换电路等作用。

实验四定时/计数器验证实验

熟悉定时/计数器T0的特点,学会合理选择定时方式并能根据具体情况结合软件的方式定时。

用AT89C52单片机的定时/计数器T0产生1s的定时时间作为秒计数时间,当1s产生时秒计数加一,秒计数到60时,自动从零开始。

要求采用PROTEUS软件实现上述实验。

1.打开ProteusISIS编辑环境,按照表中元件清单添加元件。

元件名称

所属类

所属子类

AT89C51

Microprocessor

8051Family

CAP

Capacitors

Generic

CAP-ELEC

CRYSTAL

Miscellaneous

——

RES

Resistors

7SEG-COM-CAT-GRN

Optoelectronics

7-SegmentDisplays

PULLUP

ModelingPrimitives

Digital[Miscellaneous]

添加元件后,在编辑区连接硬件电路如下:

2.在Keil中编写程序并与PROTEUS联合调试。

3.运行程序可以看到7段数码管显示0~59s的计数值,每个数值显示1s。

SECONDEQU30H

COUNTEQU31H

ORG00H

LJMPSTART

ORG0BH

LJMPINT_T0

START:

MOVSECOND,#00H

MOVCOUNT,#00H

MOVDPTR,#TABLE

CLRA

MOVP0,A

MOVP2,A

MOVTMOD,#00H

MOVTH0,#(65536-50000)/256

MOVTL0,#(65536-50000)MOD256

SETBTR0

MOVIE,#82H

LJMP$

INT_T0:

MOVTH0,#(65536-50000)/256

INCCOUNT

MOVA,COUNT

CJNEA,#20,I2

INCSECOND

MOVA,SECOND

CJNEA,#60,I1

MOVSECOND,#00H

I1:

MOVB,#10H

DIVAB

MOVCA,@A+DPTR

MOVA,B

I2:

TABLE:

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

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

七.实验思考题

1.罗列一下Proteus软件的能带给我们的好处,指出一点最能帮助你的地方。

使用Proteus软件进行单片机系统仿真设计,是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力;

在单片机课程学习时,使用Proteus软件,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。

实践证明,在使用Proteus进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。

通过简单的查找和拖动就能完成画完一幅原理图,上手容易。

2.用Proteus界面中的播放键运行仿真与KeilμVision4的环境中联调运行它们两者的区别在什么地方?

答:

区别在于点Proteus界面中的播放键运行仿真可以观察运行结果,是在Proteus虚拟的硬件系统中运行程序,Keil的环境中联调运行是在真实的硬件中运行程序且可以查看各寄存器和存储器的状况。

3.Keil软件仿真与proteus的仿真对比。

Keil软件仿真可以独立完成仿真,但只能通过联调调试与硬件电路连接进行仿真,操作复杂,不直观,且真实硬件电路的故障会干扰对系统设计问题的判断。

Proteus不能独立进行仿真,但可以绘制电路原理图,并通过与Keil软件相连进行仿真,方便直观,便于发现系统设计的问题。

感谢下载!

欢迎您的下载,资料仅供参考

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

当前位置:首页 > 高中教育 > 高考

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

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