3473|2

8

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

按键问题 [复制链接]

其中D4口连1个按键
C0和C1口分别连1个LED灯
D4按下 C0亮C1灭
再按C0灭C1亮
再按C1灭C0亮
如此按键每次按下2个灯反复亮   
程序应该怎么写  
  我自己写的乱掉了,陷入混乱中了。。。

最新回复

因为没有配置内部上拉,因此RD4要外接个上拉电阻,延迟可以适当调整。  详情 回复 发表于 2011-7-20 22:19
点赞 关注
 

回复
举报

799

帖子

0

TA的资源

纯净的硅(中级)

沙发
 
用的16f877芯片么?
我也是初学者,临时写了一个~
不当之处请各位大侠多指教!
好像RD口有内部上拉控制寄存器?不知道怎么配置了,还有那个配置位的。。。

#include
void init()//初始化端口
{
        TRISC=0x00;//C口做输出
        PORTC=0x01;//对C口赋初值,00000001,RC0=1,其余为0;
        TRISD=0xff;//D口做输入
}       
void delay()  //延迟函数
{
        int i,j;
        for(i=20;i>0;i--)
                for(j=100;j>0;j--);       
}
void main()
{
        init();//初始化函数
        while(1)//死循环
        {
                if(RD4==0)                        //        判断按键是否按下
                {
                        delay();                //         延迟消抖
                        if(RD4==0)                //        再次判断按键是否按下
                        {
                                RC0=!RC0;        //  取反
                                RC1=!RC1;        //        取反
                                while(!RD4);//        等待按键释放
                        }
                }
        }
}
 
 
 

回复

799

帖子

0

TA的资源

纯净的硅(中级)

板凳
 
因为没有配置内部上拉,因此RD4要外接个上拉电阻,延迟可以适当调整。
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表