华北科技学院计算机系综合性实验实验报告
课程名称微机原理与接口技术实验学期2011至2012学年第二学期学生所在系部电子信息工程学院年级09级专业班级自动化B091班学生姓名戴子昱学号15任课教师王德志实验成绩
计算机系制华北科技学院计算机系综合性实验报告
第1页实验报告须知1、学生上交实验报告时,必须为打印稿(A4纸)。页面空间不够,可以顺延。2、学生应该填写的内容包括:封面相关栏目、实验地点、时间、目的、设备环境、内容、结果及分析等。3、教师应该填写的内容包括:实验成绩、教师评价等。4、教师根据本课程的《综合性实验指导单》中实验内容的要求,评定学生的综合性实验成绩;要求在该课程期末考试前将实验报告交给任课教师。综合性实验中,所涉及的程序,文档等在交实验报告前,拷贝给任课教师。任课教师统一刻录成光盘,与该课程的期末考试成绩一同上交到系里存档。5、未尽事宜,请参考该课程的实验大纲和教学大纲。华北科技学院计算机系综合性实验报告
第2页《微机原理与接口技术》课程综合性实验报告
开课实验室:接口实验室2012年06月12日实验题目交通信号灯的控制
一、实验目的(1)通过8255并行接口来控制LED发光二极管的亮灭,并精确延时。
(2)实现黄灯闪烁。(3)通过8255并口控制,人工进行交通灯的转换。
二、设备与环境PC机(windowsXP)实验箱(TPC-386EM)8255A、8253三、实验内容1需要完成的基本控制要求概览:
(1)南北路口的绿灯、东西路口的红灯同时亮5秒。
(2)南北路口的黄灯闪烁若干次,维持3秒,同时东西路口的红灯。(3)南北路口的红灯、东西路口的绿灯同时亮5秒。(4)南北路口的红灯、同时东西路口的黄灯亮烁若干次,维持3秒。(5)转(1)重复。(6)紧急情况可以手动控制红绿灯的变换。一个开关控制南北绿,东西红,另一个按钮南北红,东西绿。(7)黄灯闪烁时扬声器发声,提醒。2交通红绿的设计基本端口规划
8255A口作为灯控制输出,PA0-PA5分别对应东西红黄绿,南北红黄绿,P6与P7口不用;8253B口作为输入,PB0-PB3分别对应启动,停止,东西方向交通管制,南北方向交通管制(高电平有效)。8253C口最低位作为输入,接入8253通道1的产生的。1s方波上下降沿来定时;8253通道0输入时钟为1Mhz,通道0用来分频,通道1用来产生1s方波,通道2不用。接线图1所示华北科技学院计算机系综合性实验报告第3页图1硬件连线示意图3红绿灯变化赋值表
南北方向东西方向说明绿黄红绿黄红传送值
11初值南北绿东西红21H
11南北黄东西红11H
11南北红东西绿0CH
11南北红东西黄0AH
11东西方向交通管制21H11南北方向交通管制0CH华北科技学院计算机系综合性实验报告
第4页4设计思路说明
8255A口作为灯控制输出,B口、C口作为输入,故其控制字为8BH。8253通道0输入时钟为1Mhz,通道0用来分频,并把输出送入通道1的时钟输入端,让通道1用来产生周期1s方波,通道2不用。通道1的方波信号输入给8255的C口最低位,不断读取C口上升沿和下降沿来延时。一个上升沿下降沿正好为一个方波周期1s,在判断计数个数的值,就达到延时几秒的效果。1s方波不但用来延时,也用于黄灯闪烁与声音提示。黄灯闪烁由硬件电路实现:黄灯输出与1s方波通过与门后再接对应黄灯与蜂鸣器,就会产生1s频率的黄灯闪烁与效果,当黄灯无输出时,不会有黄灯闪烁与蜂鸣效果。8255并行端口不用悬空时为高电平,软件上需要屏蔽处理。5程序设计流程图:
图2主程序流程图华北科技学院计算机系综合性实验报告
第5页图3正常运行流程图四、实验结果及分析1实验结果按设计的硬件电路图连接好电路,下载程序在试验箱芯片上。整个红绿灯都不亮,原因是系统还没有启动。按下S0,系统正常运行,交通灯按实验任务要求进行如下变化:1、南北路口的绿灯、东西路口的红灯同时亮5秒。
2、南北路口的黄灯闪烁若干次,维持3秒,同时东西路口的红灯。3、南北路口的红灯、东西路口的绿灯同时亮5秒。4、南北路口的红灯、同时东西路口的黄灯亮烁若干次,维持3秒。5、如上周期变化重复。且黄灯时黄灯闪烁,蜂鸣器有提示。在上面正常运行情况下,按下停止按钮S1,一个亮灭周期完成后,所有灯灭掉,且S1有效时,所有按键均无效,因为停止按钮的优先级别最高。恢复停止键,按下华北科技学院计算机系综合性实验报告第6页S2或者S3按键,便可实现东西管制或者南北管制时的红绿灯状态。同时按下,则四
个路口全为红灯,此时为禁止通行状态。S1、S2的按键不分先后均有效,因为它两的优先级一致,属于同一级别。在停止或者管制或者禁止通行状态下,S0启动按钮无效,其优先级别最低。符合程序设定的优先级:停止最高,禁止通行次之、南北东西管制的优先级又低一级,但它两同级别、正常运行的优先级最低。改变定时初值,可以得到想要的延时时间;综上所述,基本完成设计任务与要求。2具体分析缺点:1、系统停止与交通管制在正常运行状态下需等待一个周期执行完成后才能执行,本例中滞后约0-16s不等。(由按键按下时红绿灯执行到哪一步和整个一个正常运行定时时间而定);2、黄灯闪烁时间不能改变,周期只能1s。(后来设想可以把8253的通道2利用上,把通道0输出接入通道2,利用通道2可以产生不同频率的方波,然后与黄灯输出并联后输出到黄灯与蜂鸣器便可实现不同的闪烁频率和蜂鸣频率);3、定时有小范围误差,存在于指令执行的时间(实际上很小,基本无误差)延时定时程序冗长,编制延时程序,调用延时子程序将效率提高。且可以实现实时停止,管制等功能。
优点:1、黄灯闪烁由硬件实现(与门并后再输出黄灯),不用编写闪烁程序且黄灯
有声音提示;2、红绿灯,红黄灯定时时间可变;3、系统有停止,启动,交通管制控制,禁止通行功能;4、编写程序考虑了软件与硬件仿真的兼容性,只需修改代换地址值即可;5、考虑优先权问题:停止位最高、禁止通行次之、东西和南北管制同级别,正常启动位最低;
3仿真试验台实际连线与效果见图4华北科技学院计算机系综合性实验报告第7页图4硬件实验效果图4汇编源程序:;----------------交通红绿灯控制程序;MODELSMALL;----------------8255地址代换IO8255AEQU288HIO8255BEQU289HIO8255CEQU28aHIO8255CTEQU28bH;控制字地址;------------------8253地址代换IO82530EQU280HIO82531EQU281HIO82532EQU282HIO8253CTEQU283H;控制字地址;----------------定时初值代换HLDTEQU05H;红绿定时5秒HHDTEQU03H;红黄定时3秒CODESEGMENTASSUMECS:CODE;------------------状态扫描开始START:MOVAL,8BHMOVDX,IO8255CTOUTDX,AL;8255工作方式初始化MOVAL,34HMOVDX,IO8253CTOUTDX,AL华北科技学院计算机系综合性实验报告第8页MOVAX,10000MOVDX,IO82530OUTDX,ALMOVAL,AHOUTDX,ALMOVAL,56HMOVDX,IO8253CTOUTDX,ALMOVAL,100MOVDX,IO82531OUTDX,AL;---设定8253通道0与通道1的工作方式与初值,;输出为1hz方波,输入时钟为1MhzXHSM:MOVDX,IO8255BINAL,DXMOVBL,AL;备份一个输入的状态值CMPAL,0;判断有无输入JZXHSMANDAL,02H;屏蔽其他位CMPAL,02HJZTZ;如果停止位按键有效,跳转至停止程序MOVAL,BLANDAL,0CHCMPAL,0CH;判断是否东西南北都禁止通行;JZJZTX;转至停止通行程序MOVAL,BLANDAL,04HCMPAL,04HJZDXGZ;若东西管制有效,则跳转至东西禁止程序MOVAL,BLANDAL,08HCMPAL,08HJZNBGZ;若南北管制有效,则跳转至南北禁止程序JMPZCYX;否则转至正常运行;--------禁止通行代码JZTX:MOVAL,09HMOVDX,IO8255AOUTDX,AL;东西南北都红灯JMPXHSM;循环扫描;---------东西管制DXGZ:MOVAL,21HMOVDX,IO8255AOUTDX,AL;东西红灯,南北绿灯JMPXHSM;---------南北管制NBGZ:MOVAL,0CHMOVDX,IO8255AOUTDX,AL;东西绿灯,南北红灯JMPXHSM;---------停止运行TZ:MOVAL,00H;停止运行