资源描述
单片机并行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)LED0LED7以秒速率循环右移 蜂鸣器逐位报警*/ ORG0000H MAIN:MOVA, #11111110B;赋初值 LOOP:MOVP1,A ;赋值给P1口 CPLP3.0 ;低电平有效 LCALLDELAY ;调用延时电路 SETBP3.0 ;控制蜂鸣器叫的时间间隔 LCALLDELAY RLA LJMPLOOP DELAY:MOVR7,#0FFH LOOP1:MOVR6,#0F4H LOOP2:MOV R5,#02H DJNZ R5,$ ;$当前的PC值,R5的内容减1不为零,继续执行该语句 DJNZR6,LOOP2 DJNZR7,LOOP1 RET END/*(2)LED0LED7以十六进制计数规律亮灯*/ORG0000HMOVA,#0FFHLOOP:MOVP1,ALCALLDELAYDECACJNEA,#0FFH,LOOPMOVA,#0FFHLJMPLOOP DELAY:MOVR7,#0A7H LOOP1:MOV R6,#0ABH LOOP2:MOV R5,#10H DJNZ R5,$ ;$当前的PC值。R5的内容减1不为零 DJNZR6,LOOP2 DJNZR7,LOOP1 RET END
展开阅读全文