cpubbs论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

LabVIEW+单片机学习套件全套教程资料下载[免费]LabVIEW论坛精华列表贴USB0816数据采集卡《LabVIEW宝典》
LabWindows/CVI论坛精华贴NET0816以太网数据采集卡RC0210远程设备授权系统 关闭关停锁定打开设备 户外分布式数据采集
NET1624低速高精度以太网数据采集卡WIFI0824SD无线WIFI网络数据采集卡脱机运行 SD存储 小尺寸微型 串口采集远程采集 安卓 手持移动采集 纪录仪
查看: 2588|回复: 3

[求助]YM12232B的C语言程序

[复制链接]
发表于 2005-7-11 22:10:08 | 显示全部楼层 |阅读模式
<>最近老师让编译个LCD的C语言程序,弄的很郁闷,有没有哪位哥哥,姐姐做过 ,帮小弟个忙。</P>
<>hrbhustzhangchaoqi@163.com</P>
发表于 2005-7-11 22:13:10 | 显示全部楼层
这里有12232F的程序,没有用过12232B呢,我看看能不能找到,找到的话我贴上来发给你!
发表于 2005-8-16 23:17:02 | 显示全部楼层
<>//12232B
#include&lt;ZIKU_new.c&gt;
#define i_m  XBYTE[0x370e]
#define i_s  XBYTE[0x570e]
#define d_m  XBYTE[0xb70e]
#define d_s  XBYTE[0xd70e]</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>
<>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[j];
  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[j];
  if(j&lt;8) lw(x+j,y,dd);
  else     lw(x+j-8,y+1,dd);
}
}  
</P>

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2005-8-16 23:19:30 | 显示全部楼层
<>从网上找到的,我自己加了字库和几个子程序~按我的译码接好电路应该就可以用!</P>
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cpubbs论坛. ( 粤ICP备09171248号 )

GMT+8, 2025-4-6 13:18 , Processed in 0.585651 second(s), 8 queries , Gzip On, File On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表