基于STM32F103单片机驱动控制器为ST7541的驱动代码,使用软件为KEIL uVision 4.0
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 9239 2012-03-15 19:53 testHARDWARELCDlcd.c
文件 1165 2012-03-15 19:52 testHARDWARELCDlcd.h
文件 1221 2012-03-14 09:59 testHARDWARELEDled.c
文件 229 2012-03-09 15:02 testHARDWARELEDled.h
文件 2038 2011-01-12 20:34 testSYSTEMdelaydelay.c
文件 876 2011-01-12 20:34 testSYSTEMdelaydelay.h
文件 6885 2011-01-12 20:34 testSYSTEMsyssys.c
文件 3839 2011-01-12 20:34 testSYSTEMsyssys.h
文件 3342 2011-04-17 15:42 testSYSTEMusartusart.c
文件 1054 2011-04-17 15:45 testSYSTEMusartusart.h
文件 148560 2012-03-15 20:17 testUSERdelay.crf
文件 2021 2012-03-15 20:17 testUSERdelay.d
文件 172724 2012-03-15 20:17 testUSERdelay.o
文件 19 2012-03-15 19:32 testUSERExtDll.iex
文件 28886 2012-03-15 19:54 testUSERJlinkLog.txt
文件 154654 2012-03-15 20:17 testUSERlcd.crf
文件 2017 2012-03-15 20:17 testUSERlcd.d
文件 180716 2012-03-15 20:17 testUSERlcd.o
文件 150240 2012-03-15 20:17 testUSERled.crf
文件 1985 2012-03-15 20:17 testUSERled.d
文件 173828 2012-03-15 20:17 testUSERled.o
文件 35249 2012-03-15 20:17 testUSERSTM32F10x.lst
文件 5176 2012-03-15 20:17 testUSERSTM32F10x.o
文件 11307 2009-05-07 14:40 testUSERSTM32F10x.s
文件 152134 2012-03-15 20:17 testUSERsys.crf
文件 1953 2012-03-15 20:17 testUSERsys.d
文件 177848 2012-03-15 20:17 testUSERsys.o
文件 35036 2012-03-15 20:17 testUSER est.axf
文件 899 2012-03-15 20:17 testUSER est.c
文件 156353 2012-03-15 20:17 testUSER est.crf
............此处省略34个文件信息
#include
#include “lcd.h“
//#include “pic.h“
void check_busy(void)
{
u8 read_data=0xff;
data_busout(0xff);
GPIOB->CRH&=0X00000000;
GPIOB->CRH|=0X88888888;
CD(0);
RW(1);
CSB(0);
while((read_data&0x80)==0x80)
{
LCDEN(1);
__nop();
__nop();
// delay_us(2);
read_data=data_busin;
LCDEN(0);
}
LCDEN(0);
CSB(1);
GPIOB->CRH&=0X00000000;
GPIOB->CRH|=0X33333333;
}
//写命令到寄存器
void write_com(u8 cmd)
{
check_busy();
CD(0);
CSB(0);
RW(0);
data_busout(cmd);
LCDEN(1);
__nop();
__nop();
// delay_us(2);
LCDEN(0);
__nop();
__nop();
// delay_us(2);
CSB(1);
}
//写数据到DDRAM
void write_data(u8 data)
{
check_busy();
CD(1);
RW(0);
CSB(0);
data_busout(data);
LCDEN(1);
__nop();
__nop();
// delay_us(2);
LCDEN(0);
__nop();
__nop();
// delay_us(2);
CSB(1);
}
//写页地址
void Set_Page_Address(unsigned char dat)
{
u8 temp;
temp=0x0f&dat;
write_com(0xb0|temp);
}
//写列地址
void Set_Colume_Address(unsigned char dat)
{
unsigned char temp;
temp=dat>>4;
temp=0x07&temp;
write_com(0x10|temp); //送列地址高三位
temp=0x0f&dat;
write_com(temp); //送列地址低四位
}
//显示点阵
void Display_Grid(u8 data1u8 data2)
{
u8 ij;
for(i=0;i<16;i++)
{
Set_Page_Address(i);
Set_Colume_Address(0x00);
for(j=0;j<64;j++)
{
write_data(data1);
write_data(data1);
write_data(data2);
write_data(data2);
}
}
}
//设置页列地址
//说明:X为地址(值0~16),y为列地址(值0~128列)
void Set_XY_Address(u8 xu8 y)
{
Set_Page_Address(x);
Set_Colume_Address(y);
}
//清屏幕
void LCD_CLR(void)
{
unsigned char ij;
for(i=0;i<0x10;i++)
{
Set_XY_Address(i0);
for(j=0;j<0x80;j++)
{
write_data(0x00);
write_data(0x00);
}
}
}
//显示图形
//说明:此函数已经假设了pic数组大小为128*16=2048
void Display_Picture(u8 *pic)
{
unsigned char ij;
for(i=0;i<0x10;i++) //写16页数据
{
Set_Page_Address(i);
Set_Colume_Address(0x00);
for(j=0;j<0x80;j++) //写128列数据
{
write_data(*(pic+0x80*i+j));
write_data(*(pic+0x80*i+j));
}
}
}
//显示汉字(位置:x0y0 字体大小:xy 行列数:ylxl)
// 说明:
// 位置:x0为页地址(0~15),y0为列地址(0~127)
// 字体大小:x为16列(汉字大小为16X16竖直方向为16列);y为2页,其值为2
// 对于英文和数字,大小为宽X高=8X16,因此x=8,y=2
void Display_Chinese(u8 x0u8 y0u8 xu8 yu8 xlu8 ylu8 *chn)
{
unsigned char ijnm;
for(n=0;n {
for(m=0;m {
for(i=0;i {
Set_XY_Address(x0+i+n*yy0+m*x); //设置地址,每个汉字之间有间隔
for(j=0;j {
write_data(*(chn+j+x*i+m*x*y+n*xl*x*y));
write_data(*(chn+j+x*i+m*x*y+n*xl*x*y));
}
}
}
}
}
//显示ASCII码(8X16点阵)
void Display_Char(u8 x0u8 y0u8 *pt)
{
unsigned char ij;
for(i=0;i<2;i++) //执行两次,写完一个ASCII码
{
Set_XY_Address(x0+iy0);
for(j=0;j<8;j++) //执行一次,写完一列宽X高=1*8的最小操作单元,执行八次写完一个ASCII码上半部分
{
write_data(*(pt+j+8*i));
write_data(*(pt+j
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 9239 2012-03-15 19:53 testHARDWARELCDlcd.c
文件 1165 2012-03-15 19:52 testHARDWARELCDlcd.h
文件 1221 2012-03-14 09:59 testHARDWARELEDled.c
文件 229 2012-03-09 15:02 testHARDWARELEDled.h
文件 2038 2011-01-12 20:34 testSYSTEMdelaydelay.c
文件 876 2011-01-12 20:34 testSYSTEMdelaydelay.h
文件 6885 2011-01-12 20:34 testSYSTEMsyssys.c
文件 3839 2011-01-12 20:34 testSYSTEMsyssys.h
文件 3342 2011-04-17 15:42 testSYSTEMusartusart.c
文件 1054 2011-04-17 15:45 testSYSTEMusartusart.h
文件 148560 2012-03-15 20:17 testUSERdelay.crf
文件 2021 2012-03-15 20:17 testUSERdelay.d
文件 172724 2012-03-15 20:17 testUSERdelay.o
文件 19 2012-03-15 19:32 testUSERExtDll.iex
文件 28886 2012-03-15 19:54 testUSERJli
文件 154654 2012-03-15 20:17 testUSERlcd.crf
文件 2017 2012-03-15 20:17 testUSERlcd.d
文件 180716 2012-03-15 20:17 testUSERlcd.o
文件 150240 2012-03-15 20:17 testUSERled.crf
文件 1985 2012-03-15 20:17 testUSERled.d
文件 173828 2012-03-15 20:17 testUSERled.o
文件 35249 2012-03-15 20:17 testUSERSTM32F10x.lst
文件 5176 2012-03-15 20:17 testUSERSTM32F10x.o
文件 11307 2009-05-07 14:40 testUSERSTM32F10x.s
文件 152134 2012-03-15 20:17 testUSERsys.crf
文件 1953 2012-03-15 20:17 testUSERsys.d
文件 177848 2012-03-15 20:17 testUSERsys.o
文件 35036 2012-03-15 20:17 testUSER est.axf
文件 899 2012-03-15 20:17 testUSER est.c
文件 156353 2012-03-15 20:17 testUSER est.crf
............此处省略34个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)