单片机实验-单片机并行IO口的应用实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档