在stc15f2k60s2开发版的数码管上显示12345678过会显示9876543 在不用定时器和计时器的情况下怎么实现其效果
没人的话我来教
可以使用定时器中断来实现数码管显示的效果,但是如果不想使用定时器和计时器,可以使用延时函数来实现。
具体的做法是,先编写一个延时函数,然后利用延时函数来实现数码管上的数字显示。
下面是一个示例代码:
#include <stc15f2k60s2.h>
// 定义延时函数
void delay(unsigned int ms)
{
unsigned int i,j;
for(i=0;i<ms;i++)
for(j=0;j<1141;j++);
}
void main()
{
unsigned char num[] = {1,2,3,4,5,6,7,8,9,8,7,6,5,4,3};
unsigned char i;
while(1)
{
for(i=0; i<15; i++)
{
P0 = num[i]; // P0口连接数码管
delay(500); // 延时500ms
}
}
}
这段代码中,先定义了一个延时函数 delay()
,然后定义了一个数组 num
,用于存储要显示的数字。在 while
循环中,通过循环遍历 num
数组,然后将数字依次显示在数码管上,并使用延时函数来控制显示时间。