"); //-->
/******************************************************************************
* Project :LCD12864 Driver For STM32F10X
* Author :cch
* Version :V1.0
* Date :2009.11.4
* Description :STM32F103的12864液晶演示程序
********************************************************************************/
#include"stm32f10x_gpio.h"
#include"stm32f10x_rcc.h"
#include"12864header.h"
GPIO_InitTypeDef GPIO_InitStructure;
#define DELAY_2N 0
void Init_lcd(void)
{
//***************液晶接口初始化***********//
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOE, &GPIO_InitStructure);
//******************液晶初始化**************//
delay(0xFFFFF);
Sendcommand(0x30);//基本指令集
delay(0xAFFFF);
// Sendcommand(0x04);//点设定:显示字符/光标从左到右移位,DDRAM地址加1
//delay(3700);
Sendcommand(0x0c);//显示打开,光标关闭,反白关
delay(0xAFFFF);
Sendcommand(0x01);//清除显示内容
// Sendcommand(0x02); //DDRAM地址归位
}
/*--------------------------------------------------
函数说明:写命令到液晶
---------------------------------------------------*/
void Sendcommand(unsigned char cmd)
{
unsigned char i;
delay(2000);
for(i=0;i<5;i++)
{
set_sid();
clr_clk();
set_clk();
}
for(i=0;i<3;i++)
{
clr_sid();
clr_clk();
set_clk();
}
SendEData(cmd);
}
/*--------------------------------------------------
函数说明:写数据到液晶
---------------------------------------------------*/
void SendEData(unsigned char Data)
{
unsigned char q,w,i;
w=Data;
q=2;
set_cs() ;
while(q--)
{
for(i=0;i<4;i++)
{
w="Data"&0x80;
if(w==0x80)
set_sid();
else
clr_sid();
clr_clk();
set_clk();
Data<<=1;
}
for(i=0;i<4;i++)
{
clr_sid();
clr_clk();
set_clk();
}
}
clr_cs();
}
/*--------------------------------------------------
函数说明:发送地址符
---------------------------------------------------*/
void Sendaddress(unsigned char D)
{
unsigned char i;
for(i=0;i<5;i++)
{
set_sid();
clr_clk();
set_clk();
}
for(i=0;i<3;i++)
{
clr_sid();
clr_clk();
set_clk();
}
SendEData(D);
}//send Address
/*--------------------------------------------------
函数说明:写汉字
---------------------------------------------------*/
void Sendword(unsigned char *hanzi,unsigned char dizhi)
{
unsigned char *h;
unsigned char i;
Sendaddress(dizhi);
for(h=hanzi;*h!=0;h++)
{
for(i=0;i<5;i++)
{
set_sid();
clr_clk();
set_clk();
}
clr_sid();
clr_clk();
set_clk();
set_sid();
clr_clk();
set_clk();
clr_sid();
clr_clk();
set_clk();
SendEData(*h);
}
}//send hanzi
/*--------------------------------------------------
函数说明:写字符
---------------------------------------------------*/
void Sendsignal(unsigned char x,unsigned char dizhi2)
{
unsigned char i;
Sendaddress(dizhi2);
for(i=0;i<5;i++)
{
set_sid();
clr_clk();
set_clk();
}
clr_sid();
clr_clk();
set_clk();
set_sid();
clr_clk();
set_clk();
clr_sid();
clr_clk();
set_clk();
SendEData(x);
}
//========================================================
void delay(vu32 cnt)//延时函数
{
cnt <<= DELAY_2N;
while (cnt--);
}
//========================================================
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
Samba_24学时教程16
电力系统如何满足小型卫星的密度需求
Samba_24学时教程19
格罗方德Q3业绩预测不及预期
瑞萨电子通过下一代功率FET将GaN推向千瓦级
5MHz时钟信号发生器电路
Vmware和Vxworks的问题
Samba_24学时教程17
正弦波振荡器电路
可溶解电池、可回收 PCB——这是怎么回事?
[原创]电源问题叫给合泰电源管理
AMD在德国零售市场销量碾压Intel,占比超92%
9.5亿美元收购恩智浦MEMS传感器业务,意法半导体在传感器领域的地位再升级
有关9200AIC的问题,向大家求教!
如何确定数字控制系统的ADC/DAC性能
SIMPLE SWITCHER易电源LMZ2电源模块系列介绍
Samba_24学时教程18
Samba_24学时教程15
未来在你手中-ARM,数字世界架构提供商(东南大学)
人工智能市场已经在整合吗?
[讨论]大家评一评这个项目可不可行?发表一下看法!
采用TcA965的门限信号发生器电路
采用晶间管的多谐振荡器电路
创新推动了电压基准的技术发展水平
频率可调节的多谐振荡器电路
走进MIPS(东南大学)
Microchip推出Adaptec SmartRAID 4300系列加速器提供安全的可扩展NVMe RAID存储解决方案
SIMPLE SWITCHER易电源均流特性的演示
光互连光交换CPO是本土超节点集群“以量补质”的破局机遇
小弟第一次接触Tornado&windML开发包,请教一个非常简单的问题,在线等!!