timex.c

来自「本代码以低成本的瑞萨单片机为主控制器」· C语言 代码 · 共 102 行

C
102
字号
#include "global.h"
#include "sfr_r81b.h"
#include "serial.h"
#include "iic.h"
extern uchar counter_check_sign;
void timex_init(void)						//(1/125ms)*32*32=8.192ms,interval
{
	txmr = 0x00 ; 
	prex = 0x1f; 
	tx = 0x1f ;
	tcss = 0x02 ; 
	ir_txic = 0 ; 
	txic  = 5 ; 
	txs = 1 ; 
	pd1_2 = 0 ; 
}
void interrupt_timex(void)
{
	pd1_2 = 0 ; 
	if(p1_2 == 0)
	{
		counter_check_sign = 0x55 ;
		counter_check_sign = 0x55 ;
	}
	else
	{
		counter_check_sign = 0x00 ;
	}
	if(time_test==0x01){time_counter++;}
	 
	if(series_receive_sign == 0x01)
	{
		series_receive_counter++ ;
		if(series_receive_counter > 2)
		{	
			series_receive_sign = 0x00 ; 
			series_receive_counter = 0x00 ; 
			series_receive_end = 0xaa ; 
		}
	}

	if(series_send_sign == 0x01)
	{
		if(series_send_timer++%2 == 0x00)
		{		
			u0tbl = send_array[series_send_counter++] ;
		}
		if(series_send_counter==series_send_long)
		{
			series_send_sign = 0x00 ; 
			p1_6 = 0 ;
		}
	}
	if(start_sign == 0x55 )
	{
		time_long++;
		if( time_long==20)
		{
			time_long = 0x00;
			switch(jdq_xian)
			{
				case 0x01:
				{
					p1_0 = 1 ; 
					p1_1 = 0 ; 
					jdq_xian = 0x00;
					break;
				}
				case 0x02:
				{
					p1_0 = 0 ; 
					p1_1 = 1 ; 
					jdq_xian = 0x03;
					break;
				}
				case 0x03:
				{
					p1_0 = 1 ; 
					p1_1 = 1 ; 
					start_sign  = 0x00;
					jdq_xian = 0x01;
					break;
				}
				case 0x00:
				{
					p1_0 = 1 ; 
					p1_1 = 1 ; 
					start_sign = 0x00;
					jdq_xian = 0x02;
					break;
				}
				default :
				{
					p1_0 = 1 ; 
					p1_1 = 1 ; 
					break;
				}
			}
		}
	}
}

⌨️ 快捷键说明

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