单片机原理及接口技术课程设计-比赛计分器设计说明书.doc

上传人:李主任 文档编号:3262434 上传时间:2019-08-06 格式:DOC 页数:16 大小:700.52KB
返回 下载 相关 举报
单片机原理及接口技术课程设计-比赛计分器设计说明书.doc_第1页
第1页 / 共16页
单片机原理及接口技术课程设计-比赛计分器设计说明书.doc_第2页
第2页 / 共16页
单片机原理及接口技术课程设计-比赛计分器设计说明书.doc_第3页
第3页 / 共16页
单片机原理及接口技术课程设计-比赛计分器设计说明书.doc_第4页
第4页 / 共16页
单片机原理及接口技术课程设计-比赛计分器设计说明书.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《单片机原理及接口技术课程设计-比赛计分器设计说明书.doc》由会员分享,可在线阅读,更多相关《单片机原理及接口技术课程设计-比赛计分器设计说明书.doc(16页珍藏版)》请在三一文库上搜索。

1、比赛计分器设计说明书比赛计分器设计说明书 指导老师: 指导学长: 学 院: 机械工程学院 班 级: 姓 名: 学 号: 负责任务: 2011 年 7 月 6 日 一一 、任务说明、任务说明 设计要求:设计一个甲,乙两队用的比赛计分器,要求实现以下功能: 给 甲,乙两队分别设置 1 个加分按钮,按一下能分别实现加一分;给甲,乙两队 分别设置 1 个减分按钮,按一下能分别实现减一分;设置一个清零按钮,按一 下能实现清零 ;设置预置分按钮;设置一个加减一分、两分和三分的切换按钮。 二、二、 方案论证方案论证 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个 计算机系统集成到一个芯片

2、上。 我们都知道,设计系统的关键是思路,而系统通常又由各个模块所组成, 所以必须先把所要设计系统模块化,再把各个模块组合在一起,实现一个完整 的系统。这就要求我们先要有较扎实的理论知识,特别对芯片的各个管脚功能 必须了解,这样才能进行硬件设计。同时,又必须掌握 MCS51 的指令功能,通 过编程实现其功能,这就能让我们更好地理解单片机原理及应用这门课程, 也是一种理论在实践中的运用。 在课程设计中,由于它是一个系统,这就要求我们必须建立系统的概念。 我们都知道现实运行的都是完整的系统,而且功能相对来说要复杂,如何把一 个复杂的系统模块化才能使问题来的简单,这是我们必须首先解决的问题。当 各个模

3、块完成之后再组合成一个完成的系统,这当中要考虑模块间的衔接问题, 这些都是在以前设计简单程序时不曾遇到的。如果说我们以前学的都只是些理 论,包括 C 语言,微机原理,C+,微机接口,Protel,单片机,那么这次的课 程设计就是一个贯穿多学科的综合性实践!单片机自20世纪70年代问世以来,以 极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。单片机的 优点是体积小、重量轻、抗干扰能力强,对环境要求不高,价格低廉,可靠性 高,灵活性好,开发较为容易。例如,80C51系列单片机已有十多年的生命期, 如今仍保持着上升的趋势,就充分证明了这一点。单片机以其一系列优点,近 几年得到迅猛发展和大

4、范围推广,广泛应用于工业控制系统,数据采集系统、 智能化仪器仪表,及通讯设备、日常消费类产品、玩具等。并且已经深入到工 业生产的各个环节以及人民生活的各层次中,如车间流水线控制、自动化系统 等、智能型家用电器等。而美国 ATMEL 公司开发生产了新型的8位单片机 AT89系列单片机。他不但具有一般 MCS-51单片机的所有特性,而且还拥有一些 独特的优点,此次设计中所用到的 AT89C51就是其中典型的代表。 本设计是基于 AT89C51 单片机的篮球计分器,利用 7 段共阴 LED 作为显示 器件。在此设计中共接入了 2 个四位一体 7 段共阴 LED 显示器,每队显示器显 示范围可达到 0

5、255 分。 本设计内容为比赛计分器,主要用于各种体育比赛记录分数。采用独立式 键盘作为输入,用户可分别对两队比分进行加 1、加 2、加 3 和减 1 减 2、减 3 操作,其加减 1,2,3 分可以通过加减 1 分、2 分和 3 分的切换按钮实现,并 通过指示灯显示其每次按下加减分键所加减的分值。通过加减分键和分值切换 键配合使用可以较方便实现预置分。比分通过 2 个四位一体 7 段共阴 LED 显示 器显示,每队比分显示三位数。 三、 原理图设计说明 1.系统框图 AT89C51 单片机 比分复位独立式键盘比分显示系统分值切换显示 2.各元件原理及功能 2.1 按钮设置 S1甲加1 S2甲

6、减1 S3乙加1 S4乙减1 S51/2/3/分切换 S6分数清零 比比分分纪纪录录控控制制键键 按钮功能图 独立键盘通过 P1 口输入键值,其中 1/2/3 分切换由发光二极管指示,见图。 通过加减分键和分值切换键配合使用可以较方便实现甲乙两队的初始分数。按 下清零后,显示的分数清零。 2.2 分值切换显示功能 分值切换显示功能图 2.3 数码管驱动的选择 图 2-3 74LS 引脚功能图 74LS245 还具有双向三态功能,既可以输出,也可以输入数据。 当 8051 单片机的 P0 口总线负载达到或超过 P0 最大负载能力时,必须接入 74LS245 等总线驱动器。 当片选端/CE 低电平

7、有效时,DIR=“0” ,信号由 B 向 A 传输;(接收) DIR=“1” ,信号由 A 向 B 传输;(发送)当/CE 为高电平时,A、B 均为 P2.0 P2.1 P2.2 1分 LED-BIBY 2分 LED-BIBY 3分 LED-BIBY 分分值值切切换换显显示示 高阻态。 由于 P2 口始终输出地址的高 8 位,接口时 74LS245 的三态控制端/1G 和 /2G 接地,P2 口与驱动器输入线对应相连。P0 口与 74LS245 输入端相连,/E 端 接地,保证数据现畅通。8051 的/RD 和/PSEN 相与后接 DIR,使得/RD 或/PSEN 有效时,74LS245 输入

8、(P0.IDI) ,其它时间处于输出(P0.IDI) 。 2.4 发光二极管显示器的结构、工作原理及其接口电路 下图为典型的数码管: 图 2-4 7 段 LED 数码管 如上图,LED 显示器又称为数码管,LED 显示器由 8 个发光二极管组成。中 7 个长条形的发光管排列成“日”字形,另一个贺点形的发光管在显示器的右 下角作为显示小数点用,它能显示各种数字及部份英文字母。LEDD 显示器有两 种不同的形式:一种是 8 个发光二极管的阳极都连在一起的,称之为共阳极 LED 显示器;另一种是 8 个发光二极管的阴极都连在一起的,称之为共阴极 LED 显示器。 表 2-1 代码对应表 显示字 符

9、共阴极段码共阳极段码显示字符共阴极段码共阳极段码 03FHC087FH80H 106HF996FH90H 25BHA4A77H88H 34FHB0B7CH83H 466H99HC39HC6 56DH92HD5EHA1H 67DH82HE79H86H 707HF8F71H8EH 动态扫描显示接口是单片机中应用最为广泛的一种显示方式之一。其接口 电路是把所有显示器的 8 个笔划段 a-h 同名端连在一起,而每一个显示器的公 共极 COM 是各自独立地受 I/O 线控制。CPU 向字段输出口送出字形码时,所有 显示器接收到相同的字形码,但究竟是那个显示器亮,则取决于 COM 端,而这 一端是由 I/

10、O 控制的,所以我们就可以自行决定何时显示哪一位了。而所谓动 态扫描就是指我们采用分时的方法,轮流控制各个显示器的 COM 端,使各个显 示器轮流点亮。在本课题中采用 P0 口输出段码,P3 口为位控制输出口。 乙加分 加减分 键释放 去抖动 甲加分 S1 键释放 键释放 键释放 乙减分 S2 切换加减分值, 相应 LED 灯亮 甲乙比 分清零 去抖动 去抖动 四、程序设计说明 1 程序设计 1.1 系统流程图 表首址送 DPTR,比 分清零,加减分值为 1 调用显示函数 判断哪键按下 S6 S5 开始 初始化 S3 去抖动 S4 1.2 显示子程序流程图 1.3 延时子程序 延时子程序就是通

11、过执行一些没用但又占用时间的指令的集合。这个子程 序可以用于很多延时的地方因为它延时的时间可以通过 R7 进行改变,所以通用 性好,可以将几个延时子程序合为一个,只用在调用前给 R7 赋值,即可根据用 户的需要延时,流程图见图 3-2。 位 选 通 取 段 码 送 段 码 调用延时程序 关 段 码 将 8 位二进制比分转 换为十进制数 2.系统的安装调试说明 2.1 软件调试 上电时对系统中进行检测是单片机程序中的一个良好设计。在硬件设计时 也应该细细考虑将各个使用到的芯片、接口设计成容易使用软件进行测试的模 式。 很多有经验的单片机设计者都会在系统上电时(特别是第一次上电时)进 行全面的检测

12、,或者更进一步,将系统的运行状态中分为测试模式和正常运行 模式,通过加入测试模式对系统进行详细的检测,使得系统的批量检测更为方 便容易。 另外要注意的是,一个简单明了的故障显示界面也是颇要费得心思的。比 如:系统的外部 RAM(数据存储器)是单片机系统中常用的器件。外部 RAM 如 果存在问题,程序通常都会成为无法控制。 因此,程序在启动时(至少在第一次上电启动时)一定要对外部 RAM 进行 检测。 给 R6 放初值 执行三条空指令 返回 R6-1,判断 R6 是 否为 0 R7-1,判断 R7 是 否为 0 延时子程序流程图 另外,在仿真前要做好充分的准备。单片机硬件仿真器给单片机开发者带

13、来了极大的方便,同时也很容易造成人的依赖性。很多时候,没有仿真器却能 促使工程师写出更高质量的程序。在硬件仿真调试之前,下面准备工作将是必 要的: (1)程序编完后,对代码仔细逐行检查。检查代码的错误,建立自己的代 码检查表,对经常易错的地方进行检查。检查代码是否符合编程规范。 (2)对各个子程序进行测试。测试的方法:用程序测试程序,编制一个调 用该子程序的代码,建立要测试子程序的入口条件,再看看它是否按预期输出 结果。 (3)如果代码有修改,再次对代码进行检查。 调试过程截图: 2.2 软硬联调 编程后利用 Keil uVision3 来进行编译,再生成的 HEX 文件装入芯片中, 采用 p

14、roteus 软件来仿真,检验功能是否能够正常实现。仿真成功后,焊接硬 件电路,通过 ISP 下载器将 hex 文件烧制到单片机。 通电后,LED-1 亮,数码管显示“000-000”.。对应的 “S1”键为甲加 分按钮,当 LED-1 亮时,每次按下“S1”键,甲队分数加 1;当 LED-2 亮时, 每次按下“S1”键,甲队分数加 2;当 LED-3 亮时,每次按下“S1”键,甲队 分数加 3;可以通过按“S5”键来实现 LED-1,LED-2,LED-3 之间的切换。对应 的“S2”键为甲队减分键,当 LED-1 亮时,每次按下“S2”键,甲队分数减 1;当 LED-2 亮时,每次按下“S

15、2”键,甲队分数减 2;当 LED-3 亮时,每次按 下“S2”键,甲队分数减 3;“S3”键为乙加分键, “S4”键为乙队减分键,其 实现功能与甲队一样。对应的“S6”键为清零按钮,按下可以实现复位。数码 管显示甲乙队当前分数,复位后,数码管显示“000-000” 。 五、 电路原理图 六、源程序清单 NA EQU 24H NB EQU 25H ;甲乙两队分数 TEMP EQU 26H ;存放切换分数 123 JIAJIA BIT P1.0 ;甲加分控制位 JIAJIAN BIT P1.1 ;甲减分控制位 YIJIA BIT P1.2 ;乙加分控制位 YIJIAN BIT P1.3 ;乙减分

16、控制位 SWITCH BIT P1.4 ;分值切换控制位 RST BIT P1.5 ;比分清零控制位 ORG 0000H SJMP START START:MOV DPTR,#TABLE ;将表首址送 DPTR MOV NA,#0 MOV NB,#0 ;比分自动清零 MOV TEMP,#1 ;开机默认加减分值为 1 MOV P2,#01H ;分值显示灯亮 A1:ACALL DISPLAY ;调显示函数 JNB JIAJIA,S1 JNB JIAJIAN,S2 JNB YIJIA,S3 JNB YIJIAN,S4 JNB SWITCH,S5 JNB RST,S6 LJMP A1 ;判断按下的控制

17、键 S1:LCALL DELAY ;去抖动 JB JIAJIA,A1 ;确认按键 MOV A,NA ADD A,TEMP MOV NA,A LCALL B0 C0:JB JIAJIA,A1 ;等键释放 LCALL DISPLAY SJMP C0 S2:LCALL DELAY ;去抖动 JB JIAJIAN,A1 MOV A,NA SUBB A,TEMP MOV NA,A LCALL B0 C1:JB JIAJIAN,A1 ;等键释放 LCALL DISPLAY SJMP C1 S3:LCALL DELAY ;去抖动 JB YIJIA,A1 MOV A,NB ADD A,TEMP MOV NB,

18、A LCALL B1 C2:JB YIJIA,A1 ;等键释放 LCALL DISPLAY SJMP C2 S4:LCALL DISPLAY ;去抖动 JB YIJIAN,A1 MOV A,NB SUBB A,TEMP MOV NB,A LCALL B0 C3:JB YIJIAN,A1 ;等键释放 LCALL DISPLAY SJMP C3 S5:INC TEMP MOV A,TEMP CJNE A,#2,D0 MOV P2,#2 D0:CJNE A,#3,D1 MOV P2,#04H D1:CJNE A,#4,D2 MOV TEMP,#1 MOV P2,#01H ;分值切换循环 1-2-3

19、D2:LJMP A1 S6:MOV NA,#0 MOV NB,#0 LJMP A1 B0:CJNE A,#255,B2 ;是否大于 999? (可以省略) MOV NA,#0 B2:RET B1:CJNE A,#255,B3 MOV NB,#0 B3:RET ;* 显示函数 DISPLAY:MOV A,NA ;甲队比分显示 MOV B,#100 ;将 8 位二进制转换位十进制 DIV AB CLR P3.0 MOVC A,A+DPTR ;送段码 MOV P0,A ;显示甲比分比分百位 LCALL DELAY SETB P3.0 ;关位选 MOV A,B MOV B,#10 DIV AB CLR

20、 P3.1 ;开位选 MOVC A,A+DPTR MOV P0,A LCALL DELAY SETB P3.1 MOV A,B CLR P3.2 MOVC A,A+DPTR MOV P0,A LCALL DELAY SETB P3.2 CLR P3.3 MOV P0,#40H ;显示分隔符 LCALL DELAY SETB P3.3 ;* 乙队比分显示 MOV A,NB MOV B,#100 DIV AB CLR P3.5 MOVC A,A+DPTR MOV P0,A LCALL DELAY SETB P3.5 MOV A,B MOV B,#10 DIV AB CLR P3.6 MOVC A,

21、A+DPTR MOV P0,A LCALL DELAY SETB P3.6 MOV A,B CLR P3.7 MOVC A,A+DPTR MOV P0,A LCALL DELAY SETB P3.7 CLR P3.4 MOV P0,#40H LCALL DELAY SETB P3.4 RET TABLE:DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH ;*延时程序 DELAY:MOV R6,#10 E:MOV R7,#250 DJNZ R7,$ DJNZ R6,E RET END ; * 2011 年 6 月 30 日编译 七、总结与体会 回顾此次接

22、近两周的单片机课程设计,我感慨颇多。这次课程设计使我懂 得了理论与实际相结合的重要性,只有把所学的理论知识与实践相结合起来, 才能提高自己的实际动手能力和独立思考的能力。 在设计和制作的整个过程中,我们分工明细。在我们把程序调试好、仿真 电路画好并检验之后,就进入了实物制作阶段,这项工作主要由我和同组的另 外一名同学完成。在焊接电路板的过程中,我们首先按照仿真电路在板子上对 元件进行布局,确认无误后,再在电路板上进行焊接。由于要焊接的触点太多 ,而且第一次接触到贴片式元器件焊接,导致中途出现过几次虚焊,每次都是 在焊接完成后检测电路的时候发现的,然后再重接焊接。在不断重复的实验下 ,我们焊接的

23、熟练程度也越来越高,总结经验就是:一定要细心,睁大眼睛, 千万不要粗心大意焊错了;还有就是发现了自己的动手能力真的有待提高,第 一次拿到焊笔的时候,都不知道怎么下手,实践证明,会看的东西,不一定会 摸,所以这也是我们在今后的学习中需要加强的方面;最后就是觉得我们的知 识面还得有待增强,对常用的单片机应用元器件要熟悉了解。 课程设计是培养我们学生综合运用所学知识,发现、提出、分析和解决实 际问题、锻炼实践能力的重要环节,是对我们学生实际工作能力的具体训练和 考察。随着科学技术发展的日新月异,单片机在当今计算机应用中空前活跃, 在生活中的应用也可以说无处不在。我想,通过本次的课程设计,为我们掌握 单片机的应用及其开发过程会有很大的帮助,在今后的学习和生活中,我也相 信我们也会更多的去关注这些方面的东西,不断的充实自己,将理论与实际真 正结合起来。最后,衷心的感谢老师的指导和研究生师兄以及同学的帮助。 八、参考文献 1、 单片机原理及接口技术 李朝青编著 北京航空航天大学出版社 2005 2、 微型计算机原理及应用许立梓编 机械工业出版社 2002 3、 微型计算机接口技术及应用刘乐善编 华中理工大学出版社 2000 4、 计算机硬件技术基础试验教程邹逢兴编 高等教育出版社 2000 5、 16 位微型计算机原理接口及其应用 周佩玲编 中国科学技术大学出 版社 2000

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1