C代码:
/**************************************************************************
THE MAX7221 LED DRIVER LIB
COPYRIGHT (c) 2005 BY JJJ.
-- ALL RIGHTS RESERVED --
File Name: Max7221.h
Author: Jiang Jian Jun
Created: 2005/9/19
Modified: NO
Revision: 1.0
***************************************************************************/
#ifndef _MAX7221_LED_DRIVER_2005_9_19_
#define _MAX7221_LED_DRIVER_2005_9_19_
#include
sbit Max7221CS = P3^1;
sbit Max7221DIN = P3^0;
sbit Max7221CLK = P3^2;
void WriteMax7221(unsigned char Address,unsigned char Data)
{
unsigned char i;
Max7221CS = 0;
for (i=0;i<8;i++)
{
Max7221CLK = 0;
Max7221DIN = (Address&(0x80>>i)) ? 1:0;
_nop_();
_nop_();
Max7221CLK = 1;
_nop_();
_nop_();
}
for (i=0;i<8;i++)
{
Max7221CLK = 0;
Max7221DIN = (Data&(0x80>>i)) ? 1:0;
_nop_();
_nop_();
Max7221CLK = 1;
_nop_();
_nop_();
}
Max7221CS = 1;
}
void InitialMax7221(void)
{
WriteMax7221(0x0A,0x07); //亮度地址0AH,0x00~0x0F,0x0F最亮
WriteMax7221(0x0B,0x07); //扫描LED个数地址0BH,0x00~0x07,最多扫描8个数码管
WriteMax7221(0x0C,0x01); //工作模式地址0x0C. 0x00:ShutDown;0x01:Normal
WriteMax7221(0x09,0xFF); //编码模式地址0x09. 0x00~0xFF:哪一位为1,哪一位就支持编码
}
void Max7221Display(unsigned char *buffer)
{
unsigned char i;
for(i=0;i<8;i++)
{
WriteMax7221(i+1,*(buffer+i));
}
}
#endif
#include
#include "Max7221.h"
unsigned char DisplayBuffer[8]={0,1,2,3,4,5,6,7};//显示缓冲区
main()
{
InitialMax7221();
Max7221Display(&DisplayBuffer[0]);
while(1);
}
仿真电路
关键字:Max7221 数码管 动态显示
引用地址:
Max7221数码管动态显示
推荐阅读最新更新时间:2024-03-16 15:11
第三章 畅学多功能51实验箱数码管模块使用
简介:本章节介绍畅学多功能51实验箱一些基础模块的硬件连接使用情况 1) 浏览硬件测试说明 2) 准备相关配件 3) 按测试说明连接硬件 4) 下载测试程序 5) 观察实验现象 6) 确认功能模块是否正常 如无特殊说明,硬件功能测试的硬件环境均为: 畅学系列 多功能开发学习板/实验箱(2017版) 51主芯片STC12C5A60S2 11.0592M晶振 1、8位数码管测试 硬件准备:3P杜邦线1根,跳线帽1个,11.592M晶振 软件准备:CEPARK畅学系列调试软件V1.2 (使用本软件前请先关闭正在运行的串口) 接线说明: 使用1根3P杜邦线连接单片机P20~P22口接底板JP26。 跳线说明:短接J70
[单片机]
51单片机之数码管显示实验
/* 名称:51单片机之数码管显示实验 说明:对于数码管来说,其本质上可以理解为按照一定规则组合的多个二极管。其使用只需按照特定规则显示对应的二极管即可。要稍微注意一点的就是多个数码管的显示分为静态显示和动态显示。静态显示就是每个二极管显示的内容是一样的,通过片选信号来决定是哪个二极管该显示。动态数码管,即利用人眼的视觉停留效果,快速扫描,快速显示每个数码管的内容,使得每个数码管看起来好像是一起显示的一样。 本实验编写了几个数码管显示的简单程序。在此不做赘述了。 */ #include reg52.h #define uchar unsigned char //共阳极段码(a在高位,dp在低位) uchar
[单片机]
51单片机小白零基础教程——数码管的静态显示,以及数码管拓展程序
一、数码管的显示原理 数码管:是一种可以显示数字和其他信息的电子设备,可以看成是多个二极管的组成。 数码管有单位数码管、双位数码管、四位数码管,我们开发板上的数码管为2个四位数码管。 数码管显示原理:通过点亮内部的发光二极管来发光 引脚:又被称为管脚,从集成电路内部电路引出与外围电路的接线,所有的引脚构成了这块芯片的接口 单位数码管的引脚有10个,内部一共有8个小的发光二级管,还有2个引脚是公共端,其实只有一个公共端,但是生产厂家为了封装统一,把这2个引脚连接在了一起。 数码管根据其公共端所接的阳极和阴极的不同,分为了共阴极数码管和共阳极数码管。 共阳极接法:几个二极管的阳极接在一起,接到VCC(高电平),
[单片机]
BCD七段数码管显示译码器电路
BCD七段数码管显示译码器电路 发光二极管(LED)由特殊的半导体材料砷化镓、 磷砷化镓等制成,可以单独使用,也可以组装成分段式或点阵式LED显示器件(半导体显示器)。 分段式显示器(LED数码管)由7条线段围成8型,每一段包含一个发光二极管。外加正向电压时二极管导通,发出清晰的光,有红、黄、绿等色。只要按规律控制各发光段的亮、灭,就可以显示各种字形或符号。 图4 - 17( a )是共阴式LED数码管的原理图,图4-17( b )是其表示符号。使用时,公共阴极接地,7个阳极 a~g 由相应的BCD七段译码器来驱动(控制),如图4 - 17( c )所示。 C 、 B 、 A 表示),输出是数码管各段的驱动信号(以
[模拟电子]
单片机按键与数码管试验程序 Proteus仿真
最近温习一下单片机,通过proteus 7.8仿真了一下,感觉效果不错。 单片机程序如下: /* 51单片机 按键与数码管实验,用proteus 7.8仿真通过。 通过点按键, K1:数码管数字加一,0~F,加上F后再从0开始。 K2:数码管数字减一,F~0,减到0后再从F开始减 K3:复位这零. */ #include reg52.h //#include stdio.h unsigned char RunMode; unsigned char code SegCode = { 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8, //共阳 0x80,0x90
[单片机]
学习笔记 从零开始学单片机(2) 全八段数码管显示
开发板上有八个八段数码管,现在把它点亮它。数码管显示有动态和静态两种,本质上没有什么区别,由于单片机接口有限,不可能一对一,所以依次让每一个数码管点亮,那么从视觉角度上看就是一起亮起来。但是动态显示时,亮度较低。 下面的图是一个八段数码管的原理图,有共阴极和共阳极两种解法,这里是共阴极接法。a,b,c,d,e,f,g,dp分别对应八个数码管。 为了让八个数码管连起来,该开发板使用了两个八进制三态非反转透明锁存器,74HC573。 它的特性是: ×输出能直接接到 CMOS,NMOS 和 TTL 接口上 ×操作电压范围:2.0V~6.0V ×低输入电流:1.0uA ×CMOS 器件的高噪声抵抗特性 D0
[单片机]
LED数码管知识简介
LED数码管是设备的简易显示常用电子元器件,下面将介绍它的性能特点,简单检测方法及应用注意事项等内容。 1.性能特点 led数码管的主要特点如下: (1)能在低电压、小电流条件下驱动发光,能与CMOS、ITL电路兼容。 (2)发光响应时间极短( 0.1μs),高频特性好,单色性好,亮度高。 (3)体积小,重量轻,抗冲击性能好。 (4)寿命长,使用寿命在10万小时以上,甚至可达100万小时。成本低。 因此它被广泛用作数字仪器仪表、数控装置、计算机的数显器件。 2.性能简易检测 LED数码管外观要求颜色均匀、无局部变色及无气泡等,在业余条件下可用干电池作进一步检查。现以共阴数
[电源管理]
单片机89C52并行I/O口实现多个LED显示
在单片机应用系统中,普遍使用成本低廉、配置灵活的数码管(LED)做显示器。常用的为4~8位八段LED数码管显示器,即需要4~8个LED数码管。实现这种显示的方法很多,但是,必须采用相应的措施才能实现多个LED的显示。本文介绍了一种设计方法,利用该方法设计的多路LED数码管显示系统具有硬件设备简单,可移植性好,成本低廉的特点,在各种仪表显示系统中应用效果良好。 1 硬件电路 多位LED显示时,常将所有位的段选线并联在一起,由一个8位I/O口控制,而共阴极点或共阳极点分别由另一个8位I/O口控制;也可采用并行扩展口构成显示电路,通常,需要扩展器件管脚的较多,价格较高。本文将介绍一种利用单片机的一个并行I/O口实
[电源管理]