zcq353 发表于 2005-7-11 22:10:08

[求助]YM12232B的C语言程序

<P>最近老师让编译个LCD的C语言程序,弄的很郁闷,有没有哪位哥哥,姐姐做过 ,帮小弟个忙。</P>
<P>hrbhustzhangchaoqi@163.com</P>

cpubbs 发表于 2005-7-11 22:13:10

这里有12232F的程序,没有用过12232B呢,我看看能不能找到,找到的话我贴上来发给你!

windy1985 发表于 2005-8-16 23:17:02

<P>//12232B
#include&lt;ZIKU_new.c&gt;
#define i_mXBYTE
#define i_sXBYTE
#define d_mXBYTE
#define d_sXBYTE</P>
<P>/*void delay(uint nn);
void write_char(x,y,array);
void write_chinese(x,y,array);
void lcd_init(void);
void clrscr(void);
void lw(uchar x,uchar y,uchar dd);
void send_command(uchar cmd);
*/
sbit di=P2^7;
sbit e2=P2^6;
sbit e1=P2^5;</P>
<P>void delay(uint nn){
unsigned int mm;
while(nn--&gt;0)
for(mm=0;mm&lt;5000;mm++){ };
}</P>
<P>
void send_command(uchar cmd)
{
i_m=cmd;
i_s=cmd;
}</P>
<P>void lw(uchar x,uchar y,uchar dd)
{
if (x&lt;61)
{
i_m=0xb8|y;
i_m=0x00|x;
d_m=dd;
}
else
{
   x=x-61;
   i_s=0x00|x;
   i_s=0xb8|y;
   d_s=dd;
}
}</P>
<P>void clrscr(void)
{
uchar x,y;
for (y=0;y&lt;4;y++)
{
   for (x=0;x&lt;122;x++) lw(x,y,0);
}
}</P>
<P>void lcd_init(void)
{</P>
<P> send_command(0xe2);//reset
send_command(0xae);//off display
send_command(0xc0);//set display start line
send_command(0xa4);//off static drive
send_command(0x00);//set colume address
send_command(0xa9);//1/32 duty
send_command(0xa0);//adc select rightward output
send_command(0xee);//read modify write off
send_command(0xaf);//on display</P>
<P>}</P>
<P>void write_chinese(x,y,array)
unsigned char x,y;
unsigned char array[];
{
unsigned char j,dd;   
for(j=0;j&lt;32;j++)
{
dd=array;
if(j&lt;16) lw(x+j,y,dd);
else   lw(x+j-16,y+1,dd);
}
}   

void write_char(x,y,array)
unsigned char x,y;
unsigned char array[];
{
unsigned char j,dd;   
for(j=0;j&lt;16;j++)
{
dd=array;
if(j&lt;8) lw(x+j,y,dd);
else   lw(x+j-8,y+1,dd);
}
}
</P>

windy1985 发表于 2005-8-16 23:19:30

<P>从网上找到的,我自己加了字库和几个子程序~按我的译码接好电路应该就可以用!</P>
页: [1]
查看完整版本: [求助]YM12232B的C语言程序