找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5044|回复: 0
收起左侧

iccAVR编程+proteus仿真问题求解

[复制链接]
ID:83718 发表于 2015-6-23 17:23 | 显示全部楼层 |阅读模式
程序加到电路中仿真始终没法让K6控制Q1的通断,请求大神赐教。。。。程序哪里有不对的地方,多学习了。。。
电路图如下所示

proteus仿真电路图

proteus仿真电路图

程序如下所示

#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仿真电路图

proteus仿真电路图
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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