预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

单片机应用系统开发作业 利用中断控制8盏灯花样闪烁 学校:沈阳理工大学 专业:信息对抗技术 学号:1411050121 姓名:吴志飞 系统设计要求: 设晶振频率为12MHZ,利用中断系统使主程序P0口进行花样显示。显示规律为: P0口连接8个LED,依次左移闪亮; 当按下INT1时,8个LED灯依次右移闪亮; 当按下INT0时,8个灯闪亮5次。 系统设计分析: 单片机得最小系统+8盏LED灯+排电阻。 本系统涉及到两个外中断,中断优先级,左移右移等问题。在设计时可能要设计中断优先级。左移右移需要用到两个移位指令RL与RR。 3.系统原理图设计: 系统所需原件为单片机AT89C51,瓷片电容CAP30pf,晶振CRYSTAL12MHZ,电解电容CAP—ELEC,电阻RES,发光二极管LED8只,排电阻RESPACK—8以及开关SWITCH。利用中断控制8盏LED灯花样闪烁得原理图如1。1所示、 图1。1利用中断制8盏LED灯花样闪烁原理图 4.系统流程图设计: 开始 N 中断0 结束 中断1 调用中断子程序1 调用中断子程序0 中断0?中断1? LED左移闪亮 Y 就是否发生中断 图1、2利用中断控制8盏灯花样闪烁流程图 开中断 中断设置 ﻬ 中断子程序0 中断子程序1 保护现场 保护现场 LED右移闪亮 LED闪亮5次 恢复现场 恢复现场 中断返回 中断返回 5.系统源程序设计: 汇编源程序: ORG0000H AJMPSTART ORG0003H AJMPINTR0 ORG0013H AJMPINTR1 START:MOVIE,#85H MOVIP,#01H MOVTCON,#00H ﻩMOVSP,#60H MOVP0,#0FFH MOVP3,#0FFH ﻩMOVA,#0FEH LP1:MOVP0,A RLA LCALLDELAY ﻩSJMPLP1 INTR0:PUSHACC PUSHPSW MOVR1,#10 ﻩMOVA,#00H XH:ﻩMOVP0,A ﻩLCALLDELAY CPLA DJNZR1,XH POPPSW ﻩPOPACC RETI INTR1:PUSHACC PUSHPSW ﻩMOVA,#7FH MOVR2,#16 XH1:MOVP0,A LCALLDELAY RRA ﻩDJNZR2,XH1 POPPSW ﻩPOPACC RETI DELAY:MOVR7,#20 DELAY1:MOVR6,#20 DELAY2:MOVR5,#248 DJNZR5,$ ﻩ DJNZR6,DELAY2 DJNZR7,DELAY1 RET ﻩ END C语言源程序: #include〈reg51。h> #include<intrins.h> voiddelay(); #defineuintunsignedint #defineucharunsignedchar uchartemp; uinti; voidmain(void) { IE=0X85; IP=0X01; TCON=0X00; temp=0xfe; while(1) { ﻩP0=temp; ﻩdelay(); temp=_crol_(temp,1); } } voidint0()interrupt0 {uchars; s=0x00; for(i=0;i〈10;i++) { P0=s; delay(); s=~s; } } voidint1()interrupt2 { uchartemp1; temp1=0x7f; while(1) { P0=temp1; delay(); temp1=_cror_(temp1,1); } } voiddelay() { uinti,j; for(i=0;i<256;i++) for(j=0;j〈256;j++) {;} 6、在keil中进行调试: (1)创建“中断控制8盏灯花样闪亮”项目,选择单片机型号为AT89C51,汇编源程序,保存为“中断控制8盏灯花样闪亮、ASM”或“中断控制8盏灯花样闪亮。C"。 (2)将源程序添加到项目中。 (3)打开项目菜单,选择Optionsfortarget’target1'选项,点击output一项,在CreateHEXFile前打上对勾。 (4)编译源程序,如果有问题,则需要调试修改,若没有错误,则成功创建“中断控制8盏灯花样闪亮.HEX”文件。 图1.3编译成功提示图 7、在Proteus中进行仿真: 打开Proteus软件,用左键单击单片机,在出现得对话框中,添加“中断控制8盏灯花样闪亮.HEX”文件,开始仿真,效果如下图所示。 图1。4中断控制8盏灯花样闪亮仿真图 图1、5中断控制8盏灯花样闪亮仿真图 图1、6中断控制8盏灯花样闪亮仿真图