数码管显示是每一个单片机初学者都必须学的,而单片机驱动数码管的数字循环显示实验,又是单片机基础中的基础,同时也是学好C语言编程的关键,此实验在硬件上可以弄清楚单片机驱动原理和数码管的显示原理,在软件上可以帮助建立编程思维和良好的编程习惯,同时加深C语言中函数,变量和循环结构语句的学习。
为了方便初学者,程序代码每一段我都加了详细的注释。同时为了更直观的显示效果用PROTEUS软件来进行仿真。
8只数码管滚动显示1~8PROTEUS和51单片机教程
程序功能,从左到依次显示0,1,2,3,4,5,6,7八个数字
程序参考源代码如下:
/*8只数码管同时显示不同字符*/
#includereg51.h//51程序头文件
typedefunsignedcharuint8;
typedefunsignedintuint16;//程序中的两个宏定义
codeuint8LED_CODE[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8};
//数码管显示的八个码段
voiddelay(uint16x)//定义无返回值延时函数
{
uint16i,j;//定义循环语句的两个变量
for(i=x;i0;i--)
for(j=;j0;j--);//FOR循环语句实现功能
}
voidmain()//定义主函数
{
uint8i;//定义函数变量
while(1)
{
for(i=0;i8;i++)//FOR循环
{
P0=0xFF;
P3=0x01i;
P0=LED_CODE[i];//给IO口赋值
delay(4);//调用延时函数
}
}
}
,如果有什么意见或者建议欢迎您留言给我,如果你也是一个单片机初学者,请
转载请注明地址:http://www.abmjc.com/zcmbyf/1755.html