利用8031的P1.0,监测某两按键开关,使每按键A一次,输出一个10秒的正脉冲,并利用红发光二极管进行闪烁报
展开全部
问题叙述的不清楚,是用P1.0检测两个开关吗?脉冲的占空比是多少?没有完全明白你的意思,不过在此有一个粗略的构思,希望对你有所帮助,由于有一段时间没有做东西了,可能有些生疏,如有不足或是错误的地方,敬请原谅!
利用中断控制检测P1.0口的电平,一般情况下,按钮开关一端接地,另一端接P1.0同时经电阻给电源高电平,正常状态下,开关未触发,P1.0口由于经电阻接电源,所以为高电平,当按下按钮开关时,向p1.0送入低电平。可使用汇编程序JNB判断P1.0口:(JNB P1.0 pulse10s)
pulse10s为脉冲子程序,这里可利用布尔指令配合延时子程序使用:
(pulse10s:
MOV R1,#10
CLR Pxxxx ;这里是指要发出脉冲的端口
M1:
CPL Pxxxx ;电平在此处翻转
CALL DELAY1s ;这里是1s的延时
DJNZ R1 M1)
以上程序是发出总共10s的单位脉冲。
至于LED只需接在脉冲端口的下级,如果点不亮,可加一个9014驱动。
利用中断控制检测P1.0口的电平,一般情况下,按钮开关一端接地,另一端接P1.0同时经电阻给电源高电平,正常状态下,开关未触发,P1.0口由于经电阻接电源,所以为高电平,当按下按钮开关时,向p1.0送入低电平。可使用汇编程序JNB判断P1.0口:(JNB P1.0 pulse10s)
pulse10s为脉冲子程序,这里可利用布尔指令配合延时子程序使用:
(pulse10s:
MOV R1,#10
CLR Pxxxx ;这里是指要发出脉冲的端口
M1:
CPL Pxxxx ;电平在此处翻转
CALL DELAY1s ;这里是1s的延时
DJNZ R1 M1)
以上程序是发出总共10s的单位脉冲。
至于LED只需接在脉冲端口的下级,如果点不亮,可加一个9014驱动。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询