基于51单片机的无线篮球计分器

基于51单片机的无线篮球计分器
基于51单片机的无线篮球计分器

单片机课程设计基于51单片机的无线篮球计分器设计

专业年级: 2012级电气工程及其自动化

参与成员:邹勇(P121813544)尚阿琪(P121813545)

刘甜甜(P121813535)马辉(P121813517)

张大为(P121813555)贾双梅(P122113555)

指导老师:黄靖涛

摘要

目前,随着人民生活条件的改善以及对各种比赛项目的热爱和欣赏,采取有线机器来进行记分的中小型比赛也开始减少,取而代之的是利用无线控制进行记分。无线记分系统不再沿用过去的记分功能,而是利用无线发送与接收的形式工作,既节省了材料费用,也使记分器工作的时候比较不受约束,且可以任意挪动。因此为了使记分更加方便并且记分设备的携带更加便捷,无线记分设备在国内外的研究都变得更加广泛和深入。

本文主要设计了一个基于CC1101模块的无线记分器,采用的是STC89C52芯片,来进一步研究射频收发模块与单片机的结合,并实现无线记分功能。本设计的无线记分器分别由记录端和接收显示端这两部分构成。记录端由单片机最小系统、CC1101无线发射模块、按键、指示灯等组成,单片机读取按键后把数据利用CC1101无线发射模块发送给接收显示端进行显示。接收显示端由单片机最小系统、CC1101无线接收模块、四位数码显示模块等组成,无线接收模块将接收的数据送单片机处理后,再将数据由数码管显示出来。根据该无线记分器的设计框图,进行材料的选购以及硬件的搭建,并用C语言编写程序实现记分功能,分别利用四个功能按键控制A、B两队的加分和减分,在记录端数码管上显示加分或者减分,在接收端数码管上显示两队的比分情况。

关键词:无线;射频收发模块;记分器

目录

摘要 (2)

一、系统方案设计 (4)

1.1 系统构成框图及基本功能介绍 (4)

1.2 系统各部分简介 (4)

二、硬件电路设计 (5)

2.1 51单片机最小系统 (5)

2.2 无线收发部分 (6)

2.2.1 CC1101模块简介 (6)

2.2.2 无线模块单片机接口 (7)

2.3 74HC573芯片介绍 (7)

2.4 触摸按键介绍 (8)

2.5 数码管模块介绍 (9)

2.6 各模块连接概述 (10)

三、软件设计 (11)

3.1 软件设计综述 (11)

3.2 C程序设计 (12)

四、硬件搭建及测试 (12)

4.1 程序的编写及烧录 (12)

4.2 硬件测试 (13)

总结 (14)

附录 (15)

附录1 C程序设计 (15)

附录2硬件调试效果图 (19)

一、系统方案设计

1.1系统构成框图及基本功能介绍

本设计主要采用STC89C52单片机制造而成,由无线发送模块和无线接收模块组成无线收发系统,按键区采用TTP226触摸按键,设置四个功能按键,分别控制A 、B 两队的加减分情况,显示区分为两个部分,一部分由一组四位数码管模块形成,处于发送端显示加或减的功能;另一部分由一组八位数码管模块形成,处于接收端显示A 、B 两队比分情况。同时,采用74HC573锁存控制器来控制数据在数码管上的输出。系统构成框图如图1-1所示。

单片机最小

系统

八位数码管

显示

无线接收模

无线发送模

单片机最小

系统按键区

四位数码管

显示

图1-1 系统构成框图

1.2系统各部分简介

(1)单片机数据在数码管上的显示。单片机的工作电压为5V ,如果直接将数码管与单片机连接,则会导致电压不够,数码管显示不清。本设计中主要是采取在单片机与数码管之间连接了74HC573芯片,使得数码管上成功显示加减分以及A 、B 两队的比分情况,该芯片起到了电流放大以及程序锁存的作用。 (2)CC1101无线模块的电源输入。由于该模块工作于1.8-3.6V 电源电压之间,故采用3.3V 电源稳压模块对其进行稳压,从而使该无线模块可以正常工作。

(3)CC1101无线发送与接收模块之间信息的传送。CC1101的发送器部分是基

于RF频率直接合成的,将一个晶体连接至XOSC_Q1和XOSC_Q2。由晶体振荡器产生合成器的参考频率,以及ADC和数字部件的时钟,同时以一个四线的串行外设接口来进行配置和存取数据缓冲器。另一方面,CC1101中具有一个低功耗中频接收机。低噪声放大器将接收到的射频信号放大,并在进行积分求取的过程中降压转换至中频。在IF下,I/Q信号被模拟数字转换器数字化,而且均以数字形式完成自动增益控制、精确信道滤波、调制解调位和数据包同步。

二、硬件电路设计

2.1 51单片机最小系统

图2-1 STC89C52单片机最小系统

本设计主要采用的是STC89C52芯片。该芯片是由STC公司出产的一款性能强,功耗低,具有8K在系统可编程Flash存储器的八位微控制器。STC89C52芯片具备了传统51单片机所不具备的功能,虽然其使用的是经典的MCS-51内核,

但它又做了很多的改进。同时,STC89C52因其在单芯片上拥有8位CPU和在系统可编程Flash存储器,更是为那些嵌入式控制应用系统提供了灵活有效的解决方案。如图2-1所示为51单片机最小系统图,它由电源部分、复位电路部分、和晶振电路组成。

2.2无线收发部分

2.2.1 CC1101模块简介

CC1101是一款用于极低功耗RF应用的Sub-GHz高性能射频收发器。其主要是针对工业方面、科技研究方面和医疗方面以及300-348MHz、387-464MHz和779-928MHz这几个频带的短距离无线通信设备。该无线收发模块的最大传输速率可以达到500Kbps,而且在空旷的地方可达200-300米的传输距离,可以从软件方面来对波特率进行修改,具有无线唤醒等功能,支持低功率电磁波激活功能,无线唤醒处于睡眠状态的低功耗设备,灵敏度达到-110dBm,具有很高的可靠性,可广泛应用于各种场合的短距离无线通信领域。其通常应用于300/779MHz ISM/SRD频带的超低功耗无线应用、无线计量、无线告警、楼宇自动化和安全系统等[11-13]。

CC1101 RF收发器集成了一个高度可配置的基带调制解调器,支持数据包的处理、突发传输、数据的缓冲、空闲信道的评估、指示链路质量以及无线唤醒等硬件方面的处理。我们还可以通过一个串行外设接口对CC1101的重要运行参数和64字节RX和TX的先入先出数据缓存器进行控制。CC1101在一个典型的系统中经常会与一个微控制器以及一些额外的无源组件结合应用[14-15]。其关键特性如下:

(1)RF性能

灵敏度高且电流消耗较低,在所有可用的频率带下,具有高达+10dBm的可编程输出功率、1.2到500kBaud的可编程数据速率以及卓越的接收机选择性和阻断性能,可用频带有:300-348MHz、387-464MHz和779-928MHz。

(2)模拟特性

支持2-FSK、GFSK、MSK以及OOK,灵活的ASK波形整形,建立时间只需90μs,能够迅速地锁定频率合成器,对于很多跳频系统都非常适用,同时利用自动频率补偿调整频率合成器到实际接收信号的中心频率,并且拥有集成的模拟温度传感器。

(3)数字特性

支持数据包导向系统、校验地址、检测同步字、灵活的数据包长度以及自动

CRC处理;可用一次“突发”数据传输对所有寄存器进行编程,具有高效的串行外设接口,数字RSSI输出,可编程信道滤波器带宽,可编程载波监听指示器,可编程前导质量指示器;可用于增强随机噪声伪同步字检测的保护,支持发送前自动空闲信道评估,支持所有数据包的链路质量指示,可选数据自动白化和去白。

2.2.2无线模块单片机接口

2-2 无线模块与单片机连接图

如图2-2所示、无线模块的SI、SO、CSN、GDO0、GDO2、SCLK分别与单片机的P0.0、P0.1、P0.2、P0.3、P0.4、P0.5相连。通过这6个I/O口与CC1101芯片SPI总线进行数据的交换,进而完成收发等功能。

2.3 74HC573芯片介绍

74HC573芯片是一款具有三态输出的八路锁存器,用于驱动电容相对较高或者阻抗相对较低的负载,实现缓冲寄存器、串并口以及双向总线驱动器等。当该芯片锁存允许端,即LE端,为高逻辑电平时,输出端Q输出数据跟数据输入端D一致;当LE端为低逻辑电平时,输出端进入锁存状态,无论输入为何种电平,输出Q均保持上一次的电平状态,即保持预先设置好的数据。

74HC573芯片的输出使能端OE(低电平有效),可用来设置输出口的工作状态。当OE为高电平时,无论锁存允许端和数据输入端为何种电平,输出都是高阻态。在处于高阻态的状态时,输出端无法进行读取也不能进行驱动总线,即芯片处于不可控状态。其芯片引脚图如图2-3所示。

VCC Q0Q1Q2Q3Q4Q5Q6Q7LE

74HC573

OE D0GND

D1D2D3D4D5D6D712345678910

11

121314151817162019

图2-3 74HC573芯片引脚图

2.4触摸按键介绍

本次无线记分器设计采用的是一款TTP226触摸式按键,KEY1-KEY8接口与TTP226的D0-D7输入接口连接,输出接口Q0-Q7与OUT1-OUT8接口相连,将其安置在记分器的无线发射端来控制A 、B 两队的加减分。这是一种接触板检测IC ,一共提供了八个触摸按键,并且内含八个指示灯,每个按键对应一个指示灯,当按下某个按键时,与其对应的指示灯就会亮起,证明该按键在工作。在软件编程的时候,设置1键为A 队的加分键、2键为A 队的减分键,设置3键为B 队的加分键、4键为B 队的减分键。

TTP226触摸式按键不再延续传统固定pad 尺寸的直接按钮键,而且接触键在交直流应用中的特点是功耗较低、工作电压较宽。其具体特点如下:工作电压为2.0V ~5.5V ;在工作电压为3V 时,工作电流典型值为80uA ,最大值为160uA ,输出刷新率约为55Hz ;人体接触检测相对比较稳定,取代了传统直接切换的按键;由按键中的选项可以分别选择直接模式、矩阵模式和串行模式,直接模式下最多八个输入和八个输出。

在上电之后,TTP226触摸式按键有一段稳定时间,在此期间触碰触摸键区功能无效,TTP226的是0.8~1.0s ,而且始终进行自动校准,当任何按键都不被触碰时,TTP226重新的校准周期是0.8~1.0s 。如图2-4所示TTP226触摸式按键电路原理图。

图2-4 TTP226触摸式按键电路原理图

2.5 数码管模块介绍

本次无线记分器设计采用一个八位数码管显示模块以及一个四位数码管显示模块来进行加、减分功能的显示以及A、B两队的比分情况。

在无线发射端设计一个四位数码管来显示加减功能,当按下A队或者B队加分键的时候,该数码管模块则显示“Add”;当按下A队或者B队减分键的时候,该数码管模块则显示“dEL”。该四位数码管模块的电路原理图如图3-4所示。

在无线接收端设计一个八位数码管来显示A、B两队的比分情况,初始值设置为“000--000”,分别通过A、B两队的加减分键来对比分情况进行调整,如A 队得50分,B队得42分,则数码管显示为“050--042”。

R1 R2 R3 R4 R5 R6 R7 R8

a b c

d e

f g

DP

1 2 3 4 5 6 7 8

1

2

3

4

5

6

7

8

P1

9

10

11

12

13

1

2

3

4

5

6

7

8

WEI1

WEI2

WEI3

WEI4

VCC 图2-5 四位数码管模块电路原理图

2.6各模块连接概述

对于无线发送端,采用电源稳压模块对整个单片机系统进行稳压,单片机正常工作电压为5V,本设计中稳压在5.35V左右,也可以供单片机小系统正常工作。设置单片机P2.0-P2.5接口分别与CC1101模块的SCK、MOSI、GDO2、MISO、CSN、GDO0接口相连,由于CC1101模块需要的是1.8-3.6V的电源输入,故采用3.3V电源稳压模块对无线发送模块进行稳压。将P3.0-P3.7接口与TTP226触摸按键的OUT1-OUT8接口相连,P0.0-P0.7接口与74HC573芯片的D0-D7输入引脚相连,P2.7接口与芯片LE端相连,再将74HC573芯片的Q0-Q7输出引脚连向四位数码显示模块的A-DP接口,且将单片机P1.4-P1.7接口分别与数码显示模块的另外四个接口相连。无线发送端电路原理图见附录2。

对于无线接收端,稳压方面与无线发送端一致,设置单片机P1.1-P1.6接口分别与CC1101模块的SCK、MOSI、GDO2、MISO、CSN、GDO0接口相连,同样由于CC1101模块需要的是1.8-3.6V的电源输入,故采用3.3V电源稳压模块对无线接收模块进行稳压。在无线接收端设置了两个74HC573芯片,将P0.0-P0.7接口与其中一个74HC573芯片的D0-D7输入引脚相连,P2.6接口与芯片LE端相连,再将74HC573芯片的Q0-Q7输出引脚连向八位数码显示模块的A-DP接口。而另外一个74HC573芯片的LE端与P2.7接口相连,输出接口Q0-Q7与数码显示模块的另外八个接口相连。

三、软件设计

3.1 软件设计综述

本设计软件设计方面的构思方法比较简洁,容易理解,方法也比较新颖,没有复杂的程序嵌套。程序开始时先进行初始化,定义各个端口,并且对各函数进行声明,再对按键进行扫描,查看是否有键按下,若有键按下,判断是哪个键按下,首先判断是A队评分区的按键按下,还是B队评分区的按键按下。若判定为A队评分区的按键按下,再判断是加分键,还是减分键,若为加分键,则给A 队进行加分处理;若为减分键,则给A队进行减分处理。若判定为B队评分区的按键按下,再判断是加分键,还是减分键,若为加分键,则给B队进行加分处理;若为减分键,则给B队进行减分处理。然后再对数码管进行扫描,加以显示;若无键按下,则不执行任何程序,直接结束。主程序流程图如图4-1所示。

图3-1 主程序流程图

3.2 C程序设计

该无线记分器设计一共设置了四个功能按键分别实现A、B两队加减分功能,1号键实现A队加分功能,连续触摸即可对A队进行连续加分,为防止出现加分错误,设置2号键对A队进行减分控制;3号键实现B队加分功能,连续触摸即可对B队进行连续加分,同样,为防止出现加分错误,设置4号键对B队进行减分控制。当按下A队或者B队加分键的时候,无线发射端上的四位数码管模块则显示“Add”;当按下A队或者B队减分键的时候,该数码管模块则显示“dEL”。而无线接收端设计的显示A、B两队比分情况的八位数码管,初始值设置为“000--000”,分别通过A、B两队的加减分键来对比分情况进行调整,如A队得57分,B队得42分,则数码管显示为“057--042”,中间两位数码管用于显示“--”来区分A、B两队的比分。程序见附录1。

四、硬件搭建及测试

4.1 程序的编写及烧录

本次设计采用C语言进行程序编写,并使用Keil软件进行程序的编译,而软件调试主要就是根据编译时产生的错误进行查找和修改。编写界面如4-1所示。

图4-1 编写界面

程序编译操作步骤:

1、为该工程建立一个文件夹“无线发送”;

2、新建一个project文件“无线发送.uv4”,将其保存在文件夹“无线发送”中,并设置单片机型号,即目标器件为STC89C52;

3、编辑源程序,建立源文件“无线发送.c”,再保存在文件夹“无线发送”中;

4、在工程项目组中添加源文件“无线发送.c;

5、设置调试环境,选择调试模式为硬件仿真,将实物与计算机的USB连接,选择串口为COM1,设置串行口波特率为115200bps,烧录界面如图4-2所示;

图4-2 烧录界面

4.2 硬件测试

程序编译成功之后,启动专门用于STC系列单片机的STC-ISP软件,选择正确的单片机型号,即STC89C52,再选择编译产生的.HEX文件,设置串口为COM1,最高波特率为115200bps。之后,使目标板处于断电状态,点击下载按钮,该软件将与单片机进行握手,此时给目标板上电,将目标程序烧录到单片机中。

然后,对实物进行检测调试。单片机工作电压为5V左右,故用电源稳压模块对电源电压进行手动调整,并用万用表对电压进行测量,确保电源电压限定在

单片机工作电压范围内。首先,打开无线发送和接收两端的电源开关,初始值设置为“000--000”,显示效果图见附录2。如果此时比赛开始A队得一分,触摸一下1号按键,发送端数码管显示“Add”,此时接收端数码管显示比分为“001--000”;如果之后B队又得两分,长触3号按键,发送端数码管依然显示“Add”,B队分数跳动两下,松开按键,此时接收端数码管显示比分为“001--002”。无线记分器显示效果图见附录2。

总结

本次设计过程中也遇到了不少问题,并得到了解决,以下对其中的几个问题加以总结。

(1)CC1101无线模块在发送以及接收信号时可能受到干扰而导致不能及时向单片机系统传输数据,编写程序时采用一定的延时,来避免这种干扰。

(2)最初采购了四个共阳的二位数码管和两个共阳的四位数码管,利用这些数码管焊接之后,记分器表面布线复杂,而且由于焊接的问题导致接触不良,显示乱码,故改用焊接好的八位数码管显示模块以及四位数码管显示模块。

(3)在向数码管发送程序时,LED显示有时候会出现重影,可以在改变段的输出内容之前,先令所有的位都停止显示,即开位、送段码、延时1~5ms、关位,再下一位,就可进行消隐。

当然这次的设计中也还存在着一定的不足,比如说设计中使用的触摸按键在工作时,用手触摸A组加分按钮,就容易触碰到A组的减分按钮,导致A组的加分键和减分键指示灯同时亮起,所以如果条件允许的话,可以采用设计更好的按键模块来代替这次使用的触摸按键。

附录

附录1 C程序设计

#include

#define DataPort P0 //定义数据端口程序中遇到DataPort 则用P0 替换

#define a 1

#define b 0

sbit LATCH1=P2^7;//定义锁存使能端口段锁存

sbit LATCH2=P2^6;//位锁存

unsigned char code dofly_DuanMa[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};// 显示段码值0~9

unsigned char code dofly_WeiMa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//分别对应相应的数码管点亮,即位码

unsigned char TempDataA[3]; //A队存储显示值的全局变量

unsigned char TempDataB[3]; //B队存储显示值的全局变量

unsigned int numA=0; //A队要显示的数

unsigned int numB=0; //B队要显示的数

void Delaysmg(unsigned int t)

{

while(--t);

}

void Display_flag()

{

unsigned char i;

for(i=3;i<=4;i++)

{

DataPort=0; //清空数据,避免交替重影

LATCH1=1; //段锁存

LATCH1=0;

DataPort=dofly_WeiMa[i]; //取位码

LATCH2=1; //位锁存

LATCH2=0;

DataPort=0xBF; //取显示数据,段码

LATCH1=1; //段锁存

LATCH1=0;

Delaysmg(200); //扫描间隙延时

}

}

void Display(unsigned char FirstBit,unsigned char Num, unsigned char name )

{

unsigned char i;

for(i=0;i

{

DataPort=0; //清空数据,避免交替重影

LATCH1=1; //段锁存

LATCH1=0;

DataPort=dofly_WeiMa[i+FirstBit-1]; //取位码

LATCH2=1; //位锁存

LATCH2=0;

if(name)

DataPort=TempDataA[i]; //取显示数据,段码

else

DataPort=TempDataB[i]; //取显示数据,段码

LATCH1=1; //段锁存

LATCH1=0;

Delaysmg(200); // 扫描间隙延时

}

}

void Display_A()

{

TempDataA[0]=dofly_DuanMa[numA/1000];//分解显示信息,如要显示57,则57/10=5 57%10=7

TempDataA[1]=dofly_DuanMa[(numA%1000)/100];

TempDataA[2]=dofly_DuanMa[((numA%1000)%100)/10];

Display(1,3,a); //A队

Display_flag(); //显示”--“

void Display_B()

{

TempDataB[0]=dofly_DuanMa[numB/1000];//分解显示信息,如要显示57,则57/10=5 57%10=7

TempDataB[1]=dofly_DuanMa[(numB%1000)/100];

TempDataB[2]=dofly_DuanMa[((numB%1000)%100)/10];

Display(6,3,b); //B队

Display_flag(); //显示”--“

}

#include

#include

#define INT8U unsigned char

#define INT16U unsigned int

#define WRITE_BURST 0x40 //连续写入

#define READ_SINGLE 0x80 //读

#define READ_BURST 0xC0 //连续读

#define BYTES_IN_RXFIFO 0x7F //接收缓冲区的有效字节数#define CRC_OK 0x80 //CRC校验通过位标志//******************************************************************* *

sbit SCK=P1^1;

sbit MOSI=P1^2;

sbit GDO2=P1^3;

sbit MISO=P1^4;

sbit CSN=P1^5;

sbit GDO0=P1^6;

//******************************************************************* *

sbit LED =P1^0;

//******************************************************************* *

//接收函数主函数部分

void main(void)

INT8U leng =0;

INT8U RxBuf[8]={0};

INT8U PaTabel[8] = {0x60 ,0x60 ,0x60 ,0x60 ,0x60 ,0x60 ,0x60 ,0x60};

CpuInit();

POWER_UP_RESET_CC1100();

halRfWriteRfSettings();

halSpiWriteBurstReg(CCxxx0_PATABLE, PaTabel, 8);

while(1)

{

leng =8; // 预计接受8 bytes

if(halRfReceivePacket(RxBuf,&leng))

{

if(RxBuf[0] == 0xA2)//接收到A队加分信号

{

numA=numA+1;

}

else if(RxBuf[0] == 0xA3)//接收到A队减分信号

{

numA=numA-1;

}

else if(RxBuf[0] == 0xB2)//接收到B队加分信号

{

numB=numB+1;

}

else if(RxBuf[0] == 0xB3)//接收到B队减分信号

{

numB=numB-1;

}

}

Display_A(); // A队

Display_B(); // B队

}

}

附录2 硬件调试效果图

无线记分器初始状态图

A队加分效果图

图4-5 B队减分效果图

基于单片机的篮球计分器设计毕业设计

摘要 随着电子科技、信息通信技术的快速发展,嵌入式单片机应用越来越广泛。在HMOS技术大发展的背景下,Intel公司在MCS-48系列的基础上,于1980年推出了8位MCS-51系列单片机。它与以前的机型相比,功能增强了许多,就其指令和运行速度而言,超过了INTEL8085的CPU和Z80的CPU,成为工业控制系统中较为理想的机种。较早的MCS-51典型时钟为12MHz,而目前与MCS-51单片机兼容的一些单片机的时钟频率达到40MHz甚至更高,现在已有400MHz的单片机问世。篮球记分器是一种得分记录工具,由多种电子设备组成。以单片机为核心的篮球记分器造价便宜,使用简单,体积小等特点。

第1章绪论 1.1 单片机简述 单片机就是在一块半导体硅片上集成了微处理器(cpu),存储器(RAM,ROM,EPROM)和各种输入、输出接口(定时器/计数器,并行I/O接口,串行口,A/D转换器以及脉宽调制器PWM等),这样一块集成电路芯片具有一台计算机的属性,因此被称为单片微型计算机,简称单片机。 单片机主要应用于测控领域,用以实现各种测试和控制功能。为了强调其控制属性,在国际上,多把单片机称为微控制器MCU(MicroController Unit)。单片机自20世纪70年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。单片机的优点是体积小、重量轻、抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。例如,80C51系列单片机已有十多年的生命期,如今仍保持着上升的趋势,就充分证明了这一点。单片机以其一系列优点,近几年得到迅猛发展和大范围推广,广泛应用于工业控制系统,数据采集系统、智能化仪器仪表,及通讯设备、日常消费类产品、玩具等。并且已经深入到工业生产的各个环节以及人民生活的各层次中,如车间流水线控制、自动化系统等、智能型家用电器等。而美国ATMEL公司开发生产了新型的8位单片机——AT89系列单片机。他不但具有一般MCS-51单片机的所有特性,而且还拥有一些独特的优点,此次设计中所用到的AT89C51就是其中典型的代表。 1.2 设计意义 单片机的应用是具有高度现实意义的。单片机极高的可靠性,微型性和智能性(我们只要编写不同的程序后就能够完成不同的控制工作),单片机已成为工业控制领域中普遍采用的智能化控制工具,已经深深地渗入到我们的日常生活当中。通过此次基于单片机设计的篮球计时计分系统,我们可以更清楚详细的了解单片机程序设计的基本指令功能、编程步骤和技巧来讲述单片机编程,并对MCS-51单片机的结构和原理进行讲述,以及基于单片机开发应用的相关芯片的工作原理,并且可以在将来的工作和学习中加以应用。

AT89C51单片机简易计算器的设计

AT89C51单片机简易计算器的设计 单片机的出现是计算机制造技术高速发展的产物,它是嵌入式控制系统的核心,如今,它已广泛的应用到我们生活的各个领域,电子、科技、通信、汽车、工业等。本设计是基于51系列单片机来进行的数字计算器系统设计,可以完成计算器的键盘输入,进行加、减、乘、除六位数范围内的基本四则运算,并在LCD上显示相应的结果。设计电路采用AT89C51单片机为主要控制电路,利用MM74C922作为计算器4*4键盘的扫描IC读取键盘上的输入。显示采用字符LCD静态显示。软件方面使用C语言编程,并用PROTUES仿真。 一、总体设计 根据功能和指标要求,本系统选用MCS-51系列单片机为主控机。通过扩展必要的外围接口电路,实现对计算器的设计。具体设计如下:(1)由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LCD 显示数据和结果。 (2)另外键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键和等号键,故只需要16 个按键即可,设计中采用集成的计算键盘。 (3)执行过程:开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数

值,按等号就会在LCD上输出运算结果。 (4)错误提示:当计算器执行过程中有错误时,会在LCD上显示相应的提示,如:当输入的数值或计算得到的结果大于计算器的表示范围时,计算器会在LCD上提示溢出;当除数为0时,计算器会在LCD 上提示错误。 系统模块图: 二、硬件设计 (一)、总体硬件设计 本设计选用AT89C51单片机为主控单元。显示部分:采用LCD 静态显示。按键部分:采用4*4键盘;利用MM74C922为4*4的键盘扫描IC,读取输入的键值。 总体设计效果如下图:

基于单片机的篮球计时计分器

基于单片机的篮球计时 计分器 集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)

目录

摘要 篮球比赛计分器的设计是为了解决篮球比赛时计分与计时准确方便和灵活适用的问题而提出的,我组设计的篮球比赛计分器硬件部分主要利用AT89S52单片机完成了计分与计时的功能,并通过两个四位七段数码管分别用来显示比赛时间和甲、乙比赛双方的分数,软件部分利用Keil C51软件来进行编译,通过Proteus软件进行仿真,最后将生成的HEX文件烧入到单片机芯片中。采用该系统可根据实际情况进行时间的准确显示和比分修改,具有低功耗、可靠性强、安全性高以及低成本等特点,主要不足之处在于计时显示部分有时会出现显示不稳定的情况,基本满足了本次设计要求。 关键词:单片机;篮球赛计分;篮球赛计时;数码管 Abstract Basketball match score indicator is designed to solve the basketball game scoring and timing is accurate, convenient and flexible applicable problem, and that my 14-year-old basketball game hardware part of the group design mainly USES AT89S52 MCU to complete the scoring and timing functions, and through the two four seven segment digital tube is used to display the match time and party a and b both sides score, software part use Keil C51 software to compile, through the Proteus software simulation, finally will generate burn-in HEX file to the MCU chip. Using the system can according to the actual situation to the accurate display and modify the score of time, with low power consumption, high reliability, safety and low cost etc., the main shortcoming in the timer display part can appear sometimes unstable situation, basic meet the requirement of the design. Key words: single chip microcomputer; The basketball game scoring; The basketball game timing; Digital tube

篮球计分器设计报告

课程设计报告 课程名称:数字电路课程设计 设计题目:篮球比赛数字计分器 院(部):机械与电子工程电学院 专业:电气信息类 学生姓名: 曾吴广 学号: 2011211006 起止日期: 2013年6月7日-2013年6月22日 指导教师: 李玲纯华贵山

一、设计内容与要求: 设计一个篮球比赛记分显示器 基本要求: (1)电路具有加1分、加2分、加3分功能。 (2)电路具有减分功能。 (3)显示总分功能,用三位LED显示器,最高可现实999。 (4)每次篮球比赛后显示器可清零。 二、设计方案 对应篮球比赛规则的系统的要求,篮球记分有1分、2分、3分的情况,通过对电路输入一个脉冲、两个脉冲、三个脉冲,使计数器对分数进行统计,这需要三个脉冲分路。 电路要具有计分、减分及显示的功能。当球队比赛得分时,用加法计分器通过控制分路加相应的分数。如果裁判误判了,可用减法计数器减掉误判的分数。用三片计数器和三个半导体数码LED进行对分数的统计和显示。 电路框图 三、电路的设计记分电路 加 减 置 换 二 分 脉 冲 显 示 显 示 分 数 清 零 一分脉冲三分脉冲

1、记分部分 设计要求记分部分包括加减两部分,故考虑双时钟输入的十进制计数器74LS192。74LS192是同步十进制可逆计数器,为双时钟输入,具有同步清零和同步置数等功能,具体功能表如下: 故计分部分电路设计如下: 2、显示部分 数码管按照其发光二极管的连接方式不同,可分为共阳极和共阴极两种。共阴极是指数码管中所有发光二极管的阴极连在一起接低电平,而阳极分别由a、b、c、d、e、f、g输入信号驱动,当某个输入为高电平时,相应的发光二极管点亮;共阳极数码管则相反,它的所有发光二极管的阳极连在一起接高电平,而阴极分别由a、b、c、d、e、f、g输入信号驱动,当某个输入为低电平时,相应的发光二极管点亮。

基于51单片机的计算器设计程序代码汇编

DBUF EQU 30H TEMP EQU 40H YJ EQU 50H ;结果存放 YJ1 EQU 51H ;中间结果存放GONG EQU 52H ;功能键存放 ORG 00H START: MOV R3,#0 ;初始化显示为空MOV GONG,#0 MOV 30H,#10H MOV 31H,#10H MOV 32H,#10H MOV 33H,#10H MOV 34H,#10H MLOOP: CALL DISP ;PAN调显示子程序WAIT: CALL TESTKEY ; 判断有无按键JZ WAIT CALL GETKEY ;读键 INC R3 ;按键个数 CJNE A,#0,NEXT1 ; 判断就是否数字键 LJMP E1 ; 转数字键处理NEXT1: CJNE A,#1,NEXT2 LJMP E1 NEXT2: CJNE A,#2,NEXT3 LJMP E1 NEXT3: CJNE A,#3,NEXT4 LJMP E1 NEXT4: CJNE A,#4,NEXT5 LJMP E1 NEXT5: CJNE A,#5,NEXT6 LJMP E1 NEXT6: CJNE A,#6,NEXT7 LJMP E1 NEXT7: CJNE A,#7,NEXT8 LJMP E1 NEXT8: CJNE A,#8,NEXT9 LJMP E1 NEXT9: CJNE A,#9,NEXT10 LJMP E1 NEXT10: CJNE A,#10,NEXT11 ;判断就是否功能键LJMP E2 ;转功能键处理NEXT11: CJNE A,#11,NEXT12 LJMP E2 NEXT12: CJNE A,#12, NEXT13 LJMP E2

基于51单片机的简易计算器制作

基于51单片机的简易计算器制作专业:电气信息班级:11级电类一班 姓名:王康胡松勇 时间:2012年7月12日 一:设计任务 本系统选用AT89C52单片机为主控机。通过扩展必要的外围接口电路,实现对计算器的设计,具体设计如下: (1)由于设计的计算器要进行四则运算,为了得到较好的显示效果,经综合分析后,最后采用LED 显示数据和结果。 (2)采用键盘输入方式,键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键(on\c)和等号键(=),故只需要16 个按键即可,设计中采用集成的计算键盘。 (3)在执行过程中,开机显示零,等待键入数值,当键入数字,通过LED显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LED上输出运算结果。 (4)错误提示:当计算器执行过程中有错误时,会在LCD上显示相应的提示,如:当输入的数值或计算得到的结果大于计算器的表示范围时,计算器会在LED上提示八个0;当除数为0时,计算器会在LED上会提示八个负号。 设计要求:分别对键盘输入检测模块;LED显示模块;算术运算模块;错误处理及提示模块进行设计,并用Visio画系统方框图,keil与protues仿真 分析其设计结果。 二.硬件设计 单片机最小系统 CPU:A T89C52 显示模块:两个4位7段共阴极数码管 输入模块:4*4矩阵键盘 1.电路图

电路图说明 本电路图采用AT89C52作为中处理器,以4*4矩阵键盘扫描输入,用两个74HC573(锁存器)控制分别控制数码管的位于段,并以动态显示的方式显示键盘输入结果及运算结果。为编程方便,以一个一位共阴极数码管显示负号。 三,程序设计 #include #define Lint long int #define uint unsigned int #define uchar unsigned char sbit dula=P2^6; //锁存器段选sbit wela=P2^7; sbit display_g=P2^0; //负号段选 sbit display_w=P2^1; //负号位选uchar code table[]={0x3f,0x06,0x5b,0x4f, //0,1,2,3

基于单片机的篮球记分器

学号:201025090229 中州大学毕业设计 设计题目:基于单片机的篮球计分器的设计 学院:工程技术学院 专业:机电一体化对口班级二班 姓名:周康 指导教师:沈娣丽 日期:2013 年4 月22 日

诚信声明 本人郑重声明:所提交的毕业设计(论文)是本人在指导教师的指导下,独立工作所取得的成果并撰写完成的,郑重确认没有剽窃、抄袭等违反学术道德、学术规范的侵权行为。文中除已经标注引用的内容外,不包含其他人或集体已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中作了明确的说明并表示了谢意。本人完全意识到本声明的法律后果由本人承担。 毕业设计(论文)作者签名:指导导师签名: 签字日期:签字日期:

毕业设计任务书 班级:学生:学号 设计题目: 设计内容及要求: 1)设计一款显示篮球比分的记分牌; 2)通过加分按钮可以给A队,或B队加分; 3)设计对调功能,更换场地后,AB队分数互换; 4)计时:能实现0~99分和0~59秒任意调整,具有启动、暂停、复位功能;5)秒计时:能实现0~99秒任意调整,具有启动、暂停、复位功能; 6)增加局数比分功能; 7)增加比赛时间倒计时功能; 8)报警:0~99秒违例自动声、光报警:0~99分终场自动声响; 9)可实现A、B两队暂停次数和犯规的显示和任意加减; 指导老师(签字):年月日

摘要: 本设计是采用单片机AT89C51作为本设计的核心元件。利用7段共阴LED作为显示器件。在此设计中共接入了8个7段共阴LED显示器,其中4个用于记录AB队的分数,每队2个LED 显示器显示范围可达到0~99分,足够满足赛程需要,另外4个LED显示器则用来记录赛程时间,其中2个用于显示分钟,2个用于显示秒钟。赛程计时采用倒计时方式。即比赛前将时间设置好,比赛开始时启动计时,直至计时到零为止。计时范围可达到0~99分钟,也完全满足实际赛程的需要。当比赛队A队得1分时,按下A+1键;得2分时,按下A+2键;得3分时,按下A+3键;当加分出现错误时,可以按A-1键减1分,可以达到调整分数的作用;依照同样的方法可以记录B队的得分。 采用单片机控制使这个系统按键操作使用简洁,LED显示,安装方便。解决了篮球比赛计分器的安装问题,节约了线材,适合在各种规模的体育场馆使用,完全可以代替传统的用钟表进行计时的方法,当然稍加改动也可以用于其他球类比赛,是体育器材向智能化发展的一个实例。 关键词:单片机篮球计分器数码管

数电课程设计--篮球计分器设计

《数字电子技术》课程设计题目:篮球比赛记分器设计 学院:信息科学与技术学院 专业:电子信息工程 班级:2010级(2)班 姓名:马慧2010508121 张驰2010508125 2012年7月6日

篮球比赛记分器设计 一、设计内容与要求: 设计一个篮球比赛记分显示器 基本要求: (1)电路具有加1分、加2分、加3分功能。 (2)电路具有减分功能。 (3)显示总分功能,用三位LED显示器,最高可现实999。 (4)每次篮球比赛后显示器可清零。 二、设计方案 对应篮球比赛规则的系统的要求,篮球记分有1分、2分、3分的情况,通过对电路输入一个脉冲、两个脉冲、三个脉冲,使计数器对分数进行统计,这需要三个脉冲分路。 电路要具有计分、减分及显示的功能。当球队比赛得分时,用加法计分器通过控制分路加相应的分数。如果裁判误判了,可用减法计数器减掉误判的分数。用三片计数器和三个半导体数码LED进行对分数的统计和显示。 电路框图 记分电路 加 减 置 换 二 分 脉 冲 显 示 显 示 分 数 清 零 一分脉冲三分脉冲

三、电路的设计 1、记分部分 设计要求记分部分包括加减两部分,故考虑双时钟输入的十进制计数器74LS192。74LS192是同步十进制可逆计数器,为双时钟输入,具有同步清零和同步置数等功能,具体功能表如下: 故计分部分电路设计如下: 2、显示部分 数码管按照其发光二极管的连接方式不同,可分为共阳极和共阴极两种。共阴极是指数码管中所有发光二极管的阴极连在一起接低电平,而阳极分别由a、b、c、d、e、f输入信号驱动,当某个输入为高电平时,相应的发光二极管点亮;共阳极数码管则相反,它的所有发光二极管的阳极连在一起接高电平,而阴极分别由a、b、c、d、e、

51单片机简易计算器程序

#include <reg51.h>#include <intrins.h> #include <ctype.h> #include <stdlib.h> #define uchar unsigned char #define uint unsigned int uchar operand1[9], operand2[9]; uchar operator; void delay(uint); uchar keyscan(); void disp(void); void buf(uint value); uint compute(uint va1,uint va2,uchar optor); uchar code table[] = {0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90,0xff}; uchar dbuf[8] = {10,10,10,10,10,10,10,10}; void delay(uint z) { uint x,y; for(x=z;x>0;x--)

for(y=110;y>0;y--); } uchar keyscan() { uchar skey; P1 = 0xfe; while((P1 & 0xf0) != 0xf0) { delay(3); while((P1 & 0xf0) != 0xf0) { switch(P1) { case 0xee: skey = '7'; break; case 0xde: skey = '8'; break; case 0xbe: skey = '9'; break; case 0x7e: skey = '/'; break; default: skey = '#'; }

基于51单片机的计算器设计

目录 第一章引言 (3) 1.1 简述简易计算器 (3) 1.2 本设计主要任务 (3) 1.3 系统主要功能 (4) 第二章系统主要硬件电路设计 (4) 2.1 系统的硬件构成及功能 (4) 2.2 键盘电路设计 (5) 2.3 显示电路设计 (6) 第三章系统软件设计 (7) 3.1 计算器的软件规划 (7) 3.2 键盘扫描的程序设计 (7) 3.3 显示模块的程序设计 (8) 3.4 主程序的设计 (9) 3.5 软件的可靠性设计 (9) 第四章调试 (9) 第五章结束语 (10) 参考文献 (11) 附录源程序 (11)

第一章引言 1.1 简述简易计算器 近几年单片机技术的发展很快,其中电子产品的更新速度迅猛。计算器是日常生活中比较的常见的电子产品之一。如何才能使计算器技术更加的成熟,充分利用已有的软件和硬件条件,设计出更出色的计算器呢? 本设计是以AT89S52单片机为核心的计算器模拟系统设计,输入采用4×6矩阵键盘,可以进行加、减、乘、除9位带符号数字运算,并在LCD1602上显示操作过程。 科技的进步告别了以前复杂的模拟电路,一块几厘米平方的单片机可以省去很多繁琐的电路。现在应用较广泛的是科学计算器,与我们日常所用的简单计算器有较大差别,除了能进行加减乘除,科学计算器还可以进行正数的四则运算和乘方、开方运算,具有指数、对数、三角函数、反三角函数及存储等计算功能。计算器的未来是小型化和轻便化,现在市面上出现的使用太阳能电池的计算器, 使用ASIC设计的计算器,如使用纯软件实现的计算器等,未来的智能化计算器将是我们的发展方向,更希望成为应用广泛的计算工具。 1.2 本设计主要任务 以下是初步设定的矩阵键盘简易计算器的功能: 1.扩展4*6键盘,其中10个数字,5个功能键,1个清零 2.强化对于电路的焊接 3.使用五位数码管接口电路 4. 完成十进制的四则运算(加、减、乘、除); 5. 实现结果低于五位的连续运算; 6. 使用keil 软件编写程序,使用汇编语言; 7. 最后用ptoteus模拟仿真; 8.学会对电路的调试

基于51单片机的篮球计时计分器

《计算机系统与接口技术》课程设计报告 题目:篮球记时记分器 姓名: 学号: 班级: 专业:电子信息科学与技术 信电学院 2010年12月24日

徐州工程学院信电学院课程设计任务书2010-2011学年第1学期

徐州工程学院课程设计 摘要 本设计是采用AT89S51单片机为核心设计的一个用于赛场的篮球计时计分器。本设计采用定时器T0中断计时,显示部分分为计时和计分显示两部分,均采用共阴极LED显示。计时部分可以调整分钟,足以满足一般赛程需要。两个显示模块均采用动态扫描方式显示。 在本设计中P0(P0.1—P0.6)口是时间和分数的段码数据输出口,P2口是时间和分数的位选数据输出口,本设计共有九个设置按键,add1、add2是加分键(add1按一次加一分,add2按一次加二分),minus1是减分键(按一下减一分),exchange是分数位置交换键,bstop是关蜂鸣器键,start是开始计时键键(按键按下开始倒计时),stopagain是时间暂停键,turn是切换键(用于加分键的切换),timeadd是时间设定键。按键与P1口相接,低电平输入有效。报警部分由有蜂鸣器及其驱动电路组成。定时时间到,扬声器报警,比赛结束,按bstop 键可停止报警(否则一直报警)。本次设计的篮球计时计分器具有以下的功能:(1)能记录整个赛程的比赛时间,并能修改比赛时间。 (2)能随时刷新甲、乙两队在整个比赛过程中的比分。 (3)中场交换比赛场地时,能交换甲、乙两队比分的位置。 (4)比赛结束时,能发出报警声。 (5)可随时接受暂停请求。

计算机原理与接口技术 目录 1 概述 (3) 1.1 单片机简介 (3) 1.2 课程设计的意义 (4) 1.3 任务与要求 (4) 2系统总体方案及硬件设计 (5) 2.1 系统总体方案设计 (5) 2.2 硬件系统设计 (5) 2.2.1 单片机选择 (5) 2.2.2 时钟电路模块 (6) 2.2.3 复位电路模块 (7) 2.2.4按键控制键盘模块 (7) 2.2.5 显示模块和定时报警模块 (8) 3.1 软件总体设计方案 (10) 3.2 程序模块设计 (10) 4 PROTEUS软件仿真 (12) 5 课程设计体会 (14) 参考文献 (14) 附1 源程序代码 (15)

2020年篮球计分器开题报告

篮球计分器开题报告 篮球计分是篮球比赛的准备基础,关于它的设计也能影响到篮球的比赛。 石河子大学 毕业论文开题报告 课题名称:基于单片机的便携式篮球计分计时系统设计 学生姓名:朱宝军 学号:学院:机械电气工程学院 专业、年级:电气工程及其自动化12级2班 指导教师:张晓海 职称:副教授 毕业论文(设计)起止时间: 目录 1课题名称及 (1) 2研究的目的意义及国内外研究现状 (1) 2.1选题的目的及意义 (1)

2.2国内外研究现状 (1) 3课题的研究内容、目标及可行性分析 (2) 3.1研究内容 (2) 3.2研究思路和方法 (2) 3.3研究目标 (2) 3.4可行性分析 (3) 4关键问题和难点分析 (3) 4.1课题研究的关键问题 (3)

4.2课题研究的难点分析 (3) 4.3进度计划 (3) 参考文献 (4) 1课题名称及: 名称:基于单片机的便携式篮球计分计时系统设计 :老师推荐 2研究的目的、意义和国内外研究现状: 2.1选题的目的及意义 进入21世纪,伴随着电子,信息通信技术的应用与普及开发,人们对电子技术的要求也越来越高。目前嵌入式单片机渗透到我们生活的各个领域,按照历史性、本质性、普遍性要求,嵌入式系统应定义为:“嵌入到对象体系中的专用计算机系统”。对于嵌入式即可分软件部分和硬件部分。以MCU为核心,就是各种各样的单片机,是嵌入式硬件部分的实现方式之一,它主要是因为把处理器和存储器等部件集成在一块芯片上。 在探索单片机的发展道路时,有过两种模式,即“Σ模式”与“创新模式”。“Σ模式”将通用计算机系统中的基本单元进行裁剪

AT89C51单片机C实现简易计算器

AT89C51单片机简易计算器的设计 一、总体设计 根据功能和指标要求,本系统选用MCS-51系列单片机为主控机。通过扩展必要的外围接口电路,实现对计算器的设计。具体设计如下:(1)由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LCD 显示数据和结果。 (2)另外键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键和等号键,故只需要16 个按键即可,设计中采用集成的计算键盘。 (3)执行过程:开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LCD上输出运算结果。 (4)错误提示:当计算器执行过程中有错误时,会在LCD上显示相应的提示,如:当输入的数值或计算得到的结果大于计算器的表示范围时,计算器会在LCD上提示溢出;当除数为0时,计算器会在LCD 上提示错误。 系统模块图:

二、硬件设计 (一)、总体硬件设计 本设计选用AT89C51单片机为主控单元。显示部分:采用LCD 静态显示。按键部分:采用4*4键盘;利用MM74C922为4*4的键盘扫描IC,读取输入的键值。 总体设计效果如下图:

(二)、键盘接口电路 计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的I/O 口资源,因此在很多情况下都不采用这种方式,而是采用矩阵键盘的方案。矩阵键盘采用四条I/O 线作为行线,四条I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为4×4个。这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率。 矩阵键盘的工作原理: 计算器的键盘布局如图2所示:一般有16个键组成,在单片机中正好可以用一个P口实现16个按键功能,这种形式在单片机系统中也最常用。 图 2 矩阵键盘布局图 矩阵键盘内部电路图如图3所示:

篮球赛计时计分器课程设计

电子与电气工程学院 课程设计报告 课程名称电子技术课程设计 设计题目计分器 专业名称电子科学与技术 班级 13级 2班 学号2013210825 学生姓名唐前昆 指导教师王欢 2015年06 月02日

目录 第1章系统概述 (1) 1.1 功能简述 (1) 1.2 按钮设置 (1) 第2章总体方案设计 (2) 2.1 系统框图 (2) 2.2 软件总体设计 (2) 第3章系统硬件设计 (3) 3.1 80C51单片机 (3) 3.2 3×4矩阵式键盘 (3) 3.3 8段数码管显示器 (3) 3.4 系统原理图 (3) 第4章软件设计 (4) 4.1 主函数设计 (4) 4.2按键码获取,按键处理函数 (5) 4.3显示子函数 (6) 4.4延时子函数 (7) 第5章系统的安装调试说明 (8) 5.1 软件调试 (8) 5.2 软硬联调 (8) 总结 (9) 参考文献 (10) 附录A 系统原理图 (11) 附录B 源程序清单 (12)

第1章系统概述 1.1 功能简述 本设计内容为比赛计分器,主要用于各种体育比赛记录分数。采用矩阵式键盘作为输入,用户可分别对两队比分进行加1、加2和减1减2操作,其加减1,2分可以通过加减1分、2分的切换按钮实现,并通过指示灯显示其每次按下加减分键所加减的分值。可以实现预置分。比分通过4个8段数码管显示器进行显示,每队比分显示2位, 1.2 按钮设置 计分器应该有7个按键分别标注于原理图,见图1-1。 图1-1按钮功能图 其中1/2分切换由发光二极管指示,加1减1分别对应。预置分是事先设定分数可以分别设定甲乙两队的初始分数。按下清零后,显示的分数清零。

单片机篮球计时计分器

《单片机技术及其应用》 课程设计报告 题目:篮球计时计分器 班级:通信本科1班 学号: 姓名: 同组人员: 指导教师:敏 2014 年12 月15 日

目录 1概述 (1) 1.1单片机简介 (1) 1.2课程设计的意义 (2) 1.3设计的任务和要求 (2) 2系统总体方案及硬件设计 (2) 2.1 系统总体方案设计 (2) 2.2 单片机选择 (3) 3 系统的硬件设计 (4) 3.1 时钟电路模块 (4) 3.2 键盘控制模块 (4) 3.3 显示模块 (5) 3.4定时报警模块 (6) 4 系统的软件设计 (6) 4.1软件设计总流程图 (6) 4.2 定时初值计算 (7) 4.3 各部分程序功能分析 (8) 5 系统的Proteus仿真 (13) 6 总结 (14) 7 指导老师意见 (15) 参考书目: (15) 附录 C语言源程序 (16)

篮球计时计分器 1概述 1.1单片机简介 单片机,全称为单片微型计算机(Single Chip Microcomputer),即把组成微型计算机的各个功能部件如中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/0)、定时器/计数器以及串行通信接口等(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)都集成在一块芯片上,构成的一个完整的微型计算机。 由于单片机的集成度很高、功能强、通用性好、特别是它的体积小、重量轻、功耗低、价格便宜、可靠性高、抗干扰能力强和使用方便等优点、使得单片机得到了迅速推广应用、已远远超出了计算机科学的领域。 单片机自20世纪70年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。单片机以其一系列优点,近几年得到迅猛发展和大范围推广,广泛应用于工业控制系统,数据采集系统、智能化仪器仪表,及通讯设备、日常消费类产品、玩具等。并且已经深入到工业生产的各个环节以及人民生活的各层次中,如车间流水线控制、自动化系统等、智能型家用电器等。而美国ATMEL公司开发生产了新型的8位单片机—AT89系列单片机。它不但具有一般MCS-51单片机的所有特性,而且还拥有一些独特的优点。此次设计中所用到的AT89S52就是其中典型的代表。 由于单片机的集成度高,功能强,通用性好,特别是它具有体积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便等独特的优点,使单片机迅速得到了推广应用,目前已经成为测量控制应用系统中的优选机种和新电子产品的关键部位。世界各大电气厂家,测控技术企业,机电行业,竞相把单片机应用于产品更新,作为实现数字化,智能化的核心部件。篮球计时计分器就是以单片机为核心的计时计分系统,由计时器,计分器,综合控制器和24秒控制器等组成。

#篮球比赛计时计分器的毕业设计

毕业设计(论文) 篮球比赛计时计分器的设计The design of basketball game time and scoring 班级电气自动化092班 学生姓名杨杰学号 930706036 指导教师周天沛职称讲师 导师单位徐州工业职业技术学院 论文提交日期 2011年11月18日

徐州工业职业技术学院 毕业设计(论文)任务书 课题名称篮球比赛计时计分器的设计课题性质设计制作类 班级电气自动化092班 学生姓名杨杰 学号 930706036 指导教师周天沛 导师职称讲师

一. 选题意义及背景 篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统。篮球比赛的计时计分系统由计时器,计分器等多种电子设备组成,同时,根据目前高水平篮球比赛要求,完善的篮球比赛计时计分系统设备应能够与现场成绩处理,现场大屏幕,电视转播车等多种设备相联,以便实现高比赛现场感,表演娱乐观众等功能目标。 二. 毕业设计(论文)主要内容: 任务:设计一个用于赛场的篮球计时计分器。 要求:1、能记录整个赛程的比赛时间,并能修改比赛时间。 2、能随时刷新甲、乙两队在整个过程中的比分。 3、比赛结束时,能发出报警声。 其中硬件部分包括键盘和显示器接口电路的设计。软件部分利用单片机编程软件编写程序,并利用protest软件进行调试,完成毕业论文。 预期成果为设计实物一件,提交毕业设计论文一篇。 三.计划进度: 第8 周查阅资料、选型对比调研,初步确定控制电路的总体设计。 第8-10 周完成硬件线路设计及元器件的选型。 第11 周单片机软件程序的编写。 第12 周调试系统达到设计要求,并完成毕业论文。 第13 周答辩。 四.毕业设计(论文)结束应提交的材料: 1、论文一篇(8000字以上) 2、实物一件 指导教师教研室主任 年月日年月日

51单片机简易计算器代码

#include"reg52.h" #define uchar unsigned char #define uint unsigned int sbit busy=P0^7; void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } char i,j,temp,num; long a,b,c; //a,第一个数b,第二个数c,得数 uchar flag,fuhao;//flag表示是否有符号键按下,fuhao表征按下的是哪个符号uchar code table[]={7,8,9,0,4,5,6,0,1,2,3,0,0,0,0,0}; uchar code table1[]={7,8,9,0x2f-0x30,4,5,6,0x2a-0x30,1,2,3,0x2d-0x30,0x01-0x30,0,0x3d-0x30,0 x2b-0x30}; //按键显示编码表 sbit lcden=P2^2; sbit lcdwrite=P2^1; sbit lcdrs=P2^0; //lcd的写指令 void write_com(uchar com) { lcdrs=0; lcden=0; P0=com; delay(1); lcden=1; delay(1); lcden=0; } //lcd的写数据 void write_date(uchar da) { lcdrs=1; lcden=0; P0=da; delay(1); lcden=1; delay(1); lcden=0; } //初始化

void init() //初始化 { uchar num; num=-1; lcdwrite=0; lcden=0; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); delay(500);//延时0.5s write_com(0x01); i=0; j=0; a=0; //第一个参与运算的数 b=0; //第二个参与运算的数 c=0; flag=0; //flag表示是否有符号键按下, fuhao=0; // fuhao表征按下的是哪个符号 } void keyscan() // 键盘扫描程序 { P3=0xfe; if(P3!=0xfe) { delay(10); //延迟20ms if(P3!=0xfe) { temp=P3&0xf0; switch(temp) { case 0xe0:num=0; break; case 0xd0:num=1; break; case 0xb0:num=2; break; case 0x70:num=3; break; } } while(P3!=0xfe); if(num==0||num==1||num==2)//如果按下的是'7','8'或'9 { if(j==1)//确认一次计算完毕,清屏 { write_com(0x01);

基于单片机的简易计算器设计

2013 - 2014 学年_一_学期 山东科技大学电工电子实验教学中心 创新性实验研究报告 实验项目名称__基于51单片机的简易计算器设计_ 2013 年12 月27 日

四、实验内容

2、实验内容 (一)、总体硬件设计 本设计选用AT89C52单片机为主控单元。显示部分:采用六位LED动态数码管显示。按键部分:采用2*8键盘;利用2*8的键盘扫描子程序,读取输入的键值。 (二)、键盘接口电路 计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的I/O 口资源,因此在很多情况下都不采用这种方式,而是采用矩阵键盘的方案。矩阵键盘采用两条I/O 线作为行线,八条I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为2×8个。这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率。 矩阵键盘的工作原理: 计算器的键盘布局如图2所示:一般有16个键组成,在单片机中正好可以用一个P口和另一个P口的两个管脚实现16个按键功能,这种形式在单片机系统中也最常用。 矩阵键盘布局图: 矩阵键盘内部电路图如下图所示:

(三)、LED显示模块 本设计采用LED数码显示来显示输出数据。通过D0-D7引脚向LED写指令字或写数据以使LED实现不同的功能或显示相应数据。 (四)运算模块(单片机控制) MCS-51 单片机是在一块芯片中集成了CPU、RAM、ROM、定时器/计数器和多功能I/O等一台计算机所需要的基本功能部件。如果按功能划分,它由如下功能部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、并行I/O 口、串行口、定时器/计数器、中断系统及特殊功能寄存器(SFR)。 单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,通过使用单片机编写的程序可以实现高智能,高效率,以及高可靠性!因此我们采用单片机作为计算器的主要功能部件,可以很快地实现运算功能。

篮球计分器课程设计

单片机原理与应用 课程设计报告 题目篮球记分器 姓名张浩浩张振鹏赵海晨 学号2013416915 2013416920 2013416921 院系物理工程学院 专业通信工程(物联网) 指导教师秦文华 2015年12月 20 日

目录 摘要 .............................................................................................................. 错误!未定义书签。关键词 ............................................................................................................ 错误!未定义书签。引言 ................................................................................................................ 错误!未定义书签。 1.系统方案说明.............................................................................................. 错误!未定义书签。 1.1 方案选择.......................................................................................... 错误!未定义书签。 1.1.1 篮球计时计分器设计的现状............................................... 错误!未定义书签。 1.1.2 系统总体设计方案............................................................... 错误!未定义书签。 1.2 系统基本功能介绍.......................................................................... 错误!未定义书签。 2.系统硬件电路设计...................................................................................... 错误!未定义书签。 2.1 篮球计时计分器电路原理图.......................................................... 错误!未定义书签。 ................................................................................................................ 错误!未定义书签。 2.2 篮球计时计分器电路工作过程...................................................... 错误!未定义书签。 2.3系统硬件电路组成........................................................................... 错误!未定义书签。 2.3.1 计时电路............................................................................... 错误!未定义书签。 2.4器件选择及介绍............................................................................... 错误!未定义书签。 2.4.1 AT89C51 ................................................................................ 错误!未定义书签。 3.软件系统设计.............................................................................................. 错误!未定义书签。 3.1系统设计流程图............................................................................... 错误!未定义书签。 3.2 电路仿真.......................................................................................... 错误!未定义书签。 4.调试 ............................................................................................................. 错误!未定义书签。 4.1 仿真调试.......................................................................................... 错误!未定义书签。 4.2电路板调试............................................................................................... 错误!未定义书签。总结........................................................................................................... 错误!未定义书签。参考文献......................................................................................................... 错误!未定义书签。致谢 ............................................................................................................ 错误!未定义书签。附录 ................................................................................................................ 错误!未定义书签。

相关文档
最新文档