程序下載:
天微電子TA6932,LED數(shù)碼管驅(qū)動源程序.rar
(21.53 KB, 下載次數(shù): 155)
2016-12-7 03:22 上傳
點擊文件名下載附件
- typedef unsigned char uint8;
- typedef signed char int8;
- typedef unsigned int uint16;
- typedef signed int int16;
- typedef unsigned long uint32;
- typedef signed long int32;
- typedef unsigned long int uint64;
- typedef signed long int int64;
- #include"STC12C5A.h"
- sbit io_TA6932DIN = P0^0;
- sbit io_TA6932STB = P0^2;
- sbit io_TA6932CLK = P0^1;
- //sbit beep = P0^3;
- void v_Writ8byt_f(uint8 shuju)
- {
- uint8 i;
- for(i=8;i>0;i--)
- {
- shuju >>= 1;
- io_TA6932CLK = 0;
- io_TA6932DIN = CY;
- io_TA6932CLK = 1;
- }
- }
-
- uint8 code u8_YiMa[]={0xEB,/*0*/ 0x28,/*1*/0xB3,/*2*/0xBA,/*3*/0x78,/*4*/0xDA,/*5*/0xDB,/*6*/ 0xA8,/*7*/0xFB,/*8*/0xFA,/*9*/0xF9,/*A*/0x5B,/*b*/0xC3,/*C*/0x3B,/*d*/0xD3,/*E*/0xD1,/*F*/};
- void main(void)
- {
- uint8 p,dian,shuju;
- uint16 i,j;
- do{
- io_TA6932STB = 0;
- v_Writ8byt_f(0x40);//發(fā)送顯示設(shè)置命令
- io_TA6932STB = 1;
- //for(i=100;i>0;i--);//最小時間保證1US。
- io_TA6932STB = 0;
- v_Writ8byt_f(0xc0); //發(fā)送起始地址
- v_Writ8byt_f(u8_YiMa[shuju]|dian); //發(fā)送數(shù)據(jù)
- v_Writ8byt_f(u8_YiMa[1]|dian); //發(fā)送數(shù)據(jù)
- v_Writ8byt_f(u8_YiMa[2]|dian); //發(fā)送數(shù)據(jù)
- v_Writ8byt_f(u8_YiMa[3]|dian); //發(fā)送數(shù)據(jù)
- v_Writ8byt_f(u8_YiMa[4]|dian); //發(fā)送數(shù)據(jù)
- v_Writ8byt_f(u8_YiMa[shuju]|dian); //發(fā)送數(shù)據(jù)
- v_Writ8byt_f(u8_YiMa[6]|dian); //發(fā)送數(shù)據(jù)
- v_Writ8byt_f(u8_YiMa[7]|dian); //發(fā)送數(shù)據(jù)
- v_Writ8byt_f(u8_YiMa[shuju]|dian); //發(fā)送數(shù)據(jù)
- v_Writ8byt_f(u8_YiMa[9]|dian); //發(fā)送數(shù)據(jù)
- v_Writ8byt_f(u8_YiMa[10]|dian); //發(fā)送數(shù)據(jù)
- v_Writ8byt_f(u8_YiMa[11]|dian); //發(fā)送數(shù)據(jù)
- v_Writ8byt_f(u8_YiMa[shuju]|dian); //發(fā)送數(shù)據(jù)
- v_Writ8byt_f(u8_YiMa[13]|dian); //發(fā)送數(shù)據(jù)
- v_Writ8byt_f(u8_YiMa[14]|dian); //發(fā)送數(shù)據(jù)
- v_Writ8byt_f(u8_YiMa[15]|dian); //發(fā)送數(shù)據(jù)
- io_TA6932STB = 1;
- //for(i=100;i>0;i--);//最小時間保證1US。
- io_TA6932STB = 0;
- v_Writ8byt_f(0x88+p);//發(fā)送顯示命令
- io_TA6932STB = 1;
- shuju++;
- if(shuju > 15)shuju = 0;
- if((shuju%2)==0)
- {
- // beep=1;
- dian = 0x04;
- }
- else
- {
- dian = 0x00;
- // beep=0;
- }
- p =shuju/2;
- for(j=1000;j>0;j--) for(i=1000;i>0;i--);
- /*
- io_TA6932STB = 0;
- v_Writ8byt_f(0x44);//發(fā)送顯示設(shè)置命令
- io_TA6932STB = 1;
- for(i=12;i>0;i--);//最小時間保證1US。
- io_TA6932STB = 0;
- v_Writ8byt_f(0xc0); //發(fā)送起始地址
- v_Writ8byt_f(u8_YiMa[0]); //發(fā)送數(shù)據(jù)
- io_TA6932STB = 1;
- for(i=12;i>0;i--);//最小時間保證1US。
- io_TA6932STB = 0;
- v_Writ8byt_f(0x88);//發(fā)送顯示命令
- io_TA6932STB = 1;
- for(i=12;i>0;i--);//最小時間保證1US。
- for(j=250;j>0;j--) for(i=255;i>0;i--); */
- }while(1);
- }
復(fù)制代碼 |