數碼管段不在同一組單片機IO口時,增加函數來顯示時編譯出錯。查不出那里錯請各位大神幫忙看下錯在哪。
#include "config.h"
#include "GPIO.h"
#include "delay.h"
/************* 本地常量聲明 **************/
u8 code ledNum[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
sbit LED_DISP_A=P5^1;
sbit LED_DISP_B=P3^3;
sbit LED_DISP_C=P3^6;
sbit LED_DISP_D=P4^2;
sbit LED_DISP_E=P4^3;
sbit LED_DISP_F=P5^0;
sbit LED_DISP_G=P3^5;
sbit LED_DISP_P=P4^1;
sbit LED_CS1 = P2^4;
sbit LED_CS2 = P2^5;
sbit LED_CS3 = P2^6;
/******************** 數碼IO配置函數 **************************/
void GPIO_config(void)
{
GPIO_InitTypeDef GPIO_InitStructure; //結構定義
GPIO_InitStructure.Pin = GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6; //指定要初始化的IO,
GPIO_InitStructure.Mode = GPIO_OUT_PP; //指定IO的輸入或輸出方式,GPIO_PullUp,GPIO_HighZ,GPIO_OUT_OD,GPIO_OUT_PP
GPIO_Inilize(GPIO_P2,&GPIO_InitStructure); //初始化
GPIO_InitStructure.Pin = GPIO_Pin_3|GPIO_Pin_5|GPIO_Pin_6; //指定要初始化的IO, GPIO_Pin_0 ~ GPIO_Pin_7
GPIO_InitStructure.Mode = GPIO_OUT_PP; //指定IO的輸入或輸出方式,GPIO_PullUp,GPIO_HighZ,GPIO_OUT_OD,GPIO_OUT_PP
GPIO_Inilize(GPIO_P3,&GPIO_InitStructure); //初始化
GPIO_InitStructure.Pin = GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3; //指定要初始化的IO, GPIO_Pin_0 ~ GPIO_Pin_7
GPIO_InitStructure.Mode = GPIO_OUT_PP; //指定IO的輸入或輸出方式,GPIO_PullUp,GPIO_HighZ,GPIO_OUT_OD,GPIO_OUT_PP
GPIO_Inilize(GPIO_P4,&GPIO_InitStructure); //初始化
GPIO_InitStructure.Pin = GPIO_Pin_0|GPIO_Pin_1; //指定要初始化的IO, GPIO_Pin_0 ~ GPIO_Pin_7
GPIO_InitStructure.Mode = GPIO_OUT_PP; //指定IO的輸入或輸出方式,GPIO_PullUp,GPIO_HighZ,GPIO_OUT_OD,GPIO_OUT_PP
GPIO_Inilize(GPIO_P5,&GPIO_InitStructure); //初始化
}
void led_display (void)
{
u8 code data=0xf3;
LED_DISP_E=data&0x01;
data>>=1;
LED_DISP_D=data&0x01;
data>>=1;
LED_DISP_C=data&0x01;
data>>=1;
LED_DISP_B=data&0x01;
data>>=1;
LED_DISP_A=data&0x01;
data>>=1;
LED_DISP_F=data&0x01;
data>>=1;
LED_DISP_G=data&0x01;
data>>=1;
LED_DISP_P=data&0x01;
}
/******************** 主函數 **************************/
void main(void)
{
GPIO_config();
while(1)
{
led_display();
delay_ms(1);
}
}
1.png (29.84 KB, 下載次數: 34)
下載附件
2023-9-4 18:50 上傳
|