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();
- }
复制代码
|