单片机延迟400ms的程序怎么编啊,
void DelayM(unsigned int a){
unsigned char i;
while( --a != 0){
for(i = 0; i < 125; i++); //一个 ; 表示空语句,CPU空转。
} //i 从0加到125,CPU大概就耗时1毫秒
}
定时M毫秒的程序,晶振为12MHz。a取500就为500ms
这个延时,各个单片机不确定,有一种方法是采用延时子函数
void delay(int k)
{
int i,j;
for(i=0;i<k;i++)
{
for(j=0;j<100;j++);
}
}
这里是可以设定延时时间,当然,需要用示波器测试,比如你的while(1)死循环里,
void main()
{
while(1)
{
输出1;
delay(1);
输出0;
delay(1);
}
}
然后测试周期,50ms对应的周期是100ms,因为是方波,有高低电平的时间,如果测试的时间长了,就减小j的值100,如果时间断了,就增加100那个数,直到周期为100ms。
如果100设为1了时间还是超过100ms(你这里频率6MHz如果是CPU的时钟,频率太低)那就用nop这个指令,每个单片机的这条指令书写不同,delay()子函数里就用几个nop延时
1、延时程序如下:
DELAY:
MOV R2,#4 ;1
DELAY1:
MOV R3,#200 ;1*4
DELAY2:
MOV R4,#249 ;1*200*4
DJNZ R4,$ ;2*249*200*4
DJNZ R3,DELAY2 ;2*200*4
DJNZ R2,DELAY1 ;2*4
RET ;2
;这个程序延时约为400ms,稍微大点,总的延时时间是注释数据之和(400816us)
2、用定时器
TIMES EQU 30H
LED BIT P1.0
ORG 0000H
LJMP STA
ORG 000BH
LJMP T0ISR
ORG 0030H
STA:
MOV TMOD,#01H
MOV TH0,#3CH
MOV TL0,#0B0H ;50ms
SETB ET0
SETB EA
MOV TIMES,#0
SJMP $
T0ISR:
CLR TR0
MOV TH0,#3CH
MOV TL0,#0B0H ;50ms
SETB TR0
INC TIMES
MOV A,TIMES
CJNE A,#8,T001
T001:
JC T0END
MOV TIMES,#0
CPL LED
T0END:
RETI
END
用定时器中断,每10ms中断一次让R7加1,当R7加到40时就可以
什么是MPC拜托了各位 谢谢
输入 101键盘, 两按键的鼠标,I\/O MIDI I\/O接口,串行接口,并行接口,游戏杆接口 (2). 软件平台 Microsoft 公司的 Windows 3.1 Microsoft 公司的 MS-DOS 3.1 版以上的操作系统 与普通PC相比: CD-ROM 数字音频子系统 1. MPC系统 在市场上最先推出的独立工作的MPC系统是 Tandy 公司...
电脑配置luckyang
400ms的平均寻道时间,300KB\/S的传输率,640MB的容量,对于目前动辄配一个7200转、2MB cache,30GB容量的朋友来说可能觉得第一代光驱速度太慢,容量太小。但要知道第一代光驱出现的时候还是大家用软盘作为主要移动拷贝媒介,经常用10多张盘拷贝一个软件或游戏,然后用2、30分钟将它装入机器内,如果其中一张盘有质量问题...
t70爱国者T70
支持人脸检测(触摸\/连续)、色彩模式(逼真、自然、黑白、棕褐色)及串片秀效果,具备过渡效果、正常、简单、活跃、怀旧及时尚等五种效果。音效支持4种。具备高清静态照片输出功能(需另选购配件)。启动时间约为1.4秒,电池充满所需时间为约220分钟,快门延迟约为0.30秒,最小拍摄间隔约为1.3秒。
玩的机子玩魔兽卡。为什么??
一些显卡比较差,内存不够大的老爷机,在运行《魔兽争霸Ⅲ》之类的3D游戏时,碰到玩家人数多,战斗场面...组织质量的设置等级将影响一组物体在游戏中的显示效果,例如游戏中的森林即是一片组织,将组织简单化...打开“控制面板”双击“显示”图标,在显示属性对话框中选择“Geforce2 MX\/MX400”标签,即可对显卡的3D...
菊花如何栽培
摘心时只留植株基部4-5片叶,上部叶片全部摘除。待长出5—6片新叶时,再将心摘去,使植株保留4-7个主枝,以后长出的枝、芽要及时摘除。摘心能使植株发生分枝,有效控制植株高度和株型。最后一次摘心时,要对菊花植株进行定型修剪,去掉过多枝、过旺及过弱枝,保留3—5个枝即可。9月现蕾时,要...
sony数码相机启不开机
存储卡类型MS Duo\/MS Pro卡 查看闪存卡报价 照片格式JPEG 视频格式MPEG1 音频输入单声道 索尼W180其他特性 回放功能支持串片秀回放;效果种类:5种(基本、简单、活跃、怀旧、时髦);音效:是(8种,最长五分钟)回放变焦: 8倍;回放影像可能尺寸:不超过7M(3072×2304).其他特性支持智慧场景模式与动态范围...
求一份奥林巴斯X920的使用说明书
920 x1,080) 影像处理器 BIONZ 镜头特点 光学变焦 5倍 等效于35mm尺寸 28-140 数码变焦 2倍 广角镜头 是 长焦镜头 否 镜头结构 7组9片(包括1片ED镜3片非球面镜) 镜头说明 5-25mm 伸缩镜头 是 对焦方式 自动对焦方式:单按自动对焦\/监控自动对焦 多重AF(9点)\/中心AF\/定点AF\/半手动(0....
计算机的历史是?
需要DOS的支持,类似苹果机的操作界面,以致被苹果控告。诉讼到1997年8月才终止。 1985年12月: MS-DOS 3.2、PC-DOS 3.2。这是第一个支持3.5英寸磁盘的...1999年2月22日: AMD公司发布K6-III 400MHz。有测试说其性能超过Intel P-III 。集成2300万个晶体管、socket 7结构。 1999年2月26日,Intel公司推出了...
有哪些头戴式游戏耳机值得推荐?
这几款头戴式游戏耳机值得推荐:1、HIK D1头戴式蓝牙耳机,两用型头戴耳机 HIK D1是一款外观炫酷、音质出色的头戴、插线两用型耳机。采用CSR芯片方案,加上出色的调音技术,音质均衡、饱满,带来游戏中沉浸式的体验。蛋白皮的耳罩柔软,隔音效果强。蓝牙模式续航时间可达到25小时,听歌通话体验效果不错...
索尼DSC-T2,DSC-T300, DSC-T200,DSC-T70 有什么不同?
其他性能 支持串片秀和涂鸦功能,并且增加了许多丰富的相片后期处理项目 其他特点 使用者可以按照日期和...40080016003200 高感光度 是 拍摄性能防抖性能 光学防抖 场景模式 夜景、夜景人像、柔和快照、风景、...快门延迟: 约 0.3秒 最小拍摄间隔: 约 0.64秒 随机附件 电池充电器、可重复充电电池、用于多用途...
费竿知爱: 假设你的晶振为12M那么 1、延时程序如下: DELAY: MOV R2,#4 ;1 DELAY1: MOV R3,#200 ;1*4 DELAY2: MOV R4,#249 ;1*200*4 DJNZ R4,$ ;2*249*200*4 DJNZ R3,DELAY2 ;2*200*4 DJNZ R2,DELAY1 ;2*4 RET ;2 ;这个程序延时约为400ms...
广南县18411729990: 编延时400ms的子程序,晶振频率4MHz.要求用汇编语言编写,需给出计算过程. - ?
费竿知爱: 是什么单片机?如果是普通51的话计算如下:一个机器周期时间=12/4=3微妙.延时400毫秒需要400*1000/3=133333个机器周期,程序如下:delay: mov r3,#92 ;1*3 delay2: mov r4,#240 ;1*3*92 djnz r4,$ ;2*3*240*92 djnz r3,delay2 ;2*3*92 ret ;2 总延时133313,400毫秒差30微妙.
广南县18411729990: 单片机延时时间程序怎么编程 - ?
费竿知爱: 举一个例子来说明吧.比如你要编一个延时50毫秒的子程序,那么步骤如下:1、查看一下你的硬件环境,比如晶振大小,CPU型号,不用CPU指令的机器周期是不一样的.2、计算延时需要的机器周期.比如采用12M晶振,CPU采用通用8051,...
广南县18411729990: 用定时器T1的方式1和循环程序两种方法分别编写400ms的延时程序的汇编语言 - ?
费竿知爱: 定时器方式:ORG 0000H MAIN: MOV SP,#5FH MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H MOV R2,#8 SETB TR0 LOOP: JNB TF0,$ CLR TF0 DJNZ R2,LOOP CLR TR0 SJMP $ END 延时方式:ORG 0000H MAIN: MOV SP,#5FH LCALL DELAY SJMP $ DELAY: MOV R2,#40 DELAY1: MOV R3,#20 DELAY2: MOV R4,#250 DJNZ R4,$ DJNZ R3,DELAY2 DJNZ R2,DELAY1 RET END
广南县18411729990: 51单片机延时400毫秒使用keil - ?
费竿知爱: 使用stc_isp下载软件可以直接生成软件延时或者定时器延时的程序段.单片机开发问题或许我这可以帮助的.
广南县18411729990: 51单片机中延时程序 - ?
费竿知爱: for(j=0;j<125;j++) 这是一个1ms基准延时程序,i=500就延时了500ms,具体的和机器内核有关,把这个程序记住就行了
广南县18411729990: 我刚学单片机的,我需要编写延时40ms的子程序,但不懂如何入手.麻烦高手们帮帮忙!谢谢 - ?
费竿知爱: 首先需要确定晶振频率,然后可以采用软件延时和硬件延时两种方法. 软件延时就是靠编写循环程序让其循环执行来达到延时目的,另一种方法是硬件延时,用单片机内部的定时器来产生延时效果,这种方法不占用CPU资源,推荐用此方法....
广南县18411729990: 怎么用C语言做单片机的精确延时 - ?
费竿知爱: 在单片机应用中,经常会遇到需要短时间延时的情况,一般都是几十到几百μs,并且需要很高的精度(比如用单片机驱动DS18B20时,误差容许的范围在十几μs以内,不然很容易出错);而某些情况下延时时间较长,用计时器往往有点小题大...
广南县18411729990: 任意型号单片机,延迟1或2秒怎么写?12M,24M怎么算?for后面怎么写.要过程不要结果.?
费竿知爱: 一般先写一个延时几个毫秒的子程序,很简单.void delay( int ms ) { while( ms-- ) { int i = 延时常数; do { _nop_(); } while( --i ); } } 要延时一秒钟,就是1000ms,delay( 1000 ); 几个注意事项,1、延时程序没有关中断,所以中断程序会影响定时精度.2、延时常数可以用软仿真程序实验确定,需要根据不同的单片机、晶振频率调整延时常数.3、想要适用任意型号单片机,内层循环最好加一句空操作,通常这可以阻止编译时优化程序.
广南县18411729990: 51单片机怎么写一个四小时的延迟程序 - ?
费竿知爱: 1. 用中断 2. 用子程序(扫描的方式进行..类似于按键扫描) 做的时候用多个变量相乘,可以节省空间