老古开发网首页
导航:老古开发网首页文章索引索引第2130页文章分类单片机第45页→[单片机笔记——显示驱动]
| -文章搜索 - 最新文章 - |

第2780篇:单片机笔记——显示驱动

发布时间:2006年8月5日 点击次数:1542
来源:   作者:
 

在写程序时,显示部分很经常用到,所以一般都直接做成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 <REGX52.H>
#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++);
 }
}


欢迎进入老古论坛进行讨论
[单片机] 相关文章:
基于MAX155的同步数据采集系统
简介:
摘 要: 在电力系统信号的测量中,常需对多路信号进行同步采集,而基于常规采样芯片的数据采集模块通常存在系统复杂、体积大、非完全同步采样等不足。MAXIM公司推出的MAX155是一种高速、8位8输入通道的同步采样A/D转换器,非常适合电力系统信号同步测量的要求。详细介绍了基于MAX155 A/D转换器和AT89S51单片机的同步数据系统的硬件和软件的设计方法。实验结果表明该系统不仅采样精度高,而且能实现完全同步采样。    关键词: MAX155;多通道同步数据采集;电力系统;AT89S51 ......

硬件工程师必看---必杀技学习(转)
模拟串口程序
[转载]点阵式LED简单图形显示技术
单片机的概述
 
下一个:[新闻热点]传AMD将以55亿美元收购ATI 最早下周一公布
简介:
  新浪科技讯 北京时间7月22日消息,据国外媒体报道,消息人士周五透露,AMD即将同ATI达成收购协议,交易的总价值为55亿美元。分析人士认为,如果AMD收购ATI的交易最终达成,将给处理器行业带来巨大的影响。   AMD是全球第二大处理器厂商,近年来凭借产品的优势从主要竞争对手英特尔手中抢占了大量的市场份额。ATI则是全球两大图形芯片厂商之一,同时也是主要的主板芯片组厂商,为英特尔和AMD的处理器提供支持。AMD同ATI合并之后,将产生一家具有处理器、芯片组和图形芯片生产能力的......

上一个:[行业观察]我国户外中压开关电器的使用现状

老古开发网版权所有 2006年9月 asp.Net V2.0 设计:老古
页面缓存:30分钟 执行时间:31毫秒