ImageVerifierCode 换一换
格式:DOCX , 页数:37 ,大小:556.87KB ,
资源ID:6178937      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-6178937.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《单片机》记分器课程设计文档格式.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

《单片机》记分器课程设计文档格式.docx

1、11. 软件设计(包括流程图)12. 系统的安装调试说明8、 总结 9、参考文献10、附录(源程序清单及硬件原理图等);11、课程设计成绩评分表。 进 度 安 排设计时间为两周第一周星期一、上午:布置课题任务,讲课及课题介绍 下午:借阅有关资料,总体方案讨论星期二、确定总体设计方案星期三、硬件模块方案设计星期四、软件模块方案设计星期五、设计及调试第二周星期一、设计及调试星期二、设计及调试星期三、总调星期四、写说明书星期五、上午:写说明书,整理资料下午:交设计资料,答辩参 考 文 献1、微型计算机原理及应用许立梓编 机械工业出版社 20022、微型计算机接口技术及应用刘乐善编 华中理工大学出版社

2、 2000 3、计算机硬件技术基础试验教程邹逢兴编 高等教育出版社 20004、16位微型计算机原理接口及其应用周佩玲编 中国科学技术大学出版社2000 5、微型计算机原理与接口技术吴秀清编 中国科学技术出版社 20016、微型计算机接口技术邓亚平编 清华大学出版社 20017、单片机原理及及应用王迎旭编 机械工业出版社 20018、单片机应用程序设计技术 周航慈 著 北京航空航天大学出版社 20029、单片机实用技术问答 谢宜仁 主编 人民邮电出版社 2002前 言单片机原理及应用主要是以MCS51单片机为主线,从实用角度出发,通过此次课程设计来了解单片机的硬件结构与功能;了解MCS5l单片

3、机的指令系统和汇编语言程序设计方法;掌握中断和定时器计数器、串行通信等,并以实训的形式对各种通信进行了应用举例; 熟练掌握MCS51单片机的扩展与接口技术,包括存储器的扩展,可编程并行IO接口的扩展,键盘和显示接口电路,数模、模数的转换及接口设计;会利用MCS5l单片机进行机电系统的应用举例,包括单片机系统设计概要、步骤和方法等。随着信息技术的飞速发展,嵌入式智能电子技术已渗透到社会生产、工业控制以及人们日常生活的各个方面。单片机又称为嵌入式微控制器,在智能仪表、工业控制、智能终端、通信设备、医疗器械、汽车电器、导航系统和家用电器等很多领域都有着广泛的应用,已成为当今电子信息领域应用最广泛的技

4、术之一。“单片机原理及应用”也成为各层次高校机电、电子、自动化、通信等专业学生必须掌握的基本技能。本次课程设计主要是比赛计分器为对象,通过系统总体设计、硬件模块方案设计、软件模块方案设计、设计和调试。以MCS-51单片机实验操作台1台、PC机及单片机调试软件、单片机应用系统板1套、制作工具1套为工具。让同学们系统的掌握单片机原理及应用。电气信息学院课程设计评分表项 目评 价优良中及格差设计方案合理性与创造性(10%)开发板焊接及其调试完成情况*(10%)硬件设计或软件编程完成情况(20%)硬件测试或软件调试结果*(10%)设计说明书质量(20%)答辩情况(10%)完成任务情况(10%)独立工作

5、能力(10%)出勤情况(10%)综 合 评 分 指导教师签名:_ 日 期:_ 注:表中标*号项目是硬件制作或软件编程类课题必填内容;此表装订在课程设计说明书的最后一页。课程设计说明书装订顺序:封面、任务书、目录、正文、评分表、附件(非16K大小的图纸及程序清单)。 第1章 系统概述 - 1 1.1 系统功能 -1 1.2 设计内容及要求 -1 1.2.1 设计内容 -1 1.2.2 设计要求 -2 1.3 按钮设置 -2第2章 系统总体方案设计 -3 2.1 系统硬件方案设计 -3 2.2 系统软件方案设计 -4第3章 硬件设计 -5 3.1 输入电路设计 -5 3.2 显示输出电路设计 -5

6、 3.3 蜂鸣器发声电路设计 -6第4章 软件设计 -7 4.1 主程序设计 -7 4.1.1 重要模块分析 -7 4.1.2 其它模块概述 -10 4.2 加减分子程序设计 -10 4.2.1 加分子程序 -10 4.2.2 减分子程序 -11 4.3 显示子程序 -12 4.4 延时子程序 -13 4.5 发声子程序 -13第5章 仿真与调试 -14 5.1 软件调试 -14 5.2 硬件连接及软硬件联调 -14 5.2.1仿真硬件电路连接及软硬件联调 -14 5.2.2实验板硬件电路连接及软硬件联调 - 15总结 - 16参考文献 - 18附录一 系统硬件电路图 - 19附录二 实物展示

7、图 - 20附录三 源程序清单 - 21第1章 系统概述1.1系统功能设计一个甲、乙两队比赛计分器,主要用于各种体育比赛记录分数。采用按钮按键作为输入。基于以上思路,本次设计使用AT89C52 实现基于单片机的比赛计分器的设计,其主要具有如下功能:(1)用户可通过四个加减分按钮分别对两队比分进行加1、加2、加3和减1、减2、减3操作。(2)每次按键蜂鸣器会响一声。(3)比分通过6个8段数码管显示器进行显示,每队比分显示三位,可以通过分数交换按钮交换两队比分显示的位置。加减分按钮是与位置对应的,不与参赛队对应。(4)清零功能,按下清零按钮实现分数清零,加减分数默认为2分。(5)预置分功能,可通过

8、按下预置分按钮可将两队分数都预置为30分,也可以通过加减分按钮来预置分数。(6)加减分数选择功能,通过按下加减分数选择按钮,可以选择加减的分数为1分、2分和3分。并且当前加减的分数会在一个数码管显示器上显示出来。1.2设计内容及要求1.2.1 设计内容:1、给甲,乙两队分别设计一个加分按钮,按一下能分别实现加分。2、给甲,乙两队分别设计一个减分按钮,按一下能分别实现减分。3、设计一个清零按钮,按一下能实现分数清零,并且当前加减分数默认为2分。4、设计预置分按钮,给两队预置某一分数。5、设计一个加减1分、2分和3分的切换按钮。6、设计一个比分交换按钮,可以交换两队比分显示的位置。7、设计一个发声

9、子程序,每次按下任何键,都会调用该子程序发出“滴”的一声。8、设计由六个数码管显示器分别显示两队三位数比分和由一个数码管显示当前加减分数的显示子程序。1.2.2 设计要求:(1)方案合理、正确,系统稳定、可靠。(2)软件设计要求尽可能精练、简短和运行可靠。(3)硬件电路要求简单明了,以节约成本。1.3 按钮设置本设计一共有8个按钮,从左到右依次为:交换比分按钮、左边队加分按钮、左边队减分按钮、右边队加分按钮、右边队减分按钮、加减分数选择按钮、预置分按钮和分数清零按钮。每个按钮的功能如下:交换比分按钮:交换左右显示屏的比分。左边队加分按钮:显示屏左边队伍加当前加减分数。左边队减分按钮:显示屏左边

10、队伍减当前加减分数。右边队加分按钮:显示屏右边队伍加当前加减分数。右边队减分按钮:显示屏右边队伍减当前加减分数。加减分数选择按钮:选择当前加减的分数为1分、2分或3分。预置分按钮:预置两队的分数都为30分。分数清零按钮:将两队分数清零,并且当前加减分数默认为2分。第2章 系统总体方案设计2.1 系统硬件设计方案此次设计AT89C52单片机为核心,配以一定的外围电路和软件,以实现比赛计分器的功能。利用七个八段数码管显示器,采用动态显示输出比分和当前加减分数;用户控制信息输入则采用八个按钮开关;声音输出用蜂鸣器来实现。采用七个8段数码管显示器进行动态显示需要占用8+3根I/O线,分别为P0口八根用

11、于数码输出,P2.0、P2.1、P2.2三根用于连接74HC138的输入作七个数码管显示器的选通译码;八个按钮开关占用8根I/O线,分别为P1.0交换比分按钮、P1.3左边队加分按钮、P1.4左边队减分按钮、P1.5右边队加分按钮、P1.6右边队减分按钮、P3.2加减分数选择按钮、P3.3预置分按钮、P3.4分数清零按钮;蜂鸣器占用1根I/O线,为P1.2;译码器74HC138的使能端占用1根I/O线,为P3.0。一共占用21根I/O线,AT89C52单片机有32根I/O线,所以不用扩展I/O口。用一片单片机可满足本设计的要求。系统设计方案的硬件设计框图如图2-1所示。图2-1 系统硬件方案框

12、图2.2 系统软件设计方案本系统软件部分由主程序(包括系统初始化段(兼作系统清零模块QINGLING)、按钮扫描模块START、两队加分模块AJIA和BJIA、两队减分模块AXIA和BXIA、比分交换模块JIAOHUAN、加减分数选择模块JFS和预置分模块YUZHI)、左边队加分子程序AJIA1、左边队减分子程序AXIA1、右边队加分子程序BJIA1、右边队减分子程序BXIA1、显示子程序XIANSHI、延时子程序DELAY1和DELAY10、蜂鸣器发声子程序DISHENG和八段数码管显示器字形代码表TAB组成。软件设计主要分为四个部分:信息读入、信息处理、显示输出和声音输出。信息读入通过按钮

13、扫描模块不断地扫描连接按钮的管脚的状态来实现;信息处理需要对用户通过按钮输入的不同信息进行辨别并执行相应的处理;由于有七个数码管显示器,显示输出采用动态输出以节省I/O口;声音输出是通过输出一串矩形波使蜂鸣器发出一声“滴”声。第3章 硬件设计3.1 输入电路设计 如图3-1所示,P1.0连接交换比分按钮、P1.3连接左边队加分按钮、P1.4连接左边队减分按钮、P1.5连接右边队加分按钮、P1.6连接右边队减分按钮、P3.2连接加减分数选择按钮、P3.3连接预置分按钮、P3.4连接分数清零按钮。每个按钮所连接的管脚都通过上拉电阻与高电平相连,以保证当按钮没有按下时管脚的状态为“1”。当按钮按下时

14、,对应的管脚通过按钮与“地”相连,此时该管脚的状态为“0”。因此,可以通过读取管脚的状态为“1”或者“0”来获得按钮是否被按下。图3-1 系统输入按键电路3.2 显示输出电路设计 如图3-2所示,七个共阴极的八段数码管显示器的八个数据输入管脚分别与AT89C52的P0.0P0.7相连。片选信号则是来自与三-八译码器74HC138对P2口的P2.0、P2.1、P2.2的数据进行译码来一次点亮每一个数码管显示器。当P2口输出的数据为0、1、2、3、4、5、7时分别点亮从左到右第1、2、3、4、5、6、7个数码管显示器。由于是共阴极数码管显示器,应该是当片选信号为“0”的那个数码管显示器点亮。P0作

15、为数据输出端,要通过上拉电阻连接高电平以使其有足够大的驱动能力来驱动数码管显示器点亮。译码器74HC138的使能端E1要接高电平,可以连在P3.0管脚,另外E2和E3应直接接地,以使译码器能正常工作。图3-2 系统显示输出电路3.3 蜂鸣器发声电路设计如图3-3所示,为使计分器人性化,实现简单的人机对话,本设计增加发声元件,考虑蜂鸣器成本低,采用一个蜂鸣器来发声,在用户按下任何一个键时,蜂鸣器会“滴”的响一声,用户输入操作得到响应。本设计采用一个PNP型三极管来驱动三极管响应来自P1.2管脚的一串发声矩形波信号。图3-3 系统蜂鸣器发声电路第4章 软件设计4.1 主程序设计主程序由系统初始化段

16、(兼作系统清零模块QINGLING)、按钮扫描模块START、两队加分模块AJIA和BJIA、两队减分模块AXIA和BXIA、比分交换模块JIAOHUAN、加减分数选择模块JFS和预置分模块YUZHI等组成。主程序的功能包括:系统初始化、按钮扫描以及系统控制功能的实现。如下图4-1所示为本系统主程序流程图。图4-1 主程序流程图4.1.1 重要模块分析(一)系统清零模块QINGLING 该模块即作为系统初始化段,也可调用其对系统进行清零。QINGLING:CALL XIANSHI ;调用显示子程序,避免按钮按下时显示器灭 JNB P3.2,QINGLING ;等待按钮断开,按键一次CALL D

17、ISHENG ;调用发声子程序,发出“滴”的一声 MOV 32H,#00H MOV 31H,#00H 32H单元存左队分数个位,31H单元存左 MOV 30H,#00H 队分数十位,30H单元存左队分数百位 MOV 35H,#00H 35H单元存右队分数个位,34H单元存右 MOV 34H,#00H 队分数十位,33H单元存右队分数百位 MOV 33H,#00H 本段将两队分数各位都清零。 MOV R0,#02H ;默认当前加减分数为2分(二)按钮扫描模块START 该模块通过不断的循环读取指定管脚的状态,当读到某个管脚的状态为“0”时,则跳转去执行对应的模块,执行完后又跳转到START重新扫

18、描按钮。START:调用显示子程序当P3.2为“0“时转到QINGLING JNB P3.4,JFS1 ;当P3.4为“0“时转到JFS1 JNB P3.3,YUZHI1 ;当P3.3为“0“时转到YUZHI1 JNB P1.0,JIAOHUAN1 ;当P1.0为“0“时转到JIAOHUAN1 JNB P1.3,AJIA ;当P1.3为“0“时转到AJIA JNB P1.4,AXIA ;当P1.4为“0“时转到AXIA JNB P1.5,BJIA ;当P1.5为“0“时转到BJIA JNB P1.6,BXIA ;当P1.6为“0“时转到BXIA JMP START ;跳转回START继续扫描按

19、钮 值得注意的是,JNB指令的跳转范围有限,所以需要添加一些无条件转移指令来扩大跳转的范围。例如本系统中的: JIAOHUAN1: SJMP JIAOHUAN JFS1: SJMP JFS YUZHI1:SJMP YUZHI(三)加减分模块AJIA和AXIA该模块实现的是待处理数据的转存,以便调用子程序来处理以及处理完后的数据返回到原来的存储单元。另外就是因为按钮扫描模块中调用子程序比较麻烦,所以需要利用该模块来调用分数处理子程序来处理分数。在此以左边队的加减分模块为例来分析该模块。 左边队加分: AJIA: CALL XIANSHI JNB P1.3 , AJIA CALL DISHENG

20、MOV 36H , 32H ;分数个位存到36H单元 MOV 37H , 31H ;分数十位存到37H单元 MOV 38H , 30H ;分数百位存到38H单元 CALL JIA ;调用加分处理子程序 MOV 32H , 36H ;处理后的个位送回32H单元 MOV 31H , 37H ;处理后的十位送回31H单元 MOV 30H , 38H ;处理后的百位送回30H单元左边队减分: AXIA: CALL XIANSHI JNB P1.4 , AXIA MOV 36H , 32H MOV 37H , 31H MOV 38H , 30H CALL JIAN ;调用减分处理子程序 MOV 32H

21、, 36H MOV 31H , 37H MOV 30H , 38H JMP START(四)加减分数选择模块JFS该模块实现通过每次按下“加减分数选择按钮”可以循环的选择当前加减的分数为1分、2分、3分。该当前加减的分数被寄存在寄存器R0中。JFS: JNB P3.4 , JFS INC R0 ;R0中的数加1(R0的初始值为2) MOV A , R0 ;将R0中的数送到累加器A CJNE A , #4 , JFS2 ;如果R0中的数等于4了,则继续往 MOV R0 , #01H ;下执行,使R0中的数变为1。当R0JFS2:中的数加1后不为4,则跳回START。 通过上述算法可以实现R0中的

22、数循环的为1、2、3。需注意的是:由于CJNE的跳转长度不够,所以采用先 跳到JFS2,再用无条件转移指令跳回START4.1.2 其他模块概述 比分交换模块JIAOHUAN和预置分模块YUZHI都是利用数据传送指令和数据交换指令来实现存储单元中数据的互换和预置数。比分交换模块实质是利用“XCH”指令将 32H、31H、30H单元中的数据分别对应与 35H、34H、33H单元中的数据进行互换。预置分模块实质就是利用“MOV”指令将需要预置的数据传送到对应的单元和寄存器,相当于初始化。4.2 加减分子程序设计4.2.1 加分子程序 JIA: MOV A,36H ADD A,R0 ;将分数的个位与

23、当前加减分数相加,结果存入A中 CJNE A,#10,ZHUAN1 ;当A中的数不等于10则转到ZHUAN1 MOV A,#00H ;当A中的数等于10, MOV 36H,A ;则分数个位变成 0 INC 37H ;分数十位则加 1 JMP ZAIJIA1 ;跳去ZAIJIA1判断分数十位是否大于10ZHUAN1:JNC BIG1 ;若A中的数大于10则转去BIG1 JC SMALL1 ;若A中的数小于10则转去SMALL1BIG1: CLR C ;SUBB是带进位运算的,所以要清进位标志 SUBB A,#10 ;A中的数大于10,则将其减去 10所得结果为分数个位 16进制转10进制分数十位数要加 1ZAIJIA1:MOV A,37H CJNE A,#10,ZHUAN10 MOV A,#00H MOV 37H,A INC 38H RETZHUAN10:JNC BIG10 JC SMALL10 ;对分数十位的处理类同于个位的处理,BIG10:算法上可以说是完全相同。由于比赛分数一般不会出现上千分的情 MOV 37H,A ;况,所以对于分

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2