单片机系统开发之利用中断控制8盏灯循环点亮.docxVIP

  • 184
  • 0
  • 约2.35千字
  • 约 11页
  • 2021-01-10 发布于山东
  • 举报

单片机系统开发之利用中断控制8盏灯循环点亮.docx

单片机应用系统开发作业 利用中断控制 8 盏灯花样闪烁 学校:沈阳理工大学 专业:信息对抗技术 学号: 1411050121 姓名: 吴志飞 1.系统设计要求: 设晶振频率为 12MHZ,利用中断系统使主程序 P0 口进行 花样显示。显示规律为: 1) P0 口连接 8 个 LED,依次左移闪亮; 2) 当按下 INT1 时, 8 个 LED灯依次右移闪亮; 3) 当按下 INT0 时, 8 个灯闪亮 5 次。 2.系统设计分析: 单片机的最小系统 +8 盏 LED灯+排电阻。 本系统涉及到两个外中断,中断优先级,左移右移等问题。在 设计时可能要设计中断优先级。左移右移需要用到两个移位指令 RL 和 RR。 3.系统原理图设计: 系统所需原件为单片机 AT89C51,瓷片电容 CAP30pf,晶振CRYSTAL12MHZ,电解电容 CAP-ELEC,电阻 RES,发光二极管 LED8只,排电阻 RESPACK-8以及开关 SWITCH。利用中断控制 8 盏 LED灯花样 闪烁的原理图如 1.1 所示。 图 1.1 利用中断制 8 盏 LED灯花样闪烁原理图 系统流程图设计 : 开 始 中断设置 开中断 是否发生中断 Y 中断 0?中断 1? 中断 1 中断 0 调用中断子程序 1 调用中断子程序 0  N LED左移闪亮 结 束 图 1.2 利用中断控制 8 盏灯花样闪烁流程图 中断子程序 0 中断子程序 1 保护现场 保护现场 LED闪亮 5 次 LED右移闪亮 恢复现场 恢复现场 中断返回 中断返回 系统源程序设计: 汇编源程序: ORG 0000H AJMP START ORG 0003H AJMP INTR0 ORG 0013H AJMP INTR1 START:MOV IE,#85H MOV IP,#01H MOV TCON,#00H MOV SP,#60H MOV P0,#0FFH MOV P3,#0FFH MOV A,#0FEH LP1: MOV P0,A RL A LCALL DELAY SJMP LP1 INTR0:PUSH ACC PUSH PSW MOV R1,#10 MOV A,#00H XH: MOV P0,A LCALL DELAY CPL A DJNZ R1, XH POP PSW POP ACC RETI INTR1:PUSH ACC PUSH PSW MOV A,#7FH MOV R2,#16 XH1: MOV P0,A LCALL DELAY RR A DJNZ R2, XH1 POP PSW POP ACC RETI DELAY: MOV R7,#20 DELAY1: MOV R6,#20 DELAY2: MOV R5,#248 DJNZ R5,$ DJNZ R6,DELAY2 DJNZ R7,DELAY1 RET END C语言源程序: #includereg51.h #includeintrins.h void delay(); #define uint unsigned int #define uchar unsigned char uchar temp; uint i; void main(void) { IE=0X85; IP=0X01; TCON=0X00; temp=0xfe; while(1) { P0=temp; delay(); temp=_crol_(temp,1); } } void int0() interrupt 0 { uchar s; s=0x00; for(i=0;i10;i++) { P0=s; delay(); s=~s; } } void int1() interrupt 2 { uchar temp1; temp1=0x7f; while(1) { P0=temp1; delay(); temp1=_cror_(temp1,1); } } void delay() { uint i,j; for(i=0;i256;i++) for(j=0;j256;j++) {;} 在 keil 中进行调试: (1)创建“中断控制 8 盏灯花样闪亮”项目,选择单片机型 号为 AT89C51,汇编源程序,保存为“中断控制 8 盏灯花样闪 亮.ASM”或“中断控制 8 盏灯花样闪亮 .C”。 (2)将源程序添加到项目中。 (3)打开项目菜单,选择 Options for target ’target 1’ 选项,点击 output 一项,在 Create HEX File 前打上对勾。 (4)编译源程序,如果有问题,则需要调试修改,若没有错 误,则成功创建“中断控制 8 盏灯花样闪亮 .HEX”文件。 图 1.3 编译成功提示图 在 Proteu

文档评论(0)

1亿VIP精品文档

相关文档