资源简介
STM32采用并口、串口驱动12864,根据STM32的资源配置,任选两种方式都可以!

代码片段和文件信息
#include
#include “12864.h“
#include “delay.h“
void LCD12864_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA &GPIO_InitStructure);
delay_init();
/*--------------------LCD基本指令-----------------------*/
delay_ms(2);
Write_LCD_Command(0x30); //30--基本指令动作
delay_ms(2);
Write_LCD_Command(0x0c); //光标右移画面不动
delay_ms(2);
Write_LCD_Command(0x01); //清屏
delay_ms(5); //清屏时间较长
Write_LCD_Command(0x06); //显示打开,光标开,反白关
delay_ms(2);
Draw_Clear(); // 清屏
}
/*********************************************************
函数名:Send_Byte()
返回值:无
功 能: 写数据到LCD
*********************************************************/
void Send_Byte(u8 zdata)
{
u16 i;
for(i=0; i<8; i++)
{
if((zdata << i) & 0x80)
SID_H;
else
SID_L;
SCLK_H;
SCLK_L;
}
}
/*********************************************************
函数名:Receive_Byte()
返回值:temp1+temp2
功 能: 读LCD数据
*********************************************************/
u8 Receive_Byte(void)
{
u8 itemp1temp2value;
temp1=0;
temp2=0;
for(i=0;i<8;i++)
{
temp1=temp1<<1;
SCLK_L;
SCLK_H;
SCLK_L;
if(PAout(7)==1)
{
temp1++;
}
}
for(i=0;i<8;i++)
{
temp2=temp2<<1;
SCLK_L;
SCLK_H;
SCLK_L;
if(PAout(7)==1)
{
temp2++;
}
}
temp1=0xf0&temp1;
temp2=0x0f&temp2;
value=temp1+temp2;
return value ;
}
/*********************************************************
函数名:Check_Busy()
返回值:无
功 能: LCD忙检查
*********************************************************/
void Check_Busy(void)
{
do
Send_Byte(0xfc); //11111RW(1)RS(0)0
while(0x80&Receive_Byte());
}
/*********************************************************
函数名: Write_LCD_Command()
返回值:无
功 能: 写命令到LCD
*********************************************************/
void Write_LCD_Command(u8 cmdcode)
{
CS_H;
Check_Busy();
Send_Byte(0xf8);
Send_Byte(cmdcode & 0xf0);
Send_Byte((cmdcode << 4) & 0xf0);
delay_ms(2);
CS_L;
}
/*********************************************************
函数名: Write_LCD_Data()
返回值:无
功 能: 写显示内容到LCD
*********************************************************/
void Write_LCD_Data(u8 Dispdata)
{
CS_H;
Check_Busy();
Send_Byte(0xfa); //11111RW(0)RS(1)0
Send_Byte(Dispdata & 0xf0);
Send_Byte((Dispdata << 4) & 0xf0);
delay_ms(2);
CS_L;
}
/*****
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-03-23 17:24 12864\12864\
目录 0 2017-07-28 14:57 12864\12864\串行\
文件 10945 2017-05-15 16:21 12864\12864\串行\12864.c
文件 1235 2017-05-15 16:22 12864\12864\串行\12864.h
目录 0 2017-03-23 17:24 12864\12864\并行\
文件 8094 2017-03-22 11:26 12864\12864\并行\display12864.c
文件 1388 2016-09-08 09:18 12864\12864\并行\display12864.h
目录 0 2019-03-07 14:39 12864\
相关资源
- STM32F103RC+ADC+DMA多通道采样LCD显示
- I2C读写AT24C02 基于STM32F103 cube116540
- 基于stm32f103ve的程序——跑马灯实验
- 基于STM32RCT6的步进电机驱动程序
- stm32f407上的两个can发送和接收例程
- STM32 led 时钟
- STM32 2.4G通信例程
- 直流无刷电机方波驱动 stm32 例程代码
- STM32中文资料
- STM32蓝牙和串口程序
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- stm32f030 IAP Demo(原创)
- STM32基于rt_thread操作系统的SDHC卡文件
- NRF24L01实现51与STM32双向通讯
- STM32F103 串口程序(完整版)
- stm32 ds18b20 温度传感器 测试通过
- stm32官方例程
- STM32F103定时器中断程序
- [免费]基于stm32f103ze 的OLED驱动代码
- STM32F103RBT6驱动UC1698控制芯片的160160黑
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- STM32定时器使用入门。看了这个程序会
- SIM908 SDIO FSMC STM32 FIFO
- STM32F103 CC2500完整驱动(模拟SPI)
- AD7606采集程序
- stm32 用SPI 方式读写 SDHC
- stm32通过DMA方式采集ADC数据
- 意法半导体STM全系列微控制器STM32ST
- 基于STM32芯片的SX1278 驱动 LORA.rar
评论
共有 条评论