您现在所在的是:

单片机论坛

回帖:0个,阅读:1302 [上一页] [1] [下一页]
* 帖子主题:

MAX7219驱动程序

912
sfmcu
文章数:44
年度积分:50
历史总积分:912
注册时间:2006/8/22
发站内信
08年优秀博客奖
发表于:2009/1/27 21:58:52
#0楼
 
#i nclude
 #i nclude
 typedef unsigned char uchar;
 sbit din=p1^0;
 sbit clk=p1^1;
 sbit load=p1^2;
 
 void send(uchar add,uchar dat) //发送16字节子函数
 { uchar ads,i,j;
 load=0;
 i=0;
 while(i=1;j--)
     {
      din=ads&0x80;
      ads=ads
 main()
 {
  send(0x0c,0x01);   //初始化max7219
  send(0x0b,0x07);
  send(0x0a,0xf5);
  send(0x09,0xff);
  while(1)
  {
  send(0x01,0x81);   //在八个数码管上显示1-8,带小数点显示
  send(0x02,0x82);
  send(0x03,0x83);
  send(0x04,0x84);
  send(0x05,0x85);
  send(0x06,0x86);
  send(0x07,0x86);
  send(0x08,0x88);
  }
 }

max7219驱动程序
#ifndef uchar
#define uchar unsigned char
#endif
#ifndef uint
#define uint unsigned int
#endif
/*max7219寄存器功能说明****************************************/
#define max7219_shutdown 0x0c //0   关闭 1   开启
#define max7219_decodemode 0x09 //0 ndecode all
         //1 decode 0
            //0f decode 0-3
         //ff decode all
#define max7219_intensity 0x0a //亮度控制寄存器 0-f
/*显示位控制寄存器*********************************************/
/*0-第一位 1-第一、二位 ......7-全显示***********************/
#define max7219_scanlimit 0x0b
#define max7219_testreg   0x0f //测试模式 0 普通模式 1显示测试模式
#define max7219_dataaddr 0x01 //显示基址
/*max7219寄存器功能说明结束************************************/
#define max7219_set0(x)   x=0
#define max7219_set1(x)   x=1
sbit max7219_clk=p1^0;
sbit max7219_load=p1^1;
sbit max7219_din=p1^2;
void max7219_initial()
{
max7219_set0(max7219_clk);
max7219_set0(max7219_load);
max7219_set0(max7219_din);
}
void max7219_datasend(uchar addr,uchar data_send)   //两个无符号字符型
{
uchar i,a;
max7219_set0(max7219_load);
for(i=0;i
addr=addr
----------------------------------------------
此篇文章从博客转发
原文地址: Http://blog.gkong.com/more.asp?id=75199&Name=sfmcu

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

31.2002