跪求!汇编语言! 转成汇编语言!动态显示数码管!

我们用的是共阴数码管。数码管的位选是通过74HC138连接的。数码管的段通过74HC573驱动。74HC138和74HC573的使用可以看前面两节。ucharcodeta... 我们用的是共阴数码管。数码管的位选是通过74HC138连接的。数码管的段
通过74HC573驱动。74HC138和74HC573的使用可以看前面两节。
uchar code table[10] =
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar code LED_W[8] = {0,1,2,3,4,5,6,7}; //这里是需要往三八译码器送
的数据
/********************************************************************
* 名称: Main()
* 功能: 数码管的显示
* 输入: 无
* 输出: 无
*********************************************************************
**/
void Main(void)
{
uchar i = 0,j = 0;
while(1)
{
P0 = table[i]; // 数码管段值
P2 = LED_W[j]; //点亮某一位数码管
Delay(2);
j++;
i++;
if(j == 8) //每个数码管都点亮了一次。
{
j = 0;
i = 0;
}
}
}
展开
 我来答
jiagang850625
2010-07-19 · TA获得超过161个赞
知道答主
回答量:98
采纳率:0%
帮助的人:93.4万
展开全部
我大致看了一下你的电路和c程序,我可以给你提供个思路,程序还是要你自己编,主要是我估计你的还要进行仿真吧,要出效果的话就比较麻烦了,而且我也确实没精力写,我的思路是你要点亮第一个数码的话你就往74hc138里送000,即p1口的第三位为0,这样为选就是第一个数码管,然后把你要显示的数据经过二进制转换十进制的子程序转换,再转换成八字码后送到段选端就好了,我这里有二进制到十进制转换程序和调用八字码显示程序,你要是用的话我可以发给你参考一下
做而论道
高能答主

推荐于2018-04-05 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.1亿
展开全部

:

    ORG  0000H

    LJMP START

START:

    MOV  B,  #0

    MOV  DPTR, #D_table

M_LOOP:

    MOV  P0,  #0

    MOV  P2,  B

    MOV  A,   B

    MOVC A,  @A+DPTR

    MOV  P0,  A

    INC  B

    ANL  B,   #7

    CALL Delay

    SJMP M_LOOP

Delay:

    MOV  R7,  #0

    DJNZ R7,  $

    DJNZ R7,  $

    RET

D_table:

    DB  0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f 

END 

用PROTEUS软件仿真运行效果如下图所示。

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式