备注:由于在用Proteus作仿真的时候,软件并不能完全符合实物的物理特性,所以在本设计的仿真方面,尤其是动态扫描方面,效果并不很成功,主要是动态扫描时,数码管出现不能完全点亮,导致只有一部分段选显示。经过调查了解到,这是由于在Proteus仿真时,软件中,数码管只有点亮和不亮两种状态,而实际做动态扫描时,数码管是处于亮与不亮之间,通过二极管的余晖及人眼的视觉延迟来实现的,所以在软件仿真时并不能完美的展示时钟时间。不过,通过放慢扫描显示的频率,可以看到略显闪烁的结果,证明软硬件的仿真成功。
21
总 结
通过做这次毕业设计,我学到了很多东西,首先是对Proteus及Keil等软件的运用,并对数码管动态显示方面的知识有了更多的理解,在以前我只是对这些软件有个大概的了解,但通过这次实践,是我对这些软件有了更深刻的了解,在以后的学习及工作中将会起到很大的作用,这次我将自己所学的知识运用到了实践当中,使得理论有了实践的指导。
但是由于我以前没有实际做过按键扫描控制数码管动态扫描这方面的内容,所以在有些内容的准备上还有很多不足之处,我希望自己通过这次设计可以有很大的提高,从这次实践中学到一些经验,并在以后的工作中有实践的指导。在硬件调试方面我也学到了很多东西,对电路的检查有了很多的经验,在软件编译方面是我有了很好的编译习惯,并掌握了一些软件编译技巧。
在论文的编写方面,让我有了很好的文字表达能力及理论到实践的应用能力,并对简单的文字编译有了更熟练的掌握。
总之,这次毕业设计使我受益匪浅,经过认真的制作,使我对本科阶段的学习有了圆满的总结。
22
参考文献
[1] 张毅刚. 单片机原理及应用[M]. 北京:高等教育出版社,2003年,第一版,P34。 [2] 张毅刚. MCS-51单片机应用设计[M]. 哈尔滨:哈尔滨工业大学出版社,1997年,第二版,P69。
[3] 徐君毅等. 单片微型计算机原理及应用[M]. 上海:上海科学技术出版社,1988年,第一版,P44。
[4] 何立民. MCS-51单片机应用系统设计[M]. 北京:北京航空航天大学出版社,1991年,第一版,P30。
[5] 李华. MCS-51 系列单片机使用接口技术[M]. 北京:北京航空航天大学出版社,1993年,第一版,P80。
[6] 王毅. 单片机器件应用手册[M]. 北京:人民邮电出版社,1995年,第一版,P55。 [7] 李广弟. 单片机基础[M]. 北京:北京航空航天大学出版社,2001年,第一版,P38。 [8] 李全利.单片机原理及应用技术[M].北京:高等教育出版社,2004年,第一版,P68。 [9] 张洪润,兰清华. 单片机应用技术教程[M],北京:清华大学出版社,1997年,第一版,P32。
[10] 张敏锐,张红. 通信与电子科技信息英语[M], 北京:北京邮电大学出版社,2004年,第一版,P88。
23
附录一 源程序
// 电子时钟设计
//------------------------------------------------------------- #include
#define uchar unsigned char #define uint unsigned int #define SPK P2_1 #define K1 P2_2 #define K2 P2_3 #define K3 P2_4 #define K4 P2_5 #define LED P2_0 #define FLAG P0_0 void keyscan(); void K1function(); void K2function(); void K3function(); void K4function();
char DATA_7SEG[10]={0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x90};
uchar hour=16,min=18,sec=0; uchar AH=0,AM=0,ON=0; uint counter; uchar Msec=0,Asec=0; uchar deda=0; void delay(uint k);
void disp(uchar H,uchar M,uchar S);
//------------定时中断模块------------------------------------- void init_timer()
24