1、湖南工程学院 课 程 设 计 课程名称 单片机原理与应用 课题名称 比赛计分器设计 专 业 电气工程及其自动化 班 级 电气0803 学 号 200801010310 姓 名 刘超鹏 指导教师 汪 超 2011 年 7 月 4 日 湖南工程学院 课 程 设 计 任 务 书 课程名称 单片机原理与应用 课
2、 题 比赛计分器设计 专业班级 电气0803 学生姓名 刘超鹏 学 号 200801010310 指导老师 汪 超 审 批 任务书下达日期 2011年 6 月 27 日 任务完成日期 2011 年7 月 4 日 设计内容与设计要求 设计内容: 设
3、计一个甲,乙两队用的比赛计分器,要求实现以下功能: 1、给甲,乙两队分别设置1个加分按钮,按一下能分别实现加一分。 2、给甲,乙两队分别设置1个减分按钮,按一下能分别实现减一分。 3、设置一个清零按钮,按一下能实现清零 4、设置预置分按钮。 5、设置一个加减一分、两分和三分的切换按钮。 设计要求: 1、 设计方案要合理、正确; 2、 系统硬件设计及焊接制作; 3、 系统软件设计及调试; 4、 系统联调; 5、 写出设计报告。 主 要 设 计 条 件 1、 MCS-51单片机实验操作台1台; 2、 PC机及单片机调试软件; 3、 单片机应用系
4、统板1套; 4、 制作工具1套; 5、 系统设计所需的元器件。 说 明 书 格 式 1. 封面 2. 课程设计任务书 3. 目录 4. 系统总体方案设计 5. 系统硬件设计 6. 软件设计(包括流程图) 7. 系统的安装调试说明 8、 总结 9、参考文献 10、附录(源程序清单及硬件原理图等); 11、课程设计成绩评分表。 进 度 安 排 设计时间为两周 第一周 星期一、上午:布置课题任务,讲课及课题介绍 下午:借阅有关资料,总体方案讨论 星期二、确定总体设计方案 星期三、硬件模块方案设计 星
5、期四、软件模块方案设计 星期五、设计及调试 第二周 星期一、设计及调试 星期二、设计及调试 星期三、总调 星期四、写说明书 星期五、上午:写说明书,整理资料 下午:交设计资料,答辩 参 考 文 献 [1]、《微型计算机原理及应用》许立梓编 机械工业出版社 2002 [2]、《微型计算机接口技术及应用》刘乐善编 华中理工大学出版社 2000 [3]、《计算机硬件技术基础试验教程》邹逢兴编 高等教育出版社 2000 [4]、《16位微型计算机原理接口及其应用》周佩玲编 中国科学技术大学出版社 2000 [5]、《微型计算机原理与接口技术》吴秀清编 中国科学技
6、术出版社 2001 [6]、《微型计算机接口技术》邓亚平编 清华大学出版社 2001 [7]、《单片机原理及及应用》王迎旭编 机械工业出版社 2001 [8]、《单片机应用程序设计技术》 周航慈 著 北京航空航天大学出版社 2002 [9]、《单片机实用技术问答》 谢宜仁 主编 人民邮电出版社 2002 目录 第1章 系统总体方案设计…………………………………………………1 1.1 概述……………………………………………………………………1 1.2 系统框图……………………………………………………………..2 第2章 系统硬件设计……………
7、…………………………………………..3 2.1 按钮设置……………………………………………………………..4 2.2 分值切换显示功能…………………………………………………5 2.3 数码管驱动的选择…………………………………………………6 2.4 发光二极管显示器…………………………………………………7 第3章 软件设计………………………………………………………………8 3.1 系统流程图……………………………………………………………8 3.2 显示子程序…………………………………………………………..9 3.3 延时子程序……………………………………………………
8、……10 第4章 系统的安装调试说明……………………………………………….11 4.1 软件调试…………………………………………………………….11 4.2 软硬联调…………………………………………………………….12 第5章 总结……………………………………………………………………13 第6章 参考文献……………………………………………………………….14 附录A源程序清单……………………………………………………………...15 附录B系统原理图……………………………………………………………,,,19 第1章 系统总体方案设计 1.1. 概述 单片机
9、又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。 单片机自20世纪70年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。单片机的优点是体积小、重量轻、抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。例如,80C51系列单片机已有十多年的生命期,如今仍保持着上升的趋势,就充分证明了这一点。单片机以其一系列优点,近几年得到迅猛发展和大范围推广,广泛应用于工业控制系统,数据采集系统、智能化仪器仪表,及通讯设备、日常消费类产品、玩具等。并且已经深入到工业生产的各个环节以及人民生活的各层次中,如车间流水线控制、
10、自动化系统等、智能型家用电器等。而美国ATMEL公司开发生产了新型的8位单片机——AT89系列单片机。他不但具有一般MCS-51单片机的所有特性,而且还拥有一些独特的优点,此次设计中所用到的AT89C51就是其中典型的代表。 本设计是基于AT89S51单片机的篮球计分器,利用7段共阴LED作为显示器件。在此设计中共接入了1个八位一体7段共阴LED显示器,每队显示器显示范围可达到0~255分。 系统功能简介 本设计内容为比赛计分器,主要用于各种体育比赛记录分数。采用独立式键盘作为输入,用户可分别对两队比分进行加1、加2、加3和减1减2、减3操作,其加减1,2,3分可以通过加减1分、2分和3
11、分的切换按钮实现,并通过指示灯显示其每次按下加减分键所加减的分值。通过加减分键和分值切换键配合使用可以较方便实现预置分。比分通过1个八位一体7段共阴LED显示器显示,每队比分显示三位数。 1.2. 系统框图 AT89C51 单片机 比分复位 独立式键盘 比分显示系统 分值切换显示 第2章 系统硬件设计 2.1. 按钮设置 图2-1按钮功能图 独立键盘通过P1口输入键值,其中1/2/3分切换由发光二极管指示,见图1-2。通过加减分键和分
12、值切换键配合使用可以较方便实现甲乙两队的初始分数。按下清零后,显示的分数清零。 2.2. 分值切换显示功能 图2-2分值切换显示图 2.3. 数码管驱动的选择 图2-3 74LS245 74LS245是我们常用的芯片,用来驱动LED或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。 74LS245还具有双向三态功能,既可以输出,也可以输入
13、数据。 当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。 当片选端/CE低电平有效时,DIR=“0”,信号由 B 向 A 传输;(接收) DIR=“1”,信号由 A 向 B 传输;(发送)当/CE为高电平时,A、B均为高阻态。 由于P2口始终输出地址的高8位,接口时74LS245的三态控制端/1G和/2G接地,P2口与驱动器输入线对应相连。P0口与74LS245输入端相连,/E端接地,保证数据现畅通。8051的/RD和/PSEN相与后接DIR,使得/RD或/PSEN有效时,74LS245输入(P0.I←DI),其它时间处
14、于输出(P0.I→DI)。 2.4. 发光二极管显示器的结构、工作原理及其接口电路 下图为典型的数码管: 图2-4 7段LED数码管 如上图,LED显示器又称为数码管,LED显示器由8个发光二极管组成。中7个长条形的发光管排列成“日”字形,另一个贺点形的发光管在显示器的右下角作为显示小数点用,它能显示各种数字及部份英文字母。LEDD显示器有两种不同的形式:一种是8个发光二极管的阳极都连在一起的,称之为共阳极LED显示器;另一种是8个发光二极管的阴极都连在一起的,称之为共阴极LED显示器。 表2-5代码对应表
15、 显示字符 共阴极段码 共阳极段码 显示字符 共阴极段码 共阳极段码 0 3FH C0 8 7FH 80H 1 06H F9 9 6FH 90H 2 5BH A4 A 77H 88H 3 4FH B0 B 7CH 83H 4 66H 99H C 39H C6 5 6DH 92H D 5EH A1H 6 7DH 82H E 79H 86H 7 07H F8 F 71H 8EH 动态扫描显示接口是单片机中应用最为广泛的一种显示方式之一。其接口电路是把所有显示器的8个笔划段a-h同名
16、端连在一起,而每一个显示器的公共极COM是各自独立地受I/O线控制。CPU向字段输出口送出字形码时,所有显示器接收到相同的字形码,但究竟是那个显示器亮,则取决于COM端,而这一端是由I/O控制的,所以我们就可以自行决定何时显示哪一位了。而所谓动态扫描就是指我们采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。在本课题中采用P0口输出段码,P3口为位控制输出口。 第3章 软件设计 开始 3.1. 系统流程图 初始化 S4 表首址送DPTR,比分清零,加减分值为1 调用显示函数 判断哪键按下 S6 S5 S3 N 去抖
17、动 甲乙比分清零 切换加减分值,相应LED灯亮 S2 N 去抖动 乙加分 加减分 键释放 去抖动 甲加分 S1 键释放 键释放 键释放 乙减分 去抖动 3.2. 显示子程序流程图 将8位二进制比分转 换为十进制数 位 选 通 取 段 码 送 段 码 调用延时程序 关 段 码 图3-2显示子程序流程图 3.3. 延时子程序
18、 延时子程序就是通过执行一些没用但又占用时间的指令的集合。这个子程序可以用于很多延时的地方因为它延时的时间可以通过R7进行改变,所以通用性好,可以将几个延时子程序合为一个,只用在调用前给R7赋值,即可根据用户的需要延时,流程图见图4-4。 给R6放初值 执行三条空指令 返回 R6-1,判断R6是否为0 R7-1,判断R7是否为0 图3-3 延时子程序流程图 第4章 系统的安装调试说明 4.1. 软件调试 上电时对系统中进行检测是单片机程序中的一个良好设计。在硬件设计时也应
19、该细细考虑将各个使用到的芯片、接口设计成容易使用软件进行测试的模式。 很多有经验的单片机设计者都会在系统上电时(特别是第一次上电时)进行全面的检测,或者更进一步,将系统的运行状态中分为测试模式和正常运行模式,通过加入测试模式对系统进行详细的检测,使得系统的批量检测更为方便容易。 另外要注意的是,一个简单明了的故障显示界面也是颇要费得心思的。比如:系统的外部RAM(数据存储器)是单片机系统中常用的器件。外部RAM 如果存在问题,程序通常都会成为无法控制。 因此,程序在启动时(至少在第一次上电启动时)一定要对外部RAM 进行检测。 另外,在仿真前要做好充分的准备。单片机硬件仿真器给单片机开
20、发者带来了极大的方便,同时也很容易造成人的依赖性。很多时候,没有仿真器却能促使工程师写出更高质量的程序。在硬件仿真调试之前,下面准备工作将是必要的: (1)程序编完后,对代码仔细逐行检查。检查代码的错误,建立自己的代码检查表,对经常易错的地方进行检查。检查代码是否符合编程规范。 (2)对各个子程序进行测试。测试的方法:用程序测试程序,编制一个调用该子程序的代码,建立要测试子程序的入口条件,再看看它是否按预期输出结果。 (3)如果代码有修改,再次对代码进行检查。 4.2. 软硬联调 编程后利用Keil uVision3来进行编译,再生成的HEX文件装入芯片中,采用prote
21、us软件来仿真,检验功能是否能够正常实现。仿真成功后,焊接硬件电路,通过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亮时,每次按下“S2”键,甲队分数减2;当LED-3亮时,每次按下“S2”键
22、甲队分数减3;“S3”键为乙加分键,“S4”键为乙队减分键,其实现功能与甲队一样。对应的“S6”键为清零按钮,按下可以实现复位。数码管显示甲乙队当前分数,复位后,数码管显示“000--000”。 第5章 总结 做了两周的单片机课程设计,我有了很多的体会和感想。 我们的课程设计是比赛计分器。设计可以在实验室里做,也可以在寝室里做,我大部分时间还是在寝室里做的。 比赛计分器设计,这个内容没有现成的程序和设计图,需要我们真正亲手去编。这两周的实习真的有点难度,程序里面的好多内容不
23、懂,自我感觉是单片机我们所学的内容还不足以编出这个程序,但是只好硬着头皮去看去理解。但在学习过程中也充满了乐趣,当看懂了程序的一些语句,画出了要求的设计图,那我喜悦那种成就感油然而生。 这次实习让我受益匪浅,无论从知识上还是其他的各个方面。上课的时候的学习从来没有真正的用单片机,只是从理论的角度去理解枯燥乏味。但在实习中使用了单片机及其系统,能够理论联系实际的学习,开阔了眼界,提高了单片机知识的理解和水平。在这次课程设计中又让我体会到了合作与团结的力量,当遇到不会或是设计不出来的地方,我们就会在组里讨论或者是同学之间相互帮助。团结就是力量,无论在现在的学习中还是在以后的工作中,团结都
24、是至关重要的,有了团结会有更多的理念、更多的思维、更多的情感。 单片机是很重要的一门课程,老师和一些工作的朋友都曾说过,如果学好一门单片机,就凭这个技术这门手艺找一个好工作也不成问题。尽管我们在课堂学到的内容很有限,但在以后的学习中单片机还需要好好的深入研究和学习,学好了单片机也就多了一项生存的本钱。最后感谢老师对我们的精心指导和帮助,感谢同学们对我的帮助。 来源:( - 单片机课程设计心得_逆流的风_新浪博 第6章 参考文献 [1] 、《微型计算机原理及应用》许立梓编 机械工业出版社 2002 [2]、《微型计算机接口技术及应用》刘乐善编 华中理工大学出版社 2
25、000 [3]、《计算机硬件技术基础试验教程》邹逢兴编 高等教育出版社 2000 [4]、《16位微型计算机原理接口及其应用》周佩玲编 中国科学技术大学出版社 2000 [5]、《微型计算机原理与接口技术》吴秀清编 中国科学技术出版社 2001 [6]、《微型计算机接口技术》邓亚平编 清华大学出版社 2001 [7]、《单片机原理及及应用》王迎旭编 机械工业出版社 2001 [8]、《单片机应用程序设计技术》 周航慈 著 北京航空航天大学出版社 2002 [9]、《单片机实用技术问答》 谢宜仁 主编 人民邮电出版社 2002
26、 附录A 源程序清单 NA EQU 24H NB EQU 25H ;甲乙两队分数 TEMP EQU 26H ;存放切换分数1\2\3 JIAJIA BIT P1.0 ;甲加分控制位 JIAJIAN BIT P1.1 ;甲减分控制位 YIJIA BIT P1.2 ;乙加分控制位 YIJIAN BIT P1.3 ;乙减分控制位 SWITCH
27、BIT P1.4 ;分值切换控制位 RESET 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
28、S1 JNB JIAJIAN,S2 JNB YIJIA,S3 JNB YIJIAN,S4 JNB SWITCH,S5 JNB RESET,S6 LJMP A1 ;判断按下的控制键 S1:LCALL DELAY ;去抖动 JB JIAJIA,A1 ;确认按键 MOV A,NA ADD A,TEMP MOV NA,A LCALL B0 C0:JB JIAJIA,A1 ;等键释放 LCALL DISP
29、LAY 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,A LCALL B1 C2:JB YIJIA
30、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
31、 MOV P2,#04H D1:CJNE A,#4,D2 MOV TEMP,#1 MOV P2,#01H ;分值切换循环1-2-3 D2:LJMP A1 S6:MOV NA,#0 MOV NB,#0 LJMP A1 B0:CJNE A,#999,B2 ;是否大于999? (可以省略) MOV NA,#0 B2:RET B1:CJNE A,#999,B3 MOV NB,#0 B3:RET ;************************** 显示函数 DISP
32、LAY: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
33、 CLR 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 D
34、ELAY 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
35、A,@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,4
36、FH,66H DB 6DH,7DH,07H,7FH,6FH ;***************************延时程序 DELAY:MOV R6,#10 E:MOV R7,#250 DJNZ R7,$ DJNZ R6,E RET END 附录B 硬件原理图 电气信息学院课程设计评分表 项 目 评 价 优 良 中 及格 差 设计方案合理性与创造性(10%) 开发板焊接及其调试完成情况*(10%) 硬件设计或软件编程完成情况(20%)
37、 硬件测试或软件调试结果*(10%) 设计说明书质量(20%) 答辩情况(10%) 完成任务情况(10%) 独立工作能力(10%) 出勤情况(10%) 综 合 评 分 指导教师签名:________________ 日 期:________________ 注:①表中标*号项目是硬件制作或软件编程类课题必填内容; ②此表装订在课程设计说明书的最后一页。课程设计说明书装订顺序:封面、任务书、目录、正文、评分表、附件(非16K大小的图纸及程序清单)。 21






