/*
作者:eleclike
功能:数码管动态显示功能,最少应点亮两个数码管,即一个数据
最多可以根据DataNumber确定
函数:DynamicDisplay(uint Array[],uint ArrayNumber);
入口参数 Array[]:需要显示的数组名, ArrayNumber:数组的参数个数
返回值:无
*/
#include
#include "intrins.h"
#define uint unsigned int
#define nop _nop_()
#define DataPort P0 //数据口
#define BitPort P2 //位选口
#define DataNumber 3//需要显示的数组元素的个数
void DynamicDisplay(uint Array[],uint ArrayNumber);
void Delay(uint N);
uint Data[DataNumber];
//主函数
main()
{
uint Data[3]={0x25,0x59,0x23};//
nop;
while(1)
{DynamicDisplay(Data,DataNumber);
}
}
//-----------------------------------------------
//--------------动态显示子程序--开始------------
void DynamicDisplay(uint Array[],uint ArrayNumber)
{uint BitSelect="0x01";
uint i;
for(i=0;i {
DataPort=Array;//送;//数据低四位至数据口
BitPort=BitSelect;//送位选至位选口
Delay(200);
BitSelect=BitSelect<<1;//位选左移
DataPort=Array>>4;//;//送数据高四位至数据口
BitPort=BitSelect;//送位选至位选口
Delay(200);
BitSelect=BitSelect<<1;//位选左移
}
}
//------------动态显示子程序结束--------------------
//------------------------------------------------
//延时
void Delay(uint N)
{uint i;
for(i=0;i {i=i;
}
}
文章评论(0条评论)
登录后参与讨论