倒计时显示东西方向黄灯亮,南北方向红灯亮,且数码管5s倒计时显示东西方向红灯亮,南北方向绿灯亮,且数码管10s倒计时显示东西方向红灯亮,南北方向黄灯亮,且数码管5s倒计时显示
f⑦⑧
判断是否有键按下返回到DOS
(6)电路接线图的设计:设计电路图见下图(7)进行软、硬件调试连接实验线路,将已写好的完整程序在汇编环境下进行编译,若无错误即可在TDPIT实验系统上进行调试。
5设计结果与分析
灯亮的顺序满足设计内容的要求,不足之处在于使用软件延时,不是
f很精确,即计时时间只是大体上满足课设的要求。
六、体会与建议
实验所得结论基本课设的要求,但是存在一些不足之处。如果用硬件延时,则可以改变这一情况。但是要考虑到用8254如何计时1s的问题,有同学在设计中利用8254的工作方式3产生方波信号,当PC0检测到高电平,且下一时刻再次检测到低电平时,即两次检测PC0口分别为高、低电平时,便得到1秒的计时。而我在做这次实验时没有考虑到这一问题。但是在这次实验中,我也学到了一些东西,譬如刚开始的时候,我们组设计的电路是很复杂的,后来经过与别的组的同学一起讨论以后,我们的线路得以精简,要在正确的基础上精简线路与程序是很重要的。另外,通过这次实验,我对8255芯片有了进一步的认识,同时对程序的设计也有了进一步的了解
七、程序源代码
根据查看端口资源修改下列符号值IOY0EQU0D400H片选IOY0对应的端口始地址MY8255_AMY8255_BMY8255_CMY8255_MODEEQUEQUEQUEQUIOY000H4IOY001H4IOY002H4IOY003H48255的A口地址8255的B口地址8255的C口地址8255的控制寄存器地址
STACK1SEGMENTSTACKDW256DUPSTACK1ENDSCODESEGMENTASSUMECSCODESTARTMOVDXMY8255_MODEMOVAL10000000BOUTDXALMOVDXMY8255_AMOVAL00111100BOUTDXALMOVDXMY8255_BMOVAL00111100B定义8255工作方式工作方式0,A口和B口为输出10000000B
写A口发出的起始数据
写B口发出的起始数据
fOUTDXALMOVDXMY8255_CMOVAL11110110BOUTDXALCALLDALLYMOVDXMY8255_CMOVAL11111110BOUTDXALCALLDALLYMOVDXMY8255_CMOVAL11100000BOUTDXALCALLDALLYMOVDXMY8255_CMOVAL10111110BOUTDXALCALLDALLYMOVDXMY8255_CMOVAL10110110BOUTDXALCALLDALLYMOVDXMY8255_CMOVAL01100110BOUTDXALCALLDALLYMOVDXMY8255_CMOVAL11110010BOUTDXALCALLDALLYMOVDXMY8255_CMOVAL11011010BOUTDXALCALLDALLYMOVDXMY8255_CMOVAL01100000B写C口发出的起始数据9
写C口发出的起始数据8
写C口发出的起始数据7
写C口发出的起始数据6
写C口发出的起始数据5
写C口发出的r