當前位置:編程學習大全網 - 編程語言 - 編程設置

編程設置

# include & ltat89x 51 . h & gt;

# include & ltintrins.h & gt

#定義uchar無符號字符

void time init();計時器啟動

void lcdreset(void);液晶初始化

void delay 3 ms(void);耽擱

void lcdwc(無符號char c);液晶寫命令

void lcdwd(無符號字符d);液晶寫入數據

無效設定點(uchar位置);指定LCD字符位置

void LCD waitidle(void);相等液晶空閑

sbit RS pin = p2^0;液晶RS引腳

sbit rw pin = p2^1;液晶RW引腳

sbit epin = p2^2;液晶使能引腳

uchar ms=0,buf = 60

無效總管(無效)

{

uchar ten,sec

time init();

lcdreset();

setpos(0x 06);

LCD wd(' t ');在液晶屏上寫下字符“t”。

LCD wd(' I ');

LCD wd(' m ');

LCD wd(' e ');

setpos(0x 47);

LCD wd(' 6 ');

LCD wd(“0”);

LCD wd(' s ');

while(1)

{

setpos(0x 47);

ten = buf/10;

sec = buf % 10;

LCD wd(0x 30+ten);

LCD wd(0x 30+秒);

delay 3 ms();

}

}

void timeinit()

{

TH0 = 0x3c定時器高值

TL0 = 0xB0定時器低值,這兩個值和妳用的晶振有關。

TMOD = 0x 01;定時器0設置為13位定時模式。

EA = 1;啟用中斷

ET0 = 1;啟用定時器0中斷

}

Void lcdreset(void) LCD復位初始化,清除屏幕。

{

delay 3 ms();

LCD WC(0x 38);

delay 3 ms();

LCD WC(0x 38);

delay 3 ms();

LCD WC(0x 38);

delay 3 ms();

LCD WC(0x 08);

LCD WC(0x 01);

LCD WC(0x 06);

delay 3 ms();

LCD WC(0x0c);

}

Void delay3ms(void)延遲功能與妳使用的晶振大小有關。

{

uchar i,j,k;

for(I = 0;我& lt3;i++)

for(j = 0;j & lt64;j++)

for(k = 0;k & lt51;k++);

}

Void lcdwc(unsigned char c)內容與您使用的LCD有關,取決於應用程序文檔的時間順序。

{

LCD waitidle();

RS pin = 0;

rw pin = 0;

P0 = c;

EPIN = 1;

_ nop _();

EPIN = 0;

}

Void LCD WD (unsigned char)內容與您使用的LCD有關,取決於應用文檔的時間順序。

{

LCD waitidle();

RS pin = 1;

rw pin = 0;

P0 = d;

EPIN = 1;

_ nop _();

EPIN = 0;

}

void lcdwaitidle(void)

{

烏恰爾壹世;

P0 = 0xff

RS pin = 0;

rw pin = 1;

EPIN = 1;

for(I = 0;我& lt20;i++)

如果((P0 & amp0X80)==0)

EPIN = 0;

}

無效設定點(uchar位置)

{

lcdwc(位置+0x 80);

}

Voidtime r0 (void)中斷1使用1定時器中斷入口函數,時間到了就會執行它的內容。

{

TH0 = 0x3c

TL0 = 0xb0

ms++;

如果(毫秒& gt=20)

{

ms = 0;

buf-;

if(buf & lt;=0)

buf = 60

}

}

  • 上一篇:關於中式婚禮策劃方案模板5篇
  • 下一篇:“智所驅,藝路行”——藝賽旗九周年合作夥伴會議圓滿結束
  • copyright 2024編程學習大全網