单片机电子记分牌课程设计报告Word下载.docx
- 文档编号:20965540
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:17
- 大小:312.35KB
单片机电子记分牌课程设计报告Word下载.docx
《单片机电子记分牌课程设计报告Word下载.docx》由会员分享,可在线阅读,更多相关《单片机电子记分牌课程设计报告Word下载.docx(17页珍藏版)》请在冰豆网上搜索。
2.1电子记分牌的研究背景与意义
单片机是一个单芯片形态,面向控制对象的嵌入式应用计算机系统.它的出现及发展使计算机技术从通用型数值计算领域进入到智能化的控制领域。
由于本次设计的简单篮球记分牌体积小,故要求其控制器体积更小以便能嵌入其结构之中。
单片机以微小的体积和编程的灵活性而产生多种控制功能,完全可以满足需求。
可以适应不同规则下操作。
现在大多数比赛活动中都会遇到需要向观众和选手展示选手得分的情况,需要用到比赛记分牌。
在目前的市场上,普通计分牌系统都需要几百块,价钱比较高。
本项目设计的记分牌系统,电路简易,灵敏可靠,具有一定的使用价值和竞争价值。
而且在小型比赛中应用方便,更可以自行进行操作设计修改自己想要的计分方式与要求。
3实验设备
Proteus7Professional软件及汇编软件keilc51
3.1Proteus
3.1.1Proteus软件简介
Proteus不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具。
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。
在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。
Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。
因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。
对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。
3.1.2Proteus软件仿真
在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:
*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程
3.2汇编软件keilc51
汇编软件
KEILC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。
C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品。
C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:
编译器,汇编器,实时操作系统,项目管理器,调试器。
uVision2IDE可为它们提供单一而灵活的开发环境。
汇编编程
(1)新建工程→保存工程
(2)新建文件→保存文件(按格式保存)
(3)为sourcegroup增加文件
(4)调整目标属性
(5)生成HEK文件以备proteus仿真
4硬件说明
MCS-51
83C508单片机属于MCS-51系列单片机,由Intel公司开发,其结构是8048的延伸,改进了8048的缺点,增加了如乘(MUL)、除(DIV)、减(SUBB)、比较(PUSH)、16位数据指针、布尔代数运算等指令,以及串行通信能力和5个中断源。
采用40引脚双列直插式DIP(DualInLinePackage),内有128个RAM单元及4K的ROM。
80C51有两个16位定时计数器,两个外中断,两个定时计数中断,及一个串行中断,并有4个8位并行输入口。
80C51内部有时钟电路,但需要石英晶体和微调电容外接,本系统中采用12MHz的晶振频率。
由于80C51的系统性能满足系统数据采集及时间精度的要求,而且产品产量丰富来源广,应用很成熟,故采用来作为控制核心。
单片机本身是一个复杂的同步时序系统,为保证同步工作方式的实现,单片机必须有时钟信号,以使其系统在时钟信号的控制下按时序协调工作。
单片机的时钟电路由振荡电路和分频电路组成。
其中震荡电路由反相器以及并联外接的石英晶体和电容构成,用于产生振荡脉冲。
而分频电路则用于把振荡脉冲分频,以得到所需要的时钟信号。
如图2-2
图4-2单片机的时钟电路
复位是单片机的初始化操作,其作用是使CPU中的各个部件都处于一个确定的初始状态,并从这个状态开始工作。
当单片机的ALE及两脚输出高电平,RST引脚高电平时,单片机复位。
单片机的复位电路有上电复位和手动按钮复位两种形式,RST/VPD端的高电平直接由上电瞬间产生高电平则为上电复位;
若通过按钮产生高电平复位信号称为手动按钮复位。
在实际应用系统中,有些外围芯片也需要复位,如果这些复位端的复位电平要求与单片机的要求一致,则可以与之相连。
复位后,P0—P3四个并行接口全为高电平,其它寄存器全部清零,只有SBUF寄存器状态不确定。
图4-3复位原理电路
单片机晶振电路工作原理
晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。
在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。
高级的精度更高。
有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)。
晶振的作用是为系统提供基本的时钟信号。
通常一个系统共用一个晶振,便于各部分保持同步。
有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。
图4-4晶振电路及其等效槽路
按键电路的设计
图4-4按键电路图
本次实验用了三个按键电路:
复位电路、加一电路和减一电路。
三个按键电路都是通过手动按下按键拉低电平来分别实现相应的复位及加减功能。
由于蜂鸣器的工作电流一般比较大,以致于单片机的I/O口是无法直接驱动的,所以要利用放大电路来驱动,一般使用三极管来放大电流就可以了。
如图2-5:
图4-5蜂鸣器驱动电路
4.6数码管特性及使用
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);
按能显示多少个“8”可分为1位、2位、4位等等数码管;
按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。
共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。
当某一字段的阴极为高电平时,相应字段就不亮。
。
共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。
共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。
当某一字段的阳极为低电平时,相应字段就不亮。
数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"
a,b,c,d,e,f,g,dp"
的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
下图2-6分别为共阳极和共阴极数码管引脚图:
图4-6作为共阳极右为共阴极引脚结构
集成块BUFFER4052
BUFFER4052为集电极开路输出的反相驱动器,主要功能如下:
1.完成速度的匹配。
2.提供一个暂存的空间。
3.放大信号,提高驱动能力。
减少传输及负载对信号源的影响。
4.信号隔离的作用,消除负载对信号源的影响。
图4-7BUFFER4052引脚图五、硬件设计
五、硬件原理
5.1电路原理图
根据上述分析,设计出基于AT89S52单片机的比赛计分牌电路原理图如图3-1所示。
电源电路为单片机以及其他模块提供标准5V电源。
晶振模块为单片机提供时钟标准,使系统各部分能协调工作。
复位电路为单片机提供复位功能。
单片机作为主控制器,根据输入信号对系统进行相应的控制。
数码管显示选手当前的得分。
按键设置模块用来刷新选手的得分,当选手得分或者失分时可以通过这两个按钮对选手分数重新设置。
蜂鸣器用作按键提示,当有按键按下时蜂鸣器发出声音,按键释放时停止发声
系统板硬件连线如图3-1所示:
(1)单片机的P0口和P2口通过74LS06反相缓冲器依次接到数码管的a~g端;
(2)18和19引脚接外部晶振的时钟电路;
(3)9、12和13引脚接按键电路;
(4)17引脚接蜂鸣器电路。
6软件设计
6.1相关参考程序内容
MOV移动
MOVC程式记忆体移动
MOVX外部RAM和扩展I/O口与累加器A的数据传送指令
PUSH放入堆叠
POP由堆叠取回
XCH8位元交换
XCHD低4位元交换
SWAP高低4位元交换
INC加一指令
DEC减一指令
MUL(MULAB乘法指令仅此一条)相乘指令,所得的16位二进制数低8位存累加器A高8位存B
DA(DAA只此一条指令)调整为十进数
ANL做AND(逻辑与)运算
ORL做OR(逻辑或)运算
CLR清除为0
CPL取反指令
LCALL长调用子程序
ACALL绝对调用子程序
RET由副程式返回
RETI由中断副程式返回
AJMP绝对转移
SJMP相对转移
JMP@A+DPTR散转,相对DPTR的间接转移
SETB设定为1
ORG程序开始,规定程序的起始地址
END程序结束
EQU等值指令(先赋值后使用)例:
SUMEQU30H
RET子程序返回指令
RETI中断子程序返回指令
单片机开始运行时显示选手50分,数码管显示50,主程序循环调用显示选手得分,当遇到中断时,调用中断程序,如果是P1则显示数字加1,如果是P2则显示数字减1。
加1处理流程图如图4-1所示,减1处理流程图如图4-2所示。
图6-1加1处理流程图
图6-2减1处理流程图
6-3主程序图
ORG0000H
LJMPMAIN
ORG0003H
LJMPJIAYI
ORG0013H
LJMPJIANYI
ORG0040H
COUNTEQU30H;
初始化
MAIN:
MOVSP,#40H
MOVCOUNT,#10H
SETBEX0
SETBEX1
SETBIT0
SETBIT1
SETBEA
MOVDPTR,#SMBIAO;
表格地址赋值
XSHI:
MOVA,COUNT;
;
显示得分
SWAPA;
半字节交换
ANLA,#41H;
屏蔽50以下是显示MOVCA,@A+DPTR;
MOVP0,A
MOVA,COUNT;
分值再给次A
屏蔽50以下是显示MOVC;
屏蔽50以下是显示
MOVCA,@A+DPTR
MOVP2,A
LJMPXSHI;
循环完成返回
SMBIAO:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;
显示数码表
ORG0200H
JIAYI:
LCALLdelay:
加一中断处理程序
JBP3.2,E1
ADDA,#01H;
分值加1
LCALLDELAY;
调用DELAY
DAA
MOVCOUNT,A;
蜂鸣器发声,表示有按键按下
SHYING:
CPLP3.7;
;
P3.7取反,取反原因这应该是跟硬件上有关的
LCALLDELAY
JNBP3.2,SHYING;
判断是否为1,防止重复累加
E1:
RETI
ORG0300H
JIANYI;
减一中断处理程序
LCALLDELAY
JBP3.3,E2
CLRC;
MOVA,#9AH;
最大值为100
SUBBA,#01H
ADDA,COUNT
DAA
MOVCOUNT,A
SHYING1:
CPLP3.6;
鸣音程序
MOVR4,#0FFH
MOVR7,#4
XU2:
MOVR6,#50
XU1:
MOVR5,#50
XU:
DJNZR5,XU
DJNZR6,XU1
DJNZR4,XU2
DJNZR7,XU2
RETI
SHYING2:
CPLP3.7
LCALLdelay
JNBP3.3,SHYING2
E2:
RETI;
利用延时实现按键去抖动
DELDY:
MOVR5,#100
DO:
MOR6,#100
D1:
DJNZR6,D1
DJNZR5,D0
RET
END;
程序结束
七、电路图
八、小结
通过本次课程设计,通过我们的努力使我有对51单片机有了更进一步的了解,对51单片机的更能结构更记得熟悉了。
课程设计是在原有的学科基础上所进行的更深层次的综合性较强的学习。
在本次课程设计中,我们2个人分为一组,彼此合作,经过几天的努力,终于基本上完成了本次课程设计。
这次我们课程设计的题目;
是电子记分牌。
刚接触这个课题我们通过网络对课题惊醒了解与分析,但在网上查阅的资料都是与篮球等比赛记分牌的设计方法与我们所做的课题有所偏离,针对这个问题我与另一位小组成员通过分工在图书馆里找到相关的书籍进行查阅,进行总结设计分析,再结合网络中其他记分牌的设计原理进行比较完成了我们的课程设计。
但由于我们所学的《单片机原理及应用》时间不长,外加书本上的内容相对简单,我不太清楚如何去利用从中所学的知识,很难将书本上的基本理论与实际的问题结合起来。
因为设计时间与知识掌握不到位与软件的不熟悉我们最终的结果并未显示出来。
为此我们感到很遗憾。
在程序以及原电路的衔接中还存在一定的错误,我们希望在得到老师的指点后在今后的时间内继续认真完成我们的课题,使之完整并达到老师的要求。
结束语
这次课程程设计是我们学到了很多从中明白一些道理会让我们在以后的学习和生活中受益。
首先,理论课的重要性。
平时上理论课的时候总觉得理论课上的知识与实践总有很远的距离,不知道上理论课的重要性,所以在学的时候兴致缺缺,但在课程设计时,才发现根修房子最重要是打好地基一样,没有理论课所学知识的支撑设计根本无法完成。
其次,不刚愎自用。
在做该课程设计过程中遇到困难的时候,不要忘记学习除了一个人独自琢磨外还应多与同学切磋,一个人学习容易走进死胡同,而且进入死胡同后会大大的打击做设计的积极性,这时候应与同学多交流,从一个新的角度去看待问题、分析问题、解决问题,会有耳目一新的感觉。
再做起设计来事倍功半,最主要的是,从课程设计中学会了把课本上的理论知识实践化,还有良好的编程风格,注意养成良好的习惯,代码的缩进编排,变量的命名规则要始终保持一致。
如果注释和代码不一致,那就更加糟糕。
设计资料及参考文献
1赵鑫,蒋亮,齐兆群等.数字电路设计.北京:
机械工业出版社,2005
2苏家健,曹柏荣,汪志锋.单片机原理及应用技术.北京:
高等教育出版社,2003
3李朝青.单片机原理及接口技术.北京:
北京航天航空大学出版色,2001
4胡汉才.单片机原理及其接口技术.北京:
清华大学出版社,2004.
5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 电子 记分牌 课程设计 报告