网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 61IC中国电子在线 >> DSP >> 代码示例 >> TI DSP代码示例 >> C2000 >> 文章正文
  基于TMS320LF2407的LCD的驱动程序-适合在DSP上开发LCD程序的参考         ★★★ 【字体:
基于TMS320LF2407的LCD的驱动程序-适合在DSP上开发LCD程序的参考
作者:61IC    文章来源:本站原创    点击数:    更新时间:2007-1-23    

/*******************************************************************/
#include "exp1_2407.h"
/*******************************************************************/
ioport unsigned port8002;       //定义LCD端口地址为8002h

void delay_us()                 //延时100us子程序
{
     unsigned int j;
     for(j=1;j<5;j++);
}

void delay_ms()                 //延时10ms子程序
{
     unsigned int k;
     for(k=1;k<350;k++);
}
void delay_s()
{
     unsigned int i;
     for(i=1;i<30000;i++);
}
/*********************************************************************************/
void write_0()                  //写0子程序
{
     port8002=0x0004;
     port8002=0x0006;
}

void write_1()                  //写1子程序
{
     port8002=0x0005;
     port8002=0x0007;
}

void ready()                     //预备子程序
{
     port8002=0x0004;
}

void write_ram_head()            //写存储器开始子程序
{  
     write_1();
     write_1();
     write_1();
     write_1();
     write_1();                 //写5个1
     write_0();                 //rw=0
     write_1();                 //rs=1
     write_0();                 //写0
}

void write_command_head()       //写命令开始子程序
{  
     write_1();
     write_1();
     write_1();
     write_1();
     write_1();                 //写5个1
     write_0();                 //rw=0
     write_0();                 //rs=0
     write_0();                 //写0
}

void write_end()                //写结束子程序
{
     write_0();
     write_0();
     write_0();
     write_0();
}
/*********************************************************************************/
void lcdini()                   //lcd初始化子程序
{
     write_command_head();      //8位控制界面,基本指令集
     write_0();
     write_0();
     write_1();
     write_1();
     write_end();
     write_0();
     write_0();
     write_0();
     write_0();
     write_end();
     delay_us();
/*********************************************************************************/
     write_command_head();      //8位控制界面,基本指令集
     write_0();
     write_0();
     write_1();
     write_1();
     write_end();
     write_0();
     write_0();
     write_0();
     write_0();
     write_end();
     delay_us();
/*********************************************************************************/
     write_command_head();     //整体显示,游标关,游标位置关
     write_0();
     write_0();
     write_0();
     write_0();
     write_end();
     write_1();
     write_1();
     write_0();
     write_0();
     write_end();    
     delay_us();
/*********************************************************************************/
     write_command_head();    //清ddram,添满"20H",并设定ddram的位址ac=0
     write_0();
     write_0();
     write_0();
     write_0();
     write_end();
     write_0();
     write_0();
     write_0();
     write_1();
     write_end();
     delay_ms();
/*********************************************************************************/
     write_command_head();   //往ddram写数时,光标右移,ddram的位址计数器+1
     write_0();
     write_0();
     write_0();
     write_0();
     write_end();
     write_0();
     write_1();
     write_1();
     write_0();
     write_end();
     delay_us();
}
/*********************************************************************************/    
void sysini()                   //系统初始化子程序
{
     asm(" setc INTM");         //禁止所有中断
     asm(" setc SXM");          //抑制符号位扩展
     asm(" clrc OVM");          //累加器中结果正常溢出
     * WDCR=0x00EF;             //禁止看门狗
     * IFR=0xFFFF;              //清除所有中断标志,"写1清0"
}

void nothing()                  //空中断子程序
{
     asm(" clrc INTM");         //开总中断
}
/*********************************************************************************/
void main()
{    
     sysini();
     for(;;)
     {
     ready(); 
     lcdini();
     delay_s();
/********************************************************/
     write_ram_head();         //向ddram中写入a1
     write_1();
     write_0();
     write_1();
     write_0();
     write_end();
     write_0();
     write_0();                
     write_0();                
     write_1();                
     write_end();
     delay_us();
     write_ram_head();         //向ddram中写入b0
     write_1();
     write_0();
     write_1();
     write_1();
     write_end();
     write_0();
     write_0();
     write_0();
     write_0();
     write_end(); 
     delay_s();              //写入了"
/********************************************************/
     write_ram_head();         //向ddram中写入c0
     write_1();
     write_1();
     write_0();
     write_0();
     write_end();
     write_0();
     write_0();                
     write_0();                
     write_0();                
     write_end();
     delay_us();
     write_ram_head();         //向ddram中写入ed
     write_1();
     write_1();
     write_1();
     write_0();
     write_end();
     write_1();
     write_1();
     write_0();
     write_1();
     write_end(); 
     delay_s();              //写入了"理"
/********************************************************/
     write_ram_head();         //向ddram中写入a2
     write_1();
     write_0();
     write_1();
     write_0();
     write_end();
     write_0();
     write_0();                
     write_1();                
     write_0();                
     write_end();
     delay_us();
     write_ram_head();         //向ddram中写入a0
     write_1();
     write_0();
     write_1();
     write_0();
     write_end();
     write_0();
     write_0();
     write_0();
     write_0();
     write_end(); 
     delay_s();              //写入了"空格"
/********************************************************/
     write_ram_head();         //向ddram中写入b9
     write_1();
     write_0();
     write_1();
     write_1();
     write_end();
     write_1();
     write_0();                
     write_0();                
     write_1();                
     write_end();
     delay_us();
     write_ram_head();         //向ddram中写入a4
     write_1();
     write_0();
     write_1();
     write_0();
     write_end();
     write_0();
     write_1();
     write_0();
     write_0();
     write_end(); 
     delay_s();              //写入了"工"
/********************************************************/
     write_ram_head();         //向ddram中写入a2
     write_1();
     write_0();
     write_1();
     write_0();
     write_end();
     write_0();
     write_0();                
     write_1();                
     write_0();                
     write_end();
     delay_us();
     write_ram_head();         //向ddram中写入a0
     write_1();
     write_0();
     write_1();
     write_0();
     write_end();
     write_0();
     write_0();
     write_0();
     write_0();
     write_end(); 
     delay_s();              //写入了"空格"
/********************************************************/
     write_ram_head();         //向ddram中写入b4
     write_1();
     write_0();
     write_1();
     write_1();
     write_end();
     write_0();
     write_1();                
     write_0();                
     write_0();                
     write_end();
     delay_us();
     write_ram_head();         //向ddram中写了ef
     write_1();
     write_1();
     write_1();
     write_0();
     write_end();
     write_1();
     write_1();
     write_1();
     write_1();
     write_end(); 
     delay_s();              //写入了"达"
/********************************************************/
     write_ram_head();         //向ddram中写入a2
     write_1();
     write_0();
     write_1();
     write_0();
     write_end();
     write_0();
     write_0();                
     write_1();                
     write_0();                
     write_end();
     delay_us();
     write_ram_head();         //向ddram中写入a0
     write_1();
     write_0();
     write_1();
     write_0();
     write_end();
     write_0();
     write_0();
     write_0();
     write_0();
     write_end(); 
     delay_s();              //写入了"空格"
/********************************************************/
     write_ram_head();         //向ddram中写入ca
     write_1();
     write_1();
     write_0();
     write_0();
     write_end();
     write_1();
     write_0();                
     write_1();                
     write_0();                
     write_end();
     delay_us();
     write_ram_head();         //向ddram中写入a2
     write_1();
     write_0();
     write_1();
     write_0();
     write_end();
     write_0();
     write_0();
     write_1();
     write_0();
     write_end(); 
     delay_s();              //写入了"盛"
     delay_s();
/********************************************************/
     write_ram_head();         //向ddram中写入d0
     write_1();
     write_1();
     write_0();
     write_1();
     write_end();
     write_0();
     write_0();                
     write_0();                
     write_0();                
     write_end();
     delay_us();
     write_ram_head();         //向ddram中写入bb
     write_1();
     write_0();
     write_1();
     write_1();
     write_end();
     write_1();
     write_0();
     write_1();
     write_1();
     write_end(); 
     delay_s();              //写入了"谢"
/********************************************************/
     write_ram_head();         //向ddram中写入a2
     write_1();
     write_0();
     write_1();
     write_0();
     write_end();
     write_0();
     write_0();                
     write_1();                
     write_0();                
     write_end();
     delay_us();
     write_ram_head();         //向ddram中写入a0
     write_1();
     write_0();
     write_1();
     write_0();
     write_end();
     write_0();
     write_0();
     write_0();
     write_0();
     write_end(); 
     delay_s();              //写入了"空格"
/********************************************************/
     write_ram_head();         //向ddram中写入d0
     write_1();
     write_1();
     write_0();
     write_1();
     write_end();
     write_0();
     write_0();                
     write_0();                
     write_0();                
     write_end();
     delay_us();
     write_ram_head();         //向ddram中写入bb
     write_1();
     write_0();
     write_1();
     write_1();
     write_end();
     write_1();
     write_0();
     write_1();
     write_1();
     write_end(); 
     delay_s();              //写入了"谢"
/********************************************************/
     write_ram_head();         //向ddram中写入a2
     write_1();
     write_0();
     write_1();
     write_0();
     write_end();
     write_0();
     write_0();                
     write_1();                
     write_0();                
     write_end();
     delay_us();
     write_ram_head();         //向ddram中写入a0
     write_1();
     write_0();
     write_1();
     write_0();
     write_end();
     write_0();
     write_0();
     write_0();
     write_0();
     write_end(); 
     delay_s();              //写入了"空格"
/********************************************************/
     write_ram_head();         //向ddram中写入b9
     write_1();
     write_0();
     write_1();
     write_1();
     write_end();
     write_1();
     write_0();                
     write_0();                
     write_1();                
     write_end();
     delay_us();
     write_ram_head();         //向ddram中写入d8
     write_1();
     write_1();
     write_0();
     write_1();
     write_end();
     write_1();
     write_0();
     write_0();
     write_0();
     write_end(); 
     delay_s();              //写入了"关"
/********************************************************/
     write_ram_head();         //向ddram中写入a2
     write_1();
     write_0();
     write_1();
     write_0();
     write_end();
     write_0();
     write_0();                
     write_1();                
     write_0();                
     write_end();
     delay_us();
     write_ram_head();         //向ddram中写入a0
     write_1();
     write_0();
     write_1();
     write_0();
     write_end();
     write_0();
     write_0();
     write_0();
     write_0();
     write_end(); 
     delay_s();              //写入了"空格"
/********************************************************/
     write_ram_head();         //向ddram中写入a2
     write_1();
     write_1();
     write_0();
     write_1();
     write_end();
     write_0();
     write_1();                
     write_0();                
     write_1();                
     write_end();
     delay_us();
     write_ram_head();         //向ddram中写入a0
     write_1();
     write_1();
     write_0();
     write_1();
     write_end();
     write_0();
     write_1();
     write_0();
     write_1();
     write_end(); 
     delay_s();              //写入了"照"
/********************************************************/
     write_ram_head();         //向ddram中写入a1
     write_1();
     write_0();
     write_1();
     write_0();
     write_end();
     write_0();
     write_0();                
     write_0();                
     write_1();                
     write_end();
     delay_us();
     write_ram_head();         //向ddram中写入b1
     write_1();
     write_0();
     write_1();
     write_1();
     write_end();
     write_0();
     write_0();
     write_0();
     write_1();
     write_end(); 
     delay_s();              //写入了"
     }
}

               欢迎点击进入:TI德州中文网   (国内唯一针对TI应用的中文技术网站)    文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    TMS320LF2407上实现快速傅里…
    基于TMS320LF2407的馈线终端…
    TMS320LF2407控制GTG-128324…
    基于DSP的电动汽车CAN总线通…
    TMS320LF2407的将BCD码转换成…
    SVPWM,死区补偿,有电压电流A…
    TMS320LF2407与D/A转换器的接…
    TMS320LF2407与MCG12864A8-3…
    TMS320LF2407与CAN驱动接口电…
    TMS320LF2407与TCS232接口电…
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61IC 湘ICP备05002478号