资源简介
/*****************************************************************************
*版权信息:深圳天微电子有限公司
*文 件 名:TM1621-V1.0
*当前版本:V1.0
*MCU 型号:STC12C5608AD
*开发环境:Keil uVision4
*晶震频率:11.0592MHZ
*完成日期:2013-08-07
*程序功能:1.LCD驱动:LCD屏显示0`F
*免责声明:1.此程序为TM1621驱动LCD演示程序,仅作参考之用。
2.如有直接使用本例程程序造成经济损失的,本公司不承担任何责任
********************************************************************************/
#include <reg52.h> //MCU头文件
#include "intrins.h" //包含nop指令头文件
#define uchar unsigned char //数据类型宏定义
#define uint unsigned int //数据类型宏定义
#define nop _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); //宏定义
/******************TM1621模块命令定义*********************/
#define SYSDIS 0x00 //关系统振荡器和LCD偏压发生器
#define SYSEN 0x02 //打开系统振荡器
#define LCDOFF 0x04 //关LCD偏压
#define LCDON 0x06 //开LCD偏压
#define TONEON 0x12 //打开声音输出
#define TONEOFF 0x10 //关闭声音输出
#define XTAL 0x28 //外部接晶振
#define RC 0x30 //内部RC振荡
#define BIAS 0x52 //1/3偏压 4公共口
#define WDTDIS 0x0a //禁止看门狗
#define WDTEN 0x0e //开启看门狗
/********************定义控制端口**********************/
sbit CS=P2^1;
sbit READ=P2^7;
sbit WRITE=P2^0;
sbit DATA=P1^7;
/********************定义数据*************************/
uchar code Smg[16]={0xeb,0x60,0xc7,0xE5,0x6C,0xAD,0xaf,0xE0,0xef,0xed,0xee,0x2f,0x8b,0x67,0x8f,0x8e}; //0~F字型码
uchar code Tab0[16]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; //清屏
/********************延时函数*************************/
void delay_nms(uint n)
{
uint i;
while(n--)
for(i=0;i<500;i++);
}
/********************从高位写入数据*************************/
void Write_Data_H(uchar Data, uchar Cnt) //Data的高cnt位写入TM1621,高位在前
{
uchar i;
for(i=0;i<Cnt;i++)
{
WRITE=0;
if(Data&0x80;) //从最高位发送
DATA=1;
else
DATA=0;
nop;
nop;
WRITE=1;
Data<<=1;
}
WRITE=0;
DATA=0;
}
/********************从低位写入数据*****************
代码片段和文件信息
/*****************************************************************************
*版权信息:深圳天微电子有限公司
*文 件 名:TM1621-V1.0
*当前版本:V1.0
*MCU 型号:STC12C5608AD
*开发环境:Keil uVision4
*晶震频率:11.0592MHZ
*完成日期:2013-08-07
*程序功能:1.LCD驱动:LCD屏显示0‘F
*免责声明:1.此程序为TM1621驱动LCD演示程序,仅作参考之用。
2.如有直接使用本例程程序造成经济损失的,本公司不承担任何责任
********************************************************************************/
#include //MCU头文件
#include “intrins.h“ //包含nop指令头文件
#define uchar unsigned char //数据类型宏定义
#define uint unsigned int //数据类型宏定义
#define nop _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); //宏定义
/******************TM1621模块命令定义*********************/
#define SYSDIS 0x00 //关系统振荡器和LCD偏压发生器
#define SYSEN 0x02 //打开系统振荡器
#define LCDOFF 0x04 //关LCD偏压
#define LCDON 0x06 //开LCD偏压
#define TONEON 0x12 //打开声音输出
#define TONEOFF 0x10 //关闭声音输出
#define XTAL 0x28 //外部接晶振
#define RC 0x30 //内部RC振荡
#define BIAS 0x52 //1/3偏压 4公共口
#define WDTDIS 0x0a //禁止看门狗
#define WDTEN 0x0e //开启看门狗
/********************定义控制端口**********************/
sbit CS=P2^1;
sbit READ=P2^7;
sbit WRITE=P2^0;
sbit DATA=P1^7;
/********************定义数据*************************/
uchar code Smg[16]={0xeb0x600xc70xE50x6C0xAD0xaf0xE00xef0xed0xee0x2f0x8b0x670x8f0x8e}; //0~F字型码
uchar code Tab0[16]={0x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x00}; //清屏
/********************延时函数*************************/
void delay_nms(uint n)
{
uint i;
while(n--)
for(i=0;i<500;i++);
}
/********************从高位写入数据*************************/
void Write_Data_H(uchar Data uchar Cnt) //Data的高cnt位写入TM1621,高位在前
{
uc
- 上一篇:hook任意api的函数.rar
- 下一篇:tm1622参考程序
评论
共有 条评论