yuexiao(); yueda(); zhengdian(); if(t2>9) { t2=0; t1++; } } } } } } } } }
void main() {
outp(IOCON,0x89); outp(IOCON1,0x80); outp(A_CON,0x17); outp(A_0,0x02); btn=inp(IOC); nian(2017); yue(11); tian(30); xingqi(); shi(23); fen(59); miao(59); yue(11);
while(1) {
xiexingqi();
16
xienian(); xieyue(); xietian(); xieshi(); xiefen(); xiemiao(); xiexingqi(); shijianchuli();
} }
第四章 系统实现
4.1 proteus仿真实验
17
图4 Proteus仿真图
2.硬件部分遇到的困难及解决方法
(1)在初次连接好后我们进行了调试,但不能正常工作,经检查有连线错误,改正后可以显示。(对于数码管的动态显示理解不够深刻,传输数据的数据的时候有时候显示不完全)
(2)可以运行工作后,显示乱码,原因是只用了一片8255,用B口输出年月日时分秒和星期,导致数据混乱,所以,之后改为了两片8255。
18
第五章 小结
5.1 设计总结
通过对基于8086的电子万年历的设计,从电路到程序设计,再到对程序的调试,在整个的设计过程中学到了很多。用到了8255A的并行接口,将二进制的控制信息传入8086CPU中处理。在使用8255A接口的时候,都要对其进行初始化,这初始化程序的编写,有助于对这些接口芯片的工作原理的理解。总之,在实验中自己动手,把理论知识用于实践,从中能够学到很多。
5.2 设计存在的问题
初次进行这个课题的设计,由于过程中考虑不全或知识面的狭窄,导致出现一些不足和错误,主要有以下几点:
1.知识积累不足。对实验中的数码管的使用方法存在疑问,不能准确的使用数码管显示数据;写程序代码时,由于知识面的狭窄,会对一些步骤的编写出现错误,需要不断查资料请教教员之后才能够改正过来。
2.设计中最大的难处就是各模块之间的协同关系,有时会出现有的模块工作正常某一模块工作不正常,在不断地查资料与请教教员,调试修改之后,我们终于解决了这些问题。
3、因为军校的特殊环境,组员很少有大片时间来进行实验,只能利用一切能够利用的零碎时间实验,也是进度慢的一大原因。
5.3 心得体会
这次课程设计用了好几个星期,期间我们还要兼顾文化课学习和连队正常工作的运行,但每天在作实验时还是静下心来认认真真的编写汇编代码,学习连接线路芯片以及相关软件程序。在整个实验中,参与成员都有丰富的收获:
1.增强理解,加强实践。在之前的学习中,我们对书本理论知识的学习中对相应的芯片知识不是很了解,在课程设计的过程中,加深了对其的理解,学会了很多有用的电脑软件。在把理论知识用在了实际问题的解答之中,即进一步学会了怎么将理论与实践结合起来解决问题。
19