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

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

ID:44814581

大小:1.67 MB

页数:11页

时间:2019-10-29

单片机系统开发之利用中断控制8盏灯的循环点亮_第1页
单片机系统开发之利用中断控制8盏灯的循环点亮_第2页
单片机系统开发之利用中断控制8盏灯的循环点亮_第3页
单片机系统开发之利用中断控制8盏灯的循环点亮_第4页
单片机系统开发之利用中断控制8盏灯的循环点亮_第5页
资源描述:

《单片机系统开发之利用中断控制8盏灯的循环点亮》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、单片机应用系统开发作业利用中断控制8盏灯花样闪烁学校:沈阳理工大学专业:信息对抗技术学号:1411050121姓名:吴志飞1.系统设计要求:设晶振频率为12MHZ,利用中断系统使主程序P0口进行花样显示。显示规律为:(1)P0口连接8个LED,依次左移闪亮;(2)当按下INT1时,8个LED灯依次右移闪亮;(3)当按下INT0时,8个灯闪亮5次。2.系统设计分析:单片机的最小系统+8盏LED灯+排电阻。本系统涉及到两个外中断,中断优先级,左移右移等问题。在设计时可能要设计中断优先级。左移右移需要用到两个移位指令RL和RR。3.系统原理图

2、设计:系统所需原件为单片机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次恢

3、复现场恢复现场中断返回中断返回5.系统源程序设计:汇编源程序:ORG0000HAJMPSTARTORG0003HAJMPINTR0ORG0013HAJMPINTR1START:MOVIE,#85HMOVIP,#01HMOVTCON,#00HMOVSP,#60HMOVP0,#0FFHMOVP3,#0FFHMOVA,#0FEHLP1:MOVP0,ARLALCALLDELAYSJMPLP1INTR0:PUSHACCPUSHPSWMOVR1,#10MOVA,#00HXH:MOVP0,ALCALLDELAYCPLADJNZR1,XHPOPPSWP

4、OPACCRETIINTR1:PUSHACCPUSHPSWMOVA,#7FHMOVR2,#16XH1:MOVP0,ALCALLDELAYRRADJNZR2,XH1POPPSWPOPACCRETIDELAY:MOVR7,#20DELAY1:MOVR6,#20DELAY2:MOVR5,#248DJNZR5,$DJNZR6,DELAY2DJNZR7,DELAY1RETENDC语言源程序:#include#includevoiddelay();#defineuintunsignedint#defineuc

5、harunsignedcharuchartemp;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();

6、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)编译源程序,如

7、果有问题,则需要调试修改,若没有错误,则成功创建“中断控制8盏灯花样闪亮.HEX”文件。图1.3编译成功提示图7.在Proteus中进行仿真:打开Proteus软件,用左键单击单片机,在出现的对话框中,添加“中断控制8盏灯花样闪亮.HEX”文件,开始仿真,效果如下图所示。图1.4中断控制8盏灯花样闪亮仿真图图1.5中断控制8盏灯花样闪亮仿真图图1.6中断控制8盏灯花样闪亮仿真图在没有外部中断时,LED依次左移闪亮,如图1.4所示。当按下INT0时,发生中断,单片机执行中断子程序0,如图1.5所示LED闪亮5次,然后返回主程序。当按下IN

8、T1时,单片机执行中断子程序1,LED依次右移闪亮,如图1.6所示。在执行中断子程序0时按下INT1无反应,因为INT0的优先级比INT1高。仿真结果符合设计要求。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。