《基于51单片机的篮球比赛计分计时器设计课程设计.doc》由会员分享,可在线阅读,更多相关《基于51单片机的篮球比赛计分计时器设计课程设计.doc(29页珍藏版)》请在三一办公上搜索。
1、课 程 设 计 任 务 书设计题目篮球比赛计分器设计学生姓名所在院系电子信息与电气工程学院专业、年级、班设计要求:1. 结合单片机串行口工作原理,用AT89S52设计一个篮球比赛计时计分器。2. 能够记录整个赛程的比赛时间并可同时用数码管显示。3. 拥有键盘接口,可通过键盘修改当前的比赛成绩(成绩修改包括加减1、2、3)。4. 能够随时刷新甲、乙两队在整个比赛中的比赛成绩。5. 能够通过数码管显示两队的比赛成绩。6. 比赛中场和结束时,能发出报警。学生应完成的工作:1. 根据设计任务选定合适的单片机,根据控制对象设计接口电路。2. 根据电路工作过程,画出软件流程图,根据流程图编写相应的程序,进
2、行调试并打印程序清单。3. 根据所确定的设计电路,利用相关软件绘制电路原理图、仿真图等,提供元器件清单。4. 根据电路及器件,完成安装、焊接和调试工作。5. 根据设计过程,撰写实习报告。6. 该生在此次设计中主要负责了倒计时程序的查找、电路的仿真和元器件的领取任务。参考文献阅读:【1】 单片机原理及应用M.张毅刚编著.高等教育出版社;【2】 51系列单片机及C51程序设计M.王建校,杨建国等编著.科学出版社;【3】 单片机原理及接口技术M.徐煜明,韩艳编著.电子工业出版社;【4】 单片机C语言和汇编语言混合编程实例详解M.杜树春.北京航空航天大学出版社;工作计划:2012.05.07 8:00
3、11:30 下达课程设计任务书,介绍课程设计整体情况 15:0018:30 熟悉课题,查阅资料2012.05.08 8:0011:30 教师进行方案性提示,主要原理 15:0018:30 学生根据课题需要,拟定系统硬件方案2012.05.09 8:0018:30 讨论,优化并确定系统硬件方案2012.05.10 8:0018:30 讨论并确定程序流程,逐步开始撰写课程设计报告2012.05.11 8:0018:30 根据程序流程图编写程序2012.05.14 8:0018:30 讨论、优化最终完成系统软件设2012.05.15 8:0018:30 系统硬件电路制作,并检查课程设计报告撰写进度2
4、012.05.16 8:0018:30 系统硬件电路制作,并检查课程设计报告撰写进度2012.05.17 8:0018:30 烧录程序,系统调试2012.05.18 8:0011:30 完成课程设计报告的撰写15:0018:30 集中检查收取课程设计报告及完成的实物任务下达日期:2012 年5月 7 日 任务完成日期:2012 年5月 18 日指导教师(签名): 学生(签名): 篮球比赛计分器设计摘要:篮球比赛计分器的设计是为了解决篮球比赛时计分与计时准确方便和灵活适用的问题而提出的,我组设计的篮球比赛计分器硬件部分主要利用AT89S52单片机完成了计分与计时的功能,并通过两个四位七段数码管分
5、别用来显示比赛时间和甲、乙比赛双方的分数,软件部分利用Keil C51软件来进行编译,通过Proteus软件进行仿真,最后将生成的HEX文件烧入到单片机芯片中。采用该系统可根据实际情况进行时间的准确显示和比分修改,具有低功耗、可靠性强、安全性高以及低成本等特点,主要不足之处在于计时显示部分有时会出现显示不稳定的情况,基本满足了本次设计要求。关键词:单片机;篮球赛计分;篮球赛计时;数码管;按键;下载线目 录1设计背景12方案论证22.1共阳极数码管静态显示22.2共阳极数码管动态显示22.3两种方案的对比33方案实施43.1系统总体方案设计43.2硬件电路设计43.2.1系统控制中心单片机 AT
6、89S5243.2.2系统电源模块63.2.3按键控制键盘模块73.2.4晶振模块83.2.5复位电路模块83.2.6报警电路模块93.2.7 LED显示模块93.3系统软件设计113.3.1软件设计环境介绍113.3.2软件设计方案113.4系统调试143.4.1软件调试及仿真143.4.2硬件调试144结果与结论155收获与致谢166参考文献177附件187.1元器件清单187.2硬件总电路图197.3实物图197.4源程序代码201. 设计背景体育比赛计时计分系统是对体育比赛过程中所产生的时间、比分等数据进行快速采集记录,加工处理,传递数据的信息系统。根据不同运动项目的不同比赛规则要求,
7、体育比赛的计时计分系统包括测量类、评分类、命中类、制胜类得分类等多种类型。篮球比赛是根据参赛队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统是一个负责篮球比赛的数据采集和分配的专用系统,它负责对比赛结果、成绩信息的采集处理、传输分配,即将篮球比赛比分数据通过专用的技术接口分别传送给裁判员、教练员、计算机信息系统和现场观众等。篮球比赛的计时计分系统由计时器、计分器等多种电子设备组成,由于比赛的不可重复性,决定了篮球计时计分系统是一个实时性很强、可靠性要求极高的电子服务系统,所以计时计分设备是篮球比赛中不可缺少的电子设备,计时计分系统设计是否合理,关系到比
8、赛系统运行的稳定和可靠,并直接影响到比赛的顺利进行。同时,根据目前高水平篮球比赛要求,完善的篮球比赛计时计分系统设备应能够与现场成绩处理、现场大屏幕、电视转播车等多种设备相联,以便实现高比赛现场感、表演娱乐观众等功能目标。随着比赛规则的进一步完善,相应的计时计分系统也必须随之改进。单片机,亦称单片微电脑或单片微型计算机。它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。计算机的产生加快了人类改造世界的步伐,但是它毕竟体积大。微计算机(单片机)在这种情况下诞生了,它为我们改变了什么?纵观
9、我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。由于单片机的集成度高,功能强,通用性好,特别是它具有体积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便等独特的优点,使单片机迅速得到了推广应用,目前已经成为测量控制应用系统中的优选机种和新电子产品的关键部位。世界各大电气厂家、测控技术企业、机电行业,竞相把单片机应用于产品更新,作为实现数字化、智能化的核心部件。本篇设计篮球比赛计时计分器就是以单片机为核心的计时计分系统。2.方
10、案论证本次为了使设计更加合理,我组共提出了两种显示方案,具体内容如下:2.1共阳极数码管静态显示共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。静态显示就是显示驱动电路具有输出锁存功能,即各个LED的显示字符一经确定,相应的段码将维持输出不变,直到送入另一个字符的段码为止。正因为如此,静态显示器的亮度都比较高。静态显示的程序设计,是将一个两位数的个位与十位分开,并且用查表指令,输出对应位的表格代码。图2-1数码管静态显示电路
11、图2.2共阳极数码管动态显示共阳极数码管的动态显示,是四位数码管有一个I/O口控制LED片的多段复用,共阳极分别由相应的I/O口线控制,形成各片的分时选通。若要各位数码管能够同时显示出与本位相应的显示字符,就必须采用动态显示方式,即在某一时刻,让某一位的位选线处于选通状态,而且其他各位的位选线处于关闭状态,这样在同一时刻,两个数码管只有选通的那一位显示字符,而另一个是灭着的。同样,在下一时刻,只让第二个的位选线处于选通状态,另一位选线关闭,如此循环下去,就可以使两位数码管显示出所要显示的字符。虽然这些字符不是在同一时刻出现,但由于LED片灯的余晖和人眼的视觉暂留作用,只要每位显示间隔足够短,就
12、可以造成两位同时亮的假象,达到同时显示的效果。设计基本与静态设计相同,不同之处是在多了位选信号。在程序设计中在每次输出字符时,都要给相应的那位进行置位,另一位复位,确保每次只有一个数码管亮。图2-2数码管动态显示电路图2.3两种方案的对比数码管静态显示需要静态驱动:静态驱动也称直流驱动,静态驱动是指每个数码管的每一个段码都有一个单片机的I/O端口进行驱动,或者使用BCD码二/十进位转换器进行驱动,静态驱动的优点是编程简单,数据稳定,显示亮度高,无闪烁,占用CPU时间少,缺点是功耗比较大,占用I/O端口多,如驱动5个数码管静态显示则需要5840个I/O端口来驱动,而一个89S52单片机可用的I/
13、O端口才32个。故实际应用时必须增加位驱动器进行驱动,增加了硬体电路的复杂性。数码管动态显示需要动态驱动:动态驱动是将所数码管的7个显示片段的同名端连在一起,另外为每个数码管的公共极COM端增加位选通控制电路,位选通有各自独立的I/O线控制,当单片机输出字型码时,所有数码管都接受到相同的字型码,将需要显示的数码管的选通COM端电路的控制打开,该位就显示出字形,没有选通的数码管就不会亮,通过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1-2ms,由于人的视觉暂留现象看及发光二极管的余辉效应,尽管实际上各位数码管并非同
14、时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功能更低、硬件电路也较静态显示简单。考虑设计要求和器件的限制,我组的课程设计采用的是共阳极数码管的动态显示。3.方案实施3.1系统总体方案设计篮球比赛计时计分器主要包括单片机控制系统、计时计分LED显示模块、蜂鸣器报警、按键控制键盘模块、复位电路模块、晶振模块和系统电源模块。通过这几个模块的协调工作就可以完成相应的计时计分控制和显示功能。模块框图如图3-1所示。 晶振模块系统电源模块复位电路模块MOMOKUAIAT89S52LED显示模块单节比赛及终场
15、比赛结束报警模块键盘控制模块图3-1系统框图本设计是采用单片机AT89S52作为系统的核心元件,利用7段共阳LED作为显示器件。在此设计中共接入了8个7段共阳LED显示器,其中4个用于记录甲、乙两队的分数,每队两个LED显示器显示范围为099分,足以满足赛程需要,另外4个用来记录赛程时间,其中两个用于显示分钟,两个用于显示秒钟。赛程计时采用倒计时方式,比赛开始时启动计时,直至计时到本节时间为零,结束本节比赛,同时蜂鸣器开始报警,时间刷新为下一节准备,等待开始。计时范围可达到099分钟,也完全满足实际赛程的需要。3.2硬件电路设计3.2.1系统控制中心单片机AT89S52AT89S52是一个低功
16、耗、高性能8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的单片机AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。 本设计所采用的AT89S52为DIP40封装形式,引脚结构如图3-2。除8k Bytes Flash片内程序存储器外,还有256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O
17、)口,8个中断源,3个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 图 3-2 AT89S52单片机引脚图AT89S52单片机引脚说明如下:VCC:电源端,接5V。 GND:接地端。XTAL1:接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,若使用外部TTL时钟时,该引脚为外部时钟的输入端。XTAL2:接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出,若使用外部TTL时钟时,该引脚必须悬空。地址锁存允许信号ALE:系统扩展时,ALE用于控制地址锁存器锁存P0口输出的低8位地址,从而实现数据与低位地址的复用。此外,ALE是以六分
18、之一晶振频率的固定频率输出的正脉冲,可作为外部时钟或外部定时脉冲使用。PSEN :PSEN是读外部程序存储器的选通信号,低电平有效。访问程序存储器控制信号EA:当为高电平时,CPU执行片内程序存储器指令,但当PC中的值超过0FFFH时,将自动转向执行片外程序存储器指令。当为低电平时,CPU只执行片外程序存储器指令。复位信号RST:该信号高电平有效,在输入端保持两个机器周期的高电平后,就可以完成复位操作。P0口(P0.0P0.7):该端口为漏极开路的8位准双向I/O口,它为8位地址线和8位数据线的复用端口,使用时需接外部上拉电阻。在访问外部程序存储器时,它作存储器的低8位地址线。P1口(P1.0
19、P1.7):它是一个内部带上拉电阻的8位准双向I/O口,作为输入口使用时,应先向其内部锁存器写1。P2口(P2.0P2.7):它为一个内部带上拉电阻的8位准双向I/O口,作为输入口时同样需先向其内部锁存器写1。在访问外部程序存储器时,它作存储器的高8位地址线。P3口(P3.0P3.7):P3口同样是内部带上拉电阻的8位准双向I/O口,P3口除了作为一般的I/O口使用之外,其还具有第二引脚功能,具体如表3-1所示。表3-1 P3口线的第二功能口线特殊功能信号名称P3.0RXD串行输入口P3.1TXD串行输出口P3.2INT0外部中断0输入口P3.3INT1外部中断1输入口P3.4T0定时器/计数
20、器0外部输入口P3.5T1定时器/计数器1外部输入口P3.6WR写选通输出口P3.7RD读选通输出口3.2.2系统电源模块为51系列单片机系统提供的电源为稳定的5V直流电源。本例用一个7805芯片为系统提供稳定的5V直流电源。7805稳压芯片能提供多种固定的输出电压,应用范围广。其内部含过热保护,短路保护,输出电流可达1A。虽然该芯片是固定稳压电路,但使用不同的外接元件,可获得不同的电压输出。25时输出电压范围为518V。本系统7805的输入电压为9V直流电压。9V直流电压可用普通干电池提供,也可以用市面上很容易买到的普通变压器提供。7805对输入电压要求不高,但输入电压一般应大于所需输出电压
21、2V以上。在7805与9V电源之间用一个桥堆2W10来提高系统的安全性。2W10能提供正向最大电流1A,最大反向峰值电压50V,能够有效避免电源反接或电源不稳定给系统带来的安全隐患。7805的5V调控输出采用生产该芯片的公司提供的经典电路。在输出端5V电压处接一个红色发光二极管来做为电源指示灯。具体电气连接如图2-3所示。图3-3 系统电源3.2.3按键控制键盘模块本系统设计除复位按键外共配置了8个独立键盘来实现系统功能的控制8个独立键盘分别为s1、s2、s3、s4、s5、s6、s7、s8,分别连接到单片机的P1口的低四位和高四位1。配合程序设计,在系统初始化时等待配置比赛时间,通过按下s1和
22、s2分别显示甲队、乙队的成绩,按下s3暂停计时,按下s4继续计时,按下s5为进球队加分,未按下s5则为加错的队减分,按下s6、s7、s8,则按照s5的操作分别为相应队加减1分、2分、3分。这种设计使系统能应用于不同比赛时间规格的各种场合当中,使系统产品的用途更加广泛。设置时间结束后进入正常计时计分模式。其中s1、 s2用来调节闪烁光标的位置,以标识当前球队处于分数刷新模式状态下,光标不闪烁表明退出刷新。 图3-4 键盘接口3.2.4晶振模块晶振电路在单片机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟是保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组
23、成,晶振频率的大小决定了单片机系统工作的快慢。根据不同需要可以采用不同频率的晶振,这里采用12MHZ的晶振,另外有两个30pF的电容,两晶振引脚分别连到XTAL1和XTAL2振荡脉冲输入输出引脚。具体连接图如图2-5所示。图3-5 晶振电路3.2.5复位电路模块复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,可以按复位键以重新启动,也可以通过监视定时器来强迫复位。RST引脚是复位信号的输入端。复位电路在这里采用的是上电加按键复位电路形式,具体连接电路如
24、图3-6。 图 3-6 复位电路3.2.6报警电路模块本设计通过P2.1口来控制蜂鸣器发声报警。前三节结束时蜂鸣器发声,按下开始键开始下一节比赛,同时蜂鸣器停止发声。四节比赛结束后蜂鸣器由沉寂转为发声。具体连接电路图如图3-7所示。图3-7 报警电路连接图3.2.7 LED显示模块本设计采用CD4511数码管显示。通过74LS164实现串入并出(如图3-8),第一行数码管用来计时,前两位显示分钟,后两位显示秒数,设置好比赛时间后开始显示。本程序中设置为4节比赛,程序初始化后通过键盘来设置单节比赛时间。第二行用甲和乙来区别比赛双方,并分别用前后两位显示双方得分。图3-9所示为LED数码管的电路连
25、接图。图3-8 74LS164串入并出原理图图3-8 LED数码管电路连接图3.3系统软件设计软件的编程设计是单片机系统设计的核心部分,也是能否实现预定功能的关键。单片机编程常用的语言是C语言和汇编语言,最终都要转为Intel HEX格式或二进制格式(Binary)文件写入单片机芯片内。此次我组使用的是汇编语言进行编程设计。3.3.1 软件设计环境介绍Keil是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能、结构、可读性、可维护性上有明显的优势,因而易学易用。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Window
26、s界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具,也是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台。Proteus软件拥有丰富的资源,支持智能原理图设计,具有完善的电路仿真和独特的
27、单片机协同仿真功能,一键便可进入ARES的PCB设计环境,实现从概念到产品的完整设计。Microsoft Visio 2007 是微软公司出品的一款的软件,Microsoft Visio是Windows 操作系统下运行的流程图软件,它现在是Microsoft Office软件的一个部分。它有助于 IT 和商务专业人员轻松地可视化、分析和交流复杂信息。它能够将难以理解的复杂文本和表格转换为一目了然的 Visio 图表。该软件通过创建与数据相关的 Visio 图表(而不使用静态图片)来显示数据,这些图表易于刷新,并能够显著提高生产率。使用 Office Visio 2007 中的各种图表可了解、操
28、作和共享企业内组织系统、资源和流程的有关信息。本实验正是通过Visio实现了程序流程图的绘制。3.3.2 软件设计方案篮球比赛计时计分器软件设计部分采用模块化程序设计,程序部分由主程序、T0中断程序、计时计分刷新显示子程序、键盘扫描控制子程序、延时子程序等组成。图3-9为主程序流程,图3-10为计时刷新子程序流程,图3-11为分数刷新子程序流程,图3-12为中断程序流程。图3-9 主程序流程图图3-10 计时部分流程图图3-11 计分模块流程图图3-12 中断程序流程图具体设计程序见附录。3.4系统调试系统调试分为软件调试和硬件调试,硬件调试和软件调试是分不开的,许多硬件错误是在软件调试中被发
29、现和纠正的,通常是先排除明显的硬件故障以后,再和软件结合起来调试以进一步排除故障。3.4.1 软件调试及仿真软件调试主要是运用Keil和Proteus完成。在写好源程序,画出原理图之后,在电脑上进行软件仿真。建新工程,选择AT89S52处理器;接着新建文档编辑程序,编辑完存为.asm,把保存的.asm文件加入到工程里。点击Project下的Options for Target Target 1。 在弹出对话框的Target 项里输入晶振为12M,然后勾上Use On-chip ROM。在Output项里勾上Create HEX File。最后编译程序,keil会自动生成.hex文件。接着将系统
30、原理图在Proteus环境下画好,然后运用Proteus进行仿真,仿真电路图如下:图3-13 系统仿真电路图3.4.2 硬件调试对照原理图进行焊接,应先把硬件依次正确插到电路板上相应的位置,然后再次检查器件是否都正确,确定无误后进行焊接。在焊接的过程中要注意不要将相临的两个引脚焊接在一起,防止短路影响使用。硬件连接好以后,先通过USB-ISP下载线将单片机和PC机连接,接着向单片机内烧制已写好的HEX程序,打开单片机,调试单片机程序。4. 结果与结论测试问题:上电复位后,能否进行定时设置?设置完成后启动计时,倒计时过程中按下K1K8键观察各分电路是否正常工作?计时结束后,是否有报警音出现?上半
31、场计时结束后,能否实现甲、乙比分的交换?测试结果:计时电路可完成倒计时、暂停、继续等功能,在比赛时间到后,蜂鸣器可以发声报警。计分电路工作正常,能够完成两队比分的加减、刷新和暂存。但是在测试的过程中,我们也发现,计时电路只能通过程序修改比赛时间初值,不能通过按键修改比赛时长,而且在比赛半场结束时,计分电路也无法完成甲、乙两队比分的交换,不能满足场地交换的需要。在设计电路图的过程中经过多次分析和仿真验证,并结合指导老师所给的参考元器件库确定了需要哪些元器件来实现电路的功能,并且保证了所使用到的元器件数目在所给出的元器件清单的限制之内。画图时在经过各种软件多次方针和修改后,在仿真电路图实现设计要求
32、的前提下,确定了此次设计的最终的原理图。此次我组采用了自己制板结合万能板的方式制作硬件电路,所以涉及到了DXP软件的使用。通过已画好的原理图,在DXP中画出与之对应的原理图,再导入到PCB环境中进行PCB设计。经过小组内多次讨论,并听取了指导老师的意见之后,确定定了最终布局,布线时注意了走线,完成后打印输出制成了印制电路板。在焊接过程中没有出现什么失误,完成硬件设计后,经过测试,系统电路硬件设计部分没有原则性的错误,整个硬件部分功能完好。但因平时缺少有效练习,部分软件使用起来感觉有些力不从心,不能熟练使用其中的快捷键和部分便捷功能。在编写程序时,由于平时都是用C语言来编写程序,很多汇编的基础知
33、识都需要重新学,很多程序也都是参考网上别人做过的成功的程序,也正是这方面的不足才造成本次在比分交换和定时设置方面的功能没有能很好实现,除此之外,软件达到了设计的要求。总的来说,本次课程设计还是比较成功的,但是由于时间和能力的限制,设计中也难免存在不足之处,很多软件和程序方面的设计有待进一步改善。5. 收获与致谢在本次课程设计中,我通过基于典型单片机AT89S52的设计和应用,对单片机的工作原理及功能有了更加深刻的了解,并对单片机程序语言设计有了新的、进一步的认识,对一些指令的使用也更加熟悉了。在本次设计的过程中,我也发现很多的问题,给我的感觉就是下手很难,很不顺手,看似很简单的电路,要动手把它
34、给设计出来,却不是一件容易的事,主要原因是我们没有经常去动手设计电路,对画图的一些技巧不够熟悉。另外由于是本学期才学的单片机课程,对单片机系统的知识似懂非懂,虽然课堂上很多知识当时弄明白了,现在要用的时候又想不起来,以致我又不得不用大量的时间去图书馆查阅各种资料和程序命令,在这个模块用去了不少时间,也正是这个原因才使整个过程的时间安排变得不合理。由于设计的计划没有安排好,设计的时间极为仓促,尤其是在硬件调试的过程中出现了很大的问题,硬件电路曾一度无法正常工作。通过此次课程设计,我发现了自己的不足之处,充分意识到了“应该把功夫放在平时”这句话的真谛,我意识到只有跟同伴一起商量、合作,才能提高效率
35、,或许还会收到事半功倍的效果。在以后不论学什么,我都会做到打好基础,并通过不断地练习将其学好、学精,多动手操作,做好以后课程教学安排中的每一个实验,提高自己理论联系实际的能力,着重培养自己的独立思考和设计能力,树立自己可以熟练应用所学知识的信心。虽然这个设计做的不是很完美,但是在设计过程中所学到的和得到的东西却是历次实习都无法比拟的,使我终身受益,相信它不论对我以后的就业还是学习,都会起到很大的促进和帮助作用。课程设计是把所学的知识综合应用的一个过程,是一个学习、实践、探索和创新相结合的过程,虽然在整个设计过程中,我遇到过许多次失败的考验,忧伤过、彷徨过、急躁过,可当自己调整好心态,从跌倒的地
36、方爬起来继续下去,最后取得成功,所得到的不只是成功的喜悦,更是一次锻炼和升华!多亏了我的一帮热心助人的同学和我谆谆善诱的指导老师,正是在他们的支持和鼓励下,我才完成了这次课程设计任务。在此我要特别感谢我们小组代表白永见同学的大力帮助,更要感谢宋清华老师的耐心指导以及她在整个设计过程中针对我组的问题提出的宝贵建议,在此我表示深深的感谢!6. 参考文献1 杜尚丰.CAN总线测控技术及其应用M.北京:电子工业出版社,2007.2 杜树春.单片机C语言和汇编语言混合编程实例详解M.北京:北京航空航天大学出版社,2006.3 张毅刚.单片机原理及应用M.北京:高等教育出版社,2004.4 王建校,杨建国
37、等.51系列单片机及C51程序设计.北京:科学出版社,2002.5 徐煜明,韩艳.单片机原理及接口技术M.北京:电子工业出版社,2005.6 谷树忠,刘文洲等.Altium Designer教程M.北京:电子工业出版社,2009.7 龚沛曾,杨志强等.大学计算机基础M.北京:高等教育出版社,2008.8 周润景.Multisim&LabVIEW虚拟仪器设计技术M.北京:北京航空航天大学出版社,2008.9 蒋卓勤.Multism 2001及其在电子设计中的应用M.西安:西安电子科技大学出版社,2003.10郑阿奇.Protel使用教程M.北京:电子工业出版社,2010.11陈学平.Protel
38、 2004快速上手M.上海:人民邮电出版社,2005.12王力,张伟.电路设计与制板PROTEL DXP库元器件手册M.上海:人民邮电出版社,2008.13周润景,张丽娜等.PROTEUS入门教程M.北京:机械工业出版社,2007.13尹仕.电工电子制作基础M.武汉:华中科技大学出版社,2008.14余新平.数字电路仿真设计测试M.武汉:华中科技大学出版社,2010.15陈继红,徐晨等.微机原理及应用M.北京:高等教育出版社,2010.16晏寄夫.微机原理及应用M.成都:西南交通大学出版社,2006.17黄冰.微机原理及应用M.重庆:重庆大学出版社,2003.18王惠忠,王强等.微机原理及应用
39、M.武汉:武汉大学出版社,2011.19丁元杰.单片微机及应用M.北京:机械工业出版社,2005.20史新福.微机原理及应用M.西安:西北工业大学出版社,2007.7. 附件7.1元器件清单元器件名称型号规格数量备注AT89S521个12MHz晶振1个发光二级管3个4位七段共阳极数码管2个74LS1641个三极管805010个78051个桥堆2W101个40脚底座1个14脚底座1个按键9个6脚开关1个蜂鸣器1个排针10个100电阻9个1K电阻8个2K电阻3个10K电阻1个无极性电容0.1uF3个无极性电容30pF2个极性电容2200uF、100uF、10uF各一个7.2硬件总电路图图7-1 电
40、路总原理图7.3实物图图7-2 系统仿真电路图7.4源程序代码ORG 0000HLJMP MAINORG 000BHLJMP CHANGEORG 000BHLJMP INTORG 0020HMAIN: MOV SP,#60H MOV IE,#82H MOV R0,#80HBEGIN:ACALL DISP1 MOV A,P1 CLP AJNZ DELAY JMP BEGINLOOP: JNB P1.0,DISPA JNB P1.1,DISPB JNB P1.2,STOPJNB P1.3,CONTJNB P1.2,ADDRETADD:JNB P1.5,A1 JNB P1.6,A2JNB P1.7,
41、A3SUB:JNB P1.5,S1JNB P1.6,S2JNB P1.7,S3RETA3:INC R0 JMP A2RETA2:INC R0 JMP A1RETA1:INC R0 LCALL DISP1RETS3:DEC R0 JMP S2RETS2:DEC R0 JMP S1RETS1:DEC R0 LCALL DISP1RETDELAY:ACALL T10MSMOV A,P1CPL A JNZ A,LOOPRETDISP1:MOV DPTR,#TABMOV R0,#7CHACALL BINBCDMOV A,A+DPTRMOV SBUF,ACLR P2.2SETB B,P2.2ACALL T
42、1MSJNB T1,$CLR T1MOV R0,#7DHMOV A,BMOV A,A+DPTRMOV SBUF,ACLR P2.3STEB P2.3ACALL T1MSJNB T1,$CLR T1MOV R0,#7FHMOV A,R1MOV A,A+DPTRMOV SBUF,ACLR P2.1STEB P2.1ACALL T1MSJNB T1,$CLR T1TAB:DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90HRETDISA:MOV DPTR,#TAB1MOV R0,#7FHMOV A,#88HMOV SBUF,ASETB P2.0ACAL
43、L T1MSJNB T1,$CLR T1TAB1:DB 88H,83H,0C6H,0A1H,86HRETDISB:MOV DPTR,#TAB2MOV R0,#7FHMOV A,#83HMOV SBVF,ASETB P2.0ACALL T1MSJNB T1,$CLR T1RETT1MS:DEL0:MOV R7,#02H MOV R6,#0FFHDJNZ R6,$DJNZ R7,DEL0RETT10MS:MOV R5,#02HDEL1:MOV R6,#200HDEL2:MOV R7,#123HDEL3:DJNZ R6,DEL2 DJNZ R5,DEL1RETSTOR:MOV R2,#32H MOV R4,#0BHSETB ET0MOV TH0,3CHMOV TL0,A0HMOV SMOD,#01HSTB TR0RETINT:PUSH PSW PUSH ACCPUSH DPLPUSH DPHDJNZ R2,STOPDJNZ R4,STOPSETB P0.0ACALL T10MSJNB P1.3