五、 课程设计总结
从大一到现在,做过了很多的课程设计也焊过很多的电路板,但是这是第一次接触单片机,也是第一次接触软件和硬件同时开工的课程设计。因为以前的课程设计都是要么纯硬件的焊接,要么就是仅仅只是编程序。而这次把这二者结合了起来对我来说确实是有一定的难度。首先是焊接的方面,虽然这次的电路较为简单,但是16个按钮的连接方式也着实让我为难了一番。其次就是如何将程序烧到芯片里面,这也是一个问题,还好有同学的帮助,用它的实验平台帮我将程序烧了进去。
而这次实验最大的体会便是仔细和认真的态度才能让你成功,所谓慢工出细活,只有一步一步把该做好的东西都做好了,该实现的功能才会实现,实验才会成功。我想这也是电信所有的课程设计想要教会我们的东西吧。
附表:实验所用程序
KEYBUF EQU 30H ;KEYBUF定义为30H STH0 EQU 31H ;STH0 定义为,31H STL0 EQU 32H ;STL0 定义为,32H TEMP EQU 33H ;TEMP 定义为,33H ORG 00H LJMP START ORG 0BH LJMP INT_T0
START: MOV TMOD,#01H ; SETB ET0 ; SETB EA ;WAIT: MOV P3,#0FFH ; CLR P3.4 MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY1
LCALL DELY10MS ; MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY1 MOV A,P3 ANL A,#0FH CJNE A,#0EH,NK1 MOV KEYBUF,#0 LJMP DK1
NK1: CJNE A,#0DH,NK2 ; K1 MOV KEYBUF,#1 LJMP DK1
NK2: CJNE A,#0BH,NK3 ;K2 MOV KEYBUF,#2
设置定时器0的工作方式 设置定时器中断 开总中断
设置P3口为输入模式 ; P3.4清0,按键的第一行扫描延时10ms 键按下 键按下