资源简介
本文档包括max7219级联的proteus仿真电路和基于8951的c语言测试程序,非常适合单片机初学者使用!
代码片段和文件信息
#include
#include
#include
#define uchar unsigned char
#define uint unsigned int
void send(uchar outdata);
void write(uchar addr1uchar num1uchar addr2uchar num2);
void init();
sbit din=P2^0;
sbit load=P2^1;
sbit clk=P2^2;
//uchar codeseg[10]={0x7e0x300x6d0x790x330x5b0x5f0x700x7f0x7b};
void main()
{
write(0x0f0x010x0f0x01);
_nop_();
_nop_();
_nop_();
_nop_();
write(0x0f0x000x0f0x00); //测试显示
init(); //max7219初始化
while(1)
{
write(0x0110x019);//先送位,再送段/先发送给第一片
write(0x0220x022);
write(0x0330x033);
write(0x0440x044);
write(0x0550x055);
write(0x0660x066);
write(0x0770x077);
write(0x0880x088);
}
}
void init()
{write(0x090xff0x090xff); //设置译码方式,使用bcd译码
write(0x0a0x0a0x0a0x0a); //设置亮度
write(0x0b0x070x0b0x07); //设置扫描的位数
write(0x0c0x010x0c0x01); //设置待机方式
} //先设置后面一片的工作方式,在设置前面一片的工作方式
void write(uchar addr1uchar num1uchar addr2uchar num2)
{
load=0; //当LOAD为低电平时,芯片接收来自DIN的数据,接收完毕,
_nop_();
send(addr1);
_nop_();
send(num1);
_nop_();
clk=0;
_nop_();
clk=1; //从DIN输入的数据经过16.5个CLK脉冲后移到DOUT引脚上。
//所以发完16个数据后必须加一个脉冲,否则数据传不到第二片
send(addr2);
_nop_();
send(num2);
load=1; //LOAD回到高电平时,接收的数据将被锁定
}
void send(uchar outdata) //写串行数据子程序
{ uchar itemp;
for(i=0;i<8;i++)
{
temp=outdata&0x80;
outdata=outdata<<1;
if(temp==0x80)
{
clk=0;
din=1;
_nop_();
clk=1; //提供上升沿
}
else
{
clk=0;
din=0;
_nop_();
clk=1; //提供上升沿
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5115 2002-04-16 14:32 max7219级连\STARTUP.A51
文件 0 2005-10-04 11:32 max7219级连\max7219.plg
文件 1813 2005-10-03 11:17 max7219级连\main.c
文件 11665 2005-10-03 11:17 max7219级连\STARTUP.LST
文件 82 2005-10-03 11:17 max7219级连\max7219.lnp
文件 7031 2005-10-03 11:17 max7219级连\max7219.M51
文件 776 2005-10-03 11:17 max7219级连\max7219.hex
文件 749 2005-10-03 11:17 max7219级连\STARTUP.OBJ
文件 3900 2005-10-03 11:17 max7219级连\main.LST
文件 6804 2005-10-03 11:17 max7219级连\main.OBJ
文件 6832 2005-10-03 11:17 max7219级连\max7219
文件 75166 2005-10-03 11:20 max7219级连\max7219.DSN
文件 386 2005-10-04 12:13 max7219级连\max7219.PWI
文件 1687 2005-10-04 12:13 max7219级连\max7219.Uv2
文件 1039 2005-10-04 12:13 max7219级连\max7219.Opt
目录 0 2005-10-03 10:24 max7219级连
----------- --------- ---------- ----- ----
123045 16
- 上一篇:c语言 链表排序--
- 下一篇:C++程序设计语言A视频教程 全12讲 地址
评论
共有 条评论