单片机实验-单片机并行 IO 口的应用实验(3页)Good is good, but better carries it.精益求精,善益求善。单片机并行 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 以秒速率循环右移 蜂鸣器逐位报警*/ ORG0000H MAIN:MOVA, #11111110B;赋初值 LOOP:MOVP1,A ;赋值给 P1 口 CPL P3.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)LED0~LED7 以十六进制计数规律亮灯*/ORG0000HMOVA,#0FFHLOOP:MOVP1,ALCALLDELAYDECACJNE A,#0FFH,LOOPMOVA,#0FFHLJMP LOOP DELAY:MOVR7,#0A7H LOOP1:MOV R6,#0ABH LOOP2:MOV R5,#10H DJNZ R5,$ ;"$"当前的 PC 值。R5 的内容减 1 不为零 DJNZR6,LOOP2 DJNZR7,LOOP1 RET END…(?>|—》《#)`,[#:。^}—"【:::~}—【《?