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

📄 61510.c

📁 本程序为单片机应用程序
💻 C
字号:

/*///////////// 本程序意在通过串口控制61510////////////////*/                                                                           
#include "STC89C51.h"
#include "init.h"
#define uch unsigned char

	#define TRUE 1
	#define FALSE 0	
	uch M61510_pulse_num;                //脉冲计数
	uch M61510_clock_level;              //时钟电平
	uch M61510_data;                     //送入M61510的数据
    uch M61510_analog_series;            //M61510模拟串行定时器中断数

    void timer0() interrupt 1  //定时器0中断函数,在允许中断情况下,定时器溢出时产生动作。
	{
	    M61510_analog_series++;	
	}

    void delay(x)
    {
		while (M61510_analog_series<x)
		{
		TR0=1;	           //启动定时器T0

		ET0=1;				//启动定时器中断T0
		}
        M61510_analog_series=0;
		TR0=0;			   //关断定时器T0
		ET0=0;			   //关断定时器T0
    }

    void send_M61510()               /*自变量可否为位。若可以,就可写个通用函数*/
	{
	uch z;
	uch y;	    
 	while(pulse_num<8)
		{
			if (clock_level==0)
			{
			    y=0x01>>M61510_pulse_num;
				z=M61510_data&y;
				if (z>=1)
			    {
				M61510_DATE=1;
                }
				else
                {
				M61510_DATE=0;
                }
                delay(1);
				M61510_CLOCK=1;	     //数据稳定之后给时钟上升延
                clock_level=1;
				M61510_pulse_num++;
                delay(1);
			
		    }
			else if(clock_level==1)	  //
			{
				POWER_DATE=0;
                delay(1);
				POWER_CLOCK=0;
				clock_level=0;

			}
		}
		pulse_num=0;
		M61510_CS=1;
        delay(2);
		M61510_CS=0;
		M61510_data=0;
	    TR0=0;   //定时器计数条件3-1
    	ET0=0;   //定时器中断条件3-3,开启定时器0中断
	}
	
	void time_init()
	{

		TMOD=0X22;  //T0,T1工作于方式2自动重装8位计数器
		TL1=0xfd;   
		TH1=0xfd;
		SCON=0x50;  //01010000,方式一,允许接收
		PCON=0x00; 
		TR1=1;      //允许T1运行
///////////////////////////////////////////
		TH0=0xF0;//13us定时,13X4=52us约等于19200 ,本应为F2,减去两个机器周期
		TL0=0xF0;//0XFF-0xF2=0x0D=13
		EA=1;    //定时器中断条件3-2
	}

    void main()
	{
        time_init(); 
		while (1)
		{
			if (RI==1)//
			{
				CD4094_data=SBUF;
				RI=0;
	     	    send_M61510();
			}
	   	}
	}

⌨️ 快捷键说明

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