该部分是时、分、秒、星期显示电路。前面显示的是时间,初始值设定为12:59:52,后面显示的是星期,初始值设定为1,且时间和星期两秒交替显示。此电路部分是用可编程并行接口8255A口输出数码管位选端数字,B口输出数码管显示数字各段对应的驱动电平实现的。此外,C口接两个按键,接收按键触发信息以此来达到修改时、分、秒以及星期的目的。
10
设计总结
在这次课程设计过程中,我们逐步养成了发现、提出、分析和解决实际问题的习惯;这不但锻炼提高了我们的实践能力,更是对我们实际工作能力的具体训练和考察过程。 对于此次电子时钟课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在这短短两个星期的日子里,不仅让我们巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合的重要性,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中也发现了自己对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说触发器的运用还是不怎么熟识,但是通过这次课程设计,我们对8086CPU,8253定时器74LS273等一些芯片有了更深刻的理解与认识。同时也看到了自己基础知识还是不够扎实,实践经验还是比较缺乏,理论联系实际的能力还待急需提高。通过这次课程设计之后,一定把以前所学过的知识重新温故。在这个过程中,也曾经因为实践经验的缺乏失落过,也曾经仿真成功而热情高涨。生活就是这样,汗水预示着结果也见证着收获。虽然这只是一次的较简单的课程设计,可是也耗费了我们不少的心血,让我们真正的体会到了对于设计者来说,钻研精神是何等的重要。
经历过了这次课程设计,我们不但在知识上有了重要收获,精神上的丰收更加难能可贵。这让我明白,我们每一个人做任何事,都需要探索精神,不管前方的道路有多艰险,走过,你才能知道自己的能力,人不能停留于眼前,因为学无止境。一次挫折是一份财富,一次成功是一份动力,一次跨步就是一次飞跃,人生贵在拼搏!毋庸置疑,这次课程设计必将是大学里一个新的起点!
参考文献:
[1] 华成英.模拟电子技术[M].清华出版社,2006.2
[2] 模拟电子技术实验指导书.仰恩大学计算机与信息学院出版,2006.12
11
附录: 设计图:
12
源程序清单:
.MODEL SMALL .8086 .STACK
DSEG SEGMENT
SECOND DB 52 ;秒 MINUTE DB 59 ;分 O_CLOCK DB 12 ;时 DAY DB 1 ;星期 SECOND_L DB 1FH ;秒的位选 SECOND_H DB 2FH MINUTE_L DB 37H ;分的位选 MINUTE_H DB 3BH
O_CLOCK_L DB 3DH ;时的位选 O_CLOCK_H DB 3EH
_DAY DB 1FH ;星期的位选 CLEAR_1 DB 0FFH ;位清零 CLEAR_2 DB 00H ;段清零
ADDRESS_A DW 0200H ;A口地址位选 ADDRESS_B DW 0202H ;B口地址段选
ADDRESS_C DW 0204H ;C口地址按钮输入 ADDRESS_CONTROL DW 0206H ;控制地址 WORD_CONTROL8255 DB 81H ;8255的控制字 ADDRESS_CRT0 DW 0400H ;8253计数器0的地址 ADDRESS_CRT1 DW 0402H ;8253计数器1的地址 ADDRESS_CRT_CONTROL DW 0406H ;8253的控制寄存器地址 CRT_WORD_CONTROL DB 34H ;8253控制字
CRT0_COUNT DW 1000 ;计数器0的初始值
TIME_COUNT DB 0 ;记录中断的次数 每中断次数达4,置零,用于判断两秒时间LED_CODE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;0到9显示段选数据 MODELL_Z0 DB 0FEH ;模式选择字 O_CLOCK_SET_Z1 DB 0FDH ;时钟设置字 MINUTE_SET_Z2 DB 0FBH ;分钟设置字 SECOND_SET_Z3 DB 0F7H ;秒设置字 DAY_SET_Z4 DB 0EFH ;天设置字 NUM_BUTTON DB 0 ;屏蔽字 DSEG ENDS
.CODE
ASSUME DS:DSEG START:MOV AX,DSEG MOV DS,AX XOR AX,AX
13
MOV ES,AX
MOV SI,0008H
MOV AX,OFFSET WORD PTR INTERRUPT ; 取中断服务程序的IP地址 MOV ES:[SI],AX
MOV AX,CS ; 取中断服务程序的段地址 INC SI INC SI
MOV ES:[SI],AX ;将中断服务程序的段地址及ip放在中断类型码2的位置 CALL ININT8255
CALL ININT8253 CYCLE: CALL SET JMP CYCLE
SET FAR PROC ; PUSHF PUSH AX PUSH DX PUSH BX
MOV DX,ADDRESS_C IN AL,DX XOR AL,0FFH TEST AL,1 JZ H0
CALL DELAY10MS IN AL,DX XOR AL,0FFH TEST AL,1 JZ H0 H7: IN AL,DX TEST AL,1 JZ H7
MOV AL,NUM_BUTTON INC AL
MOV NUM_BUTTON,AL
H0: MOV AL,NUM_BUTTON CMP AL,0 JNZ H1
CALL DISPLAY
H1: MOV AL,NUM_BUTTON CMP AL,1 JNZ H2
CALL SECOND_SET H2: MOV AL,NUM_BUTTON CMP AL,2
手动设置子程序 14