燕山大学课程设计电气工程学院课程设计说明书设计题目:外部中断(急救车与交通灯)系别:年级专业:学号:学生姓名:指导教师:教师职称:燕山大学课程设计第-1-页共17页电气工程学院《课程设计》任务书课程名称:单片机原理及应用课程设计基层教学单位:自动化仪表系指导教师:学号学生姓名(专业)班级设计题目外部中断(急救车与交通灯)设计技术参数1.独立完成设计任务。2.编程,上机调试。3.连接硬件实验线路,实现所要求的功能。4.完成设计,提交课程设计报告。设计要求本实验模拟交通信号灯控制,一般情况下正常显示;有急救车到达时,两个方向交通灯信号全红,以便让救护车通过。设急救车通过路口时间为10秒,急救车通过后,交通恢复正常,本实验用单次脉冲申请外部中断,表示有急救车通过。参考资料1)《单片机原理及应用技术》张淑清,国防工业出版社(教材);2)《过程控制系统及仪表》邵裕森巴莜云编(教材)3)《单片机及应用》李大友,高等教育出版社(教材)4)《机械量测量》机械工业出版社(教材)应完成内容绘制硬件电路,软件流程图熟悉伟福单片机编程环境读程序,修改软件参数修改硬件地址,硬件调试撰写课程设计报告指导教师签字基层教学单位主任签字说明:1、此表一式三份,系、学生各一份,报送院教务科一份。2、学生那份任务书要求装订到课程设计报告前面。电气工程学院教务科燕山大学课程设计第-2-页共17页目录摘要··················································3第一章引言···········································4第二章基本原理·······································42.1单片机时钟电路······································42.2单片机复位电路······································52.3外部中断接口········································62.4外扩芯片···········································6第三章硬件设计·······································6第四章程序设计流程···································5第五章程序流程······································95.1原始程序···········································95.2改进程序···········································12第六章总结···········································14参考文献·············································15燕山大学课程设计第-3-页共17页摘要在实际应用系统中,单片机与各种各样的外部设备相连接。这些外设的结构形式、信号种类与大小、工作速度的快慢柴油很大。因此,需要有效的方法完成单片机与外部设备协调工作。通常单片机与外设交换数据有三种方法,其中比较常用的就是中断。中断是处理器处理外部突发事件的一个重要技术。它能使处理器在运行过程中对外部事件发出的中断请求及时地进行处理,处理完成后又立即返回断点,继续进行处理器原来的工作。引起中断的原因或者说发出中断请求的来源叫做中断源。根据中断源的不同,可以把中断分为硬件中断和软件中断两大类,而硬件中断又可以分为外部中断和内部中断两类。外部中断一般是指由计算机外设发出的可以屏蔽的中断请求,如:键盘中断、打印机中断、定时器中断等。本课设就是运用外部中断来实现功能要求。关键字:中断外部中断燕山大学课程设计第-4-页共17页第一章引言在现代社会中,单片机有了越来越广泛的应用,而在实际应用系统中,单片机与各种各样的外部设备相连接。这些外设的结构形式、信号种类与大小、工作速度的快慢柴油很大。因此,需要有效的方法完成单片机与外部设备协调工作。通常单片机与外设交换数据有三种方法,其中比较常用的就是中断。中断是处理器处理外部突发事件的一个重要技术。它能使处理器在运行过程中对外部事件发出的中断请求及时地进行处理,处理完成后又立即返回断点,继续进行处理器原来的工作。引起中断的原因或者说发出中断请求的来源叫做中断源。根据中断源的不同,可以把中断分为硬件中断和软件中断两大类,而硬件中断又可以分为外部中断和内部中断两类。外部中断一般是指由计算机外设发出的可以屏蔽的中断请求,如:键盘中断、打印机中断、定时器中断等。本课设就是运用外部中断来实现功能要求。有急救车到达时,两个方向交通灯信号全红,以便让救护车通过。急救车通过后,交通恢复正常。本课设用单次脉冲申请外部中断,表示有急救车通过。第二章基本原理2.1单片机时钟电路单片机的时钟可以有内部方式或外部方式产生,本课设选用内部时钟电路,如图所示,利用内部的振荡电路,并在XTAL1和XTAL2两引脚间外接晶体及电容CX1和CX2构成的并联谐振电路,使内部振荡器产生自激振荡。组成时钟电路的晶体振荡器的频率大小决定单片机系统的工作频率,既决定了单片机系统的工作频率,可以在1.2MHz~12MHz之间。晶体电容CX1和CX2可以在20pF~100pF之间选择,电容的大小对振荡频率有微小的影响,可起频率微调的作用。本课设所选用的单片机晶振频率为6MHz。燕山大学课程设计第-5-页共17页图1-1内部时钟电路2.2单片机复位电路单片机在开机时都需要复位,以便中央处理器CPU以及其他功能部件都处于一个确定的初始状态,并从这个状态开始工作。51的RST引脚是复位信号的输入端。复位电平是高电平有效持续时间要有24个时钟周期以上。本系统中单片机时钟频率为6MHz则复位脉冲至少应为4us。本课程设计单片机采用外部上电与按钮复位电路,如图2-1。典型的上电外部复位电路是既具有上电复位又具有外部复位电路,上电瞬间,C与Rx构成充电电路,RST引脚出现正脉冲,只要RST端保持10ms以上的高电平,就能使单片机有效复位。图2-1外部上电与按钮复位MCS-51XTAL1XTAL2VSS陶瓷晶体振荡器CX1CX2燕山大学课程设计第-6-页共17页一般取C=22uF,R=200,Rx=1k,此时=221061103=22ms,满足单片机复位要求。在需要手动复位情况下,Rs取200欧姆,Rk取1k,RST端出现120010005=4.2V(出现高电平),使可靠地实现单片机复位。2.3外部中断接口本课设选用外部中断口INT0,并设置为边沿触发方式,如图:2.4外扩芯片由于不同类型芯片地址不会产生冲突,故可重复使用8031固定的16位地址线。(1)程序存储器2732:本课设外扩了两片2732,每片占用12跟地址线,其中一根作为选通线。其中2732(1)的地址范围为:2000H~2FFFH;2732(2)的地址范围为:1000H~1FFFH。(2)数据存储器6116:本课设外扩了两片6716,每片占用11跟地址线,其中一根作为选通线。其中6716(1)的地址范围为:E800H~EFFFH;6716(2)的地址范围为:D800H~DFFFH。(3)扩展I/O口:本课设外扩了两片8255,每片占用9跟地址线,其中一根作为选通线。其中8255(1)各口地址为:A口BF00H,B口BF01H,C口BF02H,控制字口BF03H;8255(2)的各口地址为:A口7F00H,B口7F01H,C口7F02H,控制字口7F03H。第三章硬件设计硬件设计电路图如下所示:燕山大学课程设计第-7-页共17页其中各芯片地址范围:燕山大学课程设计第-8-页共17页外扩程序存储器2732(1):2000H~2FFFH;2732(2):1000H~1FFFH。外扩数据存储器6116(1):E800H~EFFFH;6716(2):D800H~DFFFH。外扩扩展I/O口8255(1):A口BF00H,B口BF01H,C口BF02H,控制字口BF03H;8255(2):A口7F00H,B口7F01H,C口7F02H,控制字口7F03H。第四章程序设计流程燕山大学课程设计第-9-页共17页第五章程序设计5.1原始程序Flashequ0;LED状态STOPequ1SRequp1.0;南北红灯SYequp1.1;南北黄灯SGequP1.2;南北绿灯ERequP1.3;东西红灯EYequP1.4;东西黄灯EGequp1.5;东西绿灯ljmpStartorg3setbSTOP;南北,东西均红灯retiStart:movSP,#70movTCON,#01h;downedgeIT0movIE,#81h;enableEA,EX0setbSR;南北,东西均红灯clrSYclrSGsetbERclrEYclrEGclrSTOPLoop:jbSTOP,AllRed燕山大学课程设计第-10-页共17页setbSR;南北红灯,东西绿灯clrSYclrSGclrERclrEYsetbEGmova,#20callDelayjbSTOP,AllRedsetbSR;南北红灯,东西黄灯闪clrSYclrSGclrERclrEYclrEGclrFlashmovr7,#9Loop1:movc,FlashmovEY,cmova,#1callDelaycplFlashdjnzr7,Loop1jbSTOP,AllRedclrSR;南北绿灯,东西红灯clrSYsetbSGsetbERclrEY燕山大学课程设计第-11-页共17页clrEGmova,#20callDelayjbSTOP,AllRedclrSR;东西红灯,南北黄灯闪clrSYclrSGsetbERclrEYclrEGclrFlashmovr7,#9Loop2:movc,FlashmovSY,cmova,#1callDelaycplFlashdjnzr7,Loop2ljmpLoopAllRed:setbSRclrSYclrSGsetbERclrEYclrEGclrSTOPmova,#10callDelay燕山大学课程设计第-12-页共17页ljmpLoopDelay:;延时子程序movr1,#80Hmovr0,#0DelayLoop:jbSTOP,ExitDelaydjnzr0,DelayLoopdjnzr1,DelayLoopdjnzACC,DelayExitDelay:retend5.2改进程序org0000hljmpmainorg0003hljmpint0main:movSP,#70movTCON,#01hmovIE,#81hmovp1,#00100001bmova,#200lcalldelaylcallyellmovp1,#00001100bmova,#200lcalldelaylcallyellljmpmainint0:movp1,#00001001bmova,#200calldelayljmpmain燕山大学课程设计第-13-页共17页retiyell:movr0,#7yl:cplp1.1cplp1.4mova,#20calldelaydjnzr0,ylretdelay:movtmod,#01hmovth0,#0D8hmovtl0,#0F0hsetbtr0loop:jbctf0,loop1ljmplooploop1:djnzAcc,delayretend燕山大学课程设计第-14-页共17页第六章总结通过这次外部中断程序设计的课程设计和测试,我学到了很多。通过对该课题的了解,收集资料,研究其可行性,前期做了很多准备工作,查看了很多资料,但这都是值得的,为后面程序的编写和调试打下了基础,不仅学到了编程,还加深了对电路的了解,比如延时定时、外扩芯片,中断等等,虽然都是一些已经学习过的知识,但结合起来