芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

飞芯科技-芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

单片机解密LCD1602 AT89s52单片机定时闹钟

单片机解密#include<reg52.h>   
单片机解密#include<stdlib.h>   
单片机解密#include<intrins.h>  //包含_nop_()函数定义的头文件


unsigned char code digit[ ]={"0123456789"}; //LCD1602初始化字符
unsigned char code str_1[ ]={"Set delay time:"};
unsigned char code str_2[ ]={"  Count time:  "};
unsigned char count;   //Timer0计数溢出中断次数
unsigned char s,m,h;   //即时的(秒,分,时)变量
unsigned char ss,mm,hh;//预设定时(秒,分,时)变量
unsigned char i;       //循环变量
sbit RS=P2^0;    //LCD寄存器选择位,将RS位定义为P2.0引脚
sbit RW=P2^1;    //LCD读写选择位,将RW位定义为P2.1引脚
sbit E=P2^2;     //LCD使能信号位,将E位定义为P2.2引脚
sbit BF=P0^7;    //LCD忙碌标志位,
sbit run=P1^0;   //启动计时按钮检测
unsigned char runing=0; //0非计时运行,1计时运行
sbit h_up=P1^1;   //h+ 按钮检测
sbit h_dn=P1^2;   //h- 按钮检测
sbit set=P1^3;    //pause钮检测
sbit m_up=P1^4;   //分钟+按钮检测
sbit m_dn=P1^5;   //分钟减按钮检测
sbit alarm=P2^7;        ////引脚用于触发音乐IC模块播放音乐

// 延时ms函数////////////////////////
void delayms(unsigned char ms)
{                                                
        unsigned char i;
        while(ms--)
        {
                for(i = 0; i < 120; i++);
        }
}
/////////////////////////////////////


//函数:判断LCD状态,result=1忙碌;result=0就绪
unsigned char BusyTest(void)
  {
    bit result;
        RS=0;    //RS低电平,RW高电平,可读状态
    RW=1;
    E=1;        //允许读写
    _nop_();   
    _nop_();
    _nop_();
    _nop_();   
    result=BF;  //rultes ← LCD状态标志
    E=0;        //恢复低电平
    return result;
  }        /////////////////////////////////////////

//函数:将模式设置指令或显示地址写入LCD ////
void WriteInstruction (unsigned char dictate)
{   
    while(BusyTest()==1); //如果忙就等待
         RS=0;       //RS和R/W同时为低电平时,可以写入指令
         RW=0;   
         E=0;        //准备E从0到1发生正跳变,作为写指令
         _nop_();
         _nop_();    //空操作两个机器周期,给硬件反应时间
         P0=dictate; //将数据送入P0口,即写入指令或地址
         _nop_();
         _nop_();
         _nop_();
         _nop_();   
         E=1;       //E置高电平
         _nop_();
         _nop_();
         _nop_();
         _nop_();   
          E=0;   //当E由高电平跳变成低电平时,LCD开始执行命令
} //////////////////////////////////////////


联系方式

地址:石家庄市新华区民族路77号华强广场D座2009
电话:0311-88816616/87087811
手机:13315190088
传真:0311-67901001
联系人:张工
网址:www.feixindz.com
邮箱:feixindz@163.com
微信:xinpianjiemi
QQ:527263666/568069805

在线客服
热线电话

企业微信