篮球比赛计时器24S倒时.docx

上传人:b****3 文档编号:3528787 上传时间:2022-11-23 格式:DOCX 页数:14 大小:66.29KB
下载 相关 举报
篮球比赛计时器24S倒时.docx_第1页
第1页 / 共14页
篮球比赛计时器24S倒时.docx_第2页
第2页 / 共14页
篮球比赛计时器24S倒时.docx_第3页
第3页 / 共14页
篮球比赛计时器24S倒时.docx_第4页
第4页 / 共14页
篮球比赛计时器24S倒时.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

篮球比赛计时器24S倒时.docx

《篮球比赛计时器24S倒时.docx》由会员分享,可在线阅读,更多相关《篮球比赛计时器24S倒时.docx(14页珍藏版)》请在冰豆网上搜索。

篮球比赛计时器24S倒时.docx

篮球比赛计时器24S倒时

proteus原理图:

字模取模方式:

源程序:

#include

#defineucharunsignedchar

#defineuintunsignedint

#defineportP0//DB0~DB7数据口

sbite=P2^6;//使能

sbitrw=P2^5;//读写

sbitrs=P2^4;//数据/命令

sbitcs2=P2^2;//片选

sbitcs1=P2^1;

sbitbusy=P0^7;//检测忙

sbitb1=P1^0;

sbitb2=P1^1;

sbitb3=P1^4;

ucharfuhao;

uchari;

uchark1=0;

uchark2=0;

ucharj1=0;

ucharj2=0;

uchark3=9;

uchark4=3;

uchark5=2;

ucharcount,hour,minute,second;

uchartime[6];

ucharcodehz[][32]={

/*--文字:

湖--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x10,0x21,0x86,0x60,0x90,0x90,0xFF,0x90,0x90,0x00,0xFE,0x92,0x92,0xFE,0x00,0x00,

0x04,0xFC,0x03,0x00,0x1F,0x10,0x10,0x90,0x5F,0x30,0x0F,0x40,0x80,0x7F,0x00,0x00,

/*--文字:

人--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x3F,0xC2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x40,0x20,0x10,0x0C,0x03,0x00,0x00,0x01,0x06,0x0C,0x18,0x30,0x60,0x20,0x00,

/*--文字:

--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x36,0x36,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

/*--文字:

热--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x44,0xC4,0x44,0xFF,0x24,0x04,0x14,0xA4,0x7F,0xC4,0x84,0x7C,0x84,0x00,0x00,0x00,

0xC0,0x62,0x34,0x03,0x14,0x62,0x01,0x08,0x30,0x60,0x01,0x08,0x33,0x64,0x07,0x00,

/*--文字:

火--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0xFF,0x02,0x40,0x20,0x18,0x10,0x00,0x00,0x00,

0x00,0x80,0x41,0x20,0x10,0x0C,0x03,0x00,0x03,0x04,0x18,0x30,0x60,0x20,0x00,0x00,

/*--文字:

光--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x00,0x40,0x42,0x44,0x5C,0xC8,0x40,0x7F,0x40,0xC0,0x50,0x4E,0x44,0x60,0x40,0x00,

0x00,0x80,0x40,0x20,0x18,0x07,0x00,0x00,0x00,0x3F,0x40,0x40,0x40,0x40,0x78,0x00,

/*--文字:

一--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xC0,0x80,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

/*--文字:

张--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x02,0xF2,0x12,0x12,0x1E,0x00,0x80,0x80,0xFF,0xA0,0x90,0x88,0x86,0x84,0x80,0x00,

0x01,0x03,0x41,0x81,0x7F,0x00,0x00,0x40,0xFF,0x40,0x23,0x0C,0x10,0x60,0x20,0x00,

/*--文字:

三--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x00,0x04,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x04,0x00,0x00,

0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,

/*--文字:

三--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x00,0x04,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x04,0x00,0x00,

0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,

/*--文字:

三--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x00,0x04,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x04,0x00,0x00,

0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,

/*--文字:

一--*/

/*--宋体12;此字体下对应的点阵为:

宽x高=16x16--*/

0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xC0,0x80,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

ucharcodesz[][16]={

{0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00},

//"0",0

{0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00},

//"1",1

{0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00},

//"2",2

{0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00},

//"3",3

{0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00},

//"4",4

{0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00},

//"5",5

{0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00},

//"6",6

{0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00},

//"7",7

{0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00},

//"8",8

{0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00},

//"9",9

{0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00},

//":

",10

};

//延时子程序

voiddelay(uintn)

{

uinti;

for(;n>0;n--)

for(i=200;i>0;i--);

}

voiddelay1(uinti)

{while(i--);

}

//判断是否忙子程序

voidcheck()

{

rs=0;

rw=1;//读e=1;

port=0x00;

e=1;

while(busy);

e=0;

}

//写指令子程序

voidsendcommand(ucharcommand)

{

check();

rs=0;//指令

rw=0;//写e=0;

port=command;

e=1;//下降沿,启动发送指令

e=0;//写入指令

}

//写数据子程序

voidwritedata(uchardat)

{

check();

rs=1;//数据

rw=0;

port=dat;

e=1;//下降沿,启动写数据

e=0;

}

//选屏子程序

//选屏幕0——全屏,1——左屏,2——右屏;

voidselect(uintn)

{

switch(n)

{

case0:

cs1=0;cs2=0;break;//低电平选中

case1:

cs1=0;cs2=1;break;//cs1左屏

case2:

cs1=1;cs2=0;break;//cs2右屏

}

}

//设置显示页码子程序

voidsetpage(ucharpage)

{

page=page&0x07;//以下两句获取页地址

page=page|0xb8;

sendcommand(page);//将页地址进行发送

}

//设置列选择子程序

voidsetcolumn(ucharcolumn)

{

column=column&0x3f;//以下两句获取列地址

column=column|0x40;

sendcommand(column);//将列地址进行发送

}

//起始行

voidsetline(ucharline)

{

line=line&0x3f;//以下两句获取行地址

line=line|0xc0;

sendcommand(line);//将行地址进行发送

}

//屏幕开关显示0——关,1——开;

voidseton(uintn)

{

n=n|0x3e;

sendcommand(n);

}

//清屏0——全屏,1——左屏,2——右屏;

voidclear(uintn)

{

uchari,j;

select(n);

for(i=0;i<8;i++)

{

setpage(i);

setcolumn(0);

for(j=0;j<64;j++)

writedata(0);//置0清空

}

}

//初始化

voidinit()

{

check();

seton

(1);

clear(0);

setline(0);

}

//显示汉字16*16显示,设置汉字从第几页,第几行开始显示

voidshow16(ucharpage,ucharcolumn,ucharscreen,uchar*str)

{

uchari,j;

select(screen);

j=0;

setpage(page);

setcolumn(column);

for(i=0;i<16;i++)

writedata(str[j++]);

setpage(page+1);

setcolumn(column);

for(i=0;i<16;i++)

writedata(str[j++]);

}

//显示数字8*8显示

voidshow8(ucharpage,ucharcolumn,ucharscreen,uchar*str)

{

uchari,j;

select(screen);

j=0;

setpage(page);

setcolumn(column);

for(i=0;i<8;i++)

writedata(str[j++]);

setpage(page+1);

setcolumn(column);

for(i=0;i<8;i++)

writedata(str[j++]);

}

voidINC1()

{if(b1==0)

{delay(100);

k1++;

if(k1==10)

{k1=0;

k2++;

}

};

if(b3==0)

{delay(100);

j1++;

if(j1==10)

{j1=0;

j2++;

}

};

}

voidsubb()

{if(b2==0)

{delay

(1);

k3--;

if(k3==0)

{k3=9;

k4--;

k3--;

if(k4==0)

{k4=9;

k5--;

k4--;

k3--;

if(k5==0&&k4==0&&k3==0)

{k3=9;

k4=3;

k5=2;

}

}

}

}

elseif(b2==1)

{k3=9;

k4=3;

k5=2;

}

}

voidwelcome()

{//显示第一行

show16(0,0,1,hz[0]);

show16(0,16,1,hz[1]);

show16(0,48,1,hz[2]);

show16(0,0,2,hz[3]);

show16(0,16,2,hz[4]);

show16(6,0,1,hz[5]);

show16(6,16,1,hz[6]);

show16(6,48,1,hz[7]);

show16(6,0,2,hz[8]);

show16(6,16,2,hz[9]);

show16(6,32,2,hz[10]);

show16(6,48,2,hz[11]);

show8(2,0,1,sz[k2]);

show8(2,16,1,sz[k1]);

show8(2,0,2,sz[j2]);

show8(2,16,2,sz[j1]);

show8(4,0,1,sz[k5]);

show8(4,8,1,sz[k4]);

show8(4,16,1,sz[10]);

show8(4,24,1,sz[k3]);

}

//*******************************比赛时间显示控制部分***********************************//

//初始化程序

voidinite()

{

TMOD=0x01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

EA=1;

ET0=1;

TR0=1;

count=20;

second=59;

minute=11;

hour=00;

}

voidtimer()interrupt1//中断函数

{

TH0=(65536-50000)/256;//给T0赋初值

TL0=(65536-50000)%256;

count--;

if(count==00)//时间达到一秒钟

{

count=20;

second--;

if(second==00)

{

second=60;

minute--;

if(minute==00)

{

minute=12;

hour--;

if(hour==00)

{

hour=00;

}

}

}

}

}

voidshowtime(void)

{time[0]=hour/10;

time[1]=hour%10;

time[2]=minute/10;

time[3]=minute%10;

time[4]=second/10;

time[5]=second%10;

show8(4,0,2,sz[time[0]]);

show8(4,8,2,sz[time[1]]);

show8(4,16,2,sz[10]);

show8(4,24,2,sz[time[2]]);

show8(4,32,2,sz[time[3]]);

show8(4,40,2,sz[10]);

show8(4,48,2,sz[time[4]]);

show8(4,56,2,sz[time[5]]);

}

//***************主函数******************//

voidmain()

{

init();

inite();

delay(200);

//welcome();

while

(1)

{INC1();

subb();

welcome();

showtime();

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1