[问答] iccAVR编程+proteus仿真问题,请问为什么程序加到电路中仿真始终没法让K6控制Q1的通断?如何解决?

52hui1996 ( 楼主 ) 2018-6-26 03:17:26  显示全部楼层
程序加到电路中仿真始终没法让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个回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则


关闭

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

小黑屋|手机版|Archiver|电子发烧友 ( 粤ICP备14022951号-2 )

GMT+8, 2018-7-19 10:11 , Processed in 0.460908 second(s), 24 queries , Memcache On.

Powered by 电子发烧友网

© 2015 bbs.elecfans.com

微信扫描
快速回复 返回顶部 返回列表