单片机实验-单片机并行IO口的应用实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机并行I/O口的应用实验
一、实验目的
1、熟悉Proteus软件和Keil软件的使用方法。
2、熟悉单片机应用电路的设计方法。
3、掌握单片机并行I/O口的直接应用方法。
4、掌握单片机应用程序的设计和调试方法。
二、实验内容或原理
1、利用单片机并行I/O口控制流水灯。
2、利用单片机并行I/O口控制蜂鸣器。
三、设计要求
1、用Proteus软件画出电路原理图。要求在P1.0至P1.7口
线上分别接LED0至LED7八个发光二极管,在P3.0口线上
接一蜂鸣器。
2、编写程序:要求LED0至LED7以秒速率循环右移。
3、编写程序:要求LED0至LED7以秒速率循环左移。
4、编写程序:要求在灯移动的同时,蜂鸣器逐位报警。
四、实验报告要求
1、实验目的和要求。
2、设计要求。
3、实验程序流程框图和程序清单。
4、电路原理图。
5、实验结果
6、实验总结。
7、思考题。
五、思考题
1、编程实现LED0至LED7以十六进制计数规律亮灯?
原理图:
程序清单:
/*(1)LED0~LED7以秒速率循环右移
蜂鸣器逐位报警*/
ORG 0000H
MAIN:MOV A, #11111110B;赋初值
LOOP:MOV P1,A ;赋值给P1口
CPL P3.0 ;低电平有效
LCALL DELAY ;调用延时电路
SETB P3.0 ;控制蜂鸣器叫的时间间隔
LCALL DELAY
RL A
LJMP LOOP
DELAY:MOV R7,#0FFH
LOOP1:MOV R6,#0F4H
LOOP2:MOV R5,#02H
DJNZ R5,$ ;"$"当前的PC值,R5的内容减1不为零,继续执行该语句
DJNZ R6,LOOP2
DJNZ R7,LOOP1
RET
END
/*(2)LED0~LED7以十六进制计数规律亮灯*/
ORG 0000H
MOV A,#0FFH
LOOP: MOV P1,A
LCALL DELAY
DEC A
CJNE A, #0FFH,LOOP
MOV A, #0FFH
LJMP LOOP
DELAY:MOV R7, #0A7H
LOOP1:MOV R6, #0ABH
LOOP2:MOV R5, #10H
DJNZ R5, $ ;"$"当前的PC值。R5的内容减1不为零
DJNZ R6, LOOP2
DJNZ R7, LOOP1
RET
END