📄 netscan.c
字号:
/*------------------------------------------------------------------------*/
/* for M8 cpu */
/* 2006/4/25 by chenchungen */
/*------------------------------------------------------------------------*/
#include <intrins.h>
#include "c8051f310_init.h"
#include "PortDef.h"
#include "comm.h"
#include "GetDot.h"
#include "Delay.h"
#define TH0_VALUE ((65536-25*245)/256) /* 250us timer */
#define TL0_VALUE ((65536-25*245)%256)
unsigned char xdata DotRam1[288];
unsigned char xdata DotRam2[288];
unsigned char Line=15;
unsigned char Number = 0;
unsigned char MyNumber = 0;
unsigned char Light = 0;
unsigned int CountTime = 0;
unsigned int DownTime = 0;
unsigned int Times = 0;
unsigned char Scan = 0;
unsigned char TestTimes = 0;
bit Test = 0;
bit TestFlag = 0;
bit CutDownEn = 0;
bit Close=0;
bit CutDown=0;
bit Bar=0;
bit OneSec=0;
bit Hold = 0;
bit Great = 0;
/*------------------------------------------------------------------------*/
void timer0(void) interrupt 1 // 0.25ms
{
TL0 = 0x13;
TH0 = 0xe8;
Times++;
Light++;
if(Times == 4000){
Times = 0;
OneSec = 1;
}
if(Light==2) { Light = 0; ScanLed(); }
}
void main( void )
{
unsigned int i;
EA=0;
Init_Device( );
Delayms(10);
Clr_WDT();
EA = 1;
for(i=0;i<288;i++){
DotRam1[i] = 0x00; /* clear displayram*/
DotRam2[i] = 0x00;
}
Bar = 1;
for(;;) {
Clr_WDT( );
treat_rbuf( );
send_char( );
if(TestFlag==1 && Test==0) {
TestFlag = 0;
for(i=0;i<288;i++){
DotRam1[i] = 0x00; /* clear displayram*/
DotRam2[i] = 0x00;
}
Bar = 1;
}
if(CutDown) { CutDownEn = 1; CutDown = 0; Times = 0; CountTime = DownTime; }
if(Hold==1 ||Close==1 || Bar==1 || Great==1) CutDownEn = 0;
if( OneSec ) {
OneSec = 0;
if( CountTime==0 && CutDownEn ==1) { Bar = 1; CutDownEn =0;}
TestTimes++;
if(TestTimes>13) TestTimes = 0;
if(CountTime!=0) CountTime--;
}
GenDotRam( );
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -