小蜜蜂单片机03-共阳数码管的静态显示
要求8个数码管分别单独依次显示0~9的值,然后所有数码管一起同时显示0 ~F的值,如此往复。 训练重点:1、弄清楚数码管的段码与显示数值之间的关系 2、共阳数码管的基本控制方法,特别是弄清楚com端与显示码的关系。 come端口控制数码管的位置。而come端口是通过一个锁存器的P0端口输入来控制的,但前提是138译码器的输出值要选中这个锁存器,才能使P0口输入的值给了输出。 同样的数码管的段码也是由一个锁存器控制的,而锁存器只要当38译码器输出值选中这个锁存器才能使P0端口的输入给输出。 先考虑如何使一个数码管显示,假设要让come1的数码管显示6 # include "reg52.h" void Delay ( unsigned int t ) { while ( t -- ) ; while ( t -- ) ; } void InitHC138 ( unsigned char channel ) { switch ( channel ) { case 4 : P2 = ( P2 & 0x1f ) | 0x80 ; break ; case 5 : P2 = ( P2 & 0x1f ) | 0xa0 ; break ; case 6 : P2 = ( P2 & 0x1f ) | 0xc0 ; break ; case 7 : P2 = ( P2 & 0x1f ) | 0xe0