找回密码
 立即注册

QQ登录

只需一步,快速开始

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

I2c简单应用成功 数字电度表液晶的单片机驱动

[复制链接]
跳转到指定楼层
楼主
ID:117761 发表于 2016-6-18 01:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 51黑mcu 于 2016-6-18 01:44 编辑









          话说他日正在琢磨这个I2c,现在基本功能了解一点了,于是有了实战的想法。正在为元件发愁,恰好有个做废品回收的人不期而来。问我有没有废品要卖?我答曰:今天先让我看看你那里有没有废品卖我。他应之。于是乎动身动手。忽然眼前出现几只国家电网退役的家用数字电度表。心中暗喜心想那里面液晶屏,单片机,通信接口正是我要的。我问他这几只废电表怎么卖?他也知道里面没有什么有色金属不根本不值钱。收荒者说他收成3元卖我4元。我回答就3元退我以后我们还有合作(哈哈够抠门吧)。收荒者应之。。。。。。到手后立马解体。看见几个芯片,有计度的等等其中有几个不清楚是什么,于是去叩问度娘,这个度娘也是吝啬鬼说:看看可以,下载要收费。我选择看看,于是用手机对有用的拍照保存。还是礼节性给度娘拜拜。心里说我比你还抠门哼哼。接下来看了几天pdf文档。基本明白后马上飞线单片机,编程序调试哈哈液晶屏出现了久违的:1,2,3.。。。。
/////////////////////******** 纯属爱好,程序问题还很多*****////////////
#include<stc12c56.h>
unsigned int  a;//8′ÎòÆλ
void ys();//Ñóê±
void led(); //ledéáò»Ï                  
void zx();//×üÏß
void dz();//ѡƬ
void fs();//·½ê½
void sl();//éáàÖ
void zz();//êy¾YÖ¸Õë
void shuju();//êy¾Y
void ack();//ó|′e
void qd();//Æô¶ˉI2c
void tz();//í£Ö1I2c
void tz()//í£Ö1I2c
{    led();
    P25=0;
    P24=1;   
   if(P24==0)
   P20=0;
}
void qd()//Æô¶ˉI2c
{    P24=1;
    P25=1;
    P24=0;
             }
void ack()//ó|′e
{
     P25=0;
    P24=1;
    P25=1;
           }
void zx()//×üÏß
{ unsigned int  b=0x7c;
P25=0;
for(a=0;a<=7;)
   {P25=0;
   if((b<<a)&0x80)
    P24=1;
      else
      P24=0;
           a=a+1;     
         P25=0;
         ys();
          P25=1;
                    }   
                      }
void fs()//·½ê½
{ unsigned int  c=0xcc;
P25=0;
for(a=0;a<=7;)
   {P25=0;
   if((c<<a)&0x80)
    P24=1;
      else
      P24=0;
           a=a+1;     
         P25=0;
     ys();
          P25=1;
                    }   
                      }
           
void sl()//éáàÖ
{ unsigned int  d=0xf0;
P25=0;
for(a=0;a<=7;)
   {P25=0;
   if((d<<a)&0x80)
    P24=1;
      else
      P24=0;
           a=a+1;     
         P25=0;
          P25=1;
                    }   
                      }           
            
void dz()//ѡƬ
{unsigned int  e=0xe0;//ѡƬ
P25=0;
for(a=0;a<=7;)
   {P25=0;
   if((e<<a)&0x80)
    P24=1;
      else
      P24=0;
           a=a+1;     
         P25=0;
          P25=1;
                    }   
                      }
           
void zz()//êy¾YÖ¸Õë
{unsigned int  f=0x00;
P25=0;
for(a=0;a<=7;)
   {P25=0;
   if((f<<a)&0x80)
    P24=1;
      else
      P24=0;
           a=a+1;     
         P25=0;
     ys();
          P25=1;
                    }   
                      }      
           
void shuju()//êy¾Y
{unsigned int  g=0xff;
P25=0;
for(a=0;a<=7;)
   {P25=0;
   if((g<<a)&0x80)
    P24=1;
      else
      P24=0;
           a=a+1;     
         P25=0;
     ys();
          P25=1;
                    }   
                      }           
void led()//ledéáò»ÏÂ
{
P20=0;
ys();
P20=1;
ys();
         }
void ys()//Ñóê±
{unsigned int n,m;

for(n=1;n<=1000;n++)
{
    for(m=1;m<=10;m++);
                        }
                            }
              
//*********************//
void main()
{
    qd();//Æô¶ˉ
    zx();//×üÏß

    ack();     
   dz();//ѡƬ
   
    ack();   
    fs();//·½ê½

    ack();
     sl();//éáàÖ    ack();
    zz();//êy¾YÖ¸Õë
     ack();
     shuju();//êy¾Y
    tz();//í£Ö1
     
    while(1);
   
                        }





分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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