欢迎来到人人文库网! | 帮助中心 人人文档renrendoc.com美如初恋!
人人文库网
全部分类
  • 图纸下载>
  • 教育资料>
  • 专业文献>
  • 应用文书>
  • 行业资料>
  • 生活休闲>
  • 办公材料>
  • 毕业设计>
  • ImageVerifierCode 换一换
    首页 人人文库网 > 资源分类 > DOC文档下载  

    微机课程设计 带数码管显示的交通灯模拟控制系统设计.doc

    • 资源ID:138743       资源大小:191.50KB        全文页数:9页
    • 资源格式: DOC        下载积分:9积分
    扫码快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
    二维码
    微信扫一扫登录

    手机扫码下载

    请使用微信 或支付宝 扫码支付

    • 扫码支付后即可登录下载文档,同时代表您同意《人人文库网用户协议》

    • 扫码过程中请勿刷新、关闭本页面,否则会导致文档资源下载失败

    • 支付成功后,可再次使用当前微信或支付宝扫码免费下载本资源,无需再次付费

    账号:
    密码:
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源(1积分=1元)下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    微机课程设计 带数码管显示的交通灯模拟控制系统设计.doc

    1微机课程设计题目带数码管显示的交通灯模拟控制系统设计课程名称微机原理及应用A院系物理与电气工程学院专业自动化班级08级(2)班学生姓名学号指导教师2课题名称带数码管显示的交通灯模拟控制系统设计一、概述在STARES598PCI实验系统的基础上,应用可编程并行接口8255、定时/计数器8253、可编程中断控制器8259等I/O接口芯片,设计一个十字路口交通信号灯模拟控制系统。二、设计目的通过设计一个十字路口交通灯系统掌握8255、8253、8259等接口芯片的编程和应用方法,做到理论联系实际。三、设计要求要求绘制流程图、编写源程序,并在实验系统上调试通过程序。四、设计内容1、十字路口交通信号灯设置某十字路口交通信号灯系统在4个路口均装设红、绿2个灯,并装设数码管显示倒计时。东南西北红绿红绿红绿红绿图1交通信号灯设置实验时用LED(发光二极管)代替十字路口的红绿灯。2、交通信号灯亮灭规律交通信号灯系统初始状态为所有红灯闪烁N1秒钟(不必在数码管显示);之后东西向车行道绿灯亮,车辆放行N秒钟,此时南北向车行道红灯亮,之后转为南北向车行道放行N秒钟,如此循环重复。要求数码管能够显示倒计时。参数选择:N=20s/25s85s/90s(每隔5s取一个秒数)N110s,闪烁次数为38次每组自行选择N、N1(及闪烁次数)。3、参考方案采用8255、8253、8259组成系统,采用8253产生定时,运用8259采用中断法编写程序。3如果加入紧急车辆通过功能或其他任何先进功能,可根据具体情况加创新分。五、设计报告要求要求在报告中详细叙述所选方案的原理、特点及评价,给出硬件原理图、程序流程、源程序、调试结果描述(需安排实验系统运行照片)。报告采用电力工程学院统一的标准格式书写。最终上交的报告内容包括:1、任务书、2设计内容(正文)、3、心得体会一、设计说明硬件方面:8253产生1HZ的方波,脉冲到8259的IR1端,产生中断,调中断服务子程序。在加入紧急车道后,单脉冲()连到8259的IRO端,产生一个高级的中断请求信号。软件方面:主程序先对各个硬件初始化,在开CPU中断,然后空操作,等待中断。执行低级中断(IR1)时,8255的PA口负责选数码管,PB口负责显示数字,用查表法可查到09的数码管编码。采用循环扫描方法,人眼即可看到连续的二位数。当倒计时减到零时,对红绿灯取反。若手动上下拨动单脉冲()一次,则产生一个高级中断(IR0),程序转而执行此中断处理程序,处理完后返回继续执行低级中断(IR1)。1、硬件设计1.1、硬件接线图4二.源程序清单IO8259_0EQU0E000H;8259地址偶地址端IO8259_1EQU0E001H;8259地址奇地址端K8255AEQU0F000H;8255的A口、B口、C口地址K8255BEQU0F001HK8255CEQU0F002HK8255KEQU0F003HADD8253_0EQU0D000H;8253计数通道1#、2#、3#和控制口地址ADD8253_1EQU0D001HADD8253_2EQU0D002HADD8253_CEQU0D003HCOUNTEREQU60H;倒计时数RED_ONEQU0CCH;红灯亮RED_OFFEQU0FFH;红灯灭E_WEQU0C3H;东西方向通行DATASEGMENTTABDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHCOUNTDB?SCANDW485;扫描次数DATAENDSSTCKSEGMENTSTACKDW64DUP(?)STCKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STCKSTART:MOVAX,DATAMOVDS,AXMOVES,AXNOPMOVDX,K8255K;写8255控制字,A,B,C均为输出,方式0MOVAL,80HOUTDX,ALSTART1:MOVDX,K8255C;C口输出,控制灯MOVCX,4FLASH:MOVAL,RED_ON;红灯亮OUTDX,ALCALLDELAY;调延时MOVAL,RED_OFF;红灯灭OUTDX,ALCALLDELAYLOOPFLASHSTART2:MOVDX,ADD8253_C;写8253控制字MOVAL,37H;0#计数器,读写16位低高字节,方式三,BCD码5OUTDX,ALMOVAX,1000H;写0#的计数初值1000H,根据输入设定2M=1000H*2000MOVDX,ADD8253_0OUTDX,ALMOVAL,AHOUTDX,ALMOVDX,ADD8253_C;写8253控制字MOVAL,77H;1#计数器,读写16位低高字节,方式三,BCD码OUTDX,ALMOVAX,2000H;写1#计数初值2000H,根据输入设定,方波频率1HZMOVDX,ADD8253_1OUTDX,ALMOVAL,AHOUTDX,ALMOVCOUNT,COUNTER;写计数值(红绿灯变换的间隔时间)CALLInit8259;调8259初始化子程序CALLWriIntver_8;调写中断向量表子程序CALLWriIntver_9;调写中断向量表子程序MOVCL,E_WMOVAL,CLMOVDX,K8255COUTDX,ALSTINOPSTART3:JMP$;给出中断以外CPU的工作Init8259PROCNEAR;8259初始化子程序MOVDX,IO8259_0;写ICW1,边沿触发,单片,需写ICW4MOVAL,13HOUTDX,ALMOVDX,IO8259_1;写ICW2,确定中断类型号MOVAL,08HOUTDX,ALMOVAL,09H;写ICW4OUTDX,ALMOVAL,0FCH;写OCW1,除IR0、IR1全屏蔽OUTDX,ALRETInit8259ENDPWriIntver_9PROCNEAR;写中断向量表子程序PUSHESMOVAX,0MOVES,AXMOVDI,24H;中断类型号9,对应24H,25H,26H,27H四个单元6LEAAX,INT_9;取中断服务程序IPSTOSWMOVAX,CS;取中段服务程序CSSTOSWPOPESRETWriIntver_9ENDPWriIntver_8PROCNEAR;写中断向量表子程序PUSHESMOVAX,0MOVES,AXMOVDI,20H;中断类型号8,对应20H,21H,22H,23H四个单元LEAAX,INT_8;取中断服务程序IPSTOSWMOVAX,CS;取中段服务程序CSSTOSWPOPESRETWriIntver_8ENDPINT_9:MOVAL,COUNTSUBAL,01HDASMOVCOUNT,AL;中断服务程序PUSHAXPUSHDXPUSHBXPUSHCXPUSHSCAN;保护循环值,否则取数码管显示会破坏LOO:MOVAL,55HMOVDX,K8255AOUTDX,ALMOVAL,COUNT;选高位数码管MOVAH,AL;暂存AHMOVCL,4SHRAL,CLLEABX,TABXLAT;十进制转数码管编码MOVDX,K8255BOUTDX,AL;显数CALLDL1ms;调延时MOVAL,0OUTDX,AL;清除MOVAL,0AAHMOVDX,K8255A7OUTDX,AL;选低位数码管MOVAL,AHSHLAL,CLSHRAL,CLXLAT;十进制转数码管编码MOVDX,K8255BOUTDX,AL;显数CALLDL1msMOVAL,0OUTDX,AL;清除DECSCANCMPSCAN,0JNZLOO;循环扫描POPSCANPOPCXCMPCOUNT,0JNZSTOP;计数到零则重新置数,并将灯取反,未到零则直接结束中断子程序MOVCOUNT,COUNTERNOTCLMOVAL,CLMOVDX,K8255COUTDX,ALSTOP:MOVDX,IO8259_0;结束中断服务,写OCW2,给8259送EOI命令,LSR1清零MOVAL,20HOUTDX,ALPOPBXPOPDXPOPAXIRETINT_8:PUSHDXPUSHAXPUSHCXMOVDX,K8255C;C口输出,控制灯MOVCX,4A:MOVAL,RED_ON;红灯亮OUTDX,ALCALLDELAY;调延时MOVAL,RED_OFF;红灯灭OUTDX,ALCALLDELAYLOOPAMOVDX,IO8259_0;结束中断服务,写OCW2,给8259送EOI命令,LSR1清零MOVAL,20HOUTDX,AL8POPCXMOVDX,K8255CMOVAL,CLOUTDX,ALPOPAXPOPDXIRETDELAYPROC;延时子程序PUSHBXPUSHCXMOVBX,04HDELAY1:MOVCX,0FFFFHLOOP$DECBXJNZDELAY1POPCXPOPBXRETDELAYENDPDL1msPROCNEARPUSHAXPUSHCXMOVAX,0100HMOVCX,AXLOOP$POPCXPOPAXRETDL1msENDPCODEENDSENDSTART三、调试现象1、程序截图92调试现象程序调试时,交通信号灯系统初始状态为所有红灯闪烁4次,数码管此时不显示;系统初始状态之后东西向车行道绿灯亮,南北向车道红灯亮,此时数码管从60秒倒计时;当数码管数字减为0时,东西向、南北向红绿灯交换亮,即南北向车行道绿灯亮,东西向车道红灯亮,此时数码管重新从60秒开始计数,数码管数字减为0秒后,红绿灯再次交换,如此循环重复。当道路发生紧急状况时,可拨单脉冲,使调试状态重新进入初始化,此时数码管停止计时(灭),初始化状态结束后,继续从刚刚被停止时刻开始计时,红绿灯状态仍为停止时刻的状态。四、心得体会这次课程设计任务终于顺利完成了,在设计中遇到了很多问题,最后在自己的努力下以及与同学之间和老师的探讨下,终于一个一个得解决了问题,当看到数码管和二极管按照自己编写的程序显示的时候,心情异常兴奋,好有成就感。这次课程设计在培养我们编程能力的同时,也让我学会了要完成一项任务,除了需要过硬的技术和能力之外,还要有不屈不挠的精神,有些同学就是没有耐心做下去,才没有好好的完成任务。所以,感谢我们的指导老师,谢谢!

    注意事项

    本文(微机课程设计 带数码管显示的交通灯模拟控制系统设计.doc)为本站会员(上***)主动上传,人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知人人文库网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    网站客服QQ:2881952447     

    copyright@ 2020-2024  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

    备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!