专栏中心

EEPW首页 > 专栏 > 基于STM32的12864的串行程序

基于STM32的12864的串行程序

发布人:0750long 时间:2010-02-03 来源:工程师 发布文章
基于STM32的12864的串行程序

 

 

/******************************************************************************
* 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

资源下载 2007-02-16

电力系统如何满足小型卫星的密度需求

Samba_24学时教程19

资源下载 2007-02-16

格罗方德Q3业绩预测不及预期

EDA/PCB 2025-08-07

瑞萨电子通过下一代功率FET将GaN推向千瓦级

Samba_24学时教程17

资源下载 2007-02-16

可溶解电池、可回收 PCB——这是怎么回事?

AMD在德国零售市场销量碾压Intel,占比超92%

嵌入式系统 2025-08-07

9.5亿美元收购恩智浦MEMS传感器业务,意法半导体在传感器领域的地位再升级

如何确定数字控制系统的ADC/DAC性能

SIMPLE SWITCHER易电源LMZ2电源模块系列介绍

Samba_24学时教程18

资源下载 2007-02-16

Samba_24学时教程15

资源下载 2007-02-16

未来在你手中-ARM,数字世界架构提供商(东南大学)

视频 2011-04-25

人工智能市场已经在整合吗?

智能计算 2025-08-06

创新推动了电压基准的技术发展水平

视频 2011-03-29

走进MIPS(东南大学)

视频 2011-04-26

Microchip推出Adaptec SmartRAID 4300系列加速器提供安全的可扩展NVMe RAID存储解决方案

SIMPLE SWITCHER易电源均流特性的演示

视频 2011-04-15

光互连光交换CPO是本土超节点集群“以量补质”的破局机遇

更多 培训课堂
更多 焦点
更多 视频

技术专区