当前位置:首页 > 单片机 > 单片机
[导读]#include #include //#include /*--------------------------------------------------*/ sbitdis_DIN=P1^0;/*显示串行数据输入端*/ sbitdis_LOAD=P1^1;/*显示数据锁存端*/ sbitdis_CLK=P1^2;/*显示时钟输入端

#include
#include
//#include
/*--------------------------------------------------*/
sbitdis_DIN=P1^0;/*显示串行数据输入端*/
sbitdis_LOAD=P1^1;/*显示数据锁存端*/
sbitdis_CLK=P1^2;/*显示时钟输入端*/

#defineNoOp0x00/*空操作*/
#defineDigit00x01/*数码管1*/
#defineDigit10x02/*数码管2*/
#defineDigit20x03/*数码管3*/
#defineDigit30x04/*数码管4*/
#defineDigit40x05/*数码管5*/
#defineDigit50x06/*数码管6*/
#defineDigit60x07/*数码管7*/
#defineDigit70x08/*数码管8*/
#defineDecodeMode0x09/*译码模式*/
#defineIntensity0x0a/*亮度*/
#defineScanLimit0x0b/*扫描界限*/
#defineShutDown0x0c/*掉电模式*/
#defineDisplayTest0x0f/*显示测试*/

#defineShutdownMode0x00/*掉电方式工作*/
#defineNormalOperation0x01/*正常操作方式*/

#defineDecodeDigit0xff/*译码位数设置*/

#defineIntensityGrade0x0a/*显示亮度级别设置*/

#defineScanDigit0x07/*扫描位数设置*/

#defineTestMode0x01/*显示测试方式*/
#defineTextEnd0x00/*显示测试结束,正常工作*/

unsignedchardataDisBuffer[8]={0,0,0,0,0,0,0,0};/*显示缓存区*/

unsignedcharcodedispaly_list[]=
{
0x7e,0x30,0x6d,0x79,0x33,0x5b,0x5f,0x70,0x7f,0x7b,/*0,1,2,3,4,5,6,7,8,9*/
0x77,0x1f,0x4e,0x3d,0x4f,0x47,0x67,0x3e,0xff,0x00};/*A,B,C,D,E,F,P,U,全
亮,全灭*/

/*--------------------------------------------------------
10ms延时子程序
---------------------------------------------------------*/
voiddelayX10ms(unsignedcharcount)
{
unsignedcharj,k;
while(count--!=0)
{
for(j=0;j<43;j++)
for(k=0;k<73;k++)
;
}
}

/*-------------------------------------------------
向MAX7219写入字节(8位)
--------------------------------------------------*/
voidSendChar(unsignedcharch)
{
unsignedchari,temp;
_nop_();
for(i=0;i<8;i++)
{
temp=ch&0x80;
ch=ch<<1;
if(temp)
{
dis_DIN=1;
dis_CLK=0;
dis_CLK=1;
}
else
{
dis_DIN=0;
dis_CLK=0;
dis_CLK=1;
}
}
}

/*-------------------------------------------------
向MAX7219写入字(16位)
-------------------------------------------------*/
voidWriteWord(unsignedcharaddr,unsignedcharnum)
{
dis_LOAD=0;
_nop_();
SendChar(addr);
_nop_();
SendChar(num);
_nop_();
dis_LOAD=1;
}

/*-------------------------------------------------
MAX7219初始化
-------------------------------------------------*/
voidInitDis(void)
{
WriteWord(ScanLimit,ScanDigit);/*设置扫描界限*/
WriteWord(DecodeMode,DecodeDigit);/*设置译码模式*/
WriteWord(Intensity,IntensityGrade);/*设置亮度*/
WriteWord(ShutDown,NormalOperation);/*设置电源工作模式*/
}

/*-------------------------------------------------
系统上电初始化
-------------------------------------------------*/
voidInitMain(void)
{
IE=0x00;/*设置中断允许寄存器*/
IP=0x00;/*设置中断优先级管理寄存器*/
TH0=0xd8;/*设定时器初值,10ms*/
TL0=0xf0;
TMOD=0x01;/*T1定时器模式2,波特率发生器,T0定时器模式1*/
TCON=0x11;/*设置定时器控制寄存器,INT0设置为边沿触发方式*/
PSW=0x00;
}

/*-------------------------------------------------
主函数
-------------------------------------------------*/
voidmain(void)
{
InitMain();
InitDis();
WriteWord(DisplayTest,TestMode);
delayX10ms(0x64);
delayX10ms(0x64);
WriteWord(DisplayTest,TextEnd);

while(1)
{
unsignedchari;
for(i=0;i<=9;i++)
{
delayX10ms(0x64);
delayX10ms(0x64);
InitDis();
DisBuffer[0]=i;
DisBuffer[1]=i;
DisBuffer[2]=i;
DisBuffer[3]=i;
DisBuffer[4]=i;
DisBuffer[5]=i;
DisBuffer[6]=i;
DisBuffer[7]=i;

WriteWord(Digit0,DisBuffer[0]);
WriteWord(Digit1,DisBuffer[1]);
WriteWord(Digit2,DisBuffer[2]);
WriteWord(Digit3,DisBuffer[3]);
WriteWord(Digit4,DisBuffer[4]);
WriteWord(Digit5,DisBuffer[5]);
WriteWord(Digit6,DisBuffer[6]);
WriteWord(Digit7,DisBuffer[7]);
}

}


}

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

为增进大家对工业以太网的认识,本文将对工业以太网的原理、工业以太网的关键技术以及工业以太网要解决的问题予以介绍。

关键字: 以太网 工业以太网 指数

为增进大家对工业以太网的认识,本文将对工业以太网网络优势、工业以太网和IOLINK的区别予以介绍。

关键字: 以太网 工业以太网 指数

为增进大家对工业以太网的认识,本文将对工业以太网的优势、工业以太网缺点、工业以太网的维护予以介绍。

关键字:

Apr. 23, 2024 ---- 随着节能成为AI推理服务器(AI Inference Server)优先考量,北美客户扩大存储产品订单,带动QLC Enterprise SSD需求开始攀升。然而,目前仅Solidi...

关键字: SSD AI 服务器

为增进大家对二极管的认识,本文将对续流二极管、续流二极管的工作原理以及二极管在工业产品中的应用予以介绍。

关键字: 二极管 指数 续流二极管

通过本文,您将了解到二极管反接是否有电压以及二极管在电子电路中的应用。

关键字: 二极管 指数 稳压电路

为增进大家对二极管的了解,本文将对ESD二极管和TVS二极管之间的区别予以介绍。

关键字: ESD TVS 二极管 指数

为增进大家对嵌入式主板的认识,本文将对嵌入式主板以及嵌入式主板常见问题及其解决方法予以介绍。

关键字: 嵌入式 指数 主板

为增进大家对嵌入式系统的认识,本文将对嵌入式系统、嵌入式系统的特点予以介绍。

关键字: 嵌入式 指数 嵌入式系统

为增进大家对嵌入式的认识,本文将对嵌入式、嵌入式工作相关的内容予以介绍。

关键字: 嵌入式 指数 嵌入式技术
关闭
关闭