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 + -
显示快捷键?