求:单片机编程

来源:百度知道 编辑:UC知道 时间:2024/04/28 05:45:46
您能不能给我一个:当有信号时执行件不得电,没有信号时延时4秒得电驱动执行件.

(也就是振荡电路振荡执行件不得电,不振荡延时4秒得电驱动执行件.)

编程的时候可不可以在程序中设定个值,当没有信号也就是小于这个定值时延时4秒得电驱动执行件;当有信号并大于这个值时执行件不得电. 您可以按照这个思路帮我作个程序么?8051的.

麻烦您了.拜托了.

根据题意:当有信号时执行件不得电,没有信号时延时4秒得电驱动执行件。
设:信号输入为P1.0脚;P1.7脚为执行件控制引脚(因开机复位时8051 I/O口全为高电平,故为输出低电平使执行件得电)
org 00h
jmp main
main:
mov r0, #00h
djnz r0, $ ;开机延时待电源电压稳定
loop:
setb p1.0
jb p1.0, $ ;有信号循环
delay4s ;无信号延时4秒(延时程序自已根据石英频率编写)
clr p1.7 ;使执行件得电
setb p1.0
jnb p1.0, $ ;无信号循环
nop
nop
setb p1.7 ;有信号使执行件不得电
nop
nop
jmp loop
因输入本身是有或无信号相当于数字信号,直接可以通过信号的有无来控制,故不需要在程序中设定值。