- 11 -
四、系统制作过程及结果
1、制作过程
(1)电路板的焊接:直接用的是成品 (2)程序编写:
在所有组员都懂得程序原理的前期下,为尽早完成任务,我们将程序分为主
体部分和细节部分两个方面分别由不同人员进行编写。其中主体部分由组长及卢航编写。细节部分由其他组员共同编写。
- 11 -
- 12 -
2.调试结果:
本系统完成了所有的基本功能并扩展了部分功能,具体总结如下: a 检测教室里的人数并在8*8点阵LED显示器显示出来; b 设置一个按键实现复位清零。
C
用发光二极管模拟电灯, 当教室有人时, 发光二极管发光,无人时
发光二极管不发光。
本系统存在的问题:有时反应不灵敏
五、调试程序
ORG AJMP
ORG AJMP ORG AJMP ORG MAIN: ACALL SETB SETB SETB SETB SETB SETB SETB LOOP: JNB ACALL DONE: ACALL ACALL SJMP ;显示程序 XS: MOV MOV MOVX CLR CJNE FULL: JC MOV
0000H
MAIN 0003H PINT0 0013H PINT1 0100H FUWEI ;复位 EA ;开所有中断 PX0 ;令INT0中断为高优先级 PX1 ;令INT1中断为高优先级 IT0 ;令INT0中断为负边沿触发 IT1 ;令INT1中断为负边沿触发 EX0 ;开INTO中断 EX1 ;开INT1中断
P1.0,DONE ;扫描P1.0电平,判断是否复位 FUWEI ;若P1.0为高电平,调用复位程序 FB ;调用分半程序,将要显示的两位数分离 XS ;调用显示程序,显示人数 LOOP ;返回LOOP,循环扫描、显示
DPTR, #0100H ;8155命令口地址送DPTR A, #03H ;方式控制字送A @DPTR,A ;方式控制字送8155命令口 C ;清除标志位cy R2,#10,FULL ;R2和10比较,判断是否人满,并形成标志位cy XS0 ;人数少与10人,则显示人数 R0,#72H ;人数等于或超过10人,显示人满标志符号X
- 12 -
- 13 -
MOV 72H,#0AH ;人满标志符号字形码送显示缓冲区 MOV 73H,#0BH AJMP XS1 XS0: MOV R0,#70H ;显示缓冲区起始地址送R0 XS1: MOV R4,#0FEH ;字位码始值送R4 ACALL XSZ ;嵌套调用显示子程序,显示十位数 INC R0 ;修正显示缓冲区指针,指向71H单元地址 ACALL XSZ ;嵌套调用显示子程序,显示个位数 RET ;返回主程序 ;显示子程序 XSZ: MOV R3,#04H ;循环控制量始值送R3 MOV A,@R0 ;显示缓冲区中的数送A RL A ;A中值扩大两倍 RL A ;A中值再扩大两倍 MOV R5,A ;偏移量修正值送R5,暂存 LP: MOV A,R5 INC R5 ;修正偏移量 MOV DPTR,#ZXTB ;字形码表格地址送DPTR MOVC A,@A+DPTR ;查表得字形码 MOV DPTR,#0101H ;A口地址送DPTR MOVX @DPTR,A ;字形码送A口 INC DPTR ;B口地址送DPTR MOV A,R4 ;字位码送A MOVX @DPTR,A ;字位码送B口 RL A ;字位码左移一位 MOV R4,A ;字位码暂存在R4
ACALL DL ;延时1ms
DJNZ R3,LP ;显示下一个数码 RET
ZXTB: DB 0C1H,0BEH,0BEH,0C1H ;字形表 DB 0FFH,0BDH,080H,0BFH DB 8DH,0B6H,0B6H,0B9H DB 0DDH,0B6H,0B6H,0C9H DB 0F3H,0F5H,80H,0F7H DB 0B0H,0B6H,0B6H,0CEH DB 0C1H,0B6H,0B6H,0CDH DB 0FCH,0FEH,82H,0FCH DB 0C9H,0B6H,0B6H,0C9H DB 0D9H,0B6H,0B6H,0C1H DB 0BEH,0DDH,0EBH,0F7H ;人满了,显示X DB 0F7H,0EBH,0DDH,0BEH
- 13 -
- 14 -
;延时程序 DL: MOV R7,#02H ;大循环控制量初值送R7 DL1: MOV R6,#0FFH ;小循环控制量初值送R6 DL2: DJNZ R6,DL2 ;未完成则DL2,否则跳出小循环 DJNZ R7,DL1 ;未完成则DL1,否则跳出大循环 RET
;分半程序 FB: MOV R0, #70H ;R0指向70H单元地址 MOV A, R2 ;人数送A MOV B, #0AH ;除数10送B DIV AB ;人数的十位数送A,个位数送B MOV @R0, A ;十位数送显示缓冲区70H地址单元 MOV A, B ;个位数送A INC R0 ;修正缓冲区指针,指向71H单元地址 MOV @R0, A ;个位数送显示缓冲区71H地址单元 RET ;复位程序
FUWEI: MOV R2, #00H ;人数清零 CLR 7EH ;INTO中断响应标志置“0” CLR 7FH ;INT1中断响应标志置“0” CLR P1.1 ;小灯熄灭 RET ;INT0中断子程序 PINT0: JB 7FH, DCR2 ;若INT1响应标志为1,人数减一 JB 7EH, CLR7E ;若INT0响应标志为1,将其置“0” SETB 7EH ;若INT0、INT1响应标志均为0,则将INT0响应标志置“1” RETI DCR2: DEC R2 ;人数减一 CJNE R2,#0FFH,NETT1 ACALL RSET ;人数为255(-1)时,复位 NEXTT1: CLR C ;cy标志清零 CJNE R2,#00H,NEXT ;若人数大于零,NEXT CLR P1.1 ;若人数为零,小灯熄灭 NEXT: CLR 7FH ;将INT1响应标志置“0” CLR7E: CLR 7EH ;将INT0响应标志置“0” RETI ;INT1中断子程序 PINT1: JB 7EH, INCR2 ;若INT0响应标志为1,人数加一 JB 7FH, CLR7F ;若INT1响应标志为1,将其置“0” SETB 7FH ;若INT0、INT1响应标志均为0,则将INT1响应标志置“1” RETI ;返回主程序
- 14 -
- 15 -
INCR2: CLR7F
INC R2 ;人数加一
SETB P1.1 ;小灯亮 CLR 7EH ;将INT0响应标志置“0” :CLR 7FH ;将INT1响应标志置“0” RETI ;中断返回 END
六、心得体会:
我们所实践的这门课,使我们机电类本科生教学的主要基础课之一,课程紧密结合机电大类专业特点,围绕单片机原理和应用主题,系统介绍单片机的基本知识,基本组成,体系结构和工作模式等,从而让我们能清楚地了单片机的结构与工作流程,建立起系统的概念,为以后的更深层次的研究打下坚实基础。
这次微机原理课程设计历时约十天完成,在这些天里,我们发扬团队合作的
精神,共同克服了很多难题,在较长的时间里成功完成了本次实验,看着我们的劳动成果,我们每个人都觉得自己的付出得到了回报。虽然很累,但可以说得是苦多于甜,真理源于实践,用在这里似乎有些张扬,但此刻,我们的感受却很相似,在这段时间里,我们通过自己亲自动手去操作,主动去思考,去解决现实的问题,我们获得了很多,学到了很多。不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。以前在上课的时候,把老师的种种忠告抛之脑后,而在本次实践中,我们才体会到有些在上课不曾注意过的东西在现实中是多么重要,就比如说老师经常强调在写一个程序的时候,一定要事先把程序总体原理方框图化出来,但是我开始总觉得这样做没必要,而且浪费时间,但是,这次课程设计完全改变了我以前的那种错误的认识。还有就是,老师曾强调程序的格式,以及程序的细节符号等,由于以前我接触的那些程序都是很短、很基本的东西,所以出错了很容易检查并对其进行修改,但是在课程设计中,一个程序那么长,那么繁琐,出错之后需要费很大的努力才能校正,这就需要我们对其更加认真与仔细!
以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。
通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,就比如在这次实践中,我们部分同学虽然对理论掌握得很不错,但在开始那段时间还是不能得心应手地进行设计与实践,这就是实践与理论的联系的过程,我们体会到了所谓的“纸上谈兵”,因此只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,
- 15 -
- 16 -
这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
通过本次课程设计,我们能够更深层次地了解和掌握单片机的基本知识和基本的编写程序,也更加深入地了解单片机这么课程,掌握汇编语言的设计和调试方法,熟悉设计的流程及程序的组合、调用和系统的调试。总之,我们默对单片机的应用有所了解,这对我们以后的研究与学习会有很大帮助!
这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在老师以及学长的指导下,我们最终得到了很好的解决方案。在此,我代表我组所有成员,感谢老师的指导与帮助,我们会更加努力地的去学习工作!
七、
参考文献
1、 胡汉才《单片机原理及其接口技术》北京:清华大学出版社 2004.2 2、胡汉才《 单片机在电子电路设计中的应用》 北京:清华大学出版社 2006
3、赵嘉蔚 张家栋 霍凯 肖燕彩 《单片机原理与接口技术》 北京:清华大学出版 2010
- 16 -
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库教室人数统计系统,单片机课程设计(3)在线全文阅读。
相关推荐: