上传者: 42931625
|
上传时间: 2021-08-11 14:03:08
|
文件大小: 4KB
|
文件类型: C
/*****************************************************************************
*版权信息:深圳天微电子有限公司
*文 件 名:TM1622-V1.0
*当前版本:V1.0
*MCU 型号:STC12C5608AD
*开发环境:Keil uVision4
*晶震频率:11.0592MHZ
*完成日期:2013-09-09
*程序功能:1.LCD驱动:32SEG*8COM(由2组4COM LCD屏组成),分别显示0~9.
*免责声明:1.此程序为TM1622驱动LCD演示程序,仅作参考之用。
2.如有直接使用本例程程序造成经济损失的,本公司不承担任何责任
********************************************************************************/
#include //MCU头文件
#include "intrins.h" //包含nop指令头文件
#define nop() _nop_();_nop_();_nop_();_nop_();_nop_(); //宏定义
/********************定义控制端口**********************/
sbit CS = P2^1; //片选
sbit READ = P2^0; //读数据时钟
sbit WRITE = P1^7; //写数据时钟
sbit DATA = P1^6; //数据口
//****定义数据*************** 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
unsigned char code date0[]={0x0B,0x00,0x07,0x05,0x0C,0x0D,0x0F,0x00,0x0F,0x0D,0x0B,0x00,0x07,0x05,0x0C,0x0D,0x0F,0x00,0x0F,0x0D,0x0B,0x00,0x07,0x05,0x0C,0x0D,};
unsigned char code date1[]={0x0E,0x06,0x0C,0x0e,0x06,0x0A,0x0A,0x0E,0x0E,0x0E,0x0E,0x06,0x0C,0x0e,0x06,0x0A,0x0A,0x0E,0x0E,0x0E,0x0E,0x06,0x0C,0x0e,0x06,0x0A,};
unsigned char Buffer[64]; //定义数组
/***************延时函数nms**************/
void delay_nms(unsigned int n)
{
unsigned int i;
while(n--)
{
for(i=0; i<550; i++);
}
}
/***************写100命令函数**************/
void write_cmd_100(unsigned char cmd)
{
unsigned char i;
CS=0;
WRITE=0;
nop();
DATA=1;
nop();
WRITE=1;
nop();
WRITE=0;
nop();
DATA=0;
nop();
WRITE=1;
nop();
WRITE=0;
nop();
DATA=0;
nop();
WRITE=1;
nop();
for(i=0; i<8; i++)
{
WRITE=0;
if(cmd&0x80;)
DATA=1;
else
DATA=0;
WRITE=1;
cmd<<=1;
}
WRITE=0;
nop();