• 大小: 3KB
    文件类型: .c
    金币: 2
    下载: 1 次
    发布日期: 2024-01-17
  • 语言: 其他
  • 标签: tm1621  

资源简介

/***************************************************************************** *版权信息:深圳天微电子有限公司 *文 件 名: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

评论

共有 条评论