找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2230|回复: 0
打印 上一主题 下一主题
收起左侧

带时间调整lcd1602时钟

[复制链接]
跳转到指定楼层
楼主
ID:265343 发表于 2017-12-25 22:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
//液晶屏LCD1602端口定义
sbit RS=P2^4;
sbit RW=P2^5;
sbit E=P2^6;
uchar dis[8];
uchar hour=12,min=30,sec=0;
uchar t1_counter=0;
bit kp=0;
//延时函数
void delayms(uchar ms)
{
   uchar i;
   while(ms--)
   for(i=0;i<123;i++);
}
//写指令寄存器函数
void w_com(uchar com)
{
RS = 0;
RW = 0;
E = 1;
P0= com;
E = 0;
    delayms(1);
}
//写数据寄存器函数
void w_dat(uchar dat)
{
RS = 1;
RW = 0;
E = 1;
P0= dat;
E = 0;
     delayms(1);
}
//液晶驱动函数
void lcd_ini( void )
{
   delayms(10);
   w_com(0x38); //功能设置:8位口,2行,5*7点阵
   delayms(10);
   w_com(0x0c); //显示设置:开显示,关光标,无闪烁
   delayms(10);
   w_com(0x06); //输入模式:右移一格,地址加1
   delayms(10);
   w_com(0x01); //清显示
   delayms(10);
   w_com(0x38); //功能设置:8位口,2行,5*7点阵
   delayms(10);
}
//按键功能函数
void s1_fun(void)
{
  ++hour;
  if(hour==24)hour=0;
   }
void s2_fun(void)
{
  --hour;
  if(hour==255)hour=23;
    }
void s3_fun(void)
{
  ++min;
  if(min==60)min=0;
   }
void s4_fun(void)
{
  --min;
  if(min==255)min=59;
   }
//按键扫描函数
void key_scan(void)
{
if((P3&0x0f)!=0x0f)
{
  delayms(10);
  if(((P3&0x0f)!=0x0f)&&(kp==0))
  {
  kp=1;
  if((P3&0x0f)==0x0e)s1_fun();
  if((P3&0x0f)==0x0d)s2_fun();
  if((P3&0x0f)==0x0b)s3_fun();
  if((P3&0x0f)==0x07)s4_fun();
  }
}
else kp=0;
}
void main(void)
{
  uchar i;
  TMOD|=0x10;
  TH1=15536/256; TL1=15536%256;
  TR1=1; EA=1; ET1=1; lcd_ini();
  while(1)
    {
  key_scan();
     dis[0]=hour/10+0x30;
     dis[1]=hour%10+0x30;
  dis[2]=':';
  dis[3]=min/10+0x30;
  dis[4]=min%10+0x30;
  dis[5]=':';
  dis[6]=sec/10+0x30;
  dis[7]=sec%10+0x30;//显示数组各个元素赋值
   w_com(0x84);
   for(i=0;i<8;i++)
   w_dat(dis[i]);
   }
}

//T1中断函数
void t1_int(void) interrupt 3
{
  TH1=15536/256; TL1=15536%256;
  if(++t1_counter==20)
  {
    t1_counter=0;
if(++sec==60)
{
   sec=0;
   if(++min==60)
   {
     min=0;
  if(++hour==24)hour=0;
   }
}
  }
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表