打印

51驱动HCTL2032源代码

[复制链接]
747|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dirtwillfly|  楼主 | 2018-3-28 21:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
51驱动HCTL2032源代码.rar (1.29 KB)
#include "reg51.h"
#include "intrins.H"
typedef unsigned char BYTE;
typedef unsigned int WORD;

#define FOSC 12000000L
#define BAUD 9600

#define NONE_PARITY  0
#define ODD_PARITY 1
#define        EVEN_PARITY 2
#define MARK_PARITY 3
#define SPACE_PARITY 4

#define PARITYBIT NONE_PARITY

#define DATA P1
sbit        EN1=P0^0;
sbit        EN2=P0^1;
sbit        SEL1=P0^2;
sbit        OE=P0^3        ;
sbit        XY=P0^4        ;
sbit        SEL2=P0^5  ;
sbit        RSTX=P0^6 ;
sbit        CHBX=P0^7  ;
sbit        CHAX=P2^7;
sbit        CLK=P2^5;
sbit        UDX=P2^0;

sbit bit9 = P2^2;
bit busy;
void SendData(BYTE dat) ;
void SendString(char *s);
char *data1;
         unsigned char xdata i=0;
int OLD,NEW,RESULT1,RESULT2,RESULT3,RESULT4,OK1,OK2,OK3,OK4,j;
void main()
{
        for(i=0;i<250;i++){}
                for(i=0;i<250;i++){}
                        for(i=0;i<250;i++){}





          SCON=0x50;
        EA = 1;
        ES = 1;
        TMOD = 0x20;       
        SCON = 0x50;       
        TH1 = 0xF3;       
        TL1 = 0XF3;       
        PCON = 0x80;       
        TR1 = 1;          





//         SBUF=DATA;
//         SendString("abcdefg");
//        SendData(0x);
//        while(1);
        OLD=0;
        NEW=0;
        EN1 = 1;
        EN2 = 0;
        XY=0;


//        RSTX=0;
        UDX=0;
                                for(i=0;i<18;i++)
                        {                             for(j=0;j<250;j++){}
                                                 CLK=0;
                                                for(j=0;j<250;j++){}
                                                 CLK=1;
                        }
        for(i=0;i<250;i++){}
//        RSTX=1;
                                for(i=0;i<18;i++)
                        {                             for(j=0;j<250;j++){}
                                                 CLK=0;
                                                for(j=0;j<250;j++){}
                                                 CLK=1;
                        }       
        for(i=0;i<250;i++){}
//        SendString("HCTL-2032 INTI OK!");        //HCTL-2032初始化完毕!       
        OK1=1;
        OK2=1;
        OK3=1;
        OK4=1;
/////////////////////////////                                                         、///脉冲输出
        while(1)
        {
                                for(i=0;i<18;i++)
                        {                             for(j=0;j<50;j++){}
                                                 CLK=1;
                                                for(j=0;j<50;j++){}
                                                 CLK=0;
                        }
                                for(i=0;i<18;i++)
                        {                             for(j=0;j<50;j++){}
                                                 CLK=1;
                                                for(j=0;j<50;j++){}
                                                 CLK=0;
                        }                                                                                 //
         CHAX=1;
                                for(i=0;i<18;i++)
                        {                             for(j=0;j<50;j++){}
                                                 CLK=1;
                                                for(j=0;j<50;j++){}
                                                 CLK=0;
                        }
         CHBX=0;
                                for(i=0;i<18;i++)
                        {                             for(j=0;j<100;j++){}
                                                 CLK=1;
                                                for(j=0;j<100;j++){}
                                                 CLK=0;
                        }
                                                                                                 //
         CHAX=0;
                                for(i=0;i<18;i++)
                        {                             for(j=0;j<50;j++){}
                                                 CLK=1;
                                                for(j=0;j<50;j++){}
                                                 CLK=0;
                        }
         CHBX=0;
                                for(i=0;i<18;i++)
                        {                             for(j=0;j<50;j++){}
                                                 CLK=1;
                                                for(j=0;j<50;j++){}
                                                 CLK=0;
                        }
                                                                                                 //
         CHAX=0;
                                for(i=0;i<18;i++)
                        {                             for(j=0;j<50;j++){}
                                                 CLK=1;
                                                for(j=0;j<50;j++){}
                                                 CLK=0;
                        }
         CHBX=1;
                                for(i=0;i<18;i++)
                        {                             for(j=0;j<50;j++){}
                                                 CLK=1;
                                                for(j=0;j<50;j++){}
                                                 CLK=0;
                        }
                                                                                                 //
         CHAX=1;
                                for(i=0;i<18;i++)
                        {                             for(j=0;j<50;j++){}
                                                 CLK=1;
                                                for(j=0;j<50;j++){}
                                                 CLK=0;
                        }
         CHBX=1;
                                for(i=0;i<18;i++)
                        {                             for(j=0;j<50;j++){}
                                                 CLK=1;
                                                for(j=0;j<50;j++){}
                                                 CLK=0;
                        }



//////////////////////////////




                                                                                                  ////读取





        OE=1;
                                for(i=0;i<18;i++)
                        {                             for(j=0;j<50;j++){}
                                                 CLK=1;
                                                for(j=0;j<50;j++){}
                                                 CLK=0;
                        }
        for(i=0;i<250;i++){}
        SEL1=0;
        SEL2=1;
                                for(i=0;i<18;i++)
                        {                             for(j=0;j<50;j++){}
                                                 CLK=1;
                                                for(j=0;j<50;j++){}
                                                 CLK=0;
                        }
        OE=0;
                                for(i=0;i<18;i++)
                        {                             for(j=0;j<50;j++){}
                                                 CLK=1;
                                                for(j=0;j<50;j++){}
                                                 CLK=0;
                        }
        while(OK1)
        {
//        SendString("11");
        for(i=0;i<50;i++){}
        for(i=0;i<50;i++){}
        for(i=0;i<50;i++){}
                                for(i=0;i<18;i++)
                        {                             for(j=0;j<50;j++){}
                                                 CLK=1;
                                                for(j=0;j<50;j++){}
                                                 CLK=0;
                        }

        OLD=DATA;
                                for(i=0;i<18;i++)
                        {                             for(j=0;j<50;j++){}
                                                 CLK=1;
                                                for(j=0;j<50;j++){}
                                                 CLK=0;
                        }
        for(i=0;i<50;i++){}
        NEW=DATA;
                if(OLD==NEW)
                {        RESULT1=NEW;
                        OK1=0;
               
                }
        }
        OK1=1;
//        SendString("1 d OK!r=");
        SendData(RESULT1);
        for(i=0;i<50;i++){}
        for(i=0;i<50;i++){}
        for(i=0;i<50;i++){}
//        SendString("1 d s OK!")
    OE=1;
         ////1
                                for(i=0;i<18;i++)
                        {                             for(j=0;j<50;j++){}
                                                 CLK=1;
                                                for(j=0;j<50;j++){}
                                                 CLK=0;
                        }

        SEL1=1;
        SEL2=1;
        OE=0;
                                for(i=0;i<18;i++)
                        {                             for(j=0;j<50;j++){}
                                                 CLK=1;
                                                for(j=0;j<50;j++){}
                                                 CLK=0;
                        }
        while(OK2)
        {        for(j=0;j<50;j++){}
//        SendString("Start secend data read!");
        OLD=DATA;
                                for(i=0;i<18;i++)
                        {                             for(j=0;j<50;j++){}
                                                 CLK=1;
                                                for(j=0;j<50;j++){}
                                                 CLK=0;
                        }
        for(i=0;i<50;i++){}
        NEW=DATA;
                                for(i=0;i<18;i++)
                        {                             for(j=0;j<50;j++){}
                                                 CLK=1;
                                                for(j=0;j<50;j++){}
                                                 CLK=0;
                        }
                if(OLD==NEW)
                {        RESULT2=NEW;
                        OK2=0;
               
                }
        }
        OK2=1;
//        SendString("secend data OK!result=");
        SendData(RESULT2);

                ////2
                                for(i=0;i<18;i++)
                        {                             for(j=0;j<50;j++){}
                                                 CLK=1;
                                                for(j=0;j<50;j++){}
                                                 CLK=0;
                        }
        SEL1=0;
        SEL2=0;

                                for(i=0;i<18;i++)
                        {                             for(j=0;j<50;j++){}
                                                 CLK=1;
                                                for(j=0;j<50;j++){}
                                                 CLK=0;
                        }
        while(OK3)
        {  for(j=0;j<50;j++){}
//        SendString("Start thirth data read!");
        OLD=DATA;
                                for(i=0;i<18;i++)
                        {                             for(j=0;j<50;j++){}
                                                 CLK=1;
                                                for(j=0;j<50;j++){}
                                                 CLK=0;
                        }
        for(i=0;i<50;i++){}
        NEW=DATA;
                                for(i=0;i<18;i++)
                        {                             for(j=0;j<50;j++){}
                                                 CLK=1;
                                                for(j=0;j<50;j++){}
                                                 CLK=0;
                        }
                if(OLD==NEW)
                {        RESULT3=NEW;
                        OK3=0;
               
                }
        }
        OK3=1;
//        SendString("thirth data OK!result=");
        SendData(RESULT3);

           ///3
                                for(i=0;i<18;i++)
                        {                             for(j=0;j<50;j++){}
                                                 CLK=1;
                                                for(j=0;j<50;j++){}
                                                 CLK=0;
                        }
        SEL1=1;
        SEL2=0;

                                for(i=0;i<18;i++)
                        {                             for(j=0;j<50;j++){}
                                                 CLK=1;
                                                for(j=0;j<50;j++){}
                                                 CLK=0;
                        }
        while(OK4)
        {  for(j=0;j<50;j++){}
//        SendString("Start 4 data read!");

        OLD=DATA;
                                for(i=0;i<18;i++)
                        {                             for(j=0;j<50;j++){}
                                                 CLK=1;
                                                for(j=0;j<50;j++){}
                                                 CLK=0;
                        }
        for(i=0;i<50;i++){}
        NEW=DATA;
                                for(i=0;i<18;i++)
                        {                             for(j=0;j<50;j++){}
                                                 CLK=1;
                                                for(j=0;j<50;j++){}
                                                 CLK=0;
                        }
                if(OLD==NEW)
                {        RESULT4=NEW;
                        OK4=0;
               
                }
        }
        OK4=1;
//        SendString("4 data OK!result=");
        SendData(RESULT4);
                                for(i=0;i<18;i++)
                        {                             for(j=0;j<50;j++){}
                                                 CLK=1;
                                                for(j=0;j<50;j++){}
                                                 CLK=0;
                        }
        OE=1;
/*        while(1)
        {                             for(j=0;j<250;j++){}
                                                 CLK=1;
                                for(j=0;j<250;j++){}
                                                 CLK=0;
       
        }                         */
        ////4

         }
}

void Uart_Isr() interrupt 4 using 1
{        char *data1;
int i;       
   if(RI)
   {
                   RI=0;
                P0=SBUF;
                *data1=SBUF;
                bit9=RB8;

   }
   if(TI)
   {   TI=0;
                   busy=0;
   }




}
void SendData(BYTE dat)
{
            while(busy);
            ACC=dat;
                busy=1;
                SBUF=ACC;

}
void SendString(char *s)
{
         while(*s)
         {
                  SendData(*s++);
         }
}


相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:欢迎进入TI MCU论坛      21ic TI技术交流1群:61549143(已满),  21ic TI技术交流2群:311421422 我的博客:http://blog.timcu.com/

1179

主题

34648

帖子

1115

粉丝