1 / 27

实验三、单片机 I/O 及外部中断实验 一、实验目的 1 .学习 P1 、 P3 口作为基本 I/O 口的使用方法,掌握对发光二极管和继电器的程序控制方法;

实验三、单片机 I/O 及外部中断实验 一、实验目的 1 .学习 P1 、 P3 口作为基本 I/O 口的使用方法,掌握对发光二极管和继电器的程序控制方法; 2 .学习在单片机系统中扩展简单 I/O 接口的方法,学习模拟交通灯控制的方法; 3 .掌握外部中断技术的基本使用方法和中断处理程序的编程方法。 二 . 实验仪器 : 1 .仿真教学实验机( 5196ET ) 一台 2 .直流稳压电源( DF 1731 SB 3A ) 一台 3 . PC 机 一台. 三、实验内容 1 、 P1 口做输出口实验

oni
Download Presentation

实验三、单片机 I/O 及外部中断实验 一、实验目的 1 .学习 P1 、 P3 口作为基本 I/O 口的使用方法,掌握对发光二极管和继电器的程序控制方法;

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 实验三、单片机I/O及外部中断实验 一、实验目的 1.学习P1、P3口作为基本I/O口的使用方法,掌握对发光二极管和继电器的程序控制方法; 2.学习在单片机系统中扩展简单I/O接口的方法,学习模拟交通灯控制的方法; 3.掌握外部中断技术的基本使用方法和中断处理程序的编程方法。 二.实验仪器: 1.仿真教学实验机(5196ET) 一台 2.直流稳压电源(DF 1731 SB 3A) 一台 3.PC机 一台

  2. 三、实验内容 1、P1口做输出口实验 (1)实验要求:P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。 (2)电路及连线如下:

  3. (4)P1.0~P1.7接DL1.~DL8,运行程序TP1A,观察现象。(4)P1.0~P1.7接DL1.~DL8,运行程序TP1A,观察现象。 TP1A程序: ORG 0000H LJMP START ORG 0040H START: MOV SP,#60H MOV A,#01H ROTATE: MOV P1,A ;点亮一个LED RL A ;循环右移 LCALL DELAY ;延时 NOP SJMP ROTATE

  4. DELAY: ;延时子程序(1秒) MOV R0,#0AH DELAY1: MOV R1,#00H DELAY2: MOV R2,#0B2H DJNZ R2,$ DJNZ R1,DELAY2 DJNZ R0,DELAY1 RET END

  5. (5)修改程序TP1A,使指示灯左循环。 (6)*修改程序TP1A,使指示灯两两右循环。 (7)*修改程序TP1A,使指示灯从两边向中间循环。 (8)*修改程序TP1A,使指示灯右循环间隔时间为0.1秒。 2、P1口做输入口实验 (1)实验要求:P1口做输入口,接八个纽子开关,以实验机上74LS273做输出口,编写程序读取开关状态,将此状态在发光二极管上显示出来。

  6. (2)电路及连线如下: (3)P1.0~P1.7接K1~K8,PO0~PO7接DL1~DL8;273CS/接8300H。 (4)运行程序TP1B,观察现象。

  7. TP1B程序: ORG 0000H LJMP START ORG 0040H START: MOV DPTR,#08300H ;并行输出口地址 READ: MOV P1,#0FFH ;因P1是准双向口所以把P1口作 ;为输入口时,应先置高电平 MOV A,P1 ;读开关状态 MOVX @DPTR,A ;把读入的数据输出 AJMP READ END

  8. 3、   交通灯控制 (1)实验要求:以74LS273作为输出口,控制4个双色LED灯(可发红,绿,黄光),模拟交通灯管理。 (2)实验电路及连线( PO0~PO3接DG1~DG4,PO4~PO7接DR1~DR4,D16的/CS接8300H )

  9. 1、96H DR4 DR3 DR2 DR1 DG4 DG3 DG2 DG1 1 0 0 1 0 1 1 0 HL4、HL1 绿 (南北) HL3、HL2 红 (东西) 2、9FH 1 0 0 1 1 1 1 1 HL4、HL1 暗 (南北) HL3、HL2 红 (东西) 06H 0 0 0 0 0 1 1 0 HL4、HL1 黄 (南北) HL3、HL2 红 (东西 3、69H 0 1 1 0 1 0 0 1 HL4、HL1 红 (南北) HL3、HL2 绿 (东西) 0FH 全红 F0H 全绿 00H 全黄

  10. 4、6FH 0 1 1 0 1 1 1 1 HL4、HL1 红 (南北) HL3、HL2 暗 (东西) 69H HL4、HL1 红 (南北) HL3、HL2 绿 (东西) 09H HL4、HL1 红 (南北) HL3、HL2 黄 (东西)

  11. ORG 0000H LJMP START ORG 0040H START: MOV SP,#60H LCALL STATUS0 ;初始状态(都是红灯) CIRCLE: LCALL STATUS1 ;南北绿灯,东西红灯 LCALL STATUS2 ;南北绿灯闪转黄灯,东西红灯 LCALL STATUS3 ;南北红灯,东西绿灯 LCALL STATUS4 ;南北红灯,东西绿灯闪转黄灯 LJMP CIRCLE STATUS0: ;南北红灯,东西红灯 MOV DPTR,#8300H MOV A,#0FH MOVX @DPTR,A MOV R2,#10 ;延时1秒 LCALL DELAY RET

  12. STATUS1: ;南北绿灯,东西红灯 MOV DPTR,#08300H MOV A,#96H ;南北绿灯,东西红灯 MOVX @DPTR,A MOV R2,#200 ;延时20秒 LCALL DELAY RET

  13. STATUS2: ;南北绿灯闪转黄灯,东西红灯 MOV DPTR,#8300H MOV R3,#03H ;绿灯闪3次 FLASH: MOV A,#9FH MOVX @DPTR,A MOV R2,#03H LCALL DELAY MOV A,#96H MOVX @DPTR,A MOV R2,#03H LCALL DELAY DJNZ R3,FLASH MOV A,#06H ;南北黄灯,东西红灯 MOVX @DPTR,A MOV R2,#10 ;延时1秒 LCALL DELAY RET

  14. STATUS3: ;南北红灯,东西绿灯 MOV DPTR,#8300H MOV A,#69H MOVX @DPTR,A MOV R2,#200 ;延时20秒 LCALL DELAY RET

  15. STATUS4: ;南北红灯,东西绿灯闪转黄灯 MOV DPTR,#8300H MOV R3,#03H ;绿灯闪3次 FLASH1: MOV A,#6FH MOVX @DPTR,A MOV R2,#03H LCALL DELAY MOV A,#69H MOVX @DPTR,A MOV R2,#03H LCALL DELAY DJNZ R3,FLASH1 MOV A,#09H ;南北红灯,东西黄灯 MOVX @DPTR,A MOV R2,#10 ;延时1秒 LCALL DELAY NOP RET

  16. DELAY: ;延时子程序 PUSH 2 PUSH 1 PUSH 0 DELAY1: MOV 1,#00H DELAY2: MOV 0,#0B2H DJNZ 0,$ DJNZ 1,DELAY2 ;延时100 mS DJNZ 2,DELAY1 POP 0 POP 1 POP 2 RET END *(3)编写程序,使东西南北四个灯均闪烁黄灯(闪烁时间为1秒)

  17. 4、外部中断实验(急救车与交通灯) (1)实验要求:有急救车到达时,两向交通信号为全红,以便让急救车通过。假定急救车通过路口时间为10秒,急救车通过后,交通灯恢复中断前状态。本实验以按键为中断申请,表示有急救车通过 。 (2)PO0~PO3接DG1~DG4,PO4~PO7接DR1~DR4,D16的/CS接8300H,K8接P3.2。

  18. TRLED2.ASM ORG 0000H LJMP START ORG 0003H ;INT 0 中断入口地址 LJMP INT0 ORG 0040H START: MOV SP,#60H SETB EX0 ;INT 0 中断有效 SETB IT0 SETB EA LCALL STATUS0 ;初始状态(都是红灯) CIRCLE: LCALL STATUS1 ;南北绿灯,东西红灯 LCALL STATUS2 ;南北绿灯闪转黄灯,东西红灯 LCALL STATUS3 ;南北红灯,东西绿灯 LCALL STATUS4 ;南北红灯,东西绿灯闪转黄灯 LJMP CIRCLE

  19. INT0: PUSH PSW ;保护现场 PUSH 2 PUSH ACC MOV DPTR,#8300H MOV A,#0FH ;南北,东西都亮红灯 MOVX @DPTR,A MOV R2,#100 ;延时10秒 LCALL DELAY POP ACC ;恢复现场 MOVX @DPTR,A POP 2 POP PSW RETI

  20. (3)修改程序TRLED2,使中断时,东西南北四个灯均为红色的同时,继电器发出滴答声。(3)修改程序TRLED2,使中断时,东西南北四个灯均为红色的同时,继电器发出滴答声。

  21. 5、P3口输出控制继电器 (1)实验要求:利用P3.5输出高低,控制继电器的开合,实现对外部装置的控制。 (2)实验电路及连线

  22. TP3R程序: ORG 0000H LJMP START ORG 0040H START: MOV SP,#60H JD: CPL P3.5 ;继电器状态(吸合/分开)切换 LCALL DELAY ;延时 NOP SJMP JD DELAY: ;延时子程序(1秒) MOV R0,#0AH

  23. DELAY1: MOV R1,#00H DELAY2: MOV R2,#0B2H DJNZ R2,$ DJNZ R1,DELAY2 DJNZ R0,DELAY1 RET END

More Related