打印
[PIC®/AVR®/dsPIC®产品]

数码管驱动请教

[复制链接]
2179|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cr315|  楼主 | 2021-8-19 10:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 pzsh 于 2021-9-4 23:48 编辑

数码管驱动
   用PIC单片机和74HC573驱动数码管,当让数码管显示某个字符时,
方法1:对单片机的某个端口赋值,比如PORTA=0XFE;
方法2:对应的显示数字放在一个结构体中,比如
       case 0://显示数字0
             {SEG_A = 1;SEG_B = 1;SEG_C = 1;SEG_D = 1;SEG_E = 1;SEG_F = 1;SEG_G = 0;}
    case 1://显示数字1
         {SEG_A = 0;SEG_B = 1;SEG_C = 1;SEG_D = 0;SEG_E = 0;SEG_F = 0;SEG_G = 0;}
这两种方法一个是对IO口整体赋值,另一个是将IO口挨个赋值,这两种方法都可以吗?请大家指教。

PIC单片机是16位的。

使用特权

评论回复
沙发
MianQi| | 2021-8-19 20:48 | 只看该作者
这两种方法的区别在于接线的不同,从而导致占用IO口数量的不同。前一种方法需要占用8个IO口,后一种方法IO口只需要一个(但同时需要几个控制管脚,所以实际节省的不是8-1=7个管脚),然后经一个串行转并行的转换器,再接数码管,比如74HC595。

使用特权

评论回复
板凳
北极风| | 2021-8-20 08:37 | 只看该作者
接线应该是一样的,都得用8个IO口。第二种方法效率低,

使用特权

评论回复
地板
AINZGOWN| | 2021-8-20 09:41 | 只看该作者
可以是可以,但是还是写个小驱动比较方便吧

使用特权

评论回复
5
laocuo1142| | 2021-9-2 10:51 | 只看该作者

两种方法都可以。一般会先定义一个对应的数组,存放显示对应的数据。然后工具数值去设置IO。

使用特权

评论回复
6
pzsh| | 2021-9-4 23:49 | 只看该作者
相当于一次字节操作还是8次位操作

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1227

主题

3235

帖子

0

粉丝