1、单片机并行IO口的应用实验单片机并行IO口的应用实验1、实验目的 1、熟悉Proteus软件和Keil软件的使用方法 。 2、熟悉单片机应用电路的设计方法 。 3、掌握单片机并行I/O口的直接应用方法 。 4、掌握单片机应用程序的设计和调试方法。 二、设计要求 1、用Proteus软件画出电路原理图。要求在P1.0至P1.7口线上分别接 LED0至LED7八个发光二极管,在P3.0口线上接一蜂鸣器。 2、编写程序:要求LED0至LED7以秒速率循环右移。 3、编写程序:要求LED0至LED7以秒速率循环左移。 4、编写程序:要求在灯移动的同时,蜂鸣器逐位报警。三、实验程序流程框图和程序清单 延
2、时程序流程框图: 实验程序流程框图: 汇编程序: ORG 0000H MOV A, #11111110B MOV P3, #0FFHMAIN : MOV R0, #07H LOOP1: LCALL DELAY MOV P3, A RL A CLR P2.0 LCALL DELAY SETB P2.0 DJNZ R0, LOOP1 MOV R0, #07H LOOP2: LCALL DELAY MOV P3, A RR A CLR P2.0 LCALL DELAY SETB P2.0 DJNZ R0, LOOP2 LJMP MAIN DELAY: MOV R7, #17H DL1: MOV R6
3、, #98H DL0: MOV R5, #46H DJNZ R5, $ DJNZ R6, DL0 DJNZ R7, DL1 RET ENDC语言程序:#include#include unsigned char temp; int i; void delay(void); sbit speaker=P20; void main() temp=0xfe; P3=temp; while(1) for(i=0;i7;i+) temp=_crol_(temp,1); speaker=0; delay(); speaker=1; delay(); P3=temp; for(i=0;i0;c-) for(
4、b=171;b0;b-) for(a=16;a0;a-); _nop_; 四:电路原理图:五:实验结果1. 2. 3. 4. 5. 6. 7. 8. 9. 10.11. 12.13. 14. 15. 16. 六、实验总结通过本次实验,我复习了Proteus软件的使用方法,学习了更多的对KEIL的调试方法,对keil和Proteus的使用更加熟悉了,通过用Proteus软件画图,熟悉了单片机电路基本的设计方法,掌握了单片机并行I/O口的直接应用方法,对子程序的调用左移、右移指令可以灵活的运用,同时对keil产生的HEX型的文件的有了新的认识和应用7、思考题1、编程实现LED0至LED7以十六进制
5、计数规律亮灯 ? 程序设计流程框图如下:汇编实验程序: ORG 0000HMAIN: MOV P3, #256 MOV A, #0FFHLOOP: MOV P3, A CLR P2.0 LCALL DELAY SETB P2.0 LCALL DELAY DEC A LJMP LOOP DELAY: MOV R7, #17H DL1: MOV R6, #98H DL0: MOV R5, #46H DJNZ R5, $ DJNZ R6, DL0 DJNZ R7, DL1 RET END C语言程序: #include#includeunsigned char temp; int i; void delay(void); sbit speaker=P31;void main() P3=0X00; temp=0xFF; while(1) for(i=0;i0;c-) for(b=171;b0;b-) for(a=16;a0;a-); _nop_; 结果如下图所示:1. 2. 3. 4.5. 6.7. 8.9. 10.11. 12.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1