×
单片机 > 单片机程序设计 > 详情

超简单的篮球计数器

发布时间:2020-08-25 发布时间:
|

制作出来的篮球计数器实物图如下:

Altium Designer画的原理图和PCB图如下:


仿真原理图如下

单片机源程序如下:

#include

#include

#define uchar unsigned char

#define uint unsigned int

#define out P0

sbit RS=P2^0;

sbit RW=P2^1;

sbit E=P2^2;

void lcd_initial(void);

void check_busy(void);

void write_command(uchar com);

void write_data(uchar dat);

void string(uchar ad ,uchar *s);

void delay(uint);

uchar i;

void main(void)

{

  lcd_initial();

  while(1)

  {

        write_command(0x06);

    string(0x82,"Name:HONG JIE");

        write_command(0x04);

        string(0xce,"987654321:QQ");


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

       {     

              write_command(0x1c);

              delay(50);

       }



        }

}

void delay(uint j)

{

  uchar i=250;

  for(;j>0;j--)

  {

    while(--i);

        i=249;

        while(--i);

        i=250;

        }

}

void check_busy(void)

{

  uchar dt;

  do

  {

    dt=0xff;

        E=0;

        RS=0;

        RW=1;

        E=1;

        dt=out;

        }while(dt&0x80);

        E=0;

}

void write_command(uchar com)

{

  check_busy();

  E=0;

  RS=0;

  RW=0;

  out=com;

  E=1;

  _nop_();

  E=0;

  delay(1);

}

void write_data(uchar dat)

{

  check_busy();

  E=0;

  RS=1;

  RW=0;

  out=dat;

  E=1;

  _nop_();

  E=0;

  delay(1);

}

void lcd_initial(void)

{

  write_command(0x38);

  write_command(0x0c);

  write_command(0x06);

  write_command(0x01);

  delay(1);

}

void string(uchar ad,uchar *s)

{

  write_command(ad);

  while(*s>0)

  {

    write_data(*s++);

        delay(100);

        }

}


关键字:篮球计数器  51 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
Keil(MDK-ARM)系列教程(七)_菜单