单片机技术课程设计方案报告文件足球计分器_第1页
单片机技术课程设计方案报告文件足球计分器_第2页
单片机技术课程设计方案报告文件足球计分器_第3页
单片机技术课程设计方案报告文件足球计分器_第4页
单片机技术课程设计方案报告文件足球计分器_第5页
已阅读5页,还剩13页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

课设报告课设报告福建工程学院软件学院题目:计分器班级:姓名:学号:指导老师:日期:年月日目录TOC\o”1-3”\t”"\h\z\u1摘要 3HYPERLINK\l”_Toc374882824"2

设计要求 32。1

功能需求 32.2

设计要求 3HYPERLINK\l”_Toc374882827"3

硬件设计及描述 3HYPERLINK\l”_Toc374882828"3.1

总体描述 3HYPERLINK\l”_Toc374882829”3。2

系统总体框图 4HYPERLINK\l”_Toc374882830"3.3

Proteus电路图 43。41输入模块 53。42输出模块 5_Toc374882836"4。2

函数模块及功能 74。2。1单片机主控制模块 75

功能实现 9液晶显示 9HYPERLINK\l”_Toc374882841"6

心得体会 11#include"stdio.h”unsignedintc=0;unsignedintmm=45;//分unsignedintss=0;//秒unsignedchari=50;sbitRS=P2^0;sbitRW=P2^1;sbitE=P2^2;sbitBF=P0^7;sbitP1_0=P1^0;sbitP3_1=P3^1;sbitP3_2=P3^2;sbitP1_3=P1^3;sbitP1_4=P1^4;charidatabuf1[]="DATE2013—12-12THU”;charidatabuf2[]=”HalfTime45:00";charidatabuf3[]=”Sec_Time45:00";charidatabuf4[]=”TeamAVSB";charidatabuf5[]=”score000:”;unsignedinta=0;unsignedintb=0;/*******************************************************************函数功能:延迟1ms*******************************************************************/voiddelay1ms(){unsignedchari,j;for(i=0;i<10;i++)for(j=0;j〈33;j++);}/*******************************************************************函数功能:延迟1ms*******************************************************************/voiddelayms(unsignedcharn){unsignedchari; for(i=0;i〈n;i++) delay1ms();}/*********************************************************************名称:bitBusyTest()*功能:液晶写指令*输入:无*输出:1(忙)或0(不忙)***********************************************************************/bitBusyTest(){bitresult;RS=0;RW=1;E=1;_nop_();_nop_();_nop_();_nop_();result=BF;E=0;returnresult;}/*********************************************************************名称:WriteInstruction(unsignedchardate)*功能:液晶写指令*输入:指令值*输出:无***********************************************************************/voidWriteInstruction(unsignedchardate){while(BusyTest()==1); RS=0; RW=0; E=0; _nop_(); _nop_(); P0=date;_nop_(); _nop_(); _nop_(); _nop_(); E=1; _nop_(); _nop_(); _nop_(); _nop_(); E=0;}/*********************************************************************名称:WriteData(unsignedchardat)*功能:液晶写数据*输入:指令值*输出:无***********************************************************************/voidWriteData(unsignedchardat){while(BusyTest()==1);RS=1;RW=0;E=0;P0=dat;_nop_();_nop_();_nop_();_nop_();E=1;_nop_();_nop_();_nop_();_nop_();E=0;}/*********************************************************************名称:voidLcdInitiate()*功能:初始化液晶显示*输入:无*输出:无***********************************************************************/voidLcdInitiate(){delayms(15);WriteInstruction(0x38);delayms(5);WriteInstruction(0x38);delayms(5);WriteInstruction(0x38);delayms(5);WriteInstruction(0x0c);delayms(5);WriteInstruction(0x06);delayms(5);WriteInstruction(0x01);delayms(5);}/*********************************************************************名称:Lcd_ShowString(unsignedcharr,unsignedcharc,char*s)*功能:指定液晶显示数据*输入:r(第几行),c(第几列),s(数据)*输出:无***********************************************************************/voidLcd_ShowString(unsignedcharr,unsignedcharc,char*s){unsignedchari=0;codeunsignedcharDDRAM[]={0x80,0xc0,0x94,0xD4};WriteInstruction(DDRAM[r]|c);for(i=0;s[i]&&i〈20;i++)WriteData(s[i]);for(;i<20;i++)WriteData('');}/*********************************************************************名称:voidTime0Init()*功能:初始化液晶显示*输入:无*输出:无***********************************************************************/voidTime0Init(){EA=1;TMOD=0x01;ET0=1;TR0=0;EX0=1;IT0=1;TH0=(65536—20000)/256;TL0=(65536-20000)%256;}/*********************************************************************名称:voidTime0Init()*功能:初始化液晶显示*输入:无*输出:无***********************************************************************/voidShowTime(){if((ss=(ss+59)%60)==59) if((mm=(mm+59)%60)==59) ;}voidLcd_Show(){ if(c==1){sprintf(buf2,”HalfTime%d%d:%d%d”,mm/10,mm%10,ss/10,ss%10);Lcd_ShowString(1,0,buf2);} if(c==2){sprintf(buf3,"Sec_Time%d%d:%d%d”,mm/10,mm%10,ss/10,ss%10);Lcd_ShowString(1,0,buf3);} delayms(170);sprintf(buf5,"score00%d:”,a%10);Lcd_ShowString(3,0,buf5); sprintf(buf5,”00%d”,b%10);Lcd_ShowString(3,14,buf5); }/*********************************************************************名称:Main()*功能:主函数*输入:无*输出:无***********************************************************************/voidmain(){LcdInitiate();Time0Init();Lcd_ShowString(0,0,buf1);Lcd_ShowString(2,0,buf4);while(1){Lcd_Show();if(P1_0==0) { delayms(2); if(P1_0 ==0) {while(!P1_0);c=1;mm=45;ss=0;} }if(P3_1==0) { delayms(2); if(P3_1==0) {while(!P3_1);c=2;mm=45;ss=0;} } if(P1_3==0){ delayms(2); if(P1_3==0) { while(!P1_3); a++; } }if(P1_4==0){ delayms(2); if(P1_4==0) { while(!P1_4); b++; } } }} voidExt

温馨提示

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

评论

0/150

提交评论