[PIC®/AVR®/dsPIC®产品] 数码管驱动请教

[复制链接]
 楼主| llljh 发表于 2023-1-7 23:32 | 显示全部楼层 |阅读模式
数码管驱动
   用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位的。
wyjie 发表于 2023-1-7 23:33 | 显示全部楼层
这两种方法的区别在于接线的不同,从而导致占用IO口数量的不同。
wyjie 发表于 2023-1-7 23:35 | 显示全部楼层
前一种方法需要占用8个IO口,后一种方法IO口只需要一个
wyjie 发表于 2023-1-7 23:39 | 显示全部楼层
但同时需要几个控制管脚,所以实际节省的不是8-1=7个管脚
wyjie 发表于 2023-1-7 23:40 | 显示全部楼层
然后经一个串行转并行的转换器,再接数码管,比如74HC595。
dengdc 发表于 2023-1-7 23:42 | 显示全部楼层
接线应该是一样的,都得用8个IO口。第二种方法效率低,
wuhany 发表于 2023-1-7 23:44 | 显示全部楼层
可以是可以,但是还是写个小驱动比较方便吧
liliang9554 发表于 2023-1-7 23:46 | 显示全部楼层
两种方法都可以。一般会先定义一个对应的数组,存放显示对应的数据。然后工具数值去设置IO。
jlyuan 发表于 2023-1-7 23:47 | 显示全部楼层
相当于一次字节操作还是8次位操作
您需要登录后才可以回帖 登录 | 注册

本版积分规则

855

主题

11301

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部