求程序(C语言)用单片机和max7219控制数码管显示
用max7219使数码管显示年月日,并用按键选择并控制年月日的加减。最好是用三个按键,一个按键用于选择是年份的加减还是月份的加减或日期的加减,另外两个按键用于选择是加或者减。周五就要交了,求帮忙,急求!
用Proteus可以仿真的。而速度还快。这是一条捷径哦!
送你个驱动吧,我以前用的
#include "MAX7219.h"
void Max7221_Write(unsigned char Address,unsigned char Data)
{
unsigned char i;
Max7221_CS = 0;
for (i=0;i<8;i++)
{
Max7221_CLK = 0;
Max7221_DIN = (Address&(0x80>>i)) ? 1:0;
_nop_();_nop_();
Max7221_CLK = 1;
_nop_();_nop_();
}
for (i=0;i<8;i++)
{
Max7221_CLK = 0;
Max7221_DIN = (Data&(0x80>>i)) ? 1:0;
_nop_();_nop_();
Max7221_CLK = 1;
_nop_();_nop_();
}
Max7221_CS = 1;
}
void Max7221_Init(void)
{
Max7221_Write(0x0A,0x07); //亮度地址0AH,0x00~0x0F,0x0F最亮
Max7221_Write(0x0B,0x07); //扫描LED个数地址0BH,0x00~0x07,最多扫描8个数码管
Max7221_Write(0x0C,0x01); //工作模式地址0x0C. 0x00:ShutDown;0x01:Normal
Max7221_Write(0x09,0xff); //编码模式地址0x09. 0x00~0xFF:哪一位为1,哪一位就支持编码
}
void Max7221_Display(unsigned char *buffer)
{
unsigned char i;
for(i=0;i<8;i++)
{
Max7221_Write(i+1,*(buffer+i));
}
}
#ifndef _MAX7219_H_
#define _MAX7219_H_
sbit Max7221_DIN = P3^0;
sbit Max7221_CS = P3^1;
sbit Max7221_CLK = P3^2;
#define SHUT_DOWN 0x0C // 关断
#define DISPLAY_TEST 0x0F // 测试
#define DECODE_MODE 0x09 // 译码器
#define SCAN_LIMIT 0x0B // 扫描界限
#define INTENSITY 0x0A // 亮度
void Max7221_Write(unsigned char Address,unsigned char Data);
void Max7221_Init(void);
void Max7221_Display(unsigned char *buffer);
#endif
别提雷锋好吗!我比他硬实!我觉得,我能活过100岁!
arduino,是avr不。我是最近在ICKEY论坛才知道这东西的。我需要现看手!
把你问题拿出来呗,一起研究研究。听说这东西挺火的,我也想见识见识!
谢谢哈,好人啊!
不是开发板,是用proteus和keil进行仿真的
把你积分奖励给我好不!呵呵
这个怎么奖励?
哎呦,我怕是咋滴。就是没有开发板,你先说问题吧。我看看。Proteus里面的avr芯片种类你也是看过了。
没用过!真没用过,第一次听说!
促.....膝.....
长.....
谈.....
0-0
51和430都可以。加sd可以仿真。但是你的电子纸是什么东西?
和液晶显示是一个类型吗?
哦,今天和明天可能白天不在家!
你加我啦?看到qq上线,就可以直接找我!挺好的一个东西。
哦,那这东西还用绑定吗?
液晶是不有驱动型号。那驱动是驱动啥,不是直接驱动液晶吧,是驱动芯片,芯片在控制液晶。比如t6963就是绑定的t6963芯片。
仿真吗!LPC21系类可以的!参加他的PLL说明。
实物吗!stm32一般一般!个别的功能还不会用,需要现研究!
说真的你这个东西应该是不错的!当然,在具体一些手感上能有提高。应该相当有潜力!