|
給你一個(gè)C文件,適合STC15W408AS
- #include <STC15F2K60S2.H>
- #define uchar unsigned char
- #define uint unsigned int
- /*----------------------------
- TM1640操作相關(guān)的宏定義
- ----------------------------*/
- #define TM1640_SCK_HIGH SCK_Pin=1
- #define TM1640_SCK_LOW SCK_Pin=0
- #define TM1640_DOUT_HIGH DOUT_Pin=1
- #define TM1640_DOUT_LOW DOUT_Pin=0
- void TM1640_Init();//初始化TM1640
- void TM1640_Start();//開始
- void TM1640_Stop();//停止
- void TM1640_Write_Byte(uchar date);//寫字節(jié)
- void TM1640_Write_Com(uchar date);//發(fā)送命令字
- void TM1640_Write_DATA();//指定地址連續(xù)寫入數(shù)據(jù)
- void TM1640_Cls();//清0數(shù)碼管
- sbit SCK_Pin = P3^3;
- sbit DOUT_Pin= P3^2;
- //順序共陰極數(shù)碼管段碼表,段碼a-h順序接PX0-PX7
- uchar code table[18]={//共陰數(shù)碼管段碼"0~f-."
- 0x3f,0x06,0x5b,0x4f,
- 0x66,0x6d,0x7d,0x07,
- 0x7f,0x6f,0x77,0x7c,
- 0x39,0x5e,0x79,0x71,0x40,0x80};
- void TM1640_Start()//開始
- {
- TM1640_SCK_HIGH;
- TM1640_DOUT_HIGH;
- TM1640_DOUT_LOW;
- TM1640_SCK_LOW;
- }
- void TM1640_Stop()//停止
- {
- TM1640_DOUT_LOW;
- TM1640_SCK_HIGH;
- TM1640_DOUT_HIGH;
- }
- void TM1640_Write_Byte(uchar date)//寫字節(jié)
- {
- uchar i;
- TM1640_SCK_LOW;
- TM1640_DOUT_LOW;
- for(i=0;i<8;i++)
- {
- TM1640_SCK_LOW;
- if(date&0x01)
- TM1640_DOUT_HIGH;
- else
- TM1640_DOUT_LOW;
- TM1640_SCK_HIGH;
- date>>=1;
- }
- TM1640_SCK_LOW;
- TM1640_DOUT_LOW;
- }
- void TM1640_Write_Com(uchar date)//發(fā)送命令字
- {
- TM1640_Start();
- TM1640_Write_Byte(date);
- TM1640_Stop();
- }
- void TM1640_Write_DATA() //指定地址連續(xù)寫入數(shù)據(jù)
- {
- uchar i;
- TM1640_Write_Com(0x40); //44固定地址 40連續(xù)地址
- TM1640_Start();
- TM1640_Write_Byte(0xc0);//從第一個(gè)地址開始
- // for(i=0;i<8;i++) //連續(xù)寫8字節(jié)數(shù)據(jù)
- for(i=0;i<16;i++)
- TM1640_Write_Byte(dis_buf[i]);//連續(xù)寫最多16字節(jié)數(shù)據(jù)
- TM1640_Stop();
- }
- void TM1640_Cls()//清屏函數(shù)
- {
- uchar i;
- TM1640_Write_Com(0x40);//地址自動(dòng)加1模式
- TM1640_Start();
- TM1640_Write_Byte(0xc0);
- for(i=0;i<16;i++)
- TM1640_Write_Byte(0x00);//全部清空
- TM1640_Stop();
- }
- void TM1640_Init()
- {
- TM1640_Cls();
- TM1640_Write_Com(0x8c);//亮度0x88~0x8F
- }
復(fù)制代碼 |
|