篮球赛场计时计分器的51单片机课程设计报告_第1页
篮球赛场计时计分器的51单片机课程设计报告_第2页
篮球赛场计时计分器的51单片机课程设计报告_第3页
篮球赛场计时计分器的51单片机课程设计报告_第4页
篮球赛场计时计分器的51单片机课程设计报告_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

篮球赛场计时计分器,班级:学号:姓名:,设计背景,篮球比赛是根据篮球运动员在规定时间里得分多少来决定胜负的。,设计要求,设计制作一个篮球赛场计时计分牌,功能如下:具有计分分功能(+1、+2、+3、-1分),并在LCD1602上显示双方比分。具有计时功能,每节总时间倒计时,24S倒计时,倒计时结束蜂鸣器报警。具有暂停、24秒复位、24秒结束自动暂停、系统复位等功能。,系统方案设计,硬件设备,单片机AT89C51简介:在一块芯片中集成了CPU、RAM、ROM、定时/计数器和多功能I/O口等计算机所需要的基本部件的大规模集成电路,又称MCU。其以体积小、功能全、性价比等诸多优点而独具特色,在工业控制、尖端武器、通信设备、家用电器等嵌入式应用领域中独占鳌头。如果说C语言程序设计课程设计的基础课,那么单片机以其系统硬件构架完整、价格低廉、学生能动手等特点,成为工科学生硬件设计基础课。,AT89C51管脚说明,VCC:供电电压 GND:接地 P0口:P0口作为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1缓冲器能接收输出4TTL门电流。 P2口:P2口为一个内部上拉电阻的8为双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。 P3口:P3口管脚是8个带内部上拉斯电阻的双向I/O口,可接收输出4个TTL门电流。P3口也可作为AT89C51的一些特殊功能,LCD1602介绍,本设计采用LCD1602实现显示功能, 1602是16字符*2行的字符型LCD显示器,它由32个字符点阵块组成,每个字符点阵块由57或510个点阵组成,可以显示ASCII码表中的所有可视的字符。它内置了字符产生器ROM(CGROM)、字符产生器RAM(CGRAM)和显示数据RAM(DDRAM)。1602液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。,系统电路原理图(仿真图),Protel设计电路,PCB电路板制作,项目分析,本次项目的设计首先需要我们了解C中各种语句的使用方法,单片机定时器的结构及定时器的工作方式、初始值设置、1602的使用等基本技能,其次我们必须分配好硬件资源,不要太浪费。,程序流程图,函数声明,#include #include #define uchar unsigned char#define uint unsigned int #define Lcd_Port P0 #define KEY_IO P1 sbit RS=P20; sbit RW=P21;sbit E=P22;sbit Busy=P07;sbit speaker=P27;uchar data keytemp,key;uchar c=0;uint b=0;uchar j=0;uchar e=1;uchar d=0;uchar er=240;uchar min=12;uchar sec=0; uchar data flag=0x00;bit flag_key=0; uchar code Lcddata=0123456789:.;void Delay(int t)uchar a;while(t-) for(a=0;a120;a+);,延时函数,主函数,void main(void)Init_LCD(); Timer0Init(); Write_Comm(0x80); Write_Data(L);Write_Data(B);Write_Data(J); Write_Data(:); Write_Comm(0x80+0x4e); Write_Data(S); Write_Data(T); Write_Comm(0x80+0x40);Write_Data(K);Write_Data(O); Write_Data(B); Write_Data(:); while(1) Show_Time(); keyscan();,void Show_Time(void)Write_Comm(0x80+0x48); Write_Char(er/100);Write_Char(er/10%10);Write_Char(11);Write_Char(er%10);Write_Comm(0x80+0x4d);Write_Char(e%10); Write_Comm(0x80+0x0a);Write_Char(min/10); /显示倒计时分钟Write_Char(min%10);Write_Char(10); /显示:Write_Char(sec/10); /显示倒计时秒Write_Char(sec%10);Write_Comm(0x80+0x44);Write_Char(d/100);Write_Char(d/10%10);Write_Char(d%10%10);Write_Comm(0x84);Write_Char(c/100);Write_Char(c/10%10);Write_Char(c%10%10); ,显示函数,void Write_Char(uint num) Read_Busy();RS=1;RW=0;E=1;Lcd_Port = Lcddatanum;E=0;void Write_Data(uchar lcddata) Read_Busy(); RS=1;RW=0;E=1; Lcd_Port = lcddata; E=0;void Init_LCD(void) Delay(400);Write_Comm(0x38)Write_Comm(0x0c); Write_Comm(0x01); Write_Comm(0x06); Write_Comm(0x02);,void Read_Busy(void) uchar i=50;Lcd_Port=0xff;RS=0;RW=1;E=1;while(i-),LCD1602控制函数,按键扫描函数,void keyscan()uchar i,t=0xef; KEY_IO=0x0f;keytemp=(KEY_IO),switch(keytemp)case 0x08:key=0*3+i;break;case 0x04:key=1*3+i;break;case 0x02:key=2*3+i;break;default:break; switch(key) case 0:d+;j=1;b=0;break; case 1:d+;d+;j=1;b=0;break; case 2:d+;d+;d+;j=1;b=0;break; case 3:c+;b=1;j=0;break; case 4:c+;c+;b=1;j=0;break; case 5:c+;c+;c+;b=1;j=0;break; case 6:if(j=1,中断0函数,TR0=0;TR1=0; speaker=0; Delay(1500); speaker=1;e+;min=12; sec=0;er=240; else sec=60; min-; sec-;,void IsrTimer0() interrupt 1 using 1 /T0 50mS中断程序 static uchar count=0;TH0=0x3c;TL0=0xb0;count+;if(count=20) count=0; if(sec=0) if(min=0) ,中断1函数,void IsrTimer1(void) interrupt 3 using 3/T1 50mS中断程序static uchar t24ms=0; TH1=0x3c;TL1=0xb0;t24ms+;if(t24ms=2) t24ms=0; er-; if(er=0) TR1=0; TR

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论