单片机实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一单片机I/O口控制实验
一.实验目的
利用单片机的P1 口作IO 口,使同学学会利用P1 口作为输入和输出口。
二.实验设备
IBM PC 机一台
单片机仿真器、编程器、实验仪三合一综合开发平台一台
三.实验内容
1.编写一段程序,用P1 口作为控制端口,使D1 区的LED 轮流亮。
2.编写一段程序,用P1.0~P1.6 口控制LED,P1.7 控制LED 的亮和灭(P1.7 接按键,按下时LED 亮,不按时LED 灭) 。
四.实验要求
学会使用单片机的P1 口作IO 口,如果有时间同学也可以利用P3 口作IO 口来做该实验。
五.实验步骤
1.用导线把A2 区的J61 接口与D1 区的J52 接口相连。原理如图所示。
2.先编写一个延时程序。
3.将LED 轮流亮的程序编写完整并使用TKStudy ICE 调试运行。运行后LED轮流点亮。
4.使用导线把A2 区的J61 接口的P1.0~P1.6 与D1 区的 J52 接口的LED1~LED7 相连,另外A2 区J61 接口的P1.7 与D1 区的J53 的KEY1 相连。
5.编写P1.7 控制LED 的程序,并调试运行。(按下K1 看是否全亮)。
运行后按下P1.7LED全亮。
6.A2 区J61 接口的P1.7 与D1 区的J54 的SW1 相连。然后再使用TKStudy ICE 运行程序。运行后按下P1.7LED全亮。
六.实验程序
程序一:LED跑马灯
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN:
MOV A,#0FFH
CLR C
MAINLOOP:
CALL DELAY
RLC A
MOV P1,A
SJMP MAINLOOP
DELAY:
MOV R7,#0
LOOP:
MOV R6,#0
DJNZ R6,$
DJNZ R6,$
DJNZ R6,$
DJNZ R7,LOOP
RET
END
程序二:P1.7控制LED
ORG 000H
LJMP MAIN
ORG 0100H
MAIN:
JB P1.7,SETLED
CLRLED:
CLR P1.0
CLR P1.1
CLR P1.2
CLR P1.3
CLR P1.4
CLR P1.5
CLR P1.6
SJMP MAIN
SETLED:
SETB P1.0
SETB P1.1
SETB P1.2
SETB P1.3
SETB P1.4
SETB P1.5
SETB P1.6
SJMP MAIN
END
七.程序流程图
八.实验结果
1.程序一用到了RLC指令,该指令为循环指令,跑马灯为每9个周期构成的循环中,有一个周期是全灭。
2.按下K1时LED灯全亮,松开K1时LED灯全灭。
九.实验思考题
1.请同学思考一下,想出几个实现以上功能的编程方法。
程序1可利用定时计数器延时时间,在定时器产生的中断中A进行移位后输出至P1口。
程序2可在判断P1.7高低电平后根据判断结果直接将#80H或#7F直接送P1口。
2.请同学再思考一下,第二个程序中如果使用KEY1作为外部中断控制LED 的亮和灭时,程序应如何修改。
此时将KEY1接/INT0口,中断服务子程序控制LED亮灭。程序如下:ORG 0000H
LJMP MAIN
ORG 0003H ;中断服务程序
LJMP SETLED
MAIN:
MOV SP,#40H
SETB ET0 ;开外部中断
CLR IT0 ;设置为电平触发
SETB EA
CLRLED:
CLR P1.0
CLR P1.1
CLR P1.2
CLR P1.3
CLR P1.4
CLR P1.5
CLR P1.6
SJMP CLRLED
SETLED:
SETB P1.0
SETB P1.1
SETB P1.2
SETB P1.3
SETB P1.4
SETB P1.5
SETB P1.6
RETI
END
实验结果:按下K1时LED灯全亮,松开K1时LED灯全灭。
实验二串转并的I/O口实验
一.实验目的
熟悉并掌握串转并的I/O口扩展方法。
二.实验设备
IBM PC 机一台
单片机仿真器、编程器、实验仪三合一综合开发平台一台
三.实验内容
1.写程序,通过单片机的P1口控制74HC164的串行输入端口,实现串并转换。2.验证串并转换数据的正确性。
四.实验要求
熟悉串并转换芯片的工作原理,学会使用串并转换芯片扩展单片机的I/O
口资源。
74HC164真值表
五.实验步骤
1.短接C5区JP10借口,将C5区J43接口与A2区J61接口的P10~P13对应相连,如图所示: