数码管c语言程序如何控制,跪求,8255控制数码管,单片机c语言程序;

跪求,8255控制数码管,单片机c语言程序;

答案:3  信息版本:手机版

解决时间 2021-04-29 04:56

已解决

2021-04-28 12:39

8255 PA口——数码管的段选,8255PB口——数码管的位选,让前两位数码管动态显示00;急。。。。。。。。。。。。。。。。。。。。。。

最佳答案

2021-04-28 13:24

8255 管脚图的链接:

http://baike.baidu.com/image/58af236d558d92ce43169488

下面是8255 管脚设置,具体代码要看原理图中各管脚的连接情况。

reset = 0; 禁止复位

cs = 0;wr = 0;//允许CPU将数据或控制字写入8255

//

A1=1.A0=1;选择.控制寄存器

//假设00001111控制D口的数据,从A口输出;11110000控制D口的数据,从B口输出;实际情况由实际管脚连接决定。

d0 = d1=d2= d3=0;

d4 = d5=d6=d7 = 1;

A1=0;A0=0;选择PA口

//pa口--数码管的段选

//根据原理图设置pa口各引脚,假设使pa输出00000001控制第1个数码管

pa0 = pa1=pa2=pa3=pa4=pa5=pa6= 0;

pa7 = 1;

A1=0;A0=1;选择PB口

//PB口--数码管的位选

//根据原理图设置pb口各引脚,假设使pb输出00000001控制数码管显示0

pa0 = pa1=pa2=pa3=pa4=pa5=pa6= 0;

pa7 = 1;

//=========

A1=1.A0=1;选择.控制寄存器

//假设00001111控制D口的数据,从A口输出;11110000控制D口的数据,从B口输出;实际情况由实际管脚连接决定。

d0 = d1=d2= d3=1;

d4 = d5=d6=d7 = 0;

A1=0;A0=0;选择PA口

//pa口--数码管的段选

//根据原理图设置pa口各引脚,假设使pa输出00000010控制第2个数码管

pa0 = pa1=pa2=pa3=pa4=pa5=pa7= 0;

pa6 = 1;

A1=0;A0=1;选择PB口

//PB口--数码管的位选

//根据原理图设置pb口各引脚,假设使pb输出00000001控制数码管显示0

pa0 = pa1=pa2=pa3=pa4=pa5=pa6= 0;

pa7 = 1;

全部回答

1楼

2021-04-28 15:32

额...

这个问题...

首先要我们要分析一下74ls164的工作方式,是有一出一,还是有1出0..还是全一出1.了解了工作方式后

我们先要将单片机与之相连的管脚进行初始化.全设成输出.然后在程序里进行置位是置1还是置0.

在点数码管的时候要看清楚你的数码管是共阴还是共阳的,共阴公共端低电平才能点亮,共阳要高电平

给你一段简单的程序你自己改改吧,很简单的.

该例用于令与portd口相连的8个发光二极管前4个点亮,后4个熄灭。在调试程序前,应使与portd口相连的8位拔码开关拔向相应的位置。

例5.1

portd输出

#include <pic.h>

main()

{

trisd=0x00;

while(1);

{

portd=0xf0;

}

}

2楼

2021-04-28 14:14

PA口8位接8个开关K1~ K8,PB口8位接8个发光二极管,从PA口读入8位开关量送PB口显示。拨动K1~ K8

我要举报

如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

大家都在看

推荐资讯

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值