单片机控制74LS164控制数码管显示怎么编程(汇编语言)

 我来答
zhxiufan
推荐于2017-09-19 · 知道合伙人软件行家
zhxiufan
知道合伙人软件行家
采纳数:14923 获赞数:38375
国家科技进步奖

向TA提问 私信TA
展开全部

74LS164是串入并出转换芯片,可以借助串口来实现,也可以用普通IO口模拟实现。举例如下:

#include<reg51.h>

#define uchar unsigned char

uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f};

sbit keyup=P3^6;

sbit keydn=P3^7;

void delay()

{

int i=1000;

while(i--);

}

main()

{

uchar i;

i=0;

SCON=0x00;

TI=1;

while(1)

{

SBUF=table[i];

while(TI==0);

TI=0;

delay();

if(keyup==0)

{

i++;

while(keyup==0);

}

if(keydn==0)

{

if(i>0)i--;

while(keydn==0);

}

i%=10;

}

}

意法半导体(中国)投资有限公司
2023-06-12 广告
单片机原理由运算器、控制器、存储器、输入输出设备构成,单片机自动完成赋予它的任务的过程,也就是单片机执行程序的过程,即一条条执行的指令的过程;单片机的应用:节能控制;智能语音设备;报警控制;医疗设备。 单片机原理及应用 本书详细地介绍了MC... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
乱七胡说八糟乱想
2013-06-17 · 好知、好奇、好问、好学、多语、热心。
乱七胡说八糟乱想
采纳数:5657 获赞数:14884

向TA提问 私信TA
展开全部
数据每有变化一次就连从串口打出这变化后的三字节的八位数码就完成了。这还是自己想一想吧,很简单的。最多就是要有一个数码转换表。把打出去的数先转换成显示的对应段码的。
追问
那个程序应该如何编写,就上图,显示123汇编语言
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
真空1969
2013-06-16 · TA获得超过482个赞
知道小有建树答主
回答量:276
采纳率:100%
帮助的人:133万
展开全部
74LS164是个串进并出的移位寄存器,每个并口对着一个LED的管脚,如果你的LED是共阳的话,那么需要点亮的段为0,不需要点亮的段为1,你只要一位位的将数据送出就可以了,从图上看你将3个74LS164串在一起,就要一次送出24位数字
追问
那个程序应该如何编写,就上图,显示123汇编语言
追答
这个显示程序编得好坏,关键是74LS164的驱动程序,用到2个端口,数据端(A和B)和控制端(CKL),在程序中专门安排一个寄存器作为送数,控制端按照74LS164的推荐时序,进行高低电平切换,将送数寄存器的数据一位位移出去即可。编好后可以作为一个子程序,要改变显示时,调用一下即可。74LS164可以参考芯片的资料。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
做而论道
高能答主

2013-06-16 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.1亿
展开全部
我的百度空间有这样的例程。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式