电子记分牌的设计单片机课程设计Word文档格式.docx
《电子记分牌的设计单片机课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《电子记分牌的设计单片机课程设计Word文档格式.docx(11页珍藏版)》请在冰点文库上搜索。
第二章系统设计……………………………………………………………4
第三章硬件设计……………………………………………………………5
3.1各硬件模块功能说明…………………………………………5
3.1.1晶振电路模……………………………………………5
3.1.2复位电路模快…………………………………………5
3.1.3显示电路模块…………………………………………6
3.1.4报警电路模块…………………………………………6
3.1.5按键电路模块…………………………………………7
3.2电路原理图……………………………………………………7
3.3原件清单………………………………………………………8
第四章软件设计………………………………………………………………9
4.1软件流程图……………………………………………………9
4.2程序代码………………………………………………………10
第五章课程设计体会………………………………………………………12
第六章参考文献……………………………………………………………13
第一章绪论
1.1设计目的
⑴加深对单片机软硬件技术和相关理论知识的理解,进一步熟悉51单片机系统设计的基本理论,方法和技能;
⑵掌握工程应用的基本内容和要求,力争做到理论与实践的统一;
⑶同时培养分析问题,解决问题的能力和独立完成系统设计的能力,并按要求编写相关的技术文档和设计报告等。
1.2设计内容
选择51单片机,晶振采用12MHZ。
⑵启动时显示的初试分数为50分。
⑶选手每答对一题加1分;
每答错一题减1分。
减分和减分分别由“加”﹑“减”按钮(k1和k2)实现。
⑷计分范围为00~99。
⑸裁判按下复位按钮(K3)时,数码管显示初始分数50。
⑹按键按下时有提示音,当有键按下时蜂鸣器发出声音,按键释放时停止发音。
1.3设计任务和要求
任务:
设计一个电子记分牌
要求:
⑴照任务书的要求完成系统分析及方案设计。
⑵完成硬件原理图的设计,并选择相关元器件。
⑶完成控制软件流程图的设计,编写相应的单片机控制程序。
⑷撰写设计报告。
第二章系统设计
基于80C51单片机电子记分牌由显示模块,按键模块,单片机主控模块,电源模块块等组成,记分牌由显示模块﹑按键模块﹑单片机主控模块﹑电源模块等组成,主要用于展示选手的得分情况,当选手答对1题时,记分牌上加1分;
电源电路为单片机以及其他模块提供标准5V电源,晶振模块为单片机提供时钟标准,使系统各部分能协调工作。
复位电路模块为单片机提供复位功能。
单片机作为主控制器,根据输入信号对系统进行相应的控制。
数码管显示当前的得分。
按键设置用来刷新选手当前的得分,蜂鸣器用作按键提示,当有按键按下时蜂鸣器发出声音,按键释放时停止发声。
系统框图如图2-1所示。
图2-151单片机记分牌系统框图
第三章硬件设计
3.1各硬件模块功能说明
3.1.1晶振电路模块
晶振电路在单片机系统中起着非常重要的作用,是保证系统正常工作的基础。
在一个单片机应用系统中,晶振是保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢。
为达到振荡周期是12MHZ的要求,这里要采用12MHZ的晶振,另外有两个电容,两晶振引脚分别连到XTAL1和XTAL2振荡脉冲输入引脚。
具体连接图如图3-1所示:
图3-1晶振电路
3.1.2复位电路模块
复位是单片微机的初始化操作,其主要功能是把PC初始化为0000H,使单片微机从0000H单元开始执行程序。
除进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,可以按复位键以重新启动,也可以通过监视定时器来强迫复位。
RST引脚是复位信号的输入端。
复位电路在这里采用的是上电+按钮复位电路形式,具体连接电路如图3-2所示:
图3-2复位电路
3.1.3显示电路模块
本设计采用共阳极数码显示器,显示选手当前的得分。
其具体图形如图3-3所示:
图3-3显示电路
3.1.4报警电路模块
报警电路主要由蜂鸣器通过一NPN三极管进行驱动,用作按键提示,当有按键按下时蜂鸣器发出声音,按键释放时声音停止。
报警电路模块如图3-4所示:
图3-4报警电路
3.1.5按键电路模块
按键电路由三个按钮和电阻组成,用来刷新选手得分,当选手得分或是分时可以通过这两个按钮对选手分数重新设置。
电路如图3-5所示:
图3-5按键电路
3.2电路原理图
电源电路为单片机以及其他模块提供标准5V电源。
晶振模块为单片机提供时钟标准,使系统各部分能协调工作。
数码管显示选手当前的得分。
按键设置模块用来刷新选手的得分,当选手得分或者失分时可以通过这两个按钮对选手分数重新设置。
蜂鸣器用作按键提示,当有按键按下时蜂鸣器发出声音,按键释放时停止发声。
根据上述分析,设计基于51单片机的记分牌电路原理图如图3-6所示。
图3-651单片机记分牌的电路原理图
3.3元件清单
基于51单片机的记分牌元件清单:
80C51单片机,12MHZ晶振,电容,解电容,按键,电阻,电源,三极管,蜂鸣器,数码管,集成块等。
第四章软件设计
4.1软件流程图
如图4-1所示:
开始
初始化
查找键
有键按下?
调用延时子程序
有键按下否?
蜂鸣器响
标志位KP=0?
K1按下?
得分加1
标志位KP=1
KP=0
K2按下?
得分减1
K3复位
返回初值
图4-1软件设计流程图
4.2程序代码
ORG0000H
MOVR1,#50H;
CLRP1.7
MOVDPTR,#TAB
KB0:
MOVA,R1;
显示程序
SWAPA
ANLA,#0FH
MOVCA,@A+DPTR
MOVP0,A
MOVA,R1
MOVP2,A
START:
MOVA,P3;
查询有无键被按下
MOVR0,A
CJNEA,#00H,KB1
LJMPKB3
KB1:
LCALLTM10ms;
调用10ms延时子程序消抖
MOVA,P3
CJNEA,R0,KB3
SETBP1.7;
若有键按下,让蜂鸣器响
MOVA,KP
CJNEA,#00H,START;
判断标志位,是否已被执行过
LJMPKB2;
若没被执行过,则转执行
KB2:
JNBP3.5,K1;
K1键按下,转加1子程序
JNBP3.6,K2;
K2键按下,转减1子程序
LJMPK3;
K3键按下,转复位子程序
K1:
加1子程序
ADDA,#01H
DAA
MOVR1,A
SETBKP
LJMPKB0
K2:
CLRC;
减1子程序
MOVA,#9AH
SUBBA,#01H
ADDA,R1
K3:
复位子程序
KB3:
CLRP1.7;
让蜂鸣器断
CLRKP;
清零执行标志位
TM10ms:
MOVR2,#14H;
10ms延时子程序
TM:
MOVR3,#0FFH
TM3:
DJNZR3,TM3
DJNZR2,TM
RET
TAB:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
第五章课程设计体会
本次课程设计,我主要负责软件部分,包括软件流程图和程序代码。
整个软件流程是这样的:
开始时,先把系统初始化;
然后查找键,看是否有键按下;
若有键按下再调用延时子程序(消抖)确认是否真的有键按下;
如果有键按下,则蜂鸣器响,反之,令标志位KP=0,返回继续查找键;
蜂鸣器响之后,判断标志位KP,若KP=0,说明此次按键操作未被执行过,则执行后面相应程序,(若K1键按下,则执行选手得分加1程序;
若K2键按下,则执行选手得分减1程序;
反之,则按下K3复位键,使选手得分返回初始值50)。
在执行完一次记分操作后,令标志位KP=1,继续进行下一次记分操作。
通过此次单片机课程设计,使我加深了对单片机理论的理解,学会了怎样将理论很好地应用到实际当中去,还学会了如何培养不畏艰难的挑战精神,从而不断地战胜自己,超越自己。
在这一设计过程中,我学会了坚持不懈,不轻易言弃。
设计过程就好比是我们成长的历程,常伴随一些不如意,但是只要我们勇敢过,战斗过,胜利的钟声就一定会为我们而敲响。
这次课程设计,我遇到过许多次失败的考验。
比如,对单片机的一些基本原理都搞不清楚,所以在程序的创作过程中,很难写出正确的程序,常常出错等。
但是面对这些困难,我没有想过要放弃,因为我坚信吃得苦中苦,方为人上人。
这是进入大二的第一次课程设计,也是我第一次真正参与的课程设计。
记得以前总是想着靠别的同学,而这次,由于分组分工了,每个人都有自己的任务,我也就自己动起手来,虽然期间有过很多小挫折,但我都一一克服了,看着自己完成的任务,很激动,有种成就感。
这次的课程设计让我更加体会到团队合作的重要性和必要性,也让我更加明白了努力不一定会成功,但想成功一定要努力的道理。
总之,此次课程设计让我获益匪浅。
第六章参考文献
[1]李建忠《单片机原理及应用》西安电子科技大学出版社,2011年4月第14次印刷;
⑵杨居义《单片机课程设计指导》清华大学出版社,2009265~268;
⑶李海滨《单片机技术课程设计与项目实例》中国电力出版社,2009。