找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1281|回复: 0
打印 上一主题 下一主题
收起左侧

按键小灯左右移的单片机程序

[复制链接]
跳转到指定楼层
楼主
ID:410287 发表于 2018-10-15 23:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h>
#define uchar unsigned char
sbit key1=P3^5;
sbit key2=P3^4;
void delay(uchar k)
{
     uchar i,j;
     for(i=k;i>0;i--)
         for(j=110;j>0;j--);
}
void moveleft()
{
    if(P1 == 0x7f)    //0111 1111
         P1 = 0xfe;    //1111 1110
    else
         P1 = (P1 << 1) + 1 ; // 1111 1100 ->  1111 1101
}
void moveright()
{
    if(P1 == 0xfe)
         P1 = 0x7f;
    else
         P1 = (P1 >> 1) + (1 << 7);
}
void main()
{
    P1 = 0xfe;    //1111 1110
    P3 = 0xff;    //1111 1111
    while(1)
    {
          if(key1 == 0)
          {
                delay(20);
                if(key1 == 0)  
                {
                      while(!key1); //等待按键抬起
                      moveleft();
                 }
           }
  
           if(key2 == 0)
           {
                delay(20);
                if(key2 == 0)
                {
                     while(!key2);
                     moveright();
                }
           }
     }
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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