标题:
简易单片机计分器代码
[打印本页]
作者:
进军AI
时间:
2019-5-12 20:19
标题:
简易单片机计分器代码
此为入门新手可完成的任务
单片机源程序如下:
#include<reg52.h>
#include<stdio.h>
#define uchar unsigned char
#define uint unsigned int
uchar table[]="00";
uchar table1[]="00";
sbit B1=P1^0;
sbit B2=P1^1;
sbit B3=P1^2;
sbit B4=P1^3;
sbit lcden=P2^2;
sbit lcdrw=P2^1;
sbit lcdrs=P2^0;
sbit dula=P2^6;
sbit wela=P2^7;
uchar num;
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void write_com(uchar com)
{
lcdrs=0;
P0=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void write_data(uchar datum)
{
lcdrs=1;
P0=datum;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void init()
{
dula=0;
wela=0;
lcden=0;
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
}
void main()
{
lcdrw=0;
init();
//00:00
write_com(0x80);
for(num=0;num<2;num++)
{
write_data(table[num]);
delay(10);
}
write_com(0x80+0x40);
for(num=0;num<2;num++)
{
write_data(table1[num]);
delay(10);
}
while(1)
{
//B1
if(B1==0)
{
table[1]=table[1]+1;
if(table[1]=='0'+10)
{
table[0]=table[0]+1;
table[1]='0';
}
write_com(0x80);
for(num=0;num<2;num++)
{
write_data(table[num]);
delay(150);
}
}
//B2
if(B2==0)
{
table[1]=table[1]-1;
if(table[1]=='0'-1)
{
table[0]=table[0]-1;
table[1]='9';
}
write_com(0x80);
for(num=0;num<2;num++)
{
write_data(table[num]);
delay(150);
}
}
//B3
if(B3==0)
{
table1[1]=table1[1]+1;
if(table1[1]=='0'+10)
{
table1[0]=table[0]+1;
table1[1]='0';
}
write_com(0x80+0x40);
for(num=0;num<2;num++)
{
write_data(table1[num]);
delay(150);
}
}
//B4
if(B4==0)
{
table1[1]=table1[1]-1;
if(table1[1]=='0'-1)
{
table1[0]=table[0]-1;
table1[1]='9';
}
write_com(0x80+0x40);
for(num=0;num<2;num++)
{
write_data(table[num]);
delay(150);
}
}
}
}
复制代码
所有资料51hei提供下载:
计分器.zip
(30.77 KB, 下载次数: 7)
2019-5-12 20:19 上传
点击文件名下载附件
附上完整代码
下载积分: 黑币 -5
作者:
admin
时间:
2019-5-12 22:32
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1