数码管驱动
用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位的。
两种方法都可以。一般会先定义一个对应的数组,存放显示对应的数据。然后工具数值去设置IO。
如果显示控制使用了独立的端口,设置显示数据就比较方便,一个语句就可以了。如果是分散的IO,尽量做一个函数去设置IO的状态,因为赋值语句是比较占空间的。
引用: dcexpert 发表于 2020-7-15 08:40 两种方法都可以。一般会先定义一个对应的数组,存放显示对应的数据。然后工具数值去设置IO。 ...
好的,谢谢您。
引用: freebsder 发表于 2020-7-15 15:40 能整体首选整体,一次IO操作可以认为是状态一致的,虽然分散开来绝大多数场景没有问题。
好的,谢谢。