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