单片机课程设计--篮球记分牌
单片机课程设计 记分牌的设计
这里选用的是国外进口的51系列兼容单片机C语言开发系统的C编写。与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。给芯片提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境将这些部分组合在一起。
开关电路图图3-3
LED灯电路图图3-4
3.4复位和振荡电路的设计
复位电路可以实现上电复位和按键复位两种复位方式:上电复位电路由电容串联电阻构成,由图并结合“电容电压不能突变”的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且这个高电平持续的时间由电路的RC值来决定。典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以适当组合RC的取值就可以保证可靠的复位。按键复位电路则是通过按下RESET按键拉高RST引脚电平来实现的。
按键电路图图3-7
3.6信息显示模块
信息显示用到1个4位8段共阴极数码管和一个蜂鸣器。
数码管显示3位数字,第一位为权数,第二位为隔开符号(中间的一个横杠),第三、第四位一起进行分数的加减。由于P0口的驱动能力有限,所以外接了一排阻,从而增强了对数码管的驱动能力。数码管采用共阳极连接方式,其阴极分别接单片机P0~P7口,当单片机某口输出低电平时,对应的数码管亮。电路图如图3-8.
三、硬件设计
3.1总体方案设计
篮球积分器的硬件电路分成主控模块、键盘输入模块、信息提示模块三部分进行设计。
主控模块以AT89S51为核心,完成输入输出信息处理、计时器中断相应、数值计算等,协调整个系统有条不紧的工作。键盘输入模块作为人机交互接口,允许用户控制系统的工作状态,完成如记分开始/暂停、记分清零、比赛队伍分数调整等功能。信息提示模块包含4个2位8段数码管和一个蜂鸣器,用于实时显示系统工作状态,方便用户进行下一步操作。
单片机课程设计篮球比赛计分牌的设计
尺寸:适合篮球比赛场地,易于安装和拆卸
显示:清晰可见,易于读取分数和计时信息
设计:简洁大方,易于操作
颜色:鲜艳醒目,易于识别
显示清晰:能够清晰地显示比赛分数、时间等信息
操作简便:操作简单,易于使用
稳定性高:能够长时间稳定运行,避免故障
易于维护:易于维护和维修,降低维护成本
单片机最小系统包括:单片机、电源、晶振、复位电路
晶振:为单片机提供稳定的时钟信号
复位电路:在系统启动时,将单片机复位到初始状态
电源:为单片机提供稳定的电源电压
单片机最小系统设计需要考虑的因素:稳定性、可靠性、成本、可扩展性等
显示模块类型:LCD或LED
显示内容:比分、时间、犯规次数等
接口设计:I2C、SPI或其他
显示模块控制:通过单片机控制显示内容
显示模块接口:与单片机连接
显示模块尺寸:根据实际需求选择
功能:接收用户输入,控制计分牌的显示
应用实例:篮球比赛计分牌、电子秤、遥控器等
设计要点:按键的布局、微控制器的选择、显示模块的接口
模块组成:按键、微控制器、显示模块
电源模块的作用:为计分牌提供稳定的电源
电源模块的组成:电源适配器、电源线、电源开关等
电源模块的选择:根据计分牌的功率需求选择合适的电源模块
电源模块的安装:按照说明书进行安装,确保电源模块与计分牌的连接正确、牢固
电源滤波:使用电源滤波器,减少电源噪声干扰
屏蔽设计:使用金属外壳,屏蔽电磁干扰
接地设计:良好的接地设计,减少静电干扰
软件抗干扰:使用软件滤波算法,减少信号噪声干扰
C语言:广泛应用,易于理解和学习
功能测试:测试计分牌的各项功能,如计分、计时等
单片机课程设计(篮球计分器)
检查电源:确保电源正常,电压稳定 检查连接:确保所有硬件连接正确,无松动或损坏 检查硬件功能:确保所有硬件功能正常,如LED灯、按键等 检查程序运行:确保程序运行正常,无错误或异常 检查数据传输:确保数据传输正常,无丢失或错误 检查稳定性:确保硬件在长时间运行下仍能保持稳定工作
软件调试的目的:发现并修复软件中的错误 软件调试的方法:使用调试工具,如断点、单步执行等 软件调试的步骤:设置断点、执行程序、查看变量值、分析错误原因 软件调试的技巧:使用日志记录、使用单元测试等
提高解决问题的能力和创新能力
添加标题
添加标题
添加标题
添加标题
学会使用单片机进行硬件设计和软 件开发
培养团队合作精神和沟通能力
Байду номын сангаас
功能要求:实现篮 球计分功能,包括 得分、犯规、暂停 等
硬件要求:使用单 片机、LED显示屏、 按键等硬件设备
软件要求:编写 程序,实现篮球 计分器的功能
设计要求:设计 简洁、易于操作, 满足实际需求
结束程序:关闭计时器、计分器等设备,退出程序
程序功能:检测按键是否被 按下
程序流程:初始化、循环扫 描、判断按键状态、执行相 应操作
初始化:设置按键引脚为输 入模式,并初始化为高电平
循环扫描:不断循环检测按 键状态,直到按键被按下或 松开
判断按键状态:根据按键引 脚的电平变化判断按键是否 被按下或松开
软件设计:优化代码结构, 提高运行效率
硬件设计:考虑成本和性能, 选择更合适的元器件
用户体验:增加用户友好的 界面和操作方式
功能扩展:增加更多的功能, 如数据统计、比赛记录等
技术发展趋势:智能化、网络化、 小型化
技术挑战:提高稳定性、降低功耗、 提高准确性
单片机篮球计分器课程设计
单片机篮球计分器课程设计一、课程目标知识目标:1. 学生能够理解单片机的基本原理,掌握其编程方法。
2. 学生能够了解篮球计分器的工作原理,掌握相关电路的连接方式。
3. 学生能够运用已学过的数学知识,设计出合理的计分算法。
技能目标:1. 学生能够运用所学知识,独立完成单片机篮球计分器的编程与调试。
2. 学生能够通过小组合作,完成整个篮球计分器的硬件搭建和软件设计。
3. 学生能够运用所学知识解决实际问题,提高创新能力和动手实践能力。
情感态度价值观目标:1. 学生在课程学习中,培养对电子技术的兴趣,激发学习热情。
2. 学生通过团队合作,学会沟通、协作与分工,培养团队精神。
3. 学生能够认识到科技在体育领域的应用,增强科技改变生活的意识。
课程性质:本课程为实践性课程,结合单片机原理、编程、电路设计等多学科知识,旨在培养学生的动手实践能力和创新能力。
学生特点:本课程针对高中年级学生,他们在前期的学习过程中已经掌握了基本的电子技术、编程知识和数学知识,具备一定的自学能力和合作能力。
教学要求:教师需引导学生将所学知识运用到实际项目中,注重培养学生的实践能力和团队协作能力,同时关注学生的个性化发展,提高学生的综合素质。
在教学过程中,将课程目标分解为具体的学习成果,以便于教学设计和评估。
1. 理论知识:- 单片机原理:涉及单片机的结构、工作原理、编程语言等。
- 电路设计:讲解篮球计分器所需的基础电路知识,如数字电路、传感器等。
- 计分算法:介绍篮球计分器的计分原理及算法设计。
2. 实践操作:- 硬件搭建:指导学生进行单片机、传感器、显示屏等硬件的连接。
- 软件编程:教授学生编写单片机程序,实现计分器的功能。
- 调试与优化:引导学生对篮球计分器进行调试,找出问题并优化程序。
3. 教学大纲:- 第一周:单片机原理学习,熟悉编程环境。
- 第二周:电路设计及硬件连接,学习传感器应用。
- 第三周:计分算法设计,编写单片机程序。
《单片机原理及应用》篮球计分牌设计一
《单片机原理及应用》篮球计分牌设计1 系统设计1.1 设计要求1.1.1 设计任务设计一个基于单片机的篮球计分牌,实现两队的计分与24秒计时功能。
1.1.2 性能指标要求(1) 按照题目要求独立设计系统所需电路,并完成硬件电路的制作及调试。
(2)结合硬件能够正常计分(1,2,3)。
(3)能够正常显示分值。
(4)能够正常修改工作模式(计分与24秒)。
(5)能够24秒的误差不小于1秒。
发挥部分能记录两队球员犯规次数计数。
1.2 设计思路及设计框图1.2.1设计思路根据实训的要求,需做出能够正常计分、 能记录两队犯规次数和24秒倒计时的电路板,先根据实训课件画出相应的原理图,然后再编写好程序,再依照原理图连接好元器后将程序拷入到板子上来实现其功能。
其中在程序中设计了延时函数,控制函数,主函数,中断方式。
它们分别起着24秒倒计时,加分,增加犯规次数,改变工作方式,复位等作用。
1.2.2总体设计框图→ ←2 各个模块程序的设计本次实训总共设计了4个模块,分别为数码管显示模块,由按键控制的控制模块,振荡电路模块,复位模块和蜂鸣器模块。
先对数码管进行段码的定义,由于本电路使用16位计时器的计时中断法,所以要循环20次才可到达1秒定时,当24s结束时蜂鸣器响。
并且然使用延时程序来给比赛双方加分和记录双方队员犯规的次数。
3 调试过程(1)先是用万用表将实训给予的元器件进行短路和断路的检查。
(2)然后利用proteus软件将已经设计好的原理图进行电路仿真测试,当仿真所显示出来的功能达到实训要求的功能时,就可以按照原理图把元器件插入到电路板上并进行焊接。
(3)完成焊接后,先是用万用表进行电路测试,检查是否存在短路,断路和虚焊等电路问题。
检查完后,把电源,地线和数据转接口连接好就将程序拷入到电路板中。
然后进行按钮功能的测试,发现数码管无法显示出来。
(4)得知是数码管模块出了问题后便开始进行逐一排查。
经过查阅资料得知A102J排阻要串联一个电阻才能使P0口高电平输出,从而让数码管点亮。
篮球记分牌设计
篮球记分牌1、项目名称:单片机篮球记分牌2、项目要求:实现为比赛的两个队计分,计时,中场暂停时蜂鸣器报警功能。
其中,加分可以实现每次加一分,两分和三分。
每个队加分时都有相应的指示灯点亮。
3、设计内容本设计是基于AT89C51单片机的篮球计时计分器,利用7段共阴LED作为显示器件。
在此设计中共接入了1个四位一体7段共阴LED显示器,1个四位一体7段共阴LED显示器,一个用来记录赛程时间,每次计时时间设置为2分钟。
另外一个数码管用于记录甲乙队的分数,每队2个LED显示器显示范围可达到0~99分。
赛程计时采用正计时方式,比赛开始时启动计时,直至计时到到2分钟为止。
其次,为了配合计时器和计分器校正调整时间和比分,我们特定在本设计中设立了四个按键,用于加一分,加两分,加三分和切换甲乙两队的加分等功能。
采用单片机控制是这个系统按键操作使用简洁,LED显示,安装方便。
本篮球计时计分器主要包括单片机控制系统、计时显示模块、计分显示模块、定时报警,按键控制键盘模块。
通过这几个模块的协调工作就可以完成相应的计时计分控制和显示功能。
这四个模块的相互连接如下图(图1)所示:4、芯片简介:AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
单片机篮球记分牌
注:实际产品需要增加时钟、复位电路。
#include "reg51.h" //51头文件#define KEY_IO P0 //键盘接口#define Lcd_Port P2 //定义数据端口sbit Lcd_RS = P3^5; //定义和LCD的连接端口,写数据指令端口sbit Lcd_RW = P3^6; //读写端口sbit Lcd_E = P3^7; //使能端口sbit Lcd_Busy = P2^7; //读忙端口char aa[10]={'0','1','2','3','4','5','6','7','8','9'};int score_a=0,score_b=0; //用于存储双方比分char dis_buff[4]={'0','0','0','0'}; //用于存放两队比分的十位、个位int temp,keytemp1,keytemp2; //临时变量//延时函数void delay(int t){int i,j; //延时变量for(i=0;i<t;i++) //t表示循环次数for(j=0;j<100;j++);}// 读忙信号判断void Read_Busy(void){int k=255;Lcd_Port=0xff;Lcd_RS = 0;Lcd_RW = 1;Lcd_E = 1;while((k--)&&(Lcd_Busy));Lcd_E = 0;}// 写指令函数void Write_Comm(int lcdcomm){Read_Busy( ); //先读忙Lcd_RS = 0; //端口定义为写指令Lcd_RW = 0; //端口写入使能Lcd_E = 1; //端口输入总使能Lcd_Port=lcdcomm; //数据端送指令Lcd_E = 0; //端口输入总禁止}//写数据函数void Write_Chr(int lcddata){Read_Busy( ); //先读忙Lcd_RS = 1; //端口写数据使能Lcd_RW = 0; //端口写入使能Lcd_E = 1; //端口总输入使能Lcd_Port = lcddata; //数据端口送数据Lcd_E = 0; //端口总输入禁止}//初始化LCDvoid Init_LCD(void){delay(2); //稍微延时,等待LCD进入工作状态 Write_Comm(0x38); //8位2行5*8Write_Comm(0x0c); //显示开/关,光标开闪烁开Write_Comm(0x01); //清显示Write_Comm(0x06); //文字不动,光标右移Write_Comm(0x02); //光标归位}//LED显示动态扫描函数void display(){dis_buff[0]=score_a/10; //送score_a的十位到显示数组里面dis_buff[1]=score_a%10; //送score_a的个位到显示数组里面dis_buff[2]=score_b/10; //送score_b的十位到显示数组里面dis_buff[3]=score_b%10; //送score_b的个位到显示数组里面Write_Comm(0x83); //确定显示位置,第1行第3列Write_Chr('T');Write_Chr('e');Write_Chr('a');Write_Chr('m');Write_Chr(' ');Write_Chr('A');Write_Chr(':');Write_Chr(' ');Write_Chr(aa[dis_buff[0]]); //送显A队比分十位Write_Chr(aa[dis_buff[1]]); //送显A队比分个位Write_Comm(0xC3); //确定显示位置,第2行第3列Write_Chr('T');Write_Chr('e');Write_Chr('a');Write_Chr('m');Write_Chr(' ');Write_Chr('B');Write_Chr(':');Write_Chr(' ');Write_Chr(aa[dis_buff[2]]); //送显B队比分十位Write_Chr(aa[dis_buff[3]]); //送显B队比分个位}//外部中断0中断服务子函数void ext0(void) interrupt 0 using 0 //通过与门触发中断来扫描按键{EX0=0; //关闭外部中断KEY_IO=0x03; //反转法第一步,置键盘接口0000 0011 keytemp1=(~KEY_IO)&0x03; //临时存储按键行状态到keytemp1低4位 delay(1);KEY_IO=0xF0; //反转法第二步,置键盘接口1111 0000 keytemp2=(~KEY_IO)&0xF0; //临时存储按键列状态到keytemp2高4位 temp= keytemp1|keytemp2; //将按键行列号存入tempswitch(temp) //根据按键行列号判断{case 0x11: //按键在第1行第1列score_a++; //A队比分加1if(score_a==100)score_a=99;break;case 0x21: //按键在第1行第2列score_a+=2; //A队比分加2if(score_a>=100)score_a=99;break;case 0x41: //按键在第1行第3列score_a+=3; //A队比分加3if(score_a>=100)score_a=99;break;case 0x81: //按键在第1行第4列if(score_a!=0)score_a--; //A队比分减1break;case 0x12: //按键在第2行第1列score_b++; //B队比分加1if(score_b==100)score_b=99;break;case 0x22: //按键在第2行第2列score_b+=2; //B队比分加2if(score_b>=100)score_b=99;break;case 0x42: //按键在第2行第3列score_b+=3; //B队比分加3if(score_b>=100)score_b=99;break;case 0x82: //按键在第2行第4列if(score_b!=0)score_b--; //B队比分减1break;}do //等待按键释放,防止按键抖动{KEY_IO=0x03;temp=(~KEY_IO)&0x03;}while(temp!=0);}//主函数void main(){Init_LCD( );EA=1; //开全局中断EX0=1; //开外部中断0IT0=0; //外部中断0低电平触发while(1){KEY_IO=0x03; //赋初值0000 0011display(); //送显EX0=1; //开外部中断0,即可以按键扫描 }}。
基于51单片机的篮球记分牌设计课程设计
毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:日期:年月日导师签名:日期:年月日注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
篮电子球记分牌单片机课程设计
数码管也叫LED数码管,它是一种专门用来显示数字的器件,led数码管(LED Segment Displays)是由多个发光二极管封装在一路组成“8”字型的,引线已在内部连接完成,只需引出它们的各个笔画,公共电极。led数码管经常使用段数一样为7段有的另加一个小数点,还有一种是类似于3位“+1”型。位数有半位,1,2,3,4,5,6,8,10位等等....,led数码管依照LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除它们的硬件电路有不同外,编程方式也是不同的。
单片机课程设计报告册
设计题目:篮球赛电子记分牌
专业:
指导教师:
姓名:
学号:
2021年12月
摘要
随着单片机在各个领域的普遍应用,许多用单片机作操纵的计时记分系统也应运而生,如用单片机操纵LCD液晶显示的计时记分器,用单片机操纵LED七段显示的计时记分器等。篮球赛电子记分牌是依照篮球竞赛特点设计的独立的信息搜集、分派、评判和显示的系统,能实现竞赛分数的实时、准确、快捷处置和呈现。
MOV R2,#00
MOV R1,#00
;************************
;键盘扫描程序
;************************
;====判定甲乙间的转换===
CHENGXU:
JB P1.7,JIAYIDUI
JNB P1.7,$
JIAYIDUI:
JB P3.0,YIDUI
LJMP JIADUI
;**********************
;显示程序
;**********************
;====甲队显示扫描====
12864篮球比赛记分牌课程设计报告
长沙学院《单片机原理及应用》课程设计说明书题目篮球比分计分牌系(部) 电子与通信工程系专业(班级) 光电信息工程二班姓名龙敏学号2010041213指导教师刘辉、王新辉起止日期2012/12/10-2012/12/21《单片机原理及应用》课程设计任务书9系(部):电信系专业:2010级光电信息工程指导教师:王新辉、刘辉长沙学院课程设计鉴定表目录1. 课程设计任务书 (6)2. 系统总体方案选择与说明 (6)3. 系统结构框图与工作原理 (7)4. 各单元硬件设计说明及计算方法 (7)(1) 12864显示器 (7)(2)八位独立按键模块 (8)(3)51单片机定时器及初值计算方法 (8)5. 软件设计与说明(包括流程图) (8)6. 调试结果与必要的调试说明 (9)(1)实物图 (9)7. 使用说明 (10)8. 程序清单 (10)(1)比分倒计时子程序 (10)(2)加减分子程序 (11)9. 课程设计体会 (12)10. 参考文献。
(13)1. 课程设计任务书设计一个基于AT89S52单片机的篮球比赛记分牌,用12864液晶屏显示信息。
课题要求: (1)、启动时12864液晶屏第一行显示的内容是:比赛双方的队名。
第二行显示的内容是:比分为000:000。
第三行显示的内容是:本节剩余时间、进攻24秒倒计时。
第四行显示的内容是:设计者的姓名、班级和学号。
(2)设置如下按功能键,实现相应控制功能2. 系统总体方案选择与说明采用单片机和12864液晶显示电路实现该方案以单片机为核心,作为控制模块,并以12864液晶为显示模块,由单片机自带的时钟电路和定时器来实现计时,由于篮球比赛的规则较多,故以独立按键来输入需要控制的对象,由单片机的P1口来接键盘,液晶的数据线接在P0口相应的口线上。
如图2—1。
单片机实现系统框图2—13.系统模块层次结构图3—1 4. 各单元硬件设计说明及计算方法 (1) 12864显示器12864液晶显示模块是128×64点阵的汉字图形型液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM (GDRAM )。
实训项目篮球记分牌单片机设计教材
▲图1 计时计分器结构框图
3、系统硬件电路的设计
3.1、时钟电路
MCS-51内部有一个用于构成振荡器的高增益反相放大器,此放大器的输入和输出端分别是引脚XTAL1和XTAL2,在XTAL1和XTAL2上外接时钟源即可构成时钟电路。有内部和外部两种时钟产生方式。本设计采用的是外部方式。
1.1 设计目的
1.了解计时计分器组成及工作原理。
2. 进一步掌握计时计分器的设计方法
3.进一步掌握芯片的逻辑功能及使用方法。
4.熟悉集成电路的引脚安排.。
1.2 设计指标
设计一个单片机系统用于篮球比赛计时计分,满足以下功能要求:
(1)能记录整个赛程的比赛时间,并能修改比赛时间、暂停比赛时间。
(2)能随时刷新甲、乙两队在整个比赛过程中的比分。
3.2、复位电路
复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。上电复位设利用电容充电来实现的,即上电瞬间RST/Vpd端的电位与Vcc相同,随着充电电流的减少,RST/Vpd的电位下降,最后被嵌位在0V。按钮电平复位是当按下按钮后,电源Vcc通过电阻R施加在单片机复位端RST/Vpd上,实现单片机复位。本设计采用的是上电+按钮电平复位电路,是上电自动复位与按钮电平复位电路的组合,当振荡频率选11.0592MH时。电容C取10uF,R取10K,Rs取1K。
本设计采用的是数码管动态显示。
3.5、定时报警电路
定式报警电路
4、软件设计
4.1、程序流程图
篮球比赛中,得分可分为1分、2分、3分三种情况,但为了方便我们在这只设置加1分,得2分、3分的情况可用按2次、3次加1分得到。还设置了定是报警键。根据这样的设计要求,结合数码管的显示以及52单片机中计数器的工作实现方式、接口应用、中断控制等可设计出程序流程图如下:单机课程设计报告书课题名称
单片机课程设计篮球比赛计分牌的设计
西安文理学院机械与材料工程学院课程设计报告专业班级课程单片机课程设计题目单片机课程设计篮球比赛计分牌的设计学号学生姓名指导教师2016年11月西安文理学院机械与材料工程学院课程设计任务书学生姓名 专业班级 学 号指导教师 职 称 讲师 教研室课 程 单片机课程设计 题目篮球比赛计分牌的设计 任务与要求设计任务:以AT89S51单片机为核心,设计一个篮球比赛计分牌。
裁判控制开始、暂停、清除和两队的加分按键。
比赛每节10分钟,允许暂停,且使用不同LED 表示比赛状态。
比赛开始,按下可开始按键,绿色LED 亮,进入10分钟倒计时。
比赛期间,若暂停键按下,倒计时暂停,黄色LED 亮;当再次按下暂停按键,比赛继续进行。
当倒计时为0,比赛结束,红色LED 亮,蜂鸣器响5秒。
比赛期间,裁判可通过加分按键分别给A 队或B 队加分,每按下一次加2分。
当清除按键按下,时间与分数全部清零。
设计要求:1.完成系统的硬件电路设计与软件设计;2.采用C51语言编程;3.采用Proteus 、Keil C 等软件实现系统的仿真调试;4.设计报告要求思路清晰,结构合理,语言流畅,书写格式符合要求。
开始日期 2016.11.7 完成日期 2016.11.222016年11月3日A 队成绩倒计时开始加分加分暂停暂停B 队成绩摘要单片机,亦称单片微电脑或单片微型计算机。
它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。
本设计是基于AT89S51单片机的篮球计时计分器,利用7段共阴LED 作为显示器件。
在此设计中共接入了3个两位一体7段共阴LED显示器,一个用来记录赛程时间,其中2位用于显示A队成绩,2位用于显示B 队成绩,每队2个LED显示器显示范围可达到0~99分。
赛程计时采用倒计时方式,比赛开始时启动计时,直至计时到零为止。
【篮球记分牌】篮球记分牌课程设计实验报告
【篮球记分牌】篮球记分牌课程设计实验报告xx学校电子技术课程设计报告题目学院自动化与电气工程学院专业班级学号学生姓名指导教师完成日期201X年xx月xx日篮球记分牌摘要围绕设计要求对篮球记分牌进行设计。
首先根据功能要求提出单片机STC89S52RC为控制核心的设计方案;其次进行硬件系统和软件系统的设计,并且根据本次设计所用的V3.72开发板原理图进行设计,然后根据所设计的电路图级程序用Proteus和Keil进行了仿真,验证了设计方案的正确性,最后,把程序烧进开发板中来完成篮球记分牌的硬件电路。
调试和测试结果表明基本上都能满足此次课程设计的要求。
本次课程设计,有效加深和巩固了单片机的基础知识,提高了我们的实际动手能力,具有及其深远的意义。
关键词:单片机独立按键蜂鸣器at24c02数码管一、设计要求1.比赛开始,比分能够全部清零,数码管前2位,末二位做记分用,当中2位做24秒倒计时用。
2.24秒倒计时时间到,蜂鸣器响、指示灯亮,重新开始倒计时(按下开始键),蜂鸣器停止鸣叫、指示灯灭。
3.比分进行增加后,倒计时从24秒重新开始倒计时。
任意时刻24秒可以重新开始倒计时。
必要时候能够关闭倒计时。
4.利用AT24C02或者单片机内部资源保存比分,支持复位保存,掉电保存功能。
二、系统设计及仿真2.1、系统总体设计图2-1系统结构图思想汇报专题本系统采用单片机STC89S52RC为控制核心,系统主要包括显示模块、按键控制模块、蜂鸣器报警模块等。
下面对各模块的设计进行论证。
1)显示模块单片机系统中,往往需要多位显示。
动态显示是一种最常见的多位显示方法,应用非常广泛。
所有数码管段选都连接在一起的时候,怎么让数码管显示不一样的数字呢?动态显示是多个数码管,交替显示,利用人的视觉暂停作用使人看到多个数码管同时显示的效果。
首先我们来看一下显示模块电路原理图:图2-274ls138结构图图2-3数码管段选图本实验使用的是,通过P22、P23、P24控制3-8译码器来对数码管进行位选,通过P0口经过573的驱动控制数码管的段选2)按键控制模块方案一:采用矩阵键盘。
单片机课程设计—篮球赛电子计时记分牌
电子技术课程设计报告篮球赛电子计时记分牌学院:机电年级专业:电信学号:*名:**指导教师:侯** 卢**完成时间:2011-7-10成绩:中国陕西杨凌摘要篮球赛电子计时记分牌是根据篮球比赛特点设计的独立的信息采集、分配、评判和显示的系统,能实现比赛时间和分数的实时、准确、快捷处理和呈现。
本设计原理简单,主要采用AT89C52单片机作为微控制器,集合矩阵键盘、数码管和LED指示灯,通过键盘控制记分牌的工作状态,通过数码管和LED指示灯来反馈信息。
本设计在充分考虑了篮球比赛的实际情况基础上设计,具有友好的人机交互接口,并且可以防止人为误操作造成的不良后果,具有一定的实用性。
关键字:单片机;AT89C52;计时记分牌;篮球比赛目录1 设计任务 (1)1.1 设计的目的和意义 (1)1.2 设计任务与要求 (1)2 硬件系统设计 (1)2.1 总体方案设计 (1)2.2 芯片选型与具体电路设计 (2)2.2.1 单片机的选型 (2)2.2.2 复位和振荡电路的设计 (2)2.2.3 键盘输入模块的设计 (3)2.2.4 信息提示模块的设计 (3)2.3 系统总体电路 (4)2.4 系统所用元器件 (6)3 软件系统设计 (6)3.1 软件系统总体设计方案 (6)3.2 软件系统流程图 (7)3.2.1 主程序流程图 (9)3.2.2 按键检测子程序设计 (10)3.2.3 数码管显示子程序设计 (10)4 系统调试 (12)5 总结 (13)5.1 经验总结 (13)5.2 心得体会 (14)参考文献 (14)附录:篮球赛电子计时记分牌单片机程序代码 (15)1 设计任务1.1 设计的目的和意义目前球场记分牌在传统操作模式下,采用记分员手动翻动记分牌记分,工作方式单一。
由于种种弊端,电子记分板已经开始在一些大型的体育场流行起来,不仅发展速度迅猛并会逐渐取代传统的电子记分牌。
电子记分板根据篮球比赛的特点,采用单片机为核心控制LED 数码管,具有亮度高、可视性好、功耗小、使用寿命长等优点;具有性能稳定,尺寸适中,运输安装方式灵活,物美价廉等特点,特别适用于中、小型体育馆和训练馆。
单片机实现篮球记分牌的设计
单片机实现篮球记分牌的设计目录摘要 (2)第1章引言1.1 单片机的特点及发展概况 (3)1.2 单片机的基本组成 (3)1.3 单片机的特点 (3)1.4 单片机的应用 (3)1.5 单片机的发展概况 (4)1.6单片机在篮球记分牌中的应用 (4)第2章篮球记分牌硬件设计2.1 设计题目分析 (5)2.2 系统硬件设计 (5)2.3 硬件设计电路图 (13)第3章篮球记分牌系统软件设计3.1 软件设计思路及程序流程图 (15)3.2 程序清单 (26)第4章毕业设计小结计心得及改进 (41)致谢 (42)参考文献 (43)摘要:单片机是把主要计算机功能部件都集成在一块芯片上的微型计算机。
它是一种集计数和多接口于一体的微控制器,被广泛应用在智能产品和工业自动化上,而51单片机是个单片机中最为典型和最有代表性的一种本次毕业设计的主要任务是设计一个篮球比赛记分牌,包括硬件设计和软件设计。
硬件设计的主要任务是:LED数码管显示、按键控制系统设计以及辅助功能的设计。
软件设计包括:功能选择、倒计时的实现。
本文主要介绍了单片机实现篮球记分牌的整个设计流程,采用汇编语言编写程序。
本课题选择AT89C51为核心控制元件,设计了日常比赛中用到的篮球记分牌。
设计同时引用MAX7219专用LED驱动芯片,解决了多位LED数码管同时显示的问题,硬件结构紧凑,成本低。
该单片机篮球记分牌可适应不同篮球规则,通过按键修改每个设置。
运行可靠,具有一定的使用价值和竞争价值。
关键词: AT89C51单片机、LED数码管、MAX7219、汇编、篮球记分牌第一章引言1.1单片机的特点及发展概况单片机是一个单芯片形态,面向控制对象的嵌入式应用计算机系统.它的出现及发展使计算机技术从通用型数值计算领域进入到智能化的控制领域.从此,计算机技术在两个重要领域——通用计算机领域和嵌入式计算机领域都得到了极其重要的发展,并正在深深地改变着我们的社会。
单片机课程设计篮球比赛计分牌的设计
西安文理学院机械与材料工程学院课程设计报告专业班级课程单片机课程设计题目单片机课程设计篮球比赛计分牌的设计学号学生姓名指导教师2016年11月西安文理学院机械与材料工程学院课程设计任务书学生姓名 专业班级 学 号指导教师 职 称 讲师 教研室课 程 单片机课程设计 题目篮球比赛计分牌的设计 任务与要求设计任务:以AT89S51单片机为核心,设计一个篮球比赛计分牌。
裁判控制开始、暂停、清除和两队的加分按键。
比赛每节10分钟,允许暂停,且使用不同LED 表示比赛状态。
比赛开始,按下可开始按键,绿色LED 亮,进入10分钟倒计时。
比赛期间,若暂停键按下,倒计时暂停,黄色LED 亮;当再次按下暂停按键,比赛继续进行。
当倒计时为0,比赛结束,红色LED 亮,蜂鸣器响5秒。
比赛期间,裁判可通过加分按键分别给A 队或B 队加分,每按下一次加2分。
当清除按键按下,时间与分数全部清零。
设计要求:1.完成系统的硬件电路设计与软件设计;2.采用C51语言编程;3.采用Proteus 、Keil C 等软件实现系统的仿真调试;4.设计报告要求思路清晰,结构合理,语言流畅,书写格式符合要求。
开始日期 2016.11.7 完成日期 2016.11.222016年11月3日A 队成绩倒计时开始加分加分暂停暂停B 队成绩摘要单片机,亦称单片微电脑或单片微型计算机。
它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。
本设计是基于AT89S51单片机的篮球计时计分器,利用7段共阴LED 作为显示器件。
在此设计中共接入了3个两位一体7段共阴LED显示器,一个用来记录赛程时间,其中2位用于显示A队成绩,2位用于显示B 队成绩,每队2个LED显示器显示范围可达到0~99分。
赛程计时采用倒计时方式,比赛开始时启动计时,直至计时到零为止。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机课程设计报告题目篮球记分牌学院自动化与电气工程学院专业自动化班级自动化103学号学生姓名指导教师完成日期2012年12月15日篮球记分牌一.设计要求:1、比赛开始,比分能够全部清零,数码管前2位、末2位做记分用,当中2位做24秒倒计时用。
2、24秒倒计时时间到,蜂鸣器响、指示灯亮,重新开始倒计时,蜂鸣器停止鸣叫、指示灯灭。
3、比分进行增加后,倒计时从24秒重新开始倒计时。
任意时刻24秒可以重新开始倒计时。
必要时候能够关闭倒计时。
4、利用AT24C02或者单片机内部资源保存比分,支持复位保存,掉电保存功能。
5、其他附加功能。
二.原理图:三.实验流程图:四.实验程序:Main.c文件:/****************************************************************************** ***************函数名:篮球记分牌说明:比赛开始,比分能够全部清零,数码管前2位、末2位做记分用,当中2位做24秒倒计时用。
24秒倒计时时间到,蜂鸣器响、指示灯亮,重新开始倒计时,蜂鸣器停止鸣叫、指示灯灭。
比分进行增加后,倒计时从24秒重新开始倒计时。
任意时刻24秒可以重新开始倒计时。
必要时候能够关闭倒计时。
作者:完成日期:2012.12.2/****************************************************************************** ****************/#include<stc12c5a60s2.h>#include <intrins.h>#include"eeprom.h"#define uchar unsigned char#define uint unsigned int/***********端口定义*************//*数码管段选用P0口,位选用P2口*//******指示灯******/sbit LED=P3^4;/********蜂鸣器*********/sbit FMQ=P3^5;/******数组定义*******/uchar codetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x07f,0x6f};//0,1,2,3,4,5,6,7, 8,9uchar password[6]; //掉电保存6位数组/***********变量定义*************/uchar fen1; //甲队初始得分uchar fen2; //乙队初始得分uchar fen3; //甲乙两队上下半场换分uchar SJ; //时间变量值uchar cxjs=1; //重新计时标志位uchar key; //矩阵键盘按键值uchar temp; //矩阵键盘P1口寄存变量uchar time; //中断计数器/***********************************************************函数名称:delay函数功能:基本延时程序入口参数:无出口参数:无备注:无***********************************************************/void delay(uchar x){ uchar j;while((x--)!=0){ for(j=0;j<125;j++){;}}}/*********************************************************** 函数名称:display函数功能:数码管显示程序入口参数:fen1,fen2,SJ出口参数:无备注:无***********************************************************/ void display(void){uchar m;for(m=6;m>0;m--){delay(2);if(m==6){P2 = 0XFE;P0 = table[fen1/10];}if(m==5){P2 = 0XFD;P0 = table[fen1%10];}if(m==4){P2 = 0XFB;P0 = table[SJ/10];}if(m==3){P2 = 0XF7;P0 = table[SJ%10];}if(m==2){P2 = 0XEF;P0 = table[fen2/10];}if(m==1){P2 = 0XDF;P0 = table[fen2%10];}}}/*********************************************************** 函数名称:keyscan函数功能:4X4矩阵键盘扫描程序入口参数:无出口参数:无备注:读取的键值赋给了key***********************************************************/ 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;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){case(0xe7):key=12;break;case(0xd7):key=13;break;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 &= 0xf0; //定时器0工作方式1TMOD |= 0x01;}/*********************************************************** 函数名称:timer0函数功能:中断服务程序入口参数:无出口参数:无备注:此程序无调用***********************************************************/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字节编程程序***********************************************************/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内存储值入口参数:无出口参数:无备注:无***********************************************************/void getpassword(){uchar i;for(i=0;i<6;i++)password[i]=eeprom_read(i);}/***********************************************************函数名称:main函数功能:主程序入口参数:无出口参数:无备注:实现功能:通过按键开始/停止,暂停/继续计时和对甲乙两队的加分***********************************************************/void main(){LED=1;FMQ=1;P2=0xFF;P1=0xF0;SJ=24;fen1=0;fen2=0;key=16;/*定时器设置*/timer0init();ET0=1;TR0=1;while(1){display();keydown();if(key==0) //开始按键{EA=1;}if(key==1) //甲队加分按键{fen1=fen1+1;cxjs=0;}if(key==2) //乙队加分按键{fen2=fen2+1;cxjs=0;}if(key==3) //暂停计时{EA=0;}if(key==4) //停止按键{fen1=0;fen2=0;SJ=24;EA=0;FMQ=1;LED=1;}if(key==5) //上下半场换分{fen3=fen1;fen1=fen2;fen2=fen3;}if(cxjs==0) //重新计时{SJ=24;cxjs=1;}if(key==6) //保存当前值{setpassword();}if(key==7) //调用前次记录{getpassword();fen1=password[0]*10+password[1];SJ=password[2]*10+password[3];fen2=password[4]*10+password[5];EA=0;}key=16; //此处赋值key,否则key将一直保留按键后的值 }}Eeprom.c文件:#define eeprom#include"eeprom.h"//-------------------------------------------------------------------------------------------------------//EEPROM操作//------------------------------------------------------------------------------------------------------//定义Flash 操作等待时间及允许IAP/ISP/EEPROM 操作的常数//#define ENABLE_ISP 0x80 //系统工作时钟<30MHz 时,对IAP_CONTR 寄存器设置此值//#define ENABLE_ISP 0x81 //系统工作时钟<24MHz 时,对IAP_CONTR 寄存器设置此值#define ENABLE_ISP 0x82 //系统工作时钟<20MHz 时,对IAP_CONTR 寄存器设置此值//#define ENABLE_ISP 0x83 //系统工作时钟<12MHz 时,对IAP_CONTR 寄存器设置此值//#define ENABLE_ISP 0x84 //系统工作时钟<6MHz 时,对IAP_CONTR 寄存器设置此值//#define ENABLE_ISP 0x85 //系统工作时钟<3MHz 时,对IAP_CONTR 寄存器设置此值//#define ENABLE_ISP 0x86 //系统工作时钟<2MHz 时,对IAP_CONTR 寄存器设置此值//#define ENABLE_ISP 0x87 //系统工作时钟<1MHz 时,对IAP_CONTR 寄存器设置此值union union_temp16{unsigned int un_temp16;unsigned char un_temp8[2];}my_unTemp16;unsigned char eeprom_read(unsigned int add); //读一字节,调用前需打开IAP 功能void eeprom_write(unsigned int add, unsigned char ch); //字节编程,调用前需打开IAP 功能void eeprom_eares(unsigned int add); //擦除扇区void IAP_Disable(); //关闭IAP 功能void IAP_Disable(){//关闭IAP 功能, 清相关的特殊功能寄存器,使CPU 处于安全状态,//一次连续的IAP 操作完成之后建议关闭IAP 功能,不需要每次都关IAP_CONTR = 0; //关闭IAP 功能IAP_CMD = 0; //清命令寄存器,使命令寄存器无命令,此句可不用IAP_TRIG = 0; //清命令触发寄存器,使命令触发寄存器无触发,此句可不用IAP_ADDRH = 0;IAP_ADDRL = 0;}//读一字节,调用前需打开IAP 功能,入口:DPTR = 字节地址,返回:A = 读出字节unsigned char eeprom_read(unsigned int add){IAP_DATA = 0x00;IAP_CONTR = ENABLE_ISP; //打开IAP 功能, 设置Flash 操作等待时间IAP_CMD = 0x01; //IAP/ISP/EEPROM 字节读命令my_unTemp16.un_temp16 = add;IAP_ADDRH = my_unTemp16.un_temp8[0]; //设置目标单元地址的高8 位地址IAP_ADDRL = my_unTemp16.un_temp8[1]; //设置目标单元地址的低8 位地址//EA = 0;IAP_TRIG = 0x5A; //先送 5Ah,再送A5h 到ISP/IAP 触发寄存器,每次都需如此IAP_TRIG = 0xA5; //送完A5h 后,ISP/IAP 命令立即被触发起动_nop_();//EA = 1;IAP_Disable(); //关闭IAP 功能, 清相关的特殊功能寄存器,使CPU 处于安全状态, //一次连续的IAP 操作完成之后建议关闭IAP 功能,不需要每次都关return (IAP_DATA);}//字节编程,调用前需打开IAP 功能,入口:DPTR = 字节地址, A= 须编程字节的数据void eeprom_write(unsigned int add, unsigned char ch){IAP_CONTR = ENABLE_ISP; //打开 IAP 功能, 设置Flash 操作等待时间IAP_CMD = 0x02; //IAP/ISP/EEPROM 字节编程命令my_unTemp16.un_temp16 = add;IAP_ADDRH = my_unTemp16.un_temp8[0]; //设置目标单元地址的高8 位地址IAP_ADDRL = my_unTemp16.un_temp8[1]; //设置目标单元地址的低8 位地址IAP_DATA = ch; //要编程的数据先送进IAP_DATA 寄存器//EA = 0;IAP_TRIG = 0x5A; //先送 5Ah,再送A5h 到ISP/IAP 触发寄存器,每次都需如此IAP_TRIG = 0xA5; //送完A5h 后,ISP/IAP 命令立即被触发起动_nop_();//EA = 1;IAP_Disable(); //关闭IAP 功能, 清相关的特殊功能寄存器,使CPU 处于安全状态, //一次连续的IAP 操作完成之后建议关闭IAP 功能,不需要每次都关}//擦除扇区, 入口:DPTR = 扇区地址void eeprom_eares(unsigned int add){IAP_CONTR = ENABLE_ISP; //打开IAP 功能, 设置Flash 操作等待时间IAP_CMD = 0x03; //IAP/ISP/EEPROM 扇区擦除命令my_unTemp16.un_temp16 = add;IAP_ADDRH = my_unTemp16.un_temp8[0]; //设置目标单元地址的高8 位地址IAP_ADDRL = my_unTemp16.un_temp8[1]; //设置目标单元地址的低8 位地址//EA = 0;IAP_TRIG = 0x5A; //先送 5Ah,再送A5h 到ISP/IAP 触发寄存器,每次都需如此IAP_TRIG = 0xA5; //送完A5h 后,ISP/IAP 命令立即被触发起动_nop_();//EA = 1;IAP_Disable(); //关闭IAP 功能, 清相关的特殊功能寄存器,使CPU 处于安全状态, //一次连续的IAP 操作完成之后建议关闭IAP 功能,不需要每次都关}//-------------------------------------------------------------------------------------------------------Eeprom.h文件:#ifndef _eeprom_h_#define _eeprom_h_#ifdef eeprom#include<stc12c5a60s2.h>#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); //擦除扇区#endif五.实验仿真:六.实验实物图:七.实验总结:通过这次单片机课程设计,我学到了很多东西。