单片机课程设计--篮球记分牌

上传人:第*** 文档编号:37985986 上传时间:2018-04-25 格式:DOC 页数:16 大小:3.18MB
返回 下载 相关 举报
单片机课程设计--篮球记分牌_第1页
第1页 / 共16页
单片机课程设计--篮球记分牌_第2页
第2页 / 共16页
单片机课程设计--篮球记分牌_第3页
第3页 / 共16页
单片机课程设计--篮球记分牌_第4页
第4页 / 共16页
单片机课程设计--篮球记分牌_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《单片机课程设计--篮球记分牌》由会员分享,可在线阅读,更多相关《单片机课程设计--篮球记分牌(16页珍藏版)》请在金锄头文库上搜索。

1、1单片机课程设计报告单片机课程设计报告题题 目目 篮球记分牌篮球记分牌 学学 院院 自动化与电气工程学院自动化与电气工程学院 专专 业业 自动化自动化 班班 级级 自动化自动化 103 学学 号号 学生姓名学生姓名 指导教师指导教师 完成日期完成日期 2012 年年 12 月月 15 日日 2篮球记分牌篮球记分牌一设计要求:一设计要求:1、比赛开始,比分能够全部清零,数码管前 2 位、末 2 位做记分用,当中 2 位做 24 秒倒计时用。2、24 秒倒计时时间到,蜂鸣器响、指示灯亮,重新开始倒计时,蜂鸣器停止鸣叫、指示灯灭。3、比分进行增加后,倒计时从 24 秒重新开始倒计时。任意时刻 24秒

2、可以重新开始倒计时。必要时候能够关闭倒计时。4、利用 AT24C02 或者单片机内部资源保存比分,支持复位保存,掉电保存功能。5、其他附加功能。二原理图:二原理图:3三实验流程图:三实验流程图:四实验程序:四实验程序:Main.cMain.c 文件:文件:/* * 函数名:篮球记分牌 说 明:比赛开始,比分能够全部清零,数码管前 2 位、末 2 位做记分用,当中 2 位做 24 秒倒计时用。24 秒倒计时时间到,蜂鸣器响、指示灯亮,重新开始倒计时,蜂鸣器停止鸣叫、开始初始化倒计时蜂鸣器响,LED 灯 亮显示执行控制程序是否按键是否到时NYNY4指示灯灭。 比分进行增加后,倒计时从 24 秒重新

3、开始倒计时。任意时刻 24 秒可以重新开始 倒计时。必要时候能够关闭倒计时。 作 者: 完成日期:2012.12.2/* */ #include #include #include“eeprom.h“#define uchar unsigned char #define uint unsigned int /*端口定义*/ /*数码管段选用 P0 口,位选用 P2 口*/ /*指示灯*/sbit LED=P34; /*蜂鸣器*/sbit FMQ=P35; /*数组定义*/uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x07f

4、,0x6f;/0,1,2,3,4,5,6,7, 8,9 uchar password6; /掉电保存 6 位数组 /*变量定义*/ uchar fen1; /甲队初始得分 uchar fen2; /乙队初始得分 uchar fen3; /甲乙两队上下半场换分 uchar SJ; /时间变量值 uchar cxjs=1;/重新计时标志位 uchar key;/矩阵键盘按键值 uchar temp;/矩阵键盘 P1 口寄存变量 uchar time;/中断计数器/* 函数名称:delay 函数功能:基本延时程序 入口参数:无 出口参数:无 备 注:无*/ void delay(uchar x) u

5、char j; 5while(x-)!=0) for(j=0;j0;m-) delay(2);if(m=6)P2 = 0XFE; P0 = tablefen1/10;if(m=5) P2 = 0XFD;P0 = tablefen1%10; if(m=4) P2 = 0XFB;P0 = tableSJ/10;if(m=3) P2 = 0XF7;P0 = tableSJ%10;if(m=2) P2 = 0XEF;P0 = tablefen2/10;if(m=1) P2 = 0XDF;P0 = tablefen2%10; /* 函数名称:keyscan 函数功能:4X4 矩阵键盘扫描程序 入口参数:

6、无 出口参数:无 备 注:读取的键值赋给了 key 6*/ void keyscan(void) temp=P1; if(temp!=0xf0) delay(120); if(temp!=0xf0) P1=0xfe;temp=P1;delay(120); switch(temp) case(0xee):key=0;break; case(0xde):key=1;break; case(0xbe):key=2;break; case(0x7e):key=3;break; P1=0xfd;temp=P1;delay(120);switch(temp) case(0xed):key=4;break;

7、 case(0xdd):key=5;break; case(0xbd):key=6;break; case(0x7d):key=7;break; P1=0xfb; temp=P1; delay(120);switch(temp) case(0xeb):key=8;break; case(0xdb):key=9;break; case(0xbb):key=10;break; case(0x7b):key=11;break; P1=0xf7;temp=P1; delay(120);switch(temp) 7 case(0xe7):key=12;break; case(0xd7):key=13;b

8、reak; case(0xb7):key=14;break; case(0x77):key=15;break; /* 函数名称:keydown 函数功能:4X4 矩阵键盘判断程序 入口参数:无 出口参数:无 备 注:判断是否有按键按下 */ void keydown(void) P1=0xF0;if(P1!=0xF0) delay(150);/消抖if(P1!=0xF0) keyscan(); /* 函数名称:timer0init 函数功能:定时器初始化部分程序 入口参数:无 出口参数:无 备 注:设置定时器 0 工作方式*/ void timer0init() TMOD /定时器 0 工作方

9、式 1TMOD |= 0x01; /* 函数名称:timer0 8函数功能:中断服务程序 入口参数:无 出口参数:无 备 注:此程序无调用*/ void timer0 (void) interrupt 1 using 0 TH0=0x15; TL0=0xa0; time=time+1; if(time=20)time=0; SJ=SJ-1; if(SJ=0) SJ=0;EA=0;FMQ=0;LED=0; /* 函数名称:setpassword 函数功能:掉电保存程序 入口参数:无 出口参数:无 备 注:此程序调用 eeprom_eares 擦除扇区程序,eeprom_write 字节编程程序*

10、/ void setpassword() eeprom_eares(0x0000); eeprom_write(0x0000,fen1/10); eeprom_write(0x0001,fen1%10); eeprom_write(0x0002,SJ/10); eeprom_write(0x0003,SJ%10); eeprom_write(0x0004,fen2/10); eeprom_write(0x0005,fen2%10); /* 函数名称:getpassword 函数功能:读出 eeprom 内存储值 入口参数:无 出口参数:无 9备 注:无*/ void getpassword()

11、 uchar i; for(i=0;i #include“intrins.h“#define EXET #else #define EXET extern #endif /typedef unsigned char INT8U; /typedef unsigned int INT16U; EXET unsigned char eeprom_read(unsigned int add); /读一字节,调用 前需打开 IAP 功能 EXET void eeprom_write(unsigned int add, unsigned char ch); /字节编程,调用前 需打开 IAP 功能 EXET void eeprom_eares(unsigned int add); /擦除扇区 #endif14五实验仿真:五实验仿真:15六实验实物图六实验实物图:16七实验总结:七实验总结:通过这次单片机课程设计,我学到了很多东西。主要收获有: 1将理论教学与实践相结合,使我对于单片机的实际应用有了较深刻的认识; 2使我对单片机应用系统设计的各种方法有所了解; 3通过分工合作,培养了我和同学之间的合作精神; 4让我熟悉了电子系统设计的全过程;提高了我对设计课题的分析

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号