|
另附pcb與原理圖
沒有找出原因來,程序寫進去數碼管cdg這幾段不亮。
然后發送段碼是P1口的0到5還剩2個口是P42和P43。
程序
- #define MAIN_Fosc 11059200L //定義主時鐘
- #include "15W4KxxS4.H"
- #define u8 unsigned char
- #define u16 unsigned int
- sbit A=P2^5;
- sbit S=P2^6;
- sbit C=P2^7;
- u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
- 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
- void delay(u16 i)
- {
- while(i--);
- }
- void DigDisplay()
- {
- u8 i;
- for(i=0;i<8;i++)
- {
- switch(i) //位選,選擇點亮的數碼管,
- {
- case(0):
- A=1;S=1;C=1; break;//顯示第0位
- case(1):
- A=0;S=1;C=1; break;//顯示第1位
- case(2):
- A=1;S=0;C=1; break;//顯示第2位
- case(3):
- A=0;S=0;C=1; break;//顯示第3位
- case(4):
- A=1;S=1;C=0; break;//顯示第4位
- case(5):
- A=0;S=1;C=0; break;//顯示第5位
- case(6):
- A=1;S=0;C=0; break;//顯示第6位
- case(7):
- A=0;S=0;C=0; break;//顯示第7位
- }
- P1=smgduan[ i];//發送段碼
- delay(100); //間隔一段時間掃描
- P1=0x00;//消隱
- }
- }
- mian()
- {
- P2M1=0X1F; P2M0=0X1F;
- while(1)
- {
- DigDisplay(); //數碼管顯示函數
- }
- }
復制代碼
數碼管0到7
- #define MAIN_Fosc 11059200L //定義主時鐘
- #include "15W4KxxS4.H"
- #define u8 unsigned char
- #define u16 unsigned int
- //#define P4 0X0C
- sbit A=P2^5;
- sbit S=P2^6;
- sbit C=P2^7;
- //#define P42 P16
- //#define P43 P17
- sbit H=P4^2;
- sbit D=P4^3; //點
- // 4 5 6 7 0 1 2 3
- u8 code smgduan[8]={0x66,0x6d,0x7d,0x07,0x3f,0x06,0x5b,0x4f};
-
- u16 code smgd[8]={0x01,0x01,0x01,0x00,0x00,0x00,0x01,0x01};
- void delay(u16 i)
- {
- while(i--);
- }
- void DigDisplay()
- {
- u8 i;
- for(i=0;i<8;i++)
- {
- switch(i) //位選,選擇點亮的數碼管,
- {
- case(0):
- A=1;S=1;C=1; break;//顯示第0位 從左往右進制計算7
- case(1):
- A=0;S=1;C=1; break;//顯示第1位 6
- case(2):
- A=1;S=0;C=1; break;//顯示第2位 5
- case(3):
- A=0;S=0;C=1; break;//顯示第3位 4
- case(4):
- A=1;S=1;C=0; break;//顯示第4位 3
- case(5):
- A=0;S=1;C=0; break;//顯示第5位 2
- case(6):
- A=1;S=0;C=0; break;//顯示第6位 1
- case(7):
- A=0;S=0;C=0; break;//顯示第7位 0
- }
-
- P1=smgduan[i];//發送段碼
- H=smgd[i];
- delay(100); //間隔一段時間掃描
- P1=0x00;//消隱、
- H=0X00;
- }
- }
- main()
- {
- P2M1=0X1F; P2M0=0X1F;
- P1M1=0X00; P1M0=0X00;
- P4M1=0X00; P4M0=0X00;
-
- while(1)
- {
- D=0;
-
- //delay(100);
- DigDisplay();
- }
- }
復制代碼
|
-
-
pcb原理圖.zip
2021-10-18 20:47 上傳
點擊文件名下載附件
728.63 KB, 下載次數: 6
|