- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MAX7219驱动数码管显示
MAX7219驱动数码管显示
一:实验目的
1,熟悉程序的编译、下载方法和过程;
2,熟悉利用max7219驱动数码管显示;
二:实验内容
使用MAX7219驱动数码管显示(可参考单片机程序文件夹中数码管显示键盘值文件中的内容);
三:实验步骤
1,设计硬件电路,焊制电路板,连接相关电路;
2,观察给定程序所实现的功能;
3,按照设定的功能修改程序编译程序,下载并调试程序;
四:程序与其相关说明
#includereg52.h
#define uchar unsigned char
#define uint unsigned int
#includemax7219.h
#includekeyscan.h
#includeds12887.h
sbit BUZZ=P1^3;
/********************************************************************
* 名称 : Main()
* 功能 : 主函数
***********************************************************************/
void Main()
{
init_7219(); //对max7219初始化
init_ds12887(); //对ds12887初始化
//set_time();
set_alarm();
while(1)
{
P2=0xf0;
if((P20xf0)!=0xf0)
{
keyscan();
if(key==0)
{
if ((DS_C 0x10) != 0) //显示时间
{
crt_timenyr();
}
}
}
else{
if ((DS_C 0x10) != 0) //显示时间
{
crt_timesfm();
}
}
delay1ms(100);
}
}
#define DECODE 0X09 //译码控制寄存器
#define INTENSITY 0X0A //亮度控制寄存器
#define SCANLIMIT 0X0B //扫描界限寄存器
#define FLASHCON 0X0C //关断模式寄存器
#define DISPLAY 0X0F //测试控制寄存器
sbit LOAD=P1^0;
sbit DIN=P1^1;
sbit CLK=P1^2;
/********************************************************************
* 名称 : write_7219(uchar add,uchar dat)
* 功能 : 地址,数据发送子程序
***********************************************************************/
void write_7219(uchar add,uchar dat)
{
uchar i;
LOAD=0; //拉低片选,选中器件
for(i=0;i8;i++) //发送地址
{
CLK=0; //清零时钟总线
DIN=(bit)(add0x80); //每次取高字节
add=1; //左移一位
CLK=1; //时钟上升沿,发送地址
}
for(i=0;i8;i++) //发送数据
{
CLK=0;
DIN=(bit)(dat0x80);
dat=1;
CLK=1; //时钟上升沿,发送数据
}
LOAD=1; //发送结束,上升沿锁住数据
}
/********************************************************************
* 名称 : init_7219()
* 功能 : max7219的初始化,设置max7219内部的控制寄存器
*******************
文档评论(0)