练枪打靶计分器设计 10级机电一班 张玉彬辽宁装备制造职业技术学院
课程设计报告
设计名称: 练枪打靶记分器设计
班 级: 10级机电一班
姓 名: 张玉彬
学 号: 10320136
指导教 师: 陈海龙
一、概述
1.设计目的
通过《单片机原理与应用》课程设计,掌握单片机及其扩展系统设计的方法和设计原则及相应的硬件调试的方法。进一步加深单片机及其扩展...
辽宁装备制造职业技术学院
课程设计报告
设计名称: 练枪打靶记分器设计
班 级: 10级机电一班
姓 名: 张玉彬
学 号: 10320136
指导教 师: 陈海龙
一、概述
1.设计目的
通过《单片机原理与应用》课程设计,掌握单片机及其扩展系统设计的方法和设计原则及相应的硬件调试的方法。进一步加深单片机及其扩展系统设计和应用的理解。通过课程设计培养理论联系实际,用所学的知识和自身课外的拓展学习加深对专业课的理解和学习;训练综合运用电路设计及相关电子仪器,51单片机软硬件结合的理论,结合实际分析和解决问题的能力。
2.设计要求
(1)设计比分显示功能,6位LED数码管显示,每队比分分别占用3位数码管;
(2)通过加分按钮分别给A、B2队加分,且加分分为加1分、加2分、加3分三种情况;
(3)设计比分对调功能;
(4)增加比赛时间倒计时功能;
(5)显示比分、显示时间切换,能手动切换也能自动切换;
(6)有撤销最近一次加分功能;
(7)时间重置且比分不清零功能;
(8)比分、时间清零功能;
(9)有开始/暂停功能;
(10)有24秒倒计时功能。
二、方案设计与论证
本设计需要计时功能,利用定时器0实现50毫秒定时中断,每20次中断即为1秒,从而对时间变量进行相应的操作。检测按键及按键扫描可由子程序来完成,当检测到有按键时,可调用按键扫描子程序来读取键值,进而调用查询子程序对每个按键的功能进行设定。本设计的暂停/开始、切换、比分对调等功能可均由位寻址区的位变量控制,因此,当检测到相关按键时只对相关位变量操作即可实现相关功能。显示子程序可根据位寻址区的相关位变量的值决定是显示时间还是显示比分从而实现对切换时间比分的控制。本设计的总体设计方案是:利用定时器0中断实现时间的操作,在主程序完成初始设定和相关赋值后不断的调用转换子程序和显示子程序并检测按键若没有按键则继续调用转换子程序和显示子程序并检测按键以此循环,当检测到有按键时便调用读键值子程序和查询按键子程序以完成按键的设定功能,之后再跳回调用转换子程序继续主程序大循环。
本设计的大致模块如图1所示
图1 系统大致模块
三、硬件设计
本设计利用实验室现有的伟福Lab6000综合实验/仿真系统的硬件。
1.硬件电路
本设计的LED显示电路和键盘电路如图2,显示控制的位码由74HC374输出,经ULN2003反向驱动后,做LED的位选通信号。位选通信号也可以做为键盘列扫描码,键盘扫描的行数据从74HC245读回,374输出的列扫描码经245读入后,用来判断是否有键被按下,以及按下的是什么键。如果没有键按下,由于上拉电阻的作用,经245读回的值为高,如果有键按下,374输出的低电平经过按键被接到245的端口上,这样从245读回的数据就会有低位,根据374输出的列信号和245读回的行信号,就可以判断哪个按键被按下。LED显示的段码由另一个74HC374输出。
键盘和LED显示电路的地址译码见
1,电路图中的X由KEY/LED CS的接线决定。
图2 LED显示电路和键盘电路
四、程序设计
1.程序
图
(1)主程序流程图
(2)中断服务程序流程图
(3)转换子程序(num2seg)流程图
(4)读键值子程序(getkey)流程图
(5)显示子程序(displayled)流程图
(6)查键子程序(chaxun)流程图
2.程序模块功能
主程序功能:循环调用各子程序。
Dispalyled子程序功能:根据位变量的值完成6位数码管的逐次显示。
Num2seg子程序功能:将时间MIN、SEC、ERSI及比分等变量的百位、十位、个位分离出来并转换成相应的显示段码存放在各自的缓冲区。
Getkey子程序功能:读出键值并查表使得最终的键值与实际按键表面所标示的数值(0~F)相同。
Chaxun子程序功能:判断被按下的按键并根据该按键设定的功能执行相应的操作赋值。
中断服务程序功能:完成计时功能,每当到1秒钟时,使秒SEC减1,直到时间为0,此时停止计时并将显示切换到比分显示。
四、运行结果分析
1.软硬件调试
程序编辑完成后编译根据提示逐步修改错误直到编译无错误提示,硬件仿真时,按键功能不是很好,经过分析,得出结论,在中断服务程序没有对相关的寄存器进行压栈,进行压栈处理后,程序便能很好的实现预期的功能。
2.运行结果
利用实验室现有实验箱进行硬件仿真,程序运行良好,基本实现预设功能。
五、设计总结
经过一周的努力,课程设计也接近了尾声,我的课程设计也最终完成了。在没有做课程设计之前觉得课程设计只是对这学期所学单片机知识的单纯总结。课程设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。通过这次课程设计使我明白了自己原来的知识还是比较欠缺,自己要学的知识还很多。通过这次课程设计,我明白学习是一个长期积累的过程,在以后的工作、生活中应该不断的学习,努力提高自己的知识和综合素质。在这次对篮球比赛计分器的设计,让我也了解了一些关于硬件上的基本知识,更进一步地熟悉了一些常用芯片的结构及掌握了一些芯片的工作原理和具体的使用方法。
总之,在做课程设计的一周时间里,感觉很充实,收获也很多,尤其要感谢同学间的相互帮助和老师的指导。我会在今后的学习生活中继续努力。
本文档为【练枪打靶计分器设计 10级机电一班 张玉彬】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。