TM1640數碼管顯示芯片 顯示程序 最多可顯示16段數碼管
單片機源程序如下:
- /*******************顯示處理模塊****************/
- #include "STC15F2Kx.h"
- #include "main.h"
- sbit PDIO1 = P1^1; //TM1640數據
- sbit PCLK1 = P1^0; //TM1640時鐘
- /*---------TM1640數碼管驅動程序-----------------*/
- void Start1(void) //1640開始
- {
- PCLK1=0;
- PDIO1=1;
- PCLK1=1;
- NOP();
- NOP();
- PDIO1=0;
- NOP();
- NOP();
- PCLK1=0;
- NOP();
- NOP();
- }
- /**********************************************/
- void Stop1(void) //1640結束
- {
- PCLK1=0;
- PDIO1=0;
- PCLK1=1;
- NOP();
- NOP();
- PDIO1=1;
- NOP();
- NOP();
- }
- /*---------寫數據給T1640----------*/
- void Write1(uchar vdata1)
- {
- uchar i;
-
- PDIO1=0;
- PCLK1=0;
- NOP();
- NOP();
- for(i=0;i<8;i++) //開始傳送8位數據,每循環一次傳送一位數據
- {
- PCLK1=0;
- NOP();
- NOP();
- PDIO1 = (vdata1 & 0x01)? 1:0;
- NOP();
- PCLK1=1;
- NOP();
- NOP();
- vdata1>>=1;
- }
- PDIO1=0;
- PCLK1=0;
- }
- /*----------固定地址發送----------*/
- void send1(uchar address,uchar date)
- {
- Start1();
- Write1(address); //傳顯示數據對應的地址
- Write1(date); //傳顯示數據
- Stop1();
- }
復制代碼
|