有没有一个可以执行一下,延迟一秒的函数,让我听到每一次蜂鸣?希望大虾们完善、解答。
程序如下:
#include<stdio.h>
void main()
{
int a;
for(a=0;a<=10;a++)
printf("voice%d\a\n",a);
getch();
}
我有一个C程序:想让它执行一次蜂鸣一次,但是系统执行太快,只能听到最后一次蜂鸣
答案:3 悬赏:80 手机版
解决时间 2021-12-24 07:34
- 提问者网友:溺爱和你
- 2021-12-24 02:29
最佳答案
- 五星知识达人网友:白昼之月
- 2021-12-24 04:07
如下:
#include<stdio.h>
#include <conio.h>
#include <windows.h> // VC下
#include <unistd.h> //GCC下这个头文件
main()
{
int a;
for(a=0;a<=10;a++)
{
printf("voice%d\a\n",a);
Sleep(1000); // 延迟1000毫秒
}
getch();
}
#include<stdio.h>
#include <conio.h>
#include <windows.h> // VC下
#include <unistd.h> //GCC下这个头文件
main()
{
int a;
for(a=0;a<=10;a++)
{
printf("voice%d\a\n",a);
Sleep(1000); // 延迟1000毫秒
}
getch();
}
全部回答
- 1楼网友:迷人又混蛋
- 2021-12-24 04:54
单个赋值吧,有点烦但很实用,这里采用循环移位是不行的,因为八个灯开始的时候左右两个灯亮,如果说8个led在p1口上则开始的状态是0x7e,下个状态就是0xbd,我知道你是觉得好玩做这个的其实一点意义没有,我当年也做过,方法是有的,这个是最土的方法不过可以用,对于按键部分就更简单了,设置一个标志位,按键每按一次标志位加一,加到4的时候清0,标志位0的时候就是开始的流动方向,1的时候就停止,2的时候则向相反地方向流动(这里有个问题,相反地方向??开始的状态是什么,两个灯都从中间开始向两边扩散??)你会发现这个程序很乱,可以这么说你没有构思好灯跑的结构和可能出现的问题,就是什么时候停止,可能你已经向明白了,但题目没有表达清楚。流水灯是单片机的基础怎么跑是c语言的基础,不要只在一个地方停流太多的时间,对于单片机主流是c语言。你有这个时间还不如好好啃啃c语言呢。说了这么多,乱七八糟的,不过还是希望可以对你有点帮助吧。。
- 2楼网友:孤独的牧羊人
- 2021-12-24 04:15
软件延时,比如在晶振为11.0592MHZ下可以这样编以毫秒为单位的延时函数
void delayms(unsigned int xms)
{
unsigned int x,y;
for(x=xms;x>0;x--)
for(y=110;y>0;y--);
}
你需要1S的延时那么可以这样调用delayms(1000);
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯