200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 数码管显示1到8c语言 单片机控制八只数码管滚动显示1~8 附PROTEUS软件仿真图

数码管显示1到8c语言 单片机控制八只数码管滚动显示1~8 附PROTEUS软件仿真图

时间:2022-03-29 05:07:09

相关推荐

数码管显示1到8c语言 单片机控制八只数码管滚动显示1~8 附PROTEUS软件仿真图

数码管显示是每一个单片机初学者都必须学的,而单片机驱动数码管的数字循环显示实验,又是单片机基础中的基础,同时也是学好C语言编程的关键,此实验在硬件上可以弄清楚单片机驱动原理和数码管的显示原理,在软件上可以帮助建立编程思维和良好的编程习惯,同时加深C语言中 函数,变量和循环结构语句的学习。

为了方便初学者,程序代码每一段我都加了详细的注释。同时为了更直观的显示效果用PROTEUS软件来进行仿真。

8只数码管滚动显示1~8 PROTEUS 和51单片机教程

程序功能,从左到依次显示0,1,2,3,4,5,6,7 八个数字

程序参考源代码如下:

/* 8只数码管同时显示不同字符 */

#include // 51程序头文件

typedef unsigned char uint8;

typedef unsigned int uint16; // 程序中的两个宏定义

code uint8 LED_CODE[] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8};

//数码管显示的八个码段

void delay(uint16 x) // 定义无返回值延时函数

{

uint16 i,j; // 定义循环语句的两个变量

for(i = x; i > 0; i --)

for(j = 114; j > 0; j --); // FOR循环语句实现功能

}

void main() //定义主函数

{

uint8 i; //定义函数变量

while(1)

{

for(i = 0; i < 8; i ++) //FOR循环

{

P0 = 0xFF;

P3 = 0x01 << i;

P0 = LED_CODE[i]; //给IO口赋值

delay(4); //调用延时函数

}

}

}

最后,如果有什么意见或者建议欢迎您留言给我,如果你也是一个单片机初学者,请关注我,让我们共同学习一起进步,学无止境,加油!

谢谢!

举报/反馈

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。