不好意思,忘了公司電腦加密的,我貼主要部分代碼:
- void LED_2803(unsigned char a){ //控制層
- switch(a){
- case 0:
- GPIO_ResetBits(GPIOB,0xFC03);
- break;
- case 1:
- GPIO_SetBits(GPIOB,GPIO_Pin_14);
- GPIO_ResetBits(GPIOB,GPIO_Pin_1|GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_0|GPIO_Pin_15|GPIO_Pin_13|GPIO_Pin_12);
- break;
- case 2:
- GPIO_ResetBits(GPIOB,GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_11|GPIO_Pin_14|GPIO_Pin_15|GPIO_Pin_13|GPIO_Pin_12);
- GPIO_SetBits(GPIOB,GPIO_Pin_10);
- break;
- case 3:
- GPIO_ResetBits(GPIOB,GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_11|GPIO_Pin_14|GPIO_Pin_15|GPIO_Pin_13|GPIO_Pin_10);
- GPIO_SetBits(GPIOB,GPIO_Pin_12);
- break;
- case 4:
- GPIO_ResetBits(GPIOB,GPIO_Pin_0|GPIO_Pin_11|GPIO_Pin_10|GPIO_Pin_14|GPIO_Pin_15|GPIO_Pin_13|GPIO_Pin_12);
- GPIO_SetBits(GPIOB,GPIO_Pin_1);
- break;
- case 5:
- GPIO_ResetBits(GPIOB,GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_10|GPIO_Pin_15|GPIO_Pin_14|GPIO_Pin_13|GPIO_Pin_12);
- GPIO_SetBits(GPIOB,GPIO_Pin_11);
- break;
- case 6:
- GPIO_ResetBits(GPIOB,GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_10|GPIO_Pin_11||GPIO_Pin_15|GPIO_Pin_14|GPIO_Pin_12);
- GPIO_SetBits(GPIOB,GPIO_Pin_13);
- break;
- case 7:
- GPIO_ResetBits(GPIOB,GPIO_Pin_13|GPIO_Pin_1|GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_14|GPIO_Pin_15|GPIO_Pin_12);
- GPIO_SetBits(GPIOB,GPIO_Pin_0);
- break;
- case 8:
- GPIO_ResetBits(GPIOB,GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_10|GPIO_Pin_11|GPIO_Pin_14|GPIO_Pin_12|GPIO_Pin_13);
- GPIO_SetBits(GPIOB,GPIO_Pin_15);
- break;
- default:
- GPIO_SetBits(GPIOB,0xFC03);
- break;
- }
- }
- void LED_573(u8 data){
- GPIO_Write(GPIOA,data);
- }
- void LED_595(unsigned char a){ //片選
- unsigned char i,j,nums;
- nums = low[a];
- for(j = 0;j < 2; j++) { //循環兩次對應IO口產生下降沿,使能對應芯片
- for(i=0;i<8;i++) {
- if ((nums & 0x01) == 0x01) {
- PCout(13) = 1;
- }
- else {
- PCout(13) = 0;
- }
- nums >>= 1;
- __nop();
- __nop();
- PCout(15) = 1;
- __nop();
- __nop();
- __nop();
- __nop();
- PCout(15) = 0;
- __nop();
- __nop();
- }
- PCout(14) = 1;
- __nop();
- __nop();
- __nop();
- __nop();
- PCout(14) = 0;
- nums = 0;
- __nop();
- __nop();
- }
- }
- void LED_Show(const unsigned char Data[][8][8], unsigned char n) { //直接取模軟件取模,n為畫面幀數
- unsigned char i, j, k, t;
-
- for (i = 0; i < n; i++) {
- for (t = 0; t < 0x10; t++) {
- for (j = 0; j < 8; j++) {
- GPIO_ResetBits(GPIOB, 0xFFFF);
- for (k = 0; k < 8; k++) {
- LED_573(Data[i][j][k]);
- LED_595(k + 1);
- }
- GPIO_SetBits(GPIOB, LD[j]);
- delay_us(1200);
- }
- }
- }
- }
- //這是一個動畫
- const unsigned char xuanzhuan[7][8][8] = {
- 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80,
- 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80,
- 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80,
- 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80,
- 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80,
- 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80,
- 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80,
- 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80,
-
- 0x00, 0x00, 0x01, 0x0C, 0x30, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x01, 0x0C, 0x30, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x01, 0x0C, 0x30, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x01, 0x0C, 0x30, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x01, 0x0C, 0x30, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x01, 0x0C, 0x30, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x01, 0x0C, 0x30, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x01, 0x0C, 0x30, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x80, 0x50, 0x0A, 0x01, 0x00, 0x00,
- 0x00, 0x00, 0x80, 0x50, 0x0A, 0x01, 0x00, 0x00,
- 0x00, 0x00, 0x80, 0x50, 0x0A, 0x01, 0x00, 0x00,
- 0x00, 0x00, 0x80, 0x50, 0x0A, 0x01, 0x00, 0x00,
- 0x00, 0x00, 0x80, 0x50, 0x0A, 0x01, 0x00, 0x00,
- 0x00, 0x00, 0x80, 0x50, 0x0A, 0x01, 0x00, 0x00,
- 0x00, 0x00, 0x80, 0x50, 0x0A, 0x01, 0x00, 0x00,
- 0x00, 0x00, 0x80, 0x50, 0x0A, 0x01, 0x00, 0x00,
-
- 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01,
- 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01,
- 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01,
- 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01,
- 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01,
- 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01,
- 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01,
- 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01,
- 0x20, 0x10, 0x00, 0x10, 0x08, 0x00, 0x08, 0x04,
- 0x20, 0x10, 0x00, 0x10, 0x08, 0x00, 0x08, 0x04,
- 0x20, 0x10, 0x00, 0x10, 0x08, 0x00, 0x08, 0x04,
- 0x20, 0x10, 0x00, 0x10, 0x08, 0x00, 0x08, 0x04,
- 0x20, 0x10, 0x00, 0x10, 0x08, 0x00, 0x08, 0x04,
- 0x20, 0x10, 0x00, 0x10, 0x08, 0x00, 0x08, 0x04,
- 0x20, 0x10, 0x00, 0x10, 0x08, 0x00, 0x08, 0x04,
- 0x20, 0x10, 0x00, 0x10, 0x08, 0x00, 0x08, 0x04,
- 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
- 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
- 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
- 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
- 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
- 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
- 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
- 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08,
- 0x02, 0x04, 0x00, 0x08, 0x08, 0x00, 0x10, 0x20,
- 0x02, 0x04, 0x00, 0x08, 0x08, 0x00, 0x10, 0x20,
- 0x02, 0x04, 0x00, 0x08, 0x08, 0x00, 0x10, 0x20,
- 0x02, 0x04, 0x00, 0x08, 0x08, 0x00, 0x10, 0x20,
- 0x02, 0x04, 0x00, 0x08, 0x08, 0x00, 0x10, 0x20,
- 0x02, 0x04, 0x00, 0x08, 0x08, 0x00, 0x10, 0x20,
- 0x02, 0x04, 0x00, 0x08, 0x08, 0x00, 0x10, 0x20,
- 0x02, 0x04, 0x00, 0x08, 0x08, 0x00, 0x10, 0x20,
- };
復制代碼
|