⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 trans.c

📁 记录仪
💻 C
字号:
#include <absacc.h>
#include <reg52.h>


extern unsigned char WaitKey(unsigned int count);
extern void DisplayCOM(int i);
extern bit FL_RUN;

extern bit FL_RECORDER;
//标志位;
extern unsigned char xdata OLD_YEAR;
extern unsigned char xdata OLD_MONTH;
extern unsigned char xdata OLD_DAY;
extern unsigned char xdata OLD_HOUR;
extern unsigned char xdata OLD_MIN;
extern unsigned char xdata OLD_SEC;
unsigned char xdata flag_trans _at_ 0x6500;
extern unsigned long int xdata usbclk_cnt;
extern unsigned long int xdata clk_cnt;
extern unsigned char xdata down_time[10][5];
extern unsigned char xdata index_dw_tm;



extern unsigned char GetKey();
extern void rs232(void);
void connect(void);
extern void trs_usb(void);
void D12_SetMode(unsigned char bConfig, unsigned char bClkDiv);



extern void Clr_WDog();

Wr_downtime()
{
    Clr_WDog();       //清w-dog
    index_dw_tm=(index_dw_tm+1)%10;

    down_time[index_dw_tm][0]=OLD_YEAR;
    down_time[index_dw_tm][1]=OLD_MONTH;
    down_time[index_dw_tm][2]=OLD_DAY;
    down_time[index_dw_tm][3]=OLD_HOUR;
    down_time[index_dw_tm][4]=OLD_MIN;
}



void init_serial(void)
{
   // stxd=0;
    Clr_WDog();       //清w-dog
    T2CON=0X34;
    RCAP2H=0XFF;                      //18.432MHz?9600??
    RCAP2L=0XC4;
    SCON=0XD0;
    ES=1;
}



void init_usb()
{
        Clr_WDog();       //清w-dog
        D12_SetMode(0x10,0x05);
        IT1=0;

        EX1=1;
}
void connect(void)
{
        unsigned char xdata key_trs,wdog_cnt;
        Clr_WDog();       //清w-dog
        DisplayCOM(0);          //显示“等待……”

      //  Get_Dis();

        clk_cnt=0;           //为何清0两次???????????????????????????????????????????????????????/
        usbclk_cnt=0;        //为何清0两次???????????????????????????????????????????????????????/

        init_serial();
        init_usb();
        clk_cnt=0;        //为何清0两次???????????????????????????????????????????????????????/
        usbclk_cnt=0;     //为何清0两次???????????????????????????????????????????????????????/

        wdog_cnt=0;
        flag_trans=0x00;

	while(1)
	{

                DisplayCOM(0);          //显示“等待……”

                GetKey();               //背光键
                wdog_cnt++;
                key_trs=WaitKey(10);
		if(key_trs==0x10||FL_RUN||wdog_cnt>=150)   break;  //收到“功能”键退出

                switch(flag_trans)
                {
                   case 0x00:
                        break;

                   case 0x01:
                        Clr_WDog();
                        FL_RECORDER=0;   // FL_RECORDER为0,未上传过流水记录

                        DisplayCOM(1);      //显示“USB通信中”
			trs_usb();

                        DisplayCOM(3);   //显示“通信结束”

                        wdog_cnt=0;
		        while(1)
                        {
                              wdog_cnt++;
			      key_trs=WaitKey(10);

		              if(key_trs==0x10||FL_RUN||wdog_cnt>=40) //收到“功能”键,则退出
			      {
                                   flag_trans=0X00;
                                   Wr_downtime();
                                   wdog_cnt=0;
                                   init_serial();
			           break;
		              }
                        }
                        FL_RECORDER=0;   // FL_RECORDER恢复为0

                        break;

                   case 0x02:

                        Clr_WDog();
                        FL_RECORDER=0;   // FL_RECORDER为0,未上传过流水记录

                        DisplayCOM(2);      //显示“RS232通信中”
			rs232();

			DisplayCOM(3);      //显示“通信结束”

                        wdog_cnt=0;
			while(1)
                        {
                             wdog_cnt++;
		             key_trs=WaitKey(100);

		             if(key_trs==0x10||FL_RUN||wdog_cnt>=40)      //收到“功能”键,则退出
			     {
                                  flag_trans=0X00;
                                  Wr_downtime();      //记下通信时间
                                  wdog_cnt=0;
				  break;
	                    }
                        }
                        FL_RECORDER=0;   // FL_RECORDER恢复为0

                        break;

                   default:
    		        break;
                }
	}

        ES=0;
        EX1=0;
       // stxd=1;

        return;

}




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -