51/AVR单片机技术驿站!  <在线翻译> 淘宝店    便利工具    特色网址   打造无弹窗、无插件的绿色站点...  英才招聘   学历查询  喜欢>>收藏我站 

 首页>> 常规知识 电路图集 学习MCU 单片机文章 查器件PDF 下载中心 单片机教程 学习产品 购买联系 在线留言 RRS
当前位置:首页 > ◆本站实例 > 详细内容
AVR的I/O操作-控制多个继电器[M8515]
发布时间:2010-3-5  阅读次数:832  字体大小: 【】 【】【

/*************************************************
程序名称:2个按键分别控制2个继电器的开和关
编译环境:CVAVR / 基于AVR
单 片 机: ATmega8515
实验对象:XY900_USB型学习开放系统板
月夜听风 http://www.mcusy.cn
*************************************************/
#include <mega8515.h>
#include <delay.h>
#define uint unsigned int
#define uchar unsigned char
void main(void)
{
DDRD.4 = 0;  //设为输入
DDRD.5 = 0;  //设为输入
PORTD.4 = 1; //设PC.4寄存器
PORTD.5 = 1; //设PC.5寄存器
DDRC = 0xff;  //设为输出
PORTC = 0xff; //设为PC寄存器
while(1)
  {
    if(PIND.4!=1) //PD5是否为0?
      {
        delay_ms(10);//防抖
        if(PIND.4!=1)
          {
            delay_ms(10);
            while(PIND.4!=1); //是否松手?
            if(PORTC.4==0)    //若PC4输出为0
               {PORTC.4=1;}    //输出1
            else PORTC.4=0;   //否则输出0
           }
      }
    if(PIND.5!=1) //PD5是否为0?
      {
        delay_ms(10);//防抖
        if(PIND.5!=1)
          {
            delay_ms(10);
            while(PIND.5!=1); //是否松手?
            if(PORTC.5==0)    //若PC5输出为0
               {PORTC.5=1;}    //输出1
            else PORTC.5=0;   //否则输出0
          }
      }
      

}
}

 

我要评论
  • 匿名发表
  • [添加到收藏夹]
  • 发表评论:(匿名发表无需登录,已登录用户可直接发表。) 登录状态:未登录
最新评论
所有评论[0]
    暂无已审核评论!

网站导航 管理登陆 ┊ 免责声明 问题反馈  友链说明
本站部分内容来自网络共享资源,如有冒犯您的权利请来信告之删除或纠正!
不得对本站进行复制、盗链或镜像,转载内容须获得同意或授权;欢迎友情链接、站务合作!

    我要报警 Alexa
 mcusy_cn#126.com (请把#改成@) 交流:479780666 522422171 86-0755-28650237
本站学习交流群:138..158(高级群1-)、77930286(高级群2)、61804809(群3)
Copyright© MCUSY All Rights Reserved
本站网警备案号: WZ36040002485
  ICP备案证书号:粤ICP备09034963号