⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dsp2407 lcd.txt

📁 本程序是基于DSP2407开发的一LCD参考程序
💻 TXT
字号:
适合在DSP上开发LCD程序的参考

/*******************************************************************/
#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();              //写入了"
     }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -