📄 display.c
字号:
#include<reg52.h>
#include <intrins.h>
#include "Define.h"
#include "Common.h"
#include "Set.h"
//////////////////////////////////////////////////////////////////
//extern _dc;
//extern _;
extern _cs;
extern _ucdLEDDisplayArray[];
extern _LengthOfLEDDisplayArray;
extern _cLCDDisplayArray[];
extern _ucidLengthOfLCDDisplayArray;
extern _CurrentTestItem;
extern _TTLOfEachTestItem[];
extern _TestItemArray[];
extern _LCDFlag;
extern _LEDFlag;
extern _TestItemNeedInitFlag;
//////////////////////////////////////////////////////////////////////////////////////
UCHARIDATA ucidT0Counter0 = 0;
UCHARIDATA ucidT0Counter1 = 0;
UCHARIDATA ucidT1Counter = 0;
UCHARIDATA ucidT1Acc = 0;
UCHARDATA ucdLCDCounter = 0;
UCHARDATA ucdLEDCounter = 0;
UCHARDATA ucdLEDCounterStart = 0;
/////////////////////////////////////
UCHARIDATA TestItemTTLCounter = 0;
UCHARIDATA TestItemPointer = 0;
/* LED显示段码表 */
UCHARCODE uccTab[20] = {
0x3f,0x06,0x5b,0x4f, /* 0 1 2 3 */
0x66,0x6d,0x7d,0x07, /* 4 5 6 7 */
0x7f,0x6f,0x77,0x7c, /* 8 9 a b */
0x58,0x5e,0x79,0x71, /* c d e f */
0x00,0x0c,0x40 /* _| - */
};
void Timer(void) interrupt 1 // T0中断 LCD DISPLAY
{
TH0=0xd8; /*12M,10ms*/
TL0=0xf6;
ucidT0Counter0++;
ucidT0Counter1++;
if(ucidT0Counter0 >= 100 ) //1S之后
{
ucidT0Counter0 = 0; //重新置零
/////////////////////////////////
TestItemTTLCounter++;
if(TTLOfEachTestItem[CurrentTestItem] - TestItemTTLCounter <= 0)
{
TestItemTTLCounter = 0; //重新置零
//////////////////////////
//TestItemPointer = ((TestItemPointer++)%TESTITEMCOUNT);
CurrentTestItem = TestItemArray[TestItemPointer];
TestItemNeedInitFlag = 1;
}
}
if(ucidT0Counter1 >= 50) //n ms之后
{
ucidT0Counter1 = 0; //重新置零
///////////////////////
//ucdLEDCounterStart = ((ucdLEDCounterStart++)%LengthOfLEDDisplayArray);
}
/////////////////////////////////////////////////////////////////////////////////
/***********************一以下为LCD显示部分********************************/
/*
if(LCDFlag == 1)
{
LCDFlag = 0;
if(ucdLCDCounter < ucidLengthOfLCDDisplayArray)
{
if(ucdLCDCounter == 0)
{
lcd_init(); //全黑
}
P1 = 0x00;
lcd_wrdata(cLCDDisplayArray[ucdLCDCounter]);
ucdLCDCounter++;
}
else
{
ucdLCDCounter = 0;
LCDFlag = 0;
}
LEDFlag = 1;
}
*/
////////////////////////////
ucdLCDCounter++;
if(ucdLCDCounter >= 20)
{
ucdLCDCounter = 0;
//////////////////////////////
//if(LCDFlag == 1)
{
//P1 = 0x00;
LCDFlag = 0;
LEDFlag = 1;
//lcd_init(); //全黑
//lcd_string("ST");
lcd_wrdata('H');
//hard_10ms(2);
}
}
/*
if(sys10mscounter!=0)
{
sys10mscounter--; //定时器10ms
}
if(syslimitcounter!=0)
{
syslimitcounter--; //定时器10ms
}
*/
}
void Display() interrupt 3 using 2 //T1中断 LED DISPLAY
{
//TL1 = 0xf0;
//TH1 = 0xf9;
TL1 = 0xf0;
TH1 = 0xf9;
//if(LEDFlag == 1)
{
cs = 0;
P2 = 0;
P1 = P1&0xf0;
P1 = P1|ucidT1Acc;
ucidT1Acc = ucidT1Acc<<1;
//P2 = uccTab[ucdLEDDisplayArray[ucidT1Counter]];
P2 = 1;
//////////////////////////////////////////////////////////
ucidT1Counter = ucidT1Counter + 1;
if(ucidT1Acc >= 16)
{
ucidT1Counter = 0;
ucidT1Acc = 1;
}
LCDFlag = 1;
//cs = 0;
}
//else
{
;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -