求无字库12864液晶显示图像的51单片机程序,C语言版的

求无字库12864液晶显示图像的51单片机程序,C语言版的,第1张

标准的一般都是这个程序

#include <reg52.h>

#include <math.h>

#define lcd_data P1

sbit cs1=P2^3

sbit cs2=P2^4

sbit di=P2^0

sbit rw=P2^1

sbit e=P2^2

void delay(int t)

{

int i,j,k

for(i=0i<ti++)

{ for(j=0j<255j++)

k++}

}

void write_com_l(unsigned int command)

{

cs1=1

rw=0

di=0

lcd_data=command

e=1

e=0

cs1=0

}

void write_data_l(unsigned int data0)

{

cs1=1

rw=0

di=1

lcd_data=data0

e=1

e=0

cs1=0

}

void write_com_r(unsigned int command)

{

cs2=1

rw=0

di=0

lcd_data=command

e=1

e=0

cs2=0

}

void write_data_r(unsigned int data0)

{

cs2=1

rw=0

di=1

lcd_data=data0

e=1

e=0

cs2=0

}

void disp0()

{

unsigned int i,j

for (i=0i<8i++)

{write_com_l(0xb8+i)

write_com_r(0xb8+i)

write_com_l(0x40)

write_com_r(0x40)

for (j=0j<64j++)

{write_data_l(0xaa)

write_data_r(0xaa)

}

}

}

void disp1()

{

unsigned int i,j

for (i=0i<8i++)

{write_com_l(0xb8+i)

write_com_r(0xb8+i)

write_com_l(0x40)

write_com_r(0x40)

for (j=0j<64j++)

{write_data_l(0x55)

write_data_r(0x55)

}

}

}

void disp2()

{

unsigned int i,j

for (i=0i<8i++)

{write_com_l(0xb8+i)

write_com_r(0xb8+i)

write_com_l(0x40)

write_com_r(0x40)

for (j=0j<64j++)

{write_data_l(0x0f)

write_data_r(0x0f)

}

}

}

void disp3()

{

unsigned int i,j

for (i=0i<8i++)

{write_com_l(0xb8+i)

write_com_r(0xb8+i)

write_com_l(0x40)

write_com_r(0x40)

for (j=0j<64j++)

{write_data_l(0xf0)

write_data_r(0xf0)

}

}

}

void init_lcd() //初始化LCD清屏

{

write_com_l(0x3e)

write_com_r(0x3e)

write_com_l(0x3f)

write_com_r(0x3f)

write_com_l(0xc0)

write_com_r(0xc0)

write_com_l(0xb8)

write_com_r(0xb8)

write_com_l(0x40)

write_com_r(0x40)

for(1)

{

disp0()

delay(0x0ff)

disp1()

delay(0x0ff)

disp2()

delay(0x0ff)

disp3()

delay(0x0ff)

}

}

void main()

{

IE=0x81

init_lcd()

}

void innt0 () interrupt 0

{

do {}while(1)

}

乱码,还是色块。液晶屏是不能直接显示的,一般都有驱动芯片。首橡洞誉先你要颤裤搞清楚的驱动芯片外接什么总线。RS232还是PCI,还是其他什么的。然后再你的梁段系统里面吧驱动加载上去。

void main( void )

{

WDTCTL=WDTPW+WDTHOLD //关闭看门

BoardConfig(0xba) //关闭数码管、流水灯、4245

Init_IO() //初始化梁笑IO

while(1){

Init_LCD() //初始化液晶

/////////枣雀//凳渣早////////

// 12864液晶/

LCD_Disp_Shuzi(0, 24, zifu1) //1

LCD_Disp_Shuzi(0, 32, zifu2) //2

LCD_Disp_Shuzi(0, 40, zifu8) //8

LCD_Disp_Shuzi(0, 48, zifu6) //6

LCD_Disp_Shuzi(0, 56, zifu4) //4

LCD_Disp_Hanzi(0,64, hanzi100) //液

LCD_Disp_Hanzi(0,80, hanzi101) //晶

......我有完整的程序但是发不出来。。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12335749.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存