?? display2x6.c
字號(hào):
/******************************************************************/
/**文件名: display2x6.c **/
/** **/
/**文件描述: 若外部RAM在寫操作時(shí),則LED屏清屏 **/
/** 在非清屏的情況下,讀取外部RAM的數(shù)據(jù),并顯示在LED屏上 **/
/** 在非清屏的情況下,若全屏引腳為低時(shí),顯示屏全亮 **/
/** **/
/**創(chuàng)建人: 陳蕓 時(shí)間:2007年7月17日 **/
/** **/
/**版本號(hào): 01 **/
/**修改記錄 **/
/******************************************************************/
#include<reg52.h>
#include<absacc.h>
#include<def_pin.h>
#include<def_para.h>
void WDFeed(void);
void nnDisp8x12_1(void);
void nnDisp8x12_2(void);
void nnDisp8x12_3(void);
void nnDisp8x12_4(void);
void main(void)
{
uint data i=0,j=0,k=0,tp=0;
bit f_rdram=1;
/******************初始化**********************/
//片內(nèi)擴(kuò)展DATA設(shè)置
CHPENR=0x87;
CHPENR=0x59;
CHPCON|=0x10;//片內(nèi)外部存儲(chǔ)器寫允許 //CHPCON=0x00; ----則片內(nèi)外部存儲(chǔ)器寫禁止
while(1)
{
WDFeed();
if(pin_wrram==0)
{
if(f_rdram==1)
{
f_rdram=0;
for(i=0;i<256;i++)
{
CHPCON=0x00;
ce_ram=0;
tp=nDispRam[i];
ce_ram=1;
CHPCON|=0x10;
tt[i]=tp;
}
WDFeed();
for(i=0;i<128;i++)
{
CHPCON=0x00;
ce_ram=0;
tp=nDispRam[256+i];
ce_ram=1;
ttt[i]=tp;
}
CHPCON|=0x10;
}
nnDisp8x12_1();
nnDisp8x12_2();
nnDisp8x12_3();
nnDisp8x12_4();
}
else
{
ce1_138=1;
ce2_138=1;
ce3_138=1;
ce4_138=1;
f_rdram=1;
ce_ram=1;
}
}
}
/*****************************/
/**函數(shù)名: 喂狗程序
/**參數(shù) : 無(wú)
/*****************************/
void WDFeed(void)
{
wdi=0;
wdi=1;
}
/*****************************/
/**函數(shù)名: 第一個(gè)8行顯示程序
/**參數(shù) : 無(wú)
/*****************************/
void nnDisp8x12_1(void)
{
uchr serialcnt=0,columncnt=0,linecnt=0,tp=0;
uint tmp=0;
for(linecnt=0;linecnt<8;linecnt++) //8行
{
for(columncnt=0;columncnt<12;columncnt++) //j個(gè)595串聯(lián)
{
tmp=linecnt*12+columncnt;
tp=tt[tmp];
for(serialcnt=0;serialcnt<8;serialcnt++)//單個(gè)595
{
sck=0;
ser=tp&0x80;
tp=tp*2;
sck=1;
}
}
P3=P3&0x80|0x70|linecnt;
rck=0;
rck=1;
}
}
/*****************************/
/**函數(shù)名: 第二個(gè)8行顯示程序
/**參數(shù) : 無(wú)
/*****************************/
void nnDisp8x12_2(void)
{
uchr serialcnt=0,columncnt=0,linecnt=0,tp=0;
uint tmp=0;
for(linecnt=0;linecnt<8;linecnt++) //8行
{
for(columncnt=0;columncnt<12;columncnt++) //j個(gè)595串聯(lián)
{
tmp=96+linecnt*12+columncnt;
tp=tt[tmp];
for(serialcnt=0;serialcnt<8;serialcnt++)//單個(gè)595
{
sck=0;
ser=tp&0x80;
tp=tp*2;
sck=1;
}
}
P3=P3&0x80|0x68|linecnt;
rck=0;
rck=1;
}
}
/*****************************/
/**函數(shù)名: 第三個(gè)8行顯示程序
/**參數(shù) : 無(wú)
/*****************************/
void nnDisp8x12_3(void)
{
uchr serialcnt=0,columncnt=0,linecnt=0,tp=0;
uint tmp=0;
for(linecnt=0;linecnt<8;linecnt++) //8行
{
for(columncnt=0;columncnt<12;columncnt++) //j個(gè)595串聯(lián)
{
tmp=192+linecnt*12+columncnt;
if(tmp<256)
{
tp=tt[tmp];
}
else
{
tp=ttt[tmp-256];
}
for(serialcnt=0;serialcnt<8;serialcnt++)//單個(gè)595
{
sck=0;
ser=tp&0x80;
tp=tp*2;
sck=1;
}
}
P3=P3&0x80|0x58|linecnt;
rck=0;
rck=1;
}
}
/*****************************/
/**函數(shù)名: 第四個(gè)8行顯示程序
/**參數(shù) : 無(wú)
/*****************************/
void nnDisp8x12_4(void)
{
uchr serialcnt=0,columncnt=0,linecnt=0,tp=0;
uint tmp=0;
for(linecnt=0;linecnt<8;linecnt++) //8行
{
for(columncnt=0;columncnt<12;columncnt++) //j個(gè)595串聯(lián)
{
tmp=288+linecnt*12+columncnt;
tp=ttt[tmp-256];
for(serialcnt=0;serialcnt<8;serialcnt++)//單個(gè)595
{
sck=0;
ser=tp&0x80;
tp=tp*2;
sck=1;
}
}
P3=P3&0x80|0x38|linecnt;
rck=0;
rck=1;
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -