《昆明冶金高等专科学校教学教案.docx》由会员分享,可在线阅读,更多相关《昆明冶金高等专科学校教学教案.docx(7页珍藏版)》请在第壹文秘上搜索。
1、昆明冶金高等专科学校教学教案爆JK:娘程实例2教学时数:2学时教学目的:1、通过交通灯控制的编程掌视单片机的编程方法2、学习中断服务程序的编写方法.就点、难点:中断服务程序的编写。主要教学内容(IU):一、课题内容二、编程指导参考程序戴学方法、手段:课堂讲授.学生陈习爆内外练习料所漏程序在实物仪验证.课后小结讲授要点一、丽内容编写一程序实现城市“十字”路口正常情况下以及特殊情况和紧急情况下交通信号灯的模拟控制。1、在十字路口东西南北各设置红、黄、绿三种信号灯,如图I所示。正常情况下,东西、南北方向轮流放行.当东西方向(A线)放行、南北方向(B线)禁行时,东西方向(A线)爆灯亮25秒.然后黄灯亮
2、5秒,甜北方向税)红灯亮3秒:当南北方向(B税)放行、东西方向(A线)禁行时,南北方向(B线)绿灯亮25杪,然后黄灯亮5杪,东西方向(A线)红灯亮30秒。如此循环,实现交通灯定时控制.2、有急救车优先通过功能.当有急救车到达时,路11的佰号灯全部变红灯,以便急救车通过,急救车的通行时间为IO秒,急救车过后,交通灯恢复先前状态。3、交通灯在红、绿灯交替点亮中,用两个数码管显示点亮的灯还能持续的时间。图1交通灯布置示意图二、飨程报导1、电路图交通灯控制电路的核心兀件采用单片机芯片ATiWC51.,其内部带行4KB的ROM.无须扩展存储器.信号灯的控制由单片机的P1.O-P1.SftM,6只信号灯以
3、共阴极方式连接,当PI口输出为高电平时,信号灯点亮,为实现上述控制要求,P1.口共输出四种捽制码,如表I所示.表1:交通灯信号控制码空空B道绿灯B道黄灯B道红灯A道绿灯A道黄灯A道红灯控制眄P1.7PI.6P1.5PI.4PI.3PI.2P1.1P1.0状态说明0000II00OCHA道放行、B道禁:二00001010OAHA道警告、B道禁止00I0000I21HA道禁止、B道放行0001000II1.HA道禁止、B道警告2、控制程序(I)流程图软件包括程序、延时、显示子程序、中断服务程序,各程序流程图如图2所示.IN阂化I怏小抄教我11,j.hjfftif1.II沙或M,选M1.廷时i中Wn
4、警3:Bif1.曦同I杪个付数转7形司IIW5SIAai姨行.由0阚IA地第力B盛警司Dp主程序流程图I杪卜依教转?附用F-H*tIIjI1.-I(I显示子程序流程图B2程序蝴图y1.WiijI保7现场Iic攻讥摘禁研I义时10,I尊电现场I紧急情况中断服务程序三、w主程序,ORG200OH:PA、PC口均为怆出MAIN:MOVDPTR,胃FOOHMOVA.ROBIIMAIN:MOVX的PTR,ASETBEASETBEXOMOV5011.S1.FHMOVP1.W)111.MOVR7,*19H:设置时间显示初值;A道放行.B道禁行;延时秒数M1N1:1.CA1.1.DISPDJNZR7.MAIN
5、1.:两1秒延时、及显示子程序MOVP1.,W)AH;)道警告,B道禁行MOVR7,S05HMIN2:1.CA1.1.DISPDJNZR7,MA1.N2:延时秒数KWV50H,1EH:设置肘间显示初位MOVPh#21H:A逆禁行,B道放行MOVR7,知9HMIN3:1.CAI.I.DISPDJNZR7.MAIN3:延时秒数MOVP1.S1.1.H;A道禁行,B道警告MOVR7,M)5HMIN4:1.C1.1.DISPDJNZR7.MAIM:延时秒数AJMPMI:循环延时、显示子程序,ORG2000HDISP:MOVR6.#0111:设置显示位寄存器初值(右边一位MOVTMOD.0111;定时器
6、TO设置为定时方式的模式1MOVR5.m:定时渊操作循环10次DE1.1:MOVTHO,WCH;定时器100mS计数器的初始值MOVT1.OrCBOHSETBTRO:启动定时擀DE1.2:DEC5011;显示秒数减1MOVa,50HMOVB.SOAHDIVBARDA,32BHMOVC,A+PC:查表个位数的字形码MOVR1.A:个位数字形码送RIMOVA,BADDA,M25HMOVCA.A+PC;查表位数的字形码MOVR2.A;十位数字形码送R2MOVA,R6:位控码MOVDRTP.#7F03HMOVX9DPTR,AMOVA,R1.:送个位数显示MOVDPTR,#7FO1IIMOVXPDPTR
7、,A1.CA1.1.DE1.AY:廷时imsMOV.R6R1.A;位控左移MOVR6AMOVDPTR.#7F0311.MOVX0DPTR.AMOVA,R2:送十位数显示MOVDPTR#7FO1.HMOVXODPTRA!.CA1.1.DE1.AY:延时ImsJNBTR)$:检测100mS定时是否到C1.RTFODJNZR5,DE1.1.;10OmS循环控制RET:返回TAB1.E:DBCOH.F9H.4H.BOH.99111.)B92H,82H.F8H.SOH,9011DE1.AY:MOVR7.#02H:延时ImS子程序DE1.3sXoVR6,#0F9HDEU:DJNZR6,DEI.2DJNZR7,DE1.1.RETEXD中断朦务程序:OKG00031.1.:外部中断。入门地址1.JMPINTEROORG2100HINTERO:P1.SH50H;保护现场P1.SHP1.MOVP1.#0011:两车道禁止MOVR7.KOAII;廷时10杪INTO:1.CA1.1.D1.SP:调显示DJNZR7INTOPOPP1.;恢经现场:中断返回POP5OHRETI