STM8 SPI驱动LCD12864

发布者:DataExplorer最新更新时间:2020-06-28 来源: eefocus关键字:STM8  SPI驱动  LCD12864 手机看文章 扫描二维码
随时随地手机看文章

系统功能

利用STM8内部的SPI通讯总线来驱动LCD12864。   


硬件设计

 

LCD12864电路原理图 

软件设计

/*********************************************************************


目标系统: 基于STM8单片机 

应用软件: Cosmic CxSTM8 

*********************************************************************/ 

#include

#include


void st7920LcdInit(void)

{

      u8 i;

      SPI_Init();

      delay_ms(100);

      PE_DDR|=0x20;

      PE_CR1|=0x20;

      PE_CR2|=0x20;

      sendCodeST7920(0x0c);//整体显示

      sendCodeST7920(0x01);//清屏

      sendCodeST7920(0x02);

      for(i=0;i<64;i++)

            lcd_buffer[i]=' ';

      //memset(lcd_buffer,' ',sizeof(lcd_buffer));

}


void sendCodeST7920(u8 Lcd_cmd)

{

      E_CLK

      LCD_DELAY()

      E_SET

      SPI_sendchar(0xF8);

      SPI_sendchar(Lcd_cmd & 0xF0);

      SPI_sendchar(Lcd_cmd << 4);

      LCD_DELAY()

      E_CLK

      LCD_DELAY()

}


void sendDataST7920(u8 Lcd_data)

{

      E_CLK

      LCD_DELAY()

      E_SET

      SPI_sendchar(0xFA);

      SPI_sendchar(Lcd_data & 0xF0);

      SPI_sendchar(Lcd_data << 4);

      LCD_DELAY()

      E_CLK

      LCD_DELAY()

}


关键字:STM8  SPI驱动  LCD12864 引用地址:STM8 SPI驱动LCD12864

上一篇:STM8 AD转换
下一篇:STM8 PCF8591 AD/DA转换子程序

推荐阅读最新更新时间:2024-11-11 01:45

STM8的学习—LED
无论学习什么都要先从简单的东西入手,驱动小灯都会成为学习者的第一课,让小灯闪烁,通过配置IO口的状态,让IO口隔间隔的输出高低电平,间隔时间为ms级的否则认的肉眼难以设别小灯的亮灭! 程序如下: #include iostm8s105c6.h unsigned int i; //时钟初始化 void CLK_Init(void) { CLK_CKDIVR = 0x00; } //GPIO初始化 void GPIO_Init(void) { PD_DDR|=0x01; //PD0输出,其余保持原功能 PD_CR1|=0x01; //对应位设置为推挽输出 PD_CR2|=0x00; //输出最
[单片机]
LPC2134学习日志(二)-- LCD12864时钟
这两个星期貌似有点忙,弄的懒猫身心疲惫,甚至有时忍不住竟对别人发了火,这一点懒猫很抱歉,在此说一对不起,希望你们能谅解。好了,再忙,懒猫也得抽空学点东东,还是那句老话,学如行舟,不进则退,懒猫虽爱飞,但还没有学会飞,所以为了懒猫能周游世界的梦想,懒猫一定要好好奋斗再好好奋斗! 嗯,好了,不费话,这几天抽空在上篇日志的基础上写,又添加了点东东,做了个实时时钟,当然功能还不全,还没有调时间的功能,还没有定时的功能,LCD12864上也没有添加菜单的功能 反正这个是最简单的实时时钟,主要就是学习一下LPC2134内部的RTC,程序虽然能运行,但是在仿真时出了点小BUG,就是秒值3秒钟才更新一次,这一点让懒猫很郁闷,找了良久也没有找出原因,
[单片机]
LPC2134学习日志(二)-- <font color='red'>LCD12864</font>时钟
单片机写数据到LCD12864点阵型液晶显示器内部ST7920芯片
#include reg52.h #define uchar unsigned char #define uint unsigned int #define LCD12864Data P2//LCD12864点阵型液晶显示器输入输出数据/命令端口 sbit LCD12864_RS=P0^7;//LCD12864点阵型液晶显示器数据/命令选择端 sbit LCD12864_RW=P0^6;//LCD12864点阵型液晶显示器读/写端 sbit LCD12864_EN=P0^5;//LCD12864点阵型液晶显示器使能端 //太阳 uchar code sun ={0x00,0x00,0x00,0x00,0x00,0x00,0x00
[单片机]
STM8单片机无线315&433脉宽自适应_通用解码程序
单片机源程序如下: /* RFINT不能用PA1 要改板 改在PC6 */ /* Includes ------------------------------------------------------------------*/ #define MAIN_C #include ALL.h void Delay(u16 nCount) { /* Decrement nCount value */ while (nCount != 0) { nCount--; } } //10ms定时中断初始 在PWM时可更改 void TIME1_CONFIG(void) { /* Init TIMER 1 *
[单片机]
STM8除法运算的时间及注意事项
STM8单片机在乘除法上的时间大为缩短了!除法运算也只需要2.75us @ 8MHz。 需要注意的是,不要在中断程序中做乘除法运算,会出错。 论坛上的解释是:这是因为做乘法运算时,编译器实际上调用了一个函数,而这个函数用到了几个编译器自定义的全局变量,如果不按照2楼说的去做,在进入中断时不会保存这几个全局变量,而造成这个乘法运算函数为不可重入,导致错误。
[单片机]
<font color='red'>STM8</font>除法运算的时间及注意事项
STM8 中断控制器(ITC)
STM8中断控制器简介 中断控制器提供如下功能: 硬件中断的管理 所有I/O引脚都具有外部中断能力,每一个端口都有独立的中断向量以及独立的标志。 外设中断能力 软件中断的管理(TRAP) 具有灵活的优先级和中断等级管理,支持可嵌套的或同级中断管理: 多达4个软件可编程的嵌套等级 最多有32个中断向量,其入口地址由硬件固定 2不可屏蔽的事件:RESET,TRAP 1个不可屏蔽的最高优先级的硬件中断(TLI) 基于如下STM8资源的中断管理: 位I1和I0位于CPU的条件代码寄存器(CCR) 软件优先级寄存器(ITC_SPRx) 复位向量地址0x00 8000位于程序空间的起始部分。对于
[单片机]
STM8都支持哪些RTOS操作系统?
一、引伸问题 回答这个问题之前,引伸一个问题:STM8有必要使用操作系统吗? 这个问题其实没有标准答案,我用STM8裸机开发过项目,也在STM8的项目上跑过RTOS。 具体要看项目实际情况:MCU资源情况、功能复杂程度、实时性等。 比如:通过UART通信,简单控制几个IO口,这种或许没必要跑RTOS。 二、回归主题 STM8都支持哪些RTOS操作系统? 我找了下官方资料,共列举4种: 1.AtomThreads 这个RTOS应该是使用STM8跑操作系统的人都了解,或者听说过。 我觉得这个系统应该是目前(在STM8上)用的最多的一个RTOS. 在这4个系统中,我也只在STM8上跑过该操作
[单片机]
8位MCU将消失?你想错了
8位微控制器能否再经历一场复兴? 随着ARM处理器架构的兴起和32位微控制器的广泛应用,人们很容易假设,随着32位处理器芯片的价格和功耗的下降,采用8位MCU进行设计已经变得越来越没有竞争力了。 但现实情况并非如此。Microchip、Atmel和意法半导体等芯片供应商比以往任何时候更致力于完善和升级自己的8位微控制器,并正为其添加高性能外设和扩展开发工具。 微芯科技(Microchip)的Lucio Di Jasio提到:“我们不会将8位微控制器做低价化处理,相反,我们正在加大对8位PIC系列单片机的投资,以把它应用在新的更高性能的应用中”。 对于高端电机控制是否真的需要一个32位ARM微控制器或一个基于M
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved