MOV R0,#03
MOV TMOD,#01H
SETB TR0
LOOP: MOV TH0,#FC
MOV TL0,#18
LOOP1:JNB TF0,LOOP1
CLR TF0
CPL P1.0
DJNZ R0,LOOP
MOV R0,#03
CPL P1.1
SJMP LOOP
你好,你看我这个程序可以实现功能吗?还请多多指正!!!
不好意思!我对汇编一窍不通!这个真你帮不了你了!
本回答被提问者采纳单片机500ms延时器程序(中断方式)
include uahar unsigned char include uint undigned int ucahr cont;void init(){ TH0=(65536-50000)\/256; \/\/赋初值 TL0=(65536-50000)%256;EA=1;\/\/开总中断 ET0=1;\/\/开定时器中断 TR0=1;\/\/开启定时器0 } void main(){ init();\/\/调用初始化子程序 } void timer0() interrup...
单片机延迟500ms试写出延迟程序
12M晶振12T片子,汇编的 de500ms:mov r6,#200 de2:mov r5,#250 de1:nop nop nop nop nop nop nop nop djnz r5,de1 djnz r6,de2 ret
单片机汇编语言流水灯,定时器中断控制,(500ms)延时
单片机汇编语言流水灯,用定时器中断控制,可以初始化设置定时器时间(如50mS注定时器最大定时时间到不了500mS,需要加计数存储,中断10就是500mS),有多种方式实现如作一个流水状态表,定时读取写入IO端口 表加一,,或者用左移太移等方式都可以实现在,网上有很多这种实例。
51单片机延时500ms程序
} 定时M毫秒的程序,晶振为12MHz。a取500就为500ms
51单片机,求编译一条延时500ms的程序
DELAY: MOV R5,#10 D1: MOV R6,#20 D2: MOV R7,#123 NOP DJNZ R7,DJNZ R6,D2 DJNZ R5,D1 RET END 这个是延时500MS的,将10改成20就是延时1S的。
单片机c语言的延时程序500ms
根据外部晶振的不同,延时1毫秒的循环次数也不一样,一般12M晶振的话用 for(j=time;j>0;j--);延时时,1毫秒time大概为125左右,这里用110,大概晶振为11.0592M,所以这段程序,内部循环完成1毫秒延时,外部循环完成500毫秒延时。
怎样用单片机精确延时500ms以上?
几个精确延时程序:在精确延时的计算当中,最容易让人忽略的是计算循环外的那部分延时,在对时间要求不高的场合,这部分对程序不会造成影响。500ms延时子程序程序:(晶振12MHz,一个机器周期1us。)void delay500ms(void){ unsigned char i,j,k;for(i=15;i>0;i--)for(j=202;j>0;j--)for(...
51单片机如何计时500ms
步骤如下:1、每隔50ms定时器中断溢出,计数+1。2、当计数达到10次时,便产生了500ms的定时啦,然后,你自己根据你的设计,需要让单片机做什么就自己写些什么(比如让某个io口取反)3、计数达到10次后,不要忘了初始化计数。最后给点建议:1、要让定时器计数50ms,只能在定时器的工作方式1下进行...
高分求编码一个延时500毫秒的子程序
微机原理、系统晶振为12MHz,...好像说法不配套啊。--- 试试单片机的编程,能否...。DL_500MS:MOV R5, #4 MOV R6, #205 MOV R7, #200 DL_M:DJNZ R7, DL_M DJNZ R6, DL_M DJNZ R5, DL_M RET
单片机实验p1.0灯亮500ms灭500ms使用定时器怎么编程?
很简单,大致思路如下:1、在初始化程序中设置定时器初值为50ms,同时定义一个计数变量,P1.0置1(假定低电平点亮LED)。2、在定时器中断服务程序中,重装定时器初值,计数变量加1,判断计数变量是否等于10,如果等于10则取反P1.0,同时计数变量清零,否则,中断返回。