今天给各位分享c语言5ms延时子程序的知识,其中也会对延时1s的程序设计c语言进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
1、C语言中,怎么实现延迟5秒钟?2、怎么用C语言编写74HC595移位程序3、怎么用C语言写可以调节的延时程序,请大侠帮忙4、c语言延时程序的意思!5、c语言延时程序6、单片机C语言延时程序的计算,是什么样的算法,请求高手。
C语言中,怎么实现延迟5秒钟?
用函数sleep(); 例子: main() {int a; scanf(“%d”,a); sleep(5); printf(“%d\n”,a); }
怎么用C语言编写74HC595移位程序
看电路图,行驱动直接接在单片机I/O口上,有问题吧,单片机I/O不管是输入还是输出,都承受不了32LED灯。所以在I/O口上要加放大电路。这个不是小程序,只能说思路。先要明白汉字显示就是点阵显示。根据电路一次最多只能2个汉字,再多就只能滚动或刷屏。所以以2个汉字为基础开始编程。将第一行的点阵(32个位),顺序写入595,输出595.
控制第一行的I/O驱动,点亮第一行。延时5ms将第二行的点阵(32个位),顺序写入595,关第一行,输出595.
控制第二行的I/O驱动,点亮第二行。延时5ms同理,顺序点亮16行。一屏扫描完毕,重复循环,汉字就显示出来了。必须重复循环,否则没显示。
显示滚动效果。滚动效果其实就是控制行点阵的内容,将每行的32个位,右移一位,再写入595,就是滚动效果了。每扫描一屏,移位一个,位扫描多屏,移动一个,可以控制滚动的速度
怎么用C语言写可以调节的延时程序,请大侠帮忙
延时程序(包括asm和C程序,都是我在学单片机的过程中用到的),在单片机延时程序中应考虑所使用的晶振的频率,在51系列的单片机中我们常用的是11.0592MHz和12.0000MHz的晶振,而在AVR单片机上常用的有8.000MHz和4.000MH的晶振所以在网上查找程序时如果涉及到精确延时则应该注意晶振的频率是多大。
软件延时:(asm)
晶振12MHZ,延时1秒
程序如下:
DELAY:MOV 72H,#100
LOOP3:MOV 71H,#100
LOOP1:MOV 70H,#47
LOOP0:DJNZ 70H,LOOP0
NOP
DJNZ 71H,LOOP1
MOV 70H,#46
LOOP2:DJNZ 70H,LOOP2
NOP
DJNZ 72H,LOOP3
MOV 70H,#48
LOOP4:DJNZ 70H,LOOP4
定时器延时:
晶振12MHZ,延时1s,定时器0工作方式为方式1
DELAY1:MOV R7,#0AH ;;晶振12MHZ,延时0.5秒
AJMP DELAY
DELAY2:MOV R7,#14H ;;晶振12MHZ,延时1秒
DELAY:CLR EX0
MOV TMOD,#01H ;设置定时器的工作方式为方式1
MOV TL0,#0B0H ;给定时器设置计数初始值
MOV TH0,#3CH
SETB TR0 ;开启定时器
HERE:JBC TF0,NEXT1
SJMP HERE
NEXT1:MOV TL0,#0B0H
MOV TH0,#3CH
DJNZ R7,HERE
CLR TR0 ;定时器要软件清零
SETB EX0
RET
C语言延时程序:
10ms延时子程序(12MHZ)
void delay10ms(void)
{
unsigned char i,j,k;
for(i=5;i0;i–)
for(j=4;j0;j–)
for(k=248;k0;k–);
}
1s延时子程序(12MHZ)
void delay1s(void)
{
unsigned char h,i,j,k;
for(h=5;h0;h–)
for(i=4;i0;i–)
for(j=116;j0;j–)
for(k=214;k0;k–);
}
200ms延时子程序(12MHZ)
void delay200ms(void)
{
unsigned char i,j,k;
for(i=5;i0;i–)
for(j=132;j0;j–)
for(k=150;k0;k–);
}
500ms延时子程序程序: (12MHZ)
void delay500ms(void)
{
unsigned char i,j,k;
for(i=15;i0;i–)
for(j=202;j0;j–)
for(k=81;k0;k–);
}
下面是用了8.0000MHZ的晶振的几个延时程序(用定时0的工作模式1):
(1)延时0.9MS
void delay_0_9ms(void)
{
TMOD=0x01; /*定时器0工作在模式1下(16位计数器)*/
TH0=0xfd;
TL0=0xa8;
TR0=1; /*启动定时器*/
while(TF0==0);
TR0=0;
}
(2)延时1MS
void delay_1ms(void)
{
TMOD=0x01; /*定时器0工作在模式1下(16位计数器)*/
TH0=0xfd;
TL0=0x65;
TR0=1; /*启动定时器*/
while(TF0==0);
TR0=0;
}
(3)延时4.5ms
void delay_4_5ms(void)
{
TMOD=0x01; /*定时器0工作在模式1下(16位计数器)*/
TH0=0xf4;
TL0=0x48;
TR0=1; /*启动定时器*/
while(TF0==0);
TR0=0;
}
c语言延时程序的意思!
晕 这哪是什么延时啊 就搞了 三个循环 达不到延时的效果 也太小看计算机运算速度了吧 这一秒都不到 就算出来了 那个 ; 就是 一个 语句结束符,没什么意思
c语言延时程序
算法是这样的:
这个用编译软件,如KEIL,编译通过之后,进入软件调试功能,就可以测出来是延时多少秒。
具体我帮你调试过了,如果单片机接12MHz晶振的话,这个是延时0.2秒的子程序。你调用一次delay();就延时0.2秒。
请选为最佳答案哦亲。
单片机C语言延时程序的计算,是什么样的算法,请求高手。
void delay(unsigned char cnt)和void delay(unsigned int cnt)意义上是一样的
延时程序的延时过程,是
while(–cnt);
程序运行过程中消耗的时间
如何计算时间
这要根据你单片机上的晶振频率
51系列单片机1个机器周期等于12个时钟周期,12MHz晶振的话一个机器周期=1/12MHz*12=1us
delay(1000),
delay(1000)即–cnt这条指令运行1000次,消耗1000个机器周期,即1ms。在这个程序上运行消耗1ms时间,相当于延时1ms。
关于c语言5ms延时子程序和延时1s的程序设计c语言的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。