单片机笔记——显示驱动

发布者:alpha11最新更新时间:2014-12-18 来源: laogu关键字:单片机笔记  显示驱动 手机看文章 扫描二维码
随时随地手机看文章

在写程序时,显示部分很经常用到,所以一般都直接做成DRIVER,这样用到时调用就是了。下面是个动态扫描的驱动。

   先是文件头部分

+++++++LEDDRIVER.H++++++++

#ifndef _LedDriver_H_  //防止重复引用该文挡,如果没定义过符号  

                                     //_LedDriver_H_,      则编译下程序
#define _ledDriver_H_

void LedPrint(unsigned char Dat);

void LedWork(void);

void Delay(unsigned char count);

#endif

++++++LEDDRIVER.C++++
#include
#include "LedDriver.h"

code unsigned char LedCode[]=
{
 //0    1   2    3    4    5    6    7    8    9  
 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,
 //A    B     C    D    E    F -    H    L    P    O
 0x77,0x7c,0x39,0x5e,0x79,0x71,0x40,0x76,0x38,0x73,0x5c
};

unsigned char DisBuf[4];


void LedPrint (unsigned char Dat)        //显示值的缓存
{
 DisBuf[0] = DisBuf[1];
 DisBuf[1] = DisBuf[2];
 DisBuf[2] = DisBuf[3];
 DisBuf[3] = Dat;
}

void LedWork(void)         //动态显示
{
 static unsigned char i=0;
 int m;

 P2 =0x0f;
 P0=LedCode[DisBuf[i]];
 switch (i)
 {
  case 0: P2_0=0; break;
  case 1: P2_1=0; break;
  case 2: P2_2=0; break;
  case 3: P2_3=0; break;
 }
 if(++i>=4)  i=0;
}


void Delay(unsigned char count)
{
 unsigned char j;

 while(count-- != 0)
 {
  for(j=0;j<72;j++);
 }
}

关键字:单片机笔记  显示驱动 引用地址:单片机笔记——显示驱动

上一篇:motorola的电子钟
下一篇:单片机的概述

推荐阅读最新更新时间:2024-03-16 13:49

单片机 I2C操作笔记——以 AT24C04为例
1.前言 对于大多数工程师而言,I2C永远是一个头疼的问题。相比UART和SPI而言,I2C的时序要复杂一些,I2C组合变化也丰富一些。在这里以AT24C04为例说明I2C使用过程中的一些注意点。 2.AT24C04操作示意图 图 AT24C04操作示意图 示意图说明:示意图分阐述了4种不同的操作方式,例如写单个存储单元,写多个存储单元,读单个存储单元和写单个存储单元。对于单个操作而言,上部为MCU通过I2C输出的相关指令,下部为I2C设备的响应。例如写单个存储单元操作时,MCU发出I2C启动,设备地址,写标志位等,而I2C设备输出多个ACK。 3.若干说明 3.1 基本操作方式 I2C设备的操作可分为写单个
[单片机]
基于I2C的OSD显示驱动设计与实现
随着汽车工业的发展,车载导航设备得到了越来越多的应用。现在主流的车载导航设备都集成有DVD功能,对视频处理提出较高要求。选择高性能平台和高性能视频处理器对车载导航设备有十分重要的意义。同时,对于音量的可视性控制和DVD控制来说,OSD技术具有很大的优越性,它可以在不影响DVD画面的基础上叠加在屏幕上,降低了主处理器的工作量。PXA270处理器具有领先的高性能和低功耗功能,宏芯T128D具有强大的视频处理功能,同时集成了两层OSD处理引擎,两者通过I2C总线连接可以大大提高车载导航设备的多媒体处理功能,本文陈述了在两者基础上通过I2C总线连接实现OSD显示驱动的方法。 1 基本原理 1.1 OSD显示原理 OSD(On Scr
[电源管理]
基于I2C的OSD<font color='red'>显示驱动</font>设计与实现
7段数码管显示驱动vhdl程序
再编辑一个7段 数码管 (共 阴极 )显示驱动程序: Library ieee; Use ieee.std_logic_1164.all; Entity QDLED7 is PORT(DATA:IN STD_LOGIC_VECTOR(3 DOWNTO 0); a,b,c,d,e,f,g:out std_logic); end QDLED7; Architecture LED of QDLED7 is signal y: STD_LOGIC_VECTOR(6 DOWNTO 0); begin process(DATA) begin case DATA is when 0000 = y = 1111
[单片机]
基于LPC2478 LCD控制器的模拟显示驱动系统设计
引言 目前,ARM在嵌入式系统中的应用越来越广泛。本文选用的是NXP公司32位LPC2478。LPC2478丰富的资源适合在工业领域中应用,该芯片的成本和功耗都比较低,是内部集成LCD控制器的ARM7芯片。在工业领域中,相比较数字屏而言,模拟屏具有驱动能力、抗干扰能力强和价格低等优点。根据实际项目应用,本设计中采用了群创公司的7in模拟屏。 1 HX8817芯片简介 HX8817是一个带有ITUR BT.656和BT.601输入接口的TFT-LCD时序控制器。该控制器内置色彩空间转换电路、DAC和运算放大器,并且具有gamma校正和极性翻转功能,将数字数据转化为行极性变换方式的、模拟放大的RGB信号,同时产生模拟屏所需的水平和
[单片机]
基于LPC2478 LCD控制器的模拟<font color='red'>显示驱动</font>系统设计
海信超高清显示驱动芯片项目获得提名青岛科技进步一等奖
近日,青岛市科技局官网发布公告,2020年度青岛科学技术奖项目组评审工作已结束。 由海信视像、青岛信芯微、上海顺久电子、宏祐图像完成的《超高清显示驱动系列化芯片开发及应用》项目,入选2020年度青岛市科学技术奖建议授奖项目(科技进步奖一等奖)。 2019年,该项目成果芯片HS3710参加由工信部指导、中国电子信息产业发展研究院主办的第14届“中国芯”评选活动,获得“优秀技术创芯产品”。 海信视像、青岛信芯微等4家完成单位在核心算法、数模IP设计、芯片设计、整机应用技术等方面协同创新,突破液晶面板显示控制的关键技术,成功开发超高清显示驱动系列化芯片,不仅满足了国内面板厂配套需求和整机厂应用需求、实现产业化大批量应用;更是实现了显
[手机便携]
海信超高清<font color='red'>显示驱动</font>芯片项目获得提名青岛科技进步一等奖
51单片机学习笔记———12.1UART串口通信
UART一般用于板间通讯,即单片机和外围设备之间的通讯。 当单片机的电压与外设之间的电压不同时,需要一个中介芯片来转换: 常用的是CH340T,原理图如下: 先发一位 0 表示起始位,然后发送 8 位数据位,数据位是先低后高的顺序,数据位发完后再发一位 1 表示停止位。这样本来要发送一个字节的 8 位数据,而实际上我们一共发送了 10 位,多出来的两其中一位起始位,一位停止位。 有关寄存器: SCON:串行口控制寄存器 `SM0`,`SM1`:工作方式选择位(方式) `TI`:发送中断标志,发送一帧结束,`TI = 1`,必须软件清0 `RI`:接受中断标志,接受一帧结束,`RI = 1`,必须软件清0 P
[单片机]
51<font color='red'>单片机</font>学习<font color='red'>笔记</font>———12.1UART串口通信
STM8 单片机调试笔记
1、休眠唤醒后串口异常问题 STM8L主要用来做低功耗产品,这里就有休眠前跟唤醒后有差异的情况,在调试的时候碰到如果使用串口,在休眠前都正常,当唤醒后,串口发送的数据会出现异常的情况,发送的数据感觉会有丢帧。后来发现跟系统时钟有关,如果系统时钟采用外部时钟就会有问题,内部时钟就OK。 /* 这里要用内部时钟 用外部时钟在进入halt之后会出现 串口发送异常 */ CLK_HSICmd(ENABLE); while (CLK_GetFlagStatus(CLK_FLAG_HSIRDY) == RESET); CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_HSI); CLK_SYSCLKDi
[单片机]
Freescale 9S12 系列单片机应用笔记(ECT 模块) 6
实验6:模数递减计数器MCCNT和定时中断 ECT 模块包含一个16位的模数递减计数器计数寄存器MCCNT。MCCNT的输入时钟信号由BUSCLOCK 分频得到,分频系数有四种选择。每次时钟到来后MCCNT自动减1。当MDC计数值减到0后,立即置位模数递减计数器标志寄存器MCFLG中的中断标志MCZF,若MCCTL中的中断允许位MCZI=1,则向CPU发出中断请求,向MCFLG的MCZF位写1将清除该标志。 MCCNT有两种工作方式:单次计数方式和循环(连续)工作方式。由模数递减计数器控制寄存器MCCTL中的模数模式允许位MODMC决定当前工作方式。 l 当MODMC=0时为单次计数方式,计数值减到$0000后便停止计数。如
[单片机]
Freescale 9S12 系列<font color='red'>单片机</font>应用<font color='red'>笔记</font>(ECT 模块) 6
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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