2971|9

4

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

求助,那位大神帮我写下这个程序 [复制链接]

1芯积分
抢答器要求在图片上。

未命名33.jpg (127.26 KB, 下载次数: 0)

未命名33.jpg
此帖出自51单片机论坛

最新回复

比较转移指令的值写错了,正确的是: LAB0:CJNE A,#01H,LAB1 LAB1:CJNE A,#02H,LAB2 LAB2:CJNE A,#04H,LAB3 LAB3:CJNE A,#08H,LAB4 LAB4:CJNE A,#10H,LAB5 LAB5:CJNE A,#20H,LAB6 LAB6:CJNE A,#40H,LAB7 LAB7:CJNE A,#80H,LOOP  详情 回复 发表于 2013-3-28 09:51
点赞 关注
 

回复
举报

6

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

估计太简单了,所以木有人愿意写

估计太简单了,所以木有人愿意写
此帖出自51单片机论坛
 
 
 

回复

2万

帖子

341

TA的资源

版主

板凳
 
抢答器哦,,这网上的例子多了,实在不会写,随便找个例子,移植一下呀,,。。哪有现成的菜?
此帖出自51单片机论坛
 
 
 

回复

3404

帖子

6

TA的资源

裸片初长成(初级)

4
 
此帖出自51单片机论坛
 
 
 

回复

21

帖子

4

TA的资源

一粒金砂(中级)

5
 

路过看看

#include  

typedef       unsigned char      uchar;
typedef       unsigned int         uint ;

#define    SMGDATA      P0
#define    LEDDATA       P2


uchar  EnAns = 0;
code  uchar  SMGTable[16] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};



void   Answer(void)
{
      P3 = 0xff;
       if( P3 &0x80 == 0)
       {
           SMGDATA   =    SMGTable[0];  
       }

      if( P3 &0x80 == 1)
       {
           SMGDATA   =    SMGTable[p];
            EnAns  = 1;
       }

}

[ 本帖最后由 zhujialiang 于 2012-12-11 10:16 编辑 ]
此帖出自51单片机论坛
 
 
 

回复

21

帖子

4

TA的资源

一粒金砂(中级)

6
 

路过看看

下班了,先回家了。
此帖出自51单片机论坛
 
 
 

回复

21

帖子

4

TA的资源

一粒金砂(中级)

7
 

路过看看

void EnAnswer(void)
{
    uchar KeyValue =0xff;

    KeyValue  & =  P1;

     if(EnAns == 1)
    {
         switch(KeyValue)   
         {
              case 0xfe:
                               { LEDDATA = 0x01;
                                 SMGDATA = SMGTable[1];
                               } break;
              case 0xfd:
                               { LEDDATA = 0x02;
                                 SMGDATA = SMGTable[2];
                               } break;

              case 0xfb:
                              { LEDDATA = 0x04;
                                 SMGDATA = SMGTable[3];
                               } break;
              case 0xf7:
                              { LEDDATA = 0x08;
                                 SMGDATA = SMGTable[4];
                               } break;

             case 0xef:
                               { LEDDATA = 0x10;
                                 SMGDATA = SMGTable[5];
                               } break;

             case 0xdf:
                             { LEDDATA = 0x20;
                                 SMGDATA = SMGTable[6];
                               } break;

             case 0xbf:
                              { LEDDATA = 0x40;
                                 SMGDATA = SMGTable[7];
                               } break;

            case 0x7f:
                             { LEDDATA = 0x80;
                                 SMGDATA = SMGTable[8];
                               } break;

            default :break;
         }   
    }
}

[ 本帖最后由 zhujialiang 于 2012-12-11 10:13 编辑 ]
此帖出自51单片机论坛
 
 
 

回复

14

帖子

0

TA的资源

一粒金砂(中级)

8
 
硬件设计不够严谨,会造成5条指令期间,用户按键不响应。如果用中断来处理,就把不响应按键的时间减少到一个机器周期,可靠性提高。
ORG 0000H
MAIN:MOV P0,#0FFH
MOV P1,#0FFH
MOV P2,#0FFH
SETB P3.7
MOV P0,#0C0H ;显示0
JB P3.7,$
LCALL DELAY
JB P3.7,$
JNB P3.7,$
LCALL DELAY
JNB P3.7,$
MOV P0,#8CH ;显示P
LOOP:MOV P1,#0FFH
MOV A,P1
MOV P1,#0
XRL A,#0FFH
JZ LOOP
LAB0: CJNE A,#0FEH,LAB1
    MOV P2,#0FEH
MOV P0,#0F9H  ;
LJMP WAIT
LAB1:CJNE A,#0FDH,LAB2
    MOV P2,#0FDH
MOV P0,#0A4H
LJMP WAIT
LAB2:CJNE A,#0FBH,LAB3
    MOV P2,#0FBH
MOV P0,#0B0H
LJMP WAIT
LAB3:CJNE A,#0F7H,LAB4
    MOV P2,#0F7H
MOV P0,#99H
LJMP WAIT
LAB4:CJNE A,#0EFH,LAB5
    MOV P2,#0EFH
MOV A,#92H
LJMP WAIT
LAB5:CJNE A,#0DFH,LAB6
    MOV P2,#0DFH
MOV A,#82H
LJMP WAIT
LAB6:CJNE A,#0BFH,LAB7
    MOV P2,#0BFH
MOV P0,#0F8H
LJMP WAIT
LAB7:CJNE A,#7FH,LOOP
    MOV P2,#7FH
MOV P0,#80H
LJMP WAIT
WAIT:LJMP $
DELAY:MOV R5,#5
L1:   MOV R6,#250
L2:   DJNZ R6,L2
   DJNZ R5,L1
END
此帖出自51单片机论坛
 
 
 

回复

14

帖子

0

TA的资源

一粒金砂(中级)

9
 
不好意思,延时程序最后少些一条返回指令RET,你加上!
此帖出自51单片机论坛
 
 
 

回复

14

帖子

0

TA的资源

一粒金砂(中级)

10
 
比较转移指令的值写错了,正确的是:
LAB0:CJNE A,#01H,LAB1
LAB1:CJNE A,#02H,LAB2
LAB2:CJNE A,#04H,LAB3
LAB3:CJNE A,#08H,LAB4
LAB4:CJNE A,#10H,LAB5
LAB5:CJNE A,#20H,LAB6
LAB6:CJNE A,#40H,LAB7
LAB7:CJNE A,#80H,LOOP
此帖出自51单片机论坛
 
 
 

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

随便看看
查找数据手册?

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
快速回复 返回顶部 返回列表