久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2708|回復: 0
打印 上一主題 下一主題
收起左側

單片機+ds12887+lcd1602代碼與Proteus仿真圖

[復制鏈接]
跳轉到指定樓層
樓主
ID:591930 發(fā)表于 2021-3-19 19:12 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)

獨立按鍵調節(jié)時間,年,月,日,星期

單片機源程序如下:
#include<reg52.h>
#define ds12887 P0
#define lcd P1
sbit dsas=P2^4;
sbit dsrw=P2^5;
sbit dsds=P2^6;
sbit dscs=P2^7;
sbit lcdrs=P2^0;
sbit lcde=P2^2;
sbit k1=P3^5;
sbit k2=P3^6;
sbit k3=P3^7;
#define uchar unsigned char
#define uint unsigned int
uchar houir,min,sad,qi,year, month,day,kai,kai1,kai2,ting;
void delay(uint x)
{
uchar y,z;
for(y=x;y>0;y--)
  for(z=110;z>0;z--);
}
uchar ds_read(uchar x)
{
uchar y;
dscs=0;
dsrw=1;
dsas=1;
dsds=1;
ds12887=x;
dsas=0;
dsds=0;
ds12887=0xff;
y=ds12887;
dsds=1;
dsas=1;
dscs=1;
return y;
}
void ds_write(uchar x,y)
{
dscs=0;
dsrw=1;
dsas=1;
dsds=1;
ds12887=x;
dsas=0;
dsrw=0;
ds12887=y;
dsrw=1;
dsas=1;
dscs=1;
}
void lcd_mingling(uchar x)
{
lcdrs=0;
lcde=0;
lcd=x;
delay(5);
lcde=1;
delay(5);
lcde=0;
}
void lcd_shuju(uchar x)
{
lcdrs=1;
lcde=0;
lcd=x;
delay(5);
lcde=1;
delay(5);
lcde=0;
}
void lcdlnit()
{
lcd_mingling(0x38);
lcd_mingling(0x0c);
lcd_mingling(0x06);
lcd_mingling(0x01);
lcd_mingling(0x80);
}
void dslnit()
{
ds_write(0x0a,0x20);
ds_write(0x0b,0x06);
ds_write(4,18);
ds_write(2,41);
ds_write(0,33);

ds_write(7,19);
ds_write(8,3);
ds_write(9,21);
ds_write(6,5);
}
void sfm()
{

houir=ds_read(4);
lcd_mingling(0x80);
lcd_shuju(houir/10+0x30);
lcd_shuju(houir%10+0x30);
lcd_shuju(':');
min=ds_read(2);
lcd_shuju(min/10+0x30);
lcd_shuju(min%10+0x30);
lcd_shuju(':');
sad=ds_read(0);
lcd_shuju(sad/10+0x30);
lcd_shuju(sad%10+0x30);
}
void nyr()
{
lcd_mingling(0x80+0x40);
lcd_shuju('2');
lcd_shuju('0');        
year=ds_read(9);
lcd_shuju(year/10+0x30);
lcd_shuju(year%10+0x30);
lcd_shuju('-');
month=ds_read(8);
lcd_shuju(month/10+0x30);
lcd_shuju(month%10+0x30);
lcd_shuju('-');
day=ds_read(7);
lcd_shuju(day/10+0x30);
lcd_shuju(day%10+0x30);
lcd_shuju('-');
lcd_shuju('-');
qi=ds_read(6);
lcd_shuju(qi+0x30);
}
void key()
{
if(k1==0)
{
  delay(20);
  if(k1==0)
  {
   while(!k1);
  
    kai++;
    if(kai==1)
    {
     ting++;
     lcd_mingling(0x80+6);
         lcd_mingling(0x0f);
    }
    if(kai==2)
    {
     lcd_mingling(0x80+3);
         lcd_mingling(0x0f);
    }
    if(kai==3)
    {
     lcd_mingling(0x80);
         lcd_mingling(0x0f);
    }
    if(kai==4)
    {
     lcd_mingling(0x80+0x40+8);
         lcd_mingling(0x0f);
    }
    if(kai==5)
    {
     lcd_mingling(0x80+0x40+5);
         lcd_mingling(0x0f);
    }
    if(kai==6)
    {
     lcd_mingling(0x80+0x40+2);
         lcd_mingling(0x0f);
    }
    if(kai==7)
    {
     lcd_mingling(0x80+0x40+12);
         lcd_mingling(0x0f);
    }
    if(kai==8)
    {
     lcd_mingling(0x80+1);
         lcd_mingling(0x0c);
     kai=0;
     ting=0;
     ds_write(0,sad);
     ds_write(2,min);
     ds_write(4,houir);
     ds_write(6,qi);
     ds_write(7,day);
     ds_write(8,month);
     ds_write(9,year);
    }
  }
}
if(kai==1)
{
  if(k2==0)
  {
   delay(20);
   if(k2==0)
   {
    while(!k2);
    sad++;
    if(sad==60)
     sad=0;
    lcd_shuju(sad/10+0x30);
    lcd_shuju(sad%10+0x30);
    lcd_mingling(0x80+6);
   
   }
  }
  if(k3==0)
  {
   delay(20);
   if(k3==0)
   {
    while(!k3);
    if(sad==0)
     sad=60;
    sad--;
     lcd_shuju(sad/10+0x30);
    lcd_shuju(sad%10+0x30);
    lcd_mingling(0x80+6);
   }
  }
}
if(kai==2)
{
    if(k2==0)
  {
   delay(20);
   if(k2==0)
   {
    while(!k2);
    min++;
    if(min==60)
     min=0;
    lcd_shuju(min/10+0x30);
    lcd_shuju(min%10+0x30);
    lcd_mingling(0x80+3);
   }
  }
  if(k3==0)
  {
   delay(20);
   if(k3==0)
   {
    while(!k3);
    if(min==0)
     min=60;
    min--;
    lcd_shuju(min/10+0x30);
    lcd_shuju(min%10+0x30);
    lcd_mingling(0x80+3);
   }
  }
}
if(kai==3)
{
  if(k2==0)
  {
   delay(20);
   if(k2==0)
   {
    while(!k2);
    houir++;
    if(houir==24)
     houir=0;
    lcd_shuju(houir/10+0x30);
    lcd_shuju(houir%10+0x30);
    lcd_mingling(0x80);
   }
  }
  if(k3==0)
  {
   delay(20);
   if(k3==0)
   {
    while(!k3);
    if(houir==0)
    houir=24;
   houir--;
   lcd_shuju(houir/10+0x30);
   lcd_shuju(houir%10+0x30);
   lcd_mingling(0x80);
      
   }
  }
}
if(kai==4)
{
    if(k2==0)
  {
   delay(20);
   if(k2==0)
   {
    while(!k2);
    day++;
    if(day==31)
     day=0;
    lcd_shuju(day/10+0x30);
    lcd_shuju(day%10+0x30);
    lcd_mingling(0x80+0x40+8);
   }
  }
  if(k3==0)
  {
   delay(20);
   if(k3==0)
   {
    while(!k3);
    if(day==0)
     day=31;
    min--;
    lcd_shuju(day/10+0x30);
    lcd_shuju(day%10+0x30);
    lcd_mingling(0x80+0x40+8);
   }
  }
}
if(kai==5)
{
    if(k2==0)
  {
   delay(20);
   if(k2==0)
   {
    while(!k2);
    month++;
    if(month==12)
    month=0;
    lcd_shuju(month/10+0x30);
    lcd_shuju(month%10+0x30);
    lcd_mingling(0x80+0x40+5);
   }
  }
  if(k3==0)
  {
   delay(20);
   if(k3==0)
   {
    while(!k3);
    if(month==0)
     month=12;
   month--;
    lcd_shuju(month/10+0x30);
    lcd_shuju(month%10+0x30);
    lcd_mingling(0x80+0x40+5);
   }
  }
}
if(kai==6)
{
    if(k2==0)
  {
   delay(20);
   if(k2==0)
   {
    while(!k2);
    year++;
    if(year==100)
     year=0;
    lcd_shuju(year/10+0x30);
    lcd_shuju(year%10+0x30);
    lcd_mingling(0x80+0x40+2);
   }
  }
  if(k3==0)
  {
   delay(20);
   if(k3==0)
   {
    while(!k3);
    if(year==0)
     min=100;
    year--;
    lcd_shuju(year/10+0x30);
    lcd_shuju(year%10+0x30);
    lcd_mingling(0x80+0x40+2);
   }
  }
}
if(kai==7)
{
    if(k2==0)
  {
   delay(20);
   if(k2==0)
   {
    while(!k2);
    qi++;
    if(qi==8)
    qi=1;
    lcd_shuju(qi+0x30);   
    lcd_mingling(0x80+0x40+12);
   }
  }
  if(k3==0)
  {
   delay(20);
   if(k3==0)
   {
    while(!k3);
    if(qi==1)
     qi=8;
   qi--;
    lcd_shuju(qi+0x30);
    lcd_mingling(0x80+0x40+12);
   }
  }
}  
}
void main()
{
dslnit();
  lcdlnit();
  ds_write(0x0a,0x00);
  
  while(1)
  {  
   key();
   if(ting==0)
   {
    sfm();
    nyr();
    delay(200);
   }
  }
}  

全部資料51hei下載地址:
復習液晶時鐘.zip (92.28 KB, 下載次數: 39)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩欧美国产精品一区二区 | 亚洲福利在线观看 | 久操亚洲 | 国产欧美在线一区二区 | 亚洲精品一区二区三区中文字幕 | 天天爽夜夜爽精品视频婷婷 | 亚洲欧美国产一区二区三区 | 国产精品1区2区 | 雨宫琴音一区二区在线 | 国产在线精品一区二区三区 | 91精品国产91久久久久游泳池 | 久草热视频 | 精品九九九 | 精品国产乱码一区二区三 | 天天躁人人躁人人躁狂躁 | 成人在线精品视频 | 国产乡下妇女做爰 | 国产精品免费视频一区 | 亚洲欧洲精品一区 | 天天操综合网站 | 国产精品二区三区 | 97日日碰人人模人人澡分享吧 | 久久久www成人免费无遮挡大片 | 天天干夜夜 | 99热精品国产 | 国产伦一区二区三区 | 亚洲综合小视频 | 99久久国产综合精品麻豆 | 久久久久久91 | 国产 日韩 欧美 制服 另类 | 7777久久| 日韩久久久久久久 | 99re在线观看| 日本三级日产三级国产三级 | 久久与欧美 | 福利视频一二区 | 永久av| 黄色免费三级 | a级片在线观看 | 日韩视频精品在线 | 日韩精品中文字幕一区二区三区 |