欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    微机原理课程设计铁路司机防睡控制系统.docx

    • 资源ID:16156516       资源大小:230.96KB        全文页数:22页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

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

    微机原理课程设计铁路司机防睡控制系统.docx

    1、微机原理课程设计铁路司机防睡控制系统二一三二一四学年第 一 学期信息科学与工程学院自动化系微机原理课程设计班 级: 学 号: 姓 名: 指导教师: 设计时间: 一、 课程设计的任务、目的和要求任务:铁路司机防睡控制系统,铁路司机的在工作过程中不允许睡觉,需设计一个防睡控制系统让火车正常运行。目的:综合运用本课程知识,全面掌握微型计算机及其接口的工作原理、编程和实用方法的重要实践环节。通过独立提出并论证设计方案,进行软、硬件调试,最后获得正确的运行结果,可加深和巩固对理论教学和实验教学内容的掌握,进一步建立计算机系统整体概念,初步掌握微机硬件开发方法,为以后进行实际的计算机软、硬件应用开发打下良

    2、好的基础。要求:(1)每10min用较低声音(可直接用PWM控制蜂鸣器,或者用DAC输出较低电平控制蜂鸣器)提醒一次司机,司机按某一按键后复位,计时重新开始。(2)若计时到11min时无人按复位键,则以较高声音报警,同时黄灯点亮,每隔1分钟计数器加1,记录司机睡眠时间。(3)当计时到20min时红灯点亮,并以最高声音报警。以LED显示分和秒。二、 总体方案: 本设计是利用8086芯片、8255芯片、8253芯片等硬件设备设计铁路司机防睡控制系统。 总体方案是用8253计数器计时,然后读计数器数值,存到存储器的存储单元里面,通过8255去控制LED屏显示时间和蜂鸣器报警首先利用了编程程序,编辑了

    3、8255芯片控制字, 对其进行初始化,使其工作在方式0即基本输入输出状态,将8255的A、B端口设置为输出,其中PA0-PA6接数码管的七段a-g,PA7接小数点位,PB0-PB5接数码管的个公共端;C端口做为输入端口,其中PC0-PC4作输入用,采集开关信号送CPU判断是否显示时间,高四位作输出用。将8254的计数器0设置在工作方式2下,用来产生计数负脉冲。其中CLK0接1KHZ,GATE0接8255的PC6端口,当8255的PC1端口检测到低电平时调用计时子程序。当每次计时后需要判断所计时间是否达到设计要求,若达到要求则调相应的报警子程序。在报警子程序中利用8253的计数器1来产生响铃脉冲

    4、,所以计数器1应工作在方式3下,GATE0端接8255的PC4用来实现计数器1以软件启动方式启动,CLK2接1000HZ作为定时脉冲。OUT2接扬声器。计数器2应工作在方式3下,GATE0端接8255的P5用来实现计数器1以软件启动方式启动,CLK2接1000HZ作为定时脉冲。计数器设置基数初值不相同,用来输出不同频率的方波,是蜂鸣器以更好声音报警。模块执行顺序三、主程序流程图如下:判断模块:可行性论证: (1)硬件可行性通过向8253定时器/计数器芯片的计数器0送计数初值,即确定了1秒。通过8255的C端口来控制程序的启动和复位操作。(2)软件可行性对于8253芯片,先将控制字写入控制端口,

    5、然后通过计时器0确定1秒;通过定时器2产生响铃脉冲。对于8255,先写控制字,然后通过编程实现计数、判断等即可。(3)操作可行性实验程序通过轻松汇编软件编辑并运行生成目标文件,并利用Proteus软件画电路图加载程序仿真。程序运行效果图:四. 芯片资料介绍(1) 8255引脚功能RESET:复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。CS:片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许8255与CPU进行通讯。RD:读信号线,当这个输入引脚为低电平时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从825

    6、5读取信息或数据。WR:写入信号,当这个输入引脚为低电平时,允许CPU将数据或控制字写入8255。D0D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。PA0PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。PB0PB7:端口B输入输出线,一个8位的I/O锁存器, 一个8位的输入输出缓冲器。PC0PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个

    7、4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。A1、A0:端口地址总线,8255中有端口A、B、C和一个内部控制字寄存器,共4个端口,由A0、A1输入地址信号来寻址。 图 1. 8255的控制字格式二、8253引脚功能8253内部有三个计数器,分别称为计数器0、计数器1和计数器2,他们的机构完全相同。每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR

    8、、一个计数执行部件CE和一个输出锁存器OL。五、设计总结:由于初次学微机原理这门课程,感觉羞涩难懂,所以设计用了很长时间去构思和修改电路图并调试程序,主要有两大问题:数码管显示时间问题最开始数码管一直不显示时间,经过反复思考,是程序逻辑问题,子程序比较多,显得凌乱,经过认真整理思路,画流程图,明白了8253计数、读计数器值,送储存,时分秒加减进位,在访问存储单元查表显示的过程,经过不断修改程序并调试,总算是可以显示时间。本次设计仍然存在不足,就是时间进位有时会出现异常,可能是程序逻辑与延时问题,还有待以后修改。本次设计给我最大的感受就是学东西要会用才行,会用才说明你真正的理解了,微机原理本来羞

    9、涩难懂,枯燥无味,只有经过不断地编程实践,才能让自己更加理解其原理和过程。本次设计是我第一次自己在老师的指导下单独动手完成的,为我以后的设计奠定了良好基础。六、参考文献1 朱定华,微机原理、汇编与接口技术,清华大学出版社,20052 赵树升,赵雪梅.现代微机原理及接口技术M,北京:清华大学出版社,2008年8月附件一:源程序清单 A_PORT EQU 300H B_PORT EQU 302H C_PORT EQU 304H CTRL_PORT EQU 306H COUNT0 EQU 310H COUNT1 EQU 312H COUNT2 EQU 314H COUNT EQU 316H MODE

    10、 EQU 90H INTR EQU 0304H INTR1 EQU 0306H DCOUNT EQU 6 DATA SEGMENT LEDTAB DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H BUF DB 0,0,0,0,0,0 BUFF DB 20 DUP(?) DAT1 DB 0 DAT2 DB 0 DAT3 DB 1 DAT4 DB 0 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: CLI PUSH DS MOV SI,2*4 MOV AX,

    11、0 MOV DS,AX MOV SI,OFFSET INTB MOV 2SI, SEG INTB POP DS MOV AL,00010011B MOV DX,INTR OUT DX,AL MOV AL,00000010B MOV DX,INTR1 OUT DX,AL MOV AL,00000001B MOV DX,INTR1 OUT DX,AL STI MOV DX,COUNT ;方波发生200Hz,时钟10KHz MOV AL,00110111B ;通道0,方式3,BCD计数 OUT DX,AL MOV DX,COUNT0 MOV AL,50H OUT DX,AL MOV AL,00H O

    12、UT DX,AL ;通道0初始化 MOV DX,COUNT ;计数结束中断方式 MOV AL,01110111B ;通道1,方式0,BCD计数 OUT DX,AL MOV DX,COUNT1 MOV AL,25H OUT DX,AL MOV AL,00H OUT DX,AL ;通道1初始化 MOV DX,COUNT ;可编程单稳态输出方式 MOV AL,10110111B ;通道2,方式1,二进制计数 OUT DX,AL MOV DX,COUNT2 MOV AL,12H OUT DX,AL ;通道2初始化 MOV AL,00H OUT DX,AL MOV AL,10000001B ;8255初

    13、始化, MOV DX,CTRL_PORT OUT DX,AL BACK: MOV DX,C_PORT IN AL,DX TEST AL,00000010B JZ B2 ;判断是否清0 AGAIN: MOV DX,C_PORT IN AL,DX TEST AL,00000001B JZ B1 ;判断是暂停还是继续? MOV CX,6 JIA6: INC SI LOOP JIA6 MOV AL,00000000B MOV DX,C_PORT OUT DX,AL MOV AL,DAT1 ;DTA1中是秒 CMP AL,100 JZ A1 MOV BL,10 DIV BL MOV BUF,AH ;秒的

    14、个位 MOV BUF+1,AL ;秒的十位 CALL DISPLAY_DEC INC DAT1 JMP BACK A1: MOV DAT1,0 ;满60秒,对DAT1清0 MOV AL,0 MOV AH,0 MOV BUF,AH MOV BUF+1,AL CALL DISPLAY_DEC ;先显示00,再进位 INC DAT2 MOV AL,DAT2 ;DAT2中是分 CMP AL,60 JZ A2 MOV BL,10 DIV BL MOV BUF+2,AH ;分的个位 MOV BUF+3,AL ;分的十位 CALL DISPLAY_DEC MOV CX,60 LOOP AGAIN A2: M

    15、OV DAT2,0 ;满60分对DAT2清0 MOV AL,0 MOV AH,0 MOV BUF+2,AH MOV BUF+3,AL CALL DISPLAY_DEC ;先显示00:00再进位 MOV AL,DAT3 ;DAT3中是时 CMP AL,24 JZ A3 MOV BL,10 DIV BL MOV BUF+4,AH ;时的个位 MOV BUF+5,AL ;时的十位 CALL DISPLAY_DEC MOV CX,60 DEC CX JZ BACK A3: INC DAT3 JMP BACK B1: CALL DISPLAY_DEC MOV AL,01110000B ;对8253送GA

    16、TE1控制信号 MOV DX,C_PORT OUT DX,AL CALL CUNCHU CALL DELAY JMP BACK B2: MOV DX,C_PORT IN AL,DX TEST AL,00000100B JNZ LI CALL XIANSHICJ CALL DISPLAY_DEC MOV CX,1 JZ NEXT2 MOV SI,6 DEC CX NEXT2: CALL DELAY JMP BACK LI: MOV BUF,0 ;清0 MOV BUF+1,0 MOV BUF+2,0 MOV BUF+3,0 MOV BUF+4,0 MOV BUF+5,0 MOV DAT2,0 MO

    17、V DAT3,1 CALL DISPLAY_DEC MOV AL,10110000B ;对8253送GATE0控制信号 MOV DX,C_PORT OUT DX,AL CALL DELAY JMP BACK DISPLAY_DEC PROC DA: MOV DI,2 DISPAGAIN1: MOV BL,BUF MOV BH,0 LEA SI,LEDTAB ;以十进制显示 MOV AL,BXSI ;取个位段码 NOT AL ;共阳 MOV DX,A_PORT OUT DX,AL ;用数码管显示个位 MOV AL,11100000B ;位选,1点亮 MOV AH,0 MOV DX,B_PORT

    18、OUT DX,AL CALL DELAY MOV AL,0H ;清屏 MOV DX,B_PORT OUT DX,AL CALL DELAY1 CALL DELAY1 LEA SI,LEDTAB MOV BL,BUF+1 MOV BH,0 MOV AL,BXSI ;取十位段码 NOT AL MOV DX,A_PORT OUT DX,AL ;用数码管显示十位 MOV AL,11010000B MOV DX,B_PORT OUT DX,AL CALL DELAY MOV AL,0H MOV DX,B_PORT OUT DX,AL CALL DELAY1 LEA SI,LEDTAB MOV BL,BU

    19、F+2 MOV BH,0 MOV AL,BXSI ;取分个位段码 NOT AL MOV DX,A_PORT OUT DX,AL ;用数码管显示分个位 MOV AL,11001000B MOV DX,B_PORT OUT DX,AL CALL DELAY MOV AL,0H MOV DX,B_PORT OUT DX,AL CALL DELAY1 CALL DELAY1 LEA SI,LEDTAB MOV BL,BUF+3 MOV BH,0 MOV AL,BXSI ;取分十位段码 NOT AL MOV DX,A_PORT OUT DX,AL ;用数码管显示分十位 MOV AL,11000100B

    20、MOV DX,B_PORT OUT DX,AL CALL DELAY MOV AL,0H MOV DX,B_PORT OUT DX,AL CALL DELAY1 LEA SI,LEDTAB MOV BL,BUF+4 MOV BH,0 MOV AL,BXSI ;取时个位段码 NOT AL MOV DX,A_PORT OUT DX,AL ;用数码管显示时个位 MOV AL,11000010B MOV DX,B_PORT OUT DX,AL CALL DELAY MOV AL,0H MOV DX,B_PORT OUT DX,AL CALL DELAY1 CALL DELAY1 LEA SI,LEDT

    21、AB MOV BL,BUF+5 MOV BH,0 MOV AL,BXSI ;取时十位段码 NOT AL MOV DX,A_PORT OUT DX,AL ;用数码管显示时十位 MOV AL,11000001B MOV DX,B_PORT OUT DX,AL CALL DELAY MOV AL,0H MOV DX,B_PORT OUT DX,AL CALL DELAY1 DEC DI JNZ DISPAGAIN1 RET DISPLAY_DEC ENDP DELAY PROC MOV CX,1DH LOOP $ RET DELAY ENDP DELAY1 PROC MOV CX,3H LOOP $

    22、 RET DELAY1 ENDP CUNCHU PROC PUSH AX PUSH BX PUSH CX MOV AL,BUF MOV AH,BUF+1 MOV BL,BUF+2 MOV BH,BUF+3 MOV CL,BUF+4 MOV CH,BUF+5 MOV BUFFSI,AL MOV BUFFSI+1,AH MOV BUFFSI+2,BL MOV BUFFSI+3,BH MOV BUFFSI+4,CL MOV BUFFSI+5,CH POP AX POP BX POP CX RET CUNCHU ENDP XIANSHICJ PROC PUSH AX PUSH BX PUSH CX M

    23、OV AL,BUFFSI MOV AH,BUFFSI+1 MOV BL,BUFFSI+2 MOV BH,BUFFSI+3 MOV CL,BUFFSI+4 MOV CH,BUFFSI+5 MOV BUF,AL MOV BUF+1,AH MOV BUF+2,BL MOV BUF+3,BH MOV BUF+4,CL MOV BUF+5,CH POP AX POP BX POP CX RET XIANSHICJ ENDP INTB PROC FAR PUSH AX PUSH BX PUSH CX MOV SI,6 MOV AL,20H OUT 20H,AL POP CX POP BX POP AX IRET INTB ENDP CODE ENDS END START


    注意事项

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

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




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

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开