51单片机8×8LED点阵显示数字与字符

发布者:梦回归处最新更新时间:2015-08-26 来源: eefocus关键字:51单片机  LED点阵  数字与字符 手机看文章 扫描二维码
随时随地手机看文章
#include "AT89X52.H"

unsigned char code tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

unsigned char code digittab[][8]={

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},//" ",0*/

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},//" ",0*/

 

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF},//"_",0*/

{0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF},//"_",0*/

{0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF},//"_",0*/

{0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF},//"_",0*/

{0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF},//"_",0*/

{0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},//"_",0*/

{0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},//"_",0*/

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},//"_",0*/

 

{0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},//"|",0*/

{0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02},//"|",0*/

{0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04},//"|",0*/

{0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08},//"|",0*/

{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},//"|",0*/

{0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20},//"|",0*/

{0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40},//"|",0*/

{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},//"|",0*/

 

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},//" ",0*/

//图形1

{0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00},//"未命名文件",0*/

{0x00,0x00,0x3C,0x24,0x24,0x3C,0x00,0x00},//"未命名文件",0*/

{0x00,0x7E,0x42,0x42,0x42,0x42,0x7E,0x00},//"未命名文件",0*/

{0xFF,0x81,0x81,0x81,0x81,0x81,0x81,0xFF},//"未命名文件",0*/

 

//图形2

{0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00},

{0x00,0x00,0x24,0x18,0x18,0x24,0x00,0x00},

{0x00,0x42,0x24,0x18,0x18,0x24,0x42,0x00},

{0x81,0x42,0x24,0x18,0x18,0x24,0x42,0x81},

 

//图形3

{0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00},

{0x00,0x00,0x24,0x18,0x18,0x24,0x00,0x00},

{0x00,0x10,0x24,0x1A,0x58,0x24,0x08,0x00},

{0x08,0x10,0x24,0x9A,0x59,0x24,0x08,0x10},

{0x0C,0x10,0xA4,0x9A,0x59,0x25,0x08,0x30},

{0x0E,0x90,0xA4,0x9A,0x59,0x25,0x09,0x70},

{0x8F,0x90,0xA4,0x9A,0x59,0x25,0x09,0xF1},

 

 

 

 

 

{0x0C,0x12,0x12,0x12,0x12,0x12,0x0C,0x00},

 

{0x04,0x06,0x04,0x04,0x04,0x04,0x0E,0x00},

 

{0x0C,0x12,0x10,0x08,0x04,0x02,0x1E,0x00},

 

{0x0C,0x12,0x10,0x0C,0x10,0x12,0x0C,0x00},

 

{0x08,0x0C,0x0C,0x0A,0x0A,0x1E,0x08,0x00},

 

{0x1E,0x02,0x02,0x0E,0x10,0x10,0x0E,0x00},

 

{0x0C,0x12,0x02,0x0E,0x12,0x12,0x0C,0x00},

 

{0x1E,0x12,0x10,0x08,0x04,0x04,0x04,0x00},

 

{0x0C,0x12,0x12,0x0C,0x12,0x12,0x0C,0x00},

 

{0x0C,0x12,0x12,0x1C,0x10,0x12,0x0C,0x00},

 

{0x0C,0x12,0x12,0x12,0x1E,0x12,0x12,0x00},

 

{0x0E,0x12,0x12,0x0E,0x12,0x12,0x0E,0x00},

 

{0x0C,0x12,0x02,0x02,0x02,0x12,0x0C,0x00},

 

{0x0E,0x12,0x12,0x12,0x12,0x12,0x0E,0x00},

 

{0x1E,0x02,0x02,0x0E,0x02,0x02,0x1E,0x00},

 

{0x1E,0x02,0x02,0x0E,0x02,0x02,0x02,0x00},

 

{0x0C,0x12,0x02,0x1A,0x12,0x12,0x0C,0x00},

 

{0x12,0x12,0x12,0x1E,0x12,0x12,0x12,0x00},

 

{0x0E,0x04,0x04,0x04,0x04,0x04,0x0E,0x00},

 [page]

{0x10,0x10,0x10,0x10,0x12,0x12,0x0C,0x00},

 

{0x12,0x12,0x0A,0x06,0x0A,0x12,0x12,0x00},

 

{0x02,0x02,0x02,0x02,0x02,0x02,0x1E,0x00},

 

{0x12,0x1E,0x1E,0x12,0x12,0x12,0x12,0x00},

 

{0x12,0x16,0x16,0x1A,0x1A,0x12,0x12,0x00},

 

{0x1E,0x12,0x12,0x12,0x12,0x12,0x1E,0x00},

 

{0x0E,0x12,0x12,0x0E,0x02,0x02,0x02,0x00},

 

{0x0C,0x12,0x12,0x12,0x16,0x1A,0x1C,0x00},

 

{0x0E,0x12,0x12,0x0E,0x06,0x0A,0x12,0x00},

 

{0x0C,0x12,0x02,0x0C,0x10,0x12,0x0C,0x00},

 

{0x1E,0x04,0x04,0x04,0x04,0x04,0x04,0x00},

 

{0x12,0x12,0x12,0x12,0x12,0x12,0x0C,0x00},

 

{0x12,0x12,0x12,0x12,0x0C,0x0C,0x0C,0x00},

 

{0x12,0x12,0x12,0x12,0x1E,0x1E,0x12,0x00},

 

{0x12,0x12,0x0C,0x0C,0x0C,0x12,0x12,0x00},

 

{0x11,0x11,0x0A,0x04,0x04,0x04,0x04,0x00},

 

{0x1E,0x10,0x08,0x0C,0x04,0x02,0x1E,0x00},

 

};

 

unsigned int timecount;

unsigned char cnta;

unsigned char cntb;

 

void main(void)

{

TMOD=0x01;

TH0=(65536-3000)/256;

TL0=(65536-3000)%6;

TR0=1;

ET0=1;

EA=1;

while(1)

{;

 

}

}

 

void t0(void) interrupt 1 using 0

{

TH0=(65536-2000)/256;

TL0=(65536-2000)%6;

P1=0XFF; //消除显示重影问题

P0=~digittab[cntb][cnta];

P1=~(0x01<

 

cnta++;

if(cnta==8)

{

cnta=0;

}

timecount++;

if(timecount==200)

{

timecount=0;

cntb++;

if(cntb==70)

{

cntb=0;

}

}

}

关键字:51单片机  LED点阵  数字与字符 引用地址:51单片机8×8LED点阵显示数字与字符

上一篇:51单片机计数器计数数码管显示
下一篇:51单片机摸拟串口(232)

推荐阅读最新更新时间:2024-03-16 14:30

MCS-51单片机的串行口及串行通信技术
数据通信的基本概念 串行通信有单工通信、半双工通信和全双工通信3种方式。 单工通信:数据只能单方向地从一端向另一端传送。例如,目前的有线电视节目,只能单方向传送。 半双工通信:数据可以双向传送,但任一时刻只能向一个方向传送。也就是说,半双工通信可以分时双向传送数据。例如,目前的某些对讲机,任一时刻只能一方讲,另一方听。 全双工通信:数据可同时向两个方向传送。全双工通信效率最高,适用于计算机之间的通信。 此外,通信双方要正确地进行数据传输,需要解决何时开始传输,何时结束传输,以及数据传输速率等问题,即解决数据同步问题。 实现数据同步,通常有两种方式,一种是异步通信,另一种是同步通信。 异步通信 在异步通信中,数据一帧一帧地传送。每一
[单片机]
MCS-<font color='red'>51单片机</font>的串行口及串行通信技术
基于51单片机之编程基本模板
********************************************************************************************* 程序名:    编写人:      编写时间:  20 年 月 日 硬件支持:   接口说明:   修改日志:     NO.1- ********************************************************************************************* 说明: *****************************************************
[单片机]
从零开始51单片机教程 —— 16 单片机位操作指令
前面那些流水灯的例程,我们已经习惯了 位 一位就是一盏灯的亮和灭,而我们学的指令却全都是用 字节 来介绍的:字节的移动、加法、减法、逻辑运算、移位等等。用字节来处理一些数学问题,比如说:控制冰箱的温度、电视的音量等等很直观,能直接用数值来表在。可是如果用它来控制一些开关的打开和合上,灯的亮和灭,就有些不直接了,记得我们上次课上的流水灯的例程吗?我们知道送往P1口的数值后并不能马上知道哪个灯亮和来灭,而是要化成二进制才知道。工业中有很多场合需要处理这类开关输出,继电器吸合,用字节来处理就显示有些麻烦,所以在8031单片机中特意引入一个位处理机制。 位寻址区 在8031中,有一部份RAM和一部份SFR是具有位寻址功能的,也就是说
[单片机]
基于51单片机设计的电动车控制器
一、项目介绍 随着社会经济的快速发展,人们对节能环保的要求越来越高,电动车因其无污染、噪音小、使用成本低等优点逐渐成为了市场关注的焦点。同时,随着科技的不断进步和应用,电动车的技术水平也在不断提高。 为了更好地满足市场需求和科技进步的要求,本项目基于51单片机设计了一款电动车控制器。主要包括电动车控制和驱动两个关键部分。其中,控制部分采用51单片机作为控制核心,通过编程实现电动车前后行驶、左右转向、加速等操作。而驱动部分则采用L298N驱动芯片驱动直流电机。当前设计的电动车,支持锂电池供电、支持按键实现电动车前后行驶、左右转向和加速等操作,电机采用直流电机,驱动芯片采用L298N。 二、系统架构 本系统由控制器、电机
[单片机]
基于<font color='red'>51单片机</font>设计的电动车控制器
基于AT89C51单片机低成本温度控制实验系统
  笔者在电子市场购买了一块3.6V450mAh的锂离子充电本文介绍一种以AT89C51单片机为核心的低成本温度控制实验系统。该系统采用温度传感器DS18820实现一线数字式测温,经过PID算法输出PWM波,再由PWM信号控制固态继电器,调节热阻丝发热功率,最终达到控制被控对象温度的目的,该系统还扩展了人机接口和串口通信,实现温度设定、控制及图像显示。   硬件设计   1.总体设计   系统结构框图如图1所示,以AT89C51单片机为控制核心,DS18820电池,外型尺寸完全符合原机的内部空间要求。按照正确的正负极性焊连到 电路 中即可完成电池的更换工作。实际使用效果极佳,连续播放时间超过了7个小时(图4)。测量被控温度
[单片机]
基于AT89C<font color='red'>51单片机</font>低成本温度控制实验系统
AT89S51单片机的定时/计数器T0的应用
1.实验任务 用AT89S51单片机的定时/计数器T0产生一秒的定时时间,作为秒计数时间,当一秒产生时,秒计数加1,秒计数到60时,自动从0开始。硬件电路如下图所示 2.电路原理图 图4.15.1 3.系统板上硬件连线 (1).把“单片机系统”区域中的P0.0/AD0-P0.7/AD7端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P0.0/AD0对应着a,P0.1/AD1对应着b,……,P0.7/AD7对应着h。 (2).把“单片机系统”区域中的P2.0/A8-P2.7/A15端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P2.0/A8对应着a,P2.1/A9
[单片机]
AT89S<font color='red'>51单片机</font>的定时/计数器T0的应用
用普中开发板做的51单片机的智能时钟
本贴针对学完单片机并且有读懂代码的非新手同学。本人目前放寒假,这个是本人在上个学期的单片机课上要求做的综合实验,现在重新修改了下增加了菜单目前测试毫无问题可以完美使用。有志向做闹钟的同学可以参考一下,原码上由本人写的大量注释可以方便看懂。 使用了LCD1602、DS1302、DS18B20用来测试温度、内部含闹钟系统但本人没有做EEPROM有需要的同学可以自行添加。 单片机源程序如下: #include reg52.h #include key.h #include LCD1602.h #include DS1302.h #include music.h #include DS18B20.H #define
[单片机]
基于GSM模块Q2403A和8051单片机实现短消息收发系统的应用方案
基于GSM短消息的业务不需要建立拨号连接,只需把待发的消息加上目的地址发送至短消息中心,再由短消息中心转发到最终目标。GSM 短消息业务以其连接简单、费用低廉、覆盖范围广、实现方便等优点得到了广泛的应用。运用 GSM 短消息实现远程测控的可靠性较高、信号传播距离远、覆盖面积广,并且可以节省建网初期的巨额投资。 本文对基于GSM短消息收发系统的设计与实现作了具体描述,给出了系统的软硬件设计方案,对主要硬件,即GSM模块Q2403A 和8051单片机作了重点介绍。给出了系统的软件设计,包括PC与单片机通信部分和短消息收发部分。最后实现系统监控功能。 系统硬件实现 总体系统结构 该系统硬件主要由8051单片机扩展电路、Q2403
[单片机]
基于GSM模块Q2403A和80<font color='red'>51单片机</font>实现短消息收发系统的应用方案
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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