?? display.c
字號:
#include "Config.h"
#include "display.h"
#include "LCD.h"
#include "USART.h"
extern uchar sd[16];
/*******************************************************************************
Init_TA()
定時器A的初始化,定時1秒中斷一次
*******************************************************************************/
void Init_TA(void)
{
TACTL = TACLR+TASSEL_1 + ID_3;
TACCR0 = 4096;
TACCTL0 &= ~CCIE;
TACTL |= MC_1;
P1DIR = 0x04;
}
/*******************************************************************************
delay()
延時函數
*******************************************************************************/
extern void delay(uint nn);
/*******************************************************************************
Hex2BcdLong()
十六進制碼的轉換
*******************************************************************************/
uint Hex2BcdLong(ulnt hex)
{
ulnt temp;
ulnt ret;
uchar ii;
ret=0;
for(ii=0;ii<8;ii++)
{
ret>>=4;
temp=hex%10;
temp <<= 28;
ret|=temp;
hex=hex/10;
}
return(ret);
}
/*******************************************************************************
display()
顯示函數
*******************************************************************************/
void display(void)
{
Init_TA();
TACCTL0 = CCIE;
if(TA_Flag)
{
LCDMEM[9] = 0x00; //顯示數據域數據 每兩位一顯,間隔1秒
LCDMEM[8] = 0x00;
delay(400);
TA_Flag = 0;
TA_Add += 1;
Hex2BcdLong(readdata[TA_Add-1]);
LCDMEM[9] = sd[readdata[TA_Add-1] & 0x0F];
LCDMEM[8] = sd[(readdata[TA_Add-1] >>4)&0xF];
if(TA_Add >= r_buf[9])
TA_Add = 0;
}
}
/*******************************************************************************
Timer_A()
定時器A的中斷函數
*******************************************************************************/
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
{
TA_Flag = 1;
TAR = 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -