这个是我从网上下载的程序稍加改动得到的,希望对朋友们有用/******** 液晶控制器 st7565 程序************/ #include <> #include <> #include <> #include "" #define uchar unsigned char #define uint unsigned int sbit SDA=P2^1; //lcd-data sbit SCK=P2^3; //lcd-clk sbit DI=P2^0; //lcd-A0 sbit CS=P2^2; //lcd-cs /*======== 写一个字节的命令==============*/ mand(uchar cmd) { uint i; DI=0; SCK=0; CS=0; for(i=0;i<8;i++) { SCK=0; _nop_(); _nop_(); SDA=cmd&0x80; cmd=cmd<<1; _nop_(); _nop_(); SCK=1; _nop_(); _nop_(); } CS=1; } /*======== 写一个字节的数据==============*/ write_data(uchar dat) { uint i; DI=1; SCK=0; CS=0; for(i=0;i<8;i++) { SCK=0; _nop_(); _nop_(); SDA=dat&0x01; dat=dat>>1; _nop_(); _nop_(); SCK=1; _nop_(); _nop_(); } CS=1; } /////////////////////////////// 液 晶显示器初始化//////////////////////////////////////////////// void init_1815(void) { mand(0xaf); //0xaf 开显示 0xae 关显示 mand(0x40); // 设置显示起始行 0x40-0x7f 共 64行//mand(0xa0); //RAM 列地址与列驱动同顺序 0-131 mand(0xa1); // 或者设置 RAM 列地址与列驱动逆 131-00xb0-0xb8 顺序 mand(0xa6); //0xa6 正向显示 0xa7 为反向显示 mand(0xa4); //0xa4 正常显示 0xa5 为显示全亮 mand(0xa2); //0xa2LCD 偏压比为 1/9 0xa3 为偏压比 1/7 mand(0xc8); // 行驱动方向为反向//mand(0xc0); // 或者设置行驱动方向为正向 mand(0x2f); // 启动内部 LCD 驱动电源 0x2 8 升压电压调节器电压跟随器关 0x2c 升压开电压调节器电压跟随器关 0x2e 升压电压调节器开电压跟随器关 x2f 升压电压调节器电压跟随器开 mand(0x25); // 内部电阻比 mand(0xf8); // 升压电路设置指令代码代码为双字节, 第一字节为指令码 0xf8 mand(0x00); // 倍压设置为 4x 第二字节为值 0x00 为 为 5x0x02 为 6x //mand(0x01
st7565显示汉字程序 来自淘豆网www.taodocs.com转载请标明出处.