电子技术论坛

 找回密码
 快速注册

QQ登录

只需一步,快速开始

搜索
下载方法|用单线程|避免多扣帖子规范|求助必读|发帖建议积分策略|勋章介绍|新人必读获取金币|推广论坛|出售帖子基本礼节|致会员信|版规总则
禁涉政治|反对低俗|举报专帖征集相片|留下足迹|推荐精华上传附件|制作分卷|使用网盘禁发qq群|恶意灌水|纯表情帖加入团队|监督机制|安全上网
查看: 4059|回复: 6

各位帮忙看一下这数码管程序怎样写?

[复制链接]
发表于 2016-6-10 15:45:00 来自手机 | 显示全部楼层 |阅读模式

注册家电维修技术论坛,与同行畅聊维修技术,享更多技术论坛功能。

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
要求用三个独立按键控制一个数码管,按 s1键时,数码管显示1,控 s2键时数码管显示2, 控 s3键时,数码管显示3。数码管是共阳极数码管,接到51单片机的 P0口,按键接在单片机的 P1口的0,1,2端口,请大俠们帮忙写一下,谢谢
发表于 2016-6-10 15:52:17 | 显示全部楼层
这是最简单的了吧,找个汇编的书看一下,写不了几行就可以了
发表于 2016-6-10 17:14:32 | 显示全部楼层
#include<reg52.h>
sbit S1=P1^0;
sbit S2=P1^1;
sbit S3=P1^2;
/**************************************/
void delay30ms(void)   //误差 0us
{
    unsigned char a,b;
    for(b=101;b>0;b--)
        for(a=147;a>0;a--);
}
/*------------------------------------------------
                    主函数
------------------------------------------------*/
void main (void)
{
  
  while (1)         //主循环
  {

           if(S1==0)                               
        {
                delay30ms();                           
                if(S1==0)
                {
                  while(!S1);
                  P0=0XF9;        //数码管显示1
                }                 
        }
          if(S2==0)                               
        {
                delay30ms();                           
                if(S2==0)
                {
                  while(!S2);
                  P0=0XA4;        //数码管显示2
                }                 
        }
          if(S3==0)                               
        {
                delay30ms();                           
                if(S3==0)
                {
                  while(!S3);
                  P0=0XB0; //数码管显示3
                }                 
        }
  
  
  
  }
}
LED.jpg
 楼主| 发表于 2016-6-10 17:56:20 来自手机 | 显示全部楼层
谢谢!研究一下
 楼主| 发表于 2016-6-10 19:54:51 来自手机 | 显示全部楼层
请问 while(!s1)这句是什么意思?
发表于 2016-6-10 21:40:58 | 显示全部楼层
本帖最后由 446823943 于 2016-6-10 21:44 编辑

检测松开按键后,执行下面的指令。在你这个场合加上这句没起到什么用。
如果是只要一个按键来完成1.2.3的选择,就要加上这句了。
另外本人没上过什么专业课,都是有空时候看看人家写的程序学来的。可能会解释错。请专业大师来分析吧。
 楼主| 发表于 2016-6-11 07:07:30 来自手机 | 显示全部楼层
我也是自学,你强多了,共同学习
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|家电维修技术论坛 ( 鄂ICP备09003585号-2 )

GMT+8, 2024-6-28 20:49 , Processed in 0.069021 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

CopyRight © 电子技术论坛
电子邮箱:8794149@qq.com | 联系 QQ:3081868839 | 官方网址:www.dzdu.com

Qiji. All Rights Reserved


服务条款 | 站长声明

Wuhan Qiji Technology Co., Ltd.武汉奇迹科技有限公司版权所有


鄂ICP备09003585号-2鄂公网安备42010602000420号

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