1、首先,在电脑中打开keil软件,创建好工程,然后添加c文件,如下图所示。
2、然后添加c文件,接下来输入代码,先输入一个头文件命令。
3、然纯御后,进行宏定义,代码如图所示。
4、然后声明P1口,如下图所示。
5、最后,将延时语句全部添加进去,代码按照图中所示的直接敲入即可。
6、做做岩最后,点击编译,生成HEX文件就可以了胡闷,这样51单片机延时语句就完成了。
我以2ms为例说明一下:单片机的晶振周期为12hz,则执行一条代码为一个机器周期,为备弊稿1微妙(ua),所以2ms=10*200(ua),
对r2赋值200(4位二进制数最大卜谨值为256,所以只能取到200)即#c8h。再对r2循环20次就实现了2ms延时。至于100ms、
200ms、
1s等等方法类似,只是调整相应的初值。多设仿孝置几次循环就行。
程序代码如下:
delay:
mov
r1,#0ah
;赋值r1为10次
delay1:
mov
r2,#c8h
;赋值r2为200次
delay2:
djnz
r2,$
;r2自减到0,不到0继续等待
djnz
r1,delay1
;r2减到0后r1自减1,重新给r2赋初值后继续循环,直到r1到0为止,延时结束
ret
1. sleep()是码嫌以毫秒计算的,延时5秒是sleep(5*1000),延时5分是sleep(5*1000*60)
2.包含的头文件看你用的什么编辑软件。
3.我用的VC++是用包含在#include<windows.h>头文件中。
#include<stdio.h>悉模稿#include<windows.h>//Sleep()的头文件 main() { int i
int n=10for(i=1i<=ni++) {printf("%d",i)Sleep(5*1000*60)} //
这里修改延时时间,
有睁孝些人说是用#include<dos.h>做头文件你自己试下吧。
还用Sleep的S是大写的,不是小写的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)