在我的电路中,7 个段引脚位于不同的端口中,例如:Seg A 到 SegD(在 RA0 到 RA4)SegE(在 RF1 中)SegF(RG4)SegG(RG3)。我可以通过一一设置位来数 0 到 9。我需要计算 0-9999 但我无法存储值。我怎么能为我的规格做到这一点?
#include "mcc_generated_files/mcc.h"
#define DISP1 RD7
#define DISP2 RD6
#define DISP3 RD5
#define DISP4 RD4
#define SEGA RA0
#define SEGB RA1
#define SEGC RA2
#define SEGD RA3
#define SEGE RF1
#define SEGF RG4
#define SEGG RG3
void main(void)
{
// initialize the device
SYSTEM_Initialize();
TRISD = 0x00; // Set All Pins To Be Output Pins
PORTD = 0x00; // Initially Clear All The 8-Pins
while(1)
{
SEGA=1;SEGB=1;SEGC=1;SEGD=1;SEGE=1;SEGF=1;SEGG=0;DISP4=1;//0
__delay_ms(500);
SEGA=0;SEGB=1;SEGC=1;SEGD=0;SEGE=0;SEGF=0;SEGG=0;DISP4=1;//1
__delay_ms(500);
SEGA=1;SEGB=1;SEGC=0;SEGD=1;SEGE=1;SEGF=0;SEGG=1;DISP4=1;//2
__delay_ms(500);
SEGA=1;SEGB=1;SEGC=1;SEGD=1;SEGE=0;SEGF=0;SEGG=1;DISP4=1;//3
__delay_ms(500);
SEGA=0;SEGB=1;SEGC=1;SEGD=0;SEGE=0;SEGF=1;SEGG=1;DISP4=1;//4
__delay_ms(500);
SEGA=1;SEGB=0;SEGC=1;SEGD=1;SEGE=0;SEGF=1;SEGG=1;DISP4=1;//5
__delay_ms(500);
SEGA=1;SEGB=0;SEGC=1;SEGD=1;SEGE=1;SEGF=1;SEGG=1;DISP4=1;//6
__delay_ms(500);
SEGA=1;SEGB=1;SEGC=1;SEGD=0;SEGE=0;SEGF=0;SEGG=0;DISP4=1;//7
__delay_ms(500);
SEGA=1;SEGB=1;SEGC=1;SEGD=1;SEGE=1;SEGF=1;SEGG=1;DISP4=1;//8
__delay_ms(500);
SEGA=1;SEGB=1;SEGC=1;SEGD=1;SEGE=0;SEGF=1;SEGG=1;DISP4=1;//9
__delay_ms(500);
}