发 帖  
[问答] iccAVR编程+proteus仿真问题,请问为什么程序加到电路中仿真始终没法让K6控制Q1的通断?如何解决?
202 iccavr proteus仿真
分享
程序加到电路中仿真始终没法让K6控制Q1的通断,请求大神赐教。。。。程序哪里有不对的地方,多学习了。。。
电路图如下所示  

程序如下所示

#define F_CPU 12000000UL
#include <iom16v.h>
#define uchar    unsigned char
#define uint     unsigned int
#include "macros.h"
#include <eeprom.h>
#include <math.h>
//--------------------------------
//主程序
//-------------------------------------

void main(void)
{  

    DDRD|=BIT(PD4);              //PD4端口输出
    PORTD&=~BIT(PD4);            //断开继电器
    DDRB=0X00;                   //PB2端口输入
    PORTB|=0xFF;                 //PB2端口内部上拉


while(1)
   {
   if(PINB&0x04==0)
          {
           while(PINB&0x04==0);
           PORTD|=BIT(PD4);
           delay_nms(5000);
       PORTD&=~BIT(PD4);
      }
   }
}

void delay_1us(void)                 //1us延时函数
{
   asm("nop");
   }

void delay_nus(unsigned int n)       //N us延时函数
{while(n--)
    ;
   }

void delay_1ms(void)                 //1ms延时函数
   {
    unsigned int i;
    for (i=0;i<1428;i++);
   }
void delay_nms(unsigned int n)       //Nms延时函数
   {
    unsigned int i=0;
    for (i=0;i<n;i++)
    delay_1ms();
   }


proteus仿真电路图
  
0
2018-6-26 03:17:26   评论 邀请回答

只有小组成员才能发言,加入小组>>

36个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表