这是我以前做的51单片机篮球计分器设计,
花了一个星期时间,
附件里面包括源代码;PCB原理图,
和proteus的仿真文件以及课程设计的相关文档,
都是自己原创的,大家多多指教
制作出来的篮球计分器实物图如下:
电路原理图如下:
篮球计分器仿真原理图如下
Altium Designer画的篮球计分器原理图和PCB图如下:
单片机篮球计分器程序源码:
#include typedef unsigned char uchar; typedef unsigned int uint; sbit K1=P3^2;//比赛倒计时开始/暂停 sbit K2=P3^3;//24s倒计时重新开始 sbit P20=P2^0;//乙队+1按键 sbit P21=P2^1;//乙队+2按键 sbit P22=P2^2;//甲队+1按键 sbit P23=P2^3;//甲队+2按键 sbit P24=P2^4;//甲队+3按键 sbit P25=P2^5;//乙队+3按键 sbit P26=P2^6;//预留按键 sbit P27=P2^7; sbit beep=P3^6;//蜂鸣器接口 sbit RS=P1^0; sbit RW=P1^1; sbit E=P1^2; char second,minute,num,time,aa; uchar dd,bb,cc; uchar code table1[]={"H.T 000:000 T.H "}; uchar code table2[]={"12:00 SEC-1 24"}; //延时子函数 void delay(uint z) { uint x; uchar y; for(x=z;x>0;x--) for(y=110;y>0;y--); } //LCD1602液晶写指令子函数 void write_com(uchar com) { RW=0; RS=0; P0=com; delay(5); E=1; delay(5); E=0; } //LCD1602液晶写数据子函数 void write_date(uchar date) { RW=0; RS=1; P0=date; delay(5); E=1; delay(5); E=0; } //LCD1602液晶初始化子函数 void LCD1602_init() { uchar i; bb=0; //H.T分数初始化 cc=0; //T.H分数初始化 time=0; TMOD=0x10; //定时器1初始化 TL1=0x00; TH1=0x4c; EA=1; //开总中断 ET1=1; //开定时器1 TR1=0; //开中断0 EX1=1; //开中断1 IT0=1; //中断0为边沿触发 IT1=1; //中断1为边沿触发 E=0; beep=0; second=0; minute=12; num=1; aa=24; write_com(0x38); //LCD设置初始化 write_com(0x0c); write_com(0x06); write_com(0x01); write_com(0x80); //LCD显示初始化 for(i=0;i<16;i++) { write_date(table1[i]); } write_com(0x80+0x40); for(i=0;i<16;i++) { write_date(table2[i]); } } //分数更新子函数 void point_lcd(uchar add,uchar dat) { write_com(0x80+add); write_date(0x30+dat/100); write_date(0x30+(dat%100)/10); write_date(0x30+dat%10); write_com(0x80+add); } //按键扫描子函数 void keyscan() { P2=0xf0; if((P2&0xf0)!=0xf0) { delay(20); } if((P2&0xf0)!=0xf0) { P2=0xf7; if(P24==0) { while(P24==0); //P24按下H.T分数加1 bb++; point_lcd(0x04,bb); if(P24==0) { while(P24==0); delay(20); } } else if(P25==0) //P25按下H.T分数加2 { while(P25==0); bb=bb+2; point_lcd(0x04,bb); if(P25==0) { while(P25==0); delay(20); } } else if(P26==0) //P26按下H.T分数加3 { while(P26==0); bb=bb+3; point_lcd(0x04,bb); if(P26==0) { while(P26==0); delay(20); } else if(P27==0) //P27按下T.H分数加一 { while(P27==0); cc++; point_lcd(0x08,cc); if(P27==0) while(P27==0); delay(20); } } P2=0xfb; if(P24==0) //P24按下T.H分数加2 { while(P24==0); cc=cc+2; point_lcd(0x08,cc); if(P24==0) { while(P24==0); delay(20); } } else if(P25==0) //P25按下T.H分数加3
上一篇:基于51单片机的智能晾衣架设计
下一篇:单片机太阳能自动追光系统程序+电路+仿真
推荐阅读
史海拾趣
在电子行业日新月异的背景下,Flextronics(Flexxon Pte Ltd)始终将技术创新视为企业发展的核心动力。公司投入巨资于自动化生产线、智能制造系统和物联网技术的研发,实现了生产过程的智能化和数字化。这一举措不仅提升了生产效率,还使得Flextronics在定制化生产、快速响应市场变化方面具备了显著优势。随着5G、物联网等新兴技术的兴起,Flextronics更是积极拥抱变革,与多家科技公司合作,共同推动电子产品的创新与发展。
随着市场的扩大,Dynawave面临着产品质量管理的挑战。为了确保产品的稳定性和可靠性,公司决定引入国际先进的质量管理体系。他们聘请了专业的质量管理团队,对生产流程进行严格的监控和把控。同时,公司还加大了对员工的培训力度,提高了员工的质量意识。这些措施有效地提升了产品的质量水平,增强了客户的信任度。
ECM Electronics Limited.自创立之初,就注重技术创新。公司投入大量研发资金,专注于开发高效、节能的电子产品。通过不断的技术迭代和产品创新,ECM成功推出了一系列具有竞争力的产品,逐渐在市场上建立了良好的口碑。同时,公司还积极与高校和科研机构合作,引进先进技术,为公司的持续发展提供了强大的技术支撑。
随着技术实力的不断增强,Embedded Planet公司开始积极拓展国际市场。公司凭借先进的产品和优质的服务,成功打入欧洲和北美市场,与多家国际知名企业建立了长期稳定的合作关系。在国际市场的竞争中,Embedded Planet公司不断提升自身的品牌影响力和市场份额,成为嵌入式系统领域的佼佼者。
近年来,Festo在中国的发展步伐进一步加快。2021年4月,Festo济南全球生产中心正式全面投入运营。这个生产中心整合了本地的生产、研发、销售、物流等全价值链,形成了“研产销一体化”的格局。通过引进先进的生产设备和工艺,以及优化生产流程和管理体系,Festo济南全球生产中心在保障产品质量的同时,也大大提高了生产效率和响应速度。这一生产中心的建立不仅为Festo在中国市场的进一步发展提供了强有力的支持,也进一步巩固了Festo在全球气动自动化领域的领导地位。
以上五个故事从不同角度展示了Festo公司在电子行业中的发展历程和成就。作为一家以创新为驱动、以可持续发展为目标的公司,Festo将继续引领电子行业的发展方向,为全球客户提供更加优质的产品和服务。
随着业务的迅速增长,Astema意识到供应链管理的重要性。公司开始优化供应链管理流程,提高生产效率和产品质量。同时,Astema还与供应商建立了紧密的合作关系,确保原材料供应的稳定性和可靠性。这些举措使得Astema在激烈的市场竞争中保持了稳定的运营。
我查了一下,除了gpe.lib不存在外,其它的lib都有 还有下面红色部分太诡异了,先删除,然后又提示找不到~~~ Copying rdrvgradfill.* Deleting gpe.lib 找不到 C:\\WINCE500\\PBWorkspaces\\mini2440\\WINCE500\\mini2440_ARMV4I\\cesysgen\\oak ...… 查看全部问答∨ |
|
我现在需要编程需要一些数学函数 请问能直接用吗 谢谢! 如 sin cos tan ctag等? 能直接用吗? 如:y=sin(x);?? 可不可以这样直接用这些三角数学公式 … 查看全部问答∨ |
在网上有很多开源的软件项目,只要你有能力,或者说喜欢就可以加入那个团队,大家一起来设计的那种. 这样大家就可以在网上通过一个公共的项目共同学习,交流. 那么在硬件项目上,比如说,数字电路,模拟电路的设计啊,(PCB,DSP,等等各类东西)在网上有没 ...… 查看全部问答∨ |
刚注册,还没有分数可以给大家,抱歉; 我的问题比较多,集中在一起问;多谢大家; 1)STM32F的FLASH区域比较大,能否利用FALSH区域存用户数据;(数据量估计在64K左右); 2)如果可以,擦写操作和写操作的速度怎么样?是不是可以一次性擦除一大块区域;如 ...… 查看全部问答∨ |
|