微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 中断控制程序中加定时器延时子程序,外部中断后灯一直暗

中断控制程序中加定时器延时子程序,外部中断后灯一直暗

时间:10-02 整理:3721RD 点击:

#include <reg51.h>
void delay(unsigned char x);/*延时x秒*/
void main()
{
  IT0=1;
  EA=1;
  EX0=1;
  for(;;)
    P1=0x00;
}
void f()interrupt 0
{
  P1=0xff;
  delay(1);
}
void delay(unsigned char x)
{
unsigned char i,j;
for(j=1;j<=x;j++)
  for(i=1;i<=20;i++)/*一秒*/
{
  TMOD=0x01;
  TH0=0x3c;
  TL0=0xB0;
  TR0=1;
  while(!TF0);
  TF0=0;
}
}

你把中断初始化TMOD=0x01;TH0=0x3c;TL0=0xB0; TR0=1;放MAIN里试试

写的什么代码,想表达的是什么意思,延时函数还能写成这样?

就是想在外部中断0中断后灯全暗一秒,然后用子程序delay(1)来达到延时一秒。

直接用暂时函数就行了吧,不需要再加定时中断吧来自: Android客户端

我这个小白都看不下去了

void delay(uchar a)
{
        uint x,y;
        for(x=a;x>0;x--)
                for(y=110;y>0;y--);
你试试把这个延时程序替代你的,然后那些中断指令要放在main里。

这个延时是一毫秒的

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top