搜索
bottom↓
回复: 3

怎么用switch语句控制数数码管

[复制链接]

出0入0汤圆

发表于 2013-3-2 15:29:28 | 显示全部楼层 |阅读模式
#include"reg51.h"//头文件
#include "absacc.h"
#define uint unsigned int//宏定义
#define uchar unsigned char
uint nov;
uint key();
void jianpan();
uchar code seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void display();
uchar Chu_shi();
sbit cs1=P3^5;
sbit cs2=P3^6;
sbit wr=P3^7;
uint shuzi;


void delay(uint z)//延时程序
{
   uint s,j;
   for(s=100;s>0;s--)
   for(j=z;j>0;j--);
}


void main()//主程序
{
        P0=0xff;
    while(1)
        {
           display();
           jianpan();
        }
}

uchar Chu_shi()//子程序 返回值
{
        uchar e1,e2;
        P3=0x0f;
        e1=P3&0x0f;
        if(e1!=0x0f)
        {
                        delay(2);
                        if(e1!=0x0f)
                        {               
                        e1=P3&0x0f;
                        P3=0xf0;
                        e2=P3&0xf0;       
                        }
                        return(e1+e2);
        }
   return 0xff;
}

uint key()//子程序   
{
        switch(Chu_shi())
        {
                        case 0xee:nov=0;break;
                        case 0xde:nov=1;break;
                        //case 0xbe:nov=2;break;
                        //case 0x7e:nov=3;break;
                        //case 0xed:nov=4;break;
                        //case 0xdd:nov=5;break;
                        //case 0xbd:nov=6;break;
                        //case 0x7d:nov=7;break;
                        //case 0xeb:nov=8;break;
                        //case 0xdb:nov=9;break;
                        //default :flag=0;break;
        }
        return nov;
}

void display()
{
        key();
    P0=0xfd;
        wr=0;
        cs2=0;
        wr=1;
        cs2=1;
    P0=seg[nov];
        wr=0;
        cs1=0;
        wr=1;
        cs1=1;
        delay(2);

}
、这个程序怎么用switch语句改数码管显示
比如 按下点阵的0按键 数码管0xfe那一个数码管显示0
按下点阵1按键  数码管的0xfd那一个数码管显示1
不重叠的 独立显示 按什么显示在特定位置

出0入0汤圆

 楼主| 发表于 2013-3-2 15:30:19 | 显示全部楼层
- -会不会很模糊

出0入0汤圆

 楼主| 发表于 2013-3-2 16:46:11 | 显示全部楼层
如果switch语句后面的break不要了 是不是就会直接读下去 不会跳出来??????

出0入0汤圆

发表于 2013-3-2 17:14:40 | 显示全部楼层
设个flag呗
C中switch中是这样,没有break就继续向下读case
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-4 06:11

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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