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

数码管驱动请教

[复制链接]
352|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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个管脚

使用特权

评论回复
5
wyjie| | 2023-1-7 23:40 | 只看该作者
然后经一个串行转并行的转换器,再接数码管,比如74HC595。

使用特权

评论回复
6
dengdc| | 2023-1-7 23:42 | 只看该作者
接线应该是一样的,都得用8个IO口。第二种方法效率低,

使用特权

评论回复
7
wuhany| | 2023-1-7 23:44 | 只看该作者
可以是可以,但是还是写个小驱动比较方便吧

使用特权

评论回复
8
liliang9554| | 2023-1-7 23:46 | 只看该作者
两种方法都可以。一般会先定义一个对应的数组,存放显示对应的数据。然后工具数值去设置IO。

使用特权

评论回复
9
jlyuan| | 2023-1-7 23:47 | 只看该作者
相当于一次字节操作还是8次位操作

使用特权

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

本版积分规则

855

主题

11301

帖子

6

粉丝