永发信息网

单片机STC89C52,P0.1口作为按钮,P1.0连接灯,要求按钮控制灯的亮灭。请设计硬件连接方式和C程序

答案:4  悬赏:20  手机版
解决时间 2021-03-26 07:45
单片机STC89C52,P0.1口作为按钮,P1.0连接灯,要求按钮控制灯的亮灭。请设计硬件连接方式和C程序
最佳答案
图我就随便画了,暂时没有专业工具。
#include 
sbit KEY = P0^1;     //定义按键 按键按下时引脚为低
sbit LED = P1^0;     //定义LED脚, 当P1^0为低时 灯亮
void delayms(unsigned int times )       //毫秒延时
{
 unsigned int i,j;
 for(j=0;j {  
   for(i=0;i<400;i++)
  ;
 }
}
void main()
     {
          KEY=1;
          LED=1;     //初始化按键和灯
         while(1)
           {
                    if(KEY==0)
                {
                             delayms(15);           //延时15-20MS去抖动
                 if(KEY==0) LED=0;       //此时按键还是低电平表示被按下,灯亮
                            }
            else LED=1;                       //否则灯不亮       
                    }
         }

全部回答

#include "reg52.h"
#include 
#define uchar unsigned char // 为后面编写方便,将 unsigned char 定义为 uchar
sbit KEY = P0^1;                     // P0.1按钮
sbit LED = P1^0;                     // P1.0灯

void delay()
{
     uchar i,j;
     for(i=0; i<20; i++)
     for(j=0; j<249; j++)_nop_();
}

void main()

  LED = 1;                  //初始化灯灭
  while(1)
   {
     if(KEY==0)            //判断按键是否按下
       {
        delay();
        if(KEY==0)
          {
            while(~KEY);         //等待按键释放
            LED=~LED;           //P1.0电平取反
           }
       }
    }
}
P1.0口 串个1K电阻,接VCC,然后P0.1口接上拉电阻(10k)到VCC,并个微动开关接地, 需要知道的是 52单片机上电后,默认除P0口外,上电高电平,接上拉电阻是为了让P0口上电高电平;
程序:
#include
#define uchar unsigned char
#define uint unsigned int
void delay(uint x)
{
uchar a,b;
for(a=100;a>0;a--)
for(b=x;b>0;b--);
}
void main()
{
while(1)
{
if(P0=0xfe)
{
P1=0x00;
}
else P1=0xff;
}
}
单片机是不认识平p1.0 , P1.3 等,你把P1.0改为P1^0 , P1.3改为p^3.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
古汉语中”“克”字的意思?
在Altium designer里的怎么找到LM7805原件啊
我国古代最早见于记载的律学家是谁
将《醉翁亭记》中“若夫日出……而乐亦无穷也
日立中央空调的压缩机很牛吗?懂行的帮忙分析
为什么qq新消息通知不了
同时处两个对象怎么了,很多吗,大惊小怪的
大连无房证明需要什么材料
曾小贤金镶玉广告词
选开放式橱柜除了关注质量外还要注意什么?
香港嘉乐迪量贩KTV地址在什么地方,想过去办
华谊和华为是什么关系
想换电脑玩吃鸡和战地1,谁发个配置给我,只
人人提示有人加我好友,我同意之后,那人反问
除了找工作,还什么地方需要毕业证和学位证?
推荐资讯
以休闲时光为题写一篇大学英语作文
【化学】为什么NaF溶液不能保存在带橡胶塞的
求下联上联:虫生蝶蝶生虫重重叠叠下联
苹果5下面将蜂窝数据用于,所有下载的软件都
一般人不出气最多能憋多久才死亡
当涂到南京汽车时刻表当涂到南京南站有几点车
我和前夫离婚整整4年了,我和前夫有个女儿今
『金色琴弦』共有多少集?每集的简介?
上海天气预报15天查询10月22号至25号
看图猜成语左右两个四字上下两边8个达字是什
销售商品已出库但未开具发票会计分录怎么做
有没有理一,理二的同学们
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?