?? lcd.c
字號:
/*************************************************************
*Copyright (c) 2005,北京精儀達盛科技有限公司研發部
*All rights reserved
*
*文件名稱:lcd.c
*文件標示:
*摘 要:本文件內容為用tms320lf2407 dsp控制液晶顯示器的實驗
*
*
*當前版本:1.0
*作 者:王飛
*完成日期:2005年2月17日
*
*取代版本:
*原作者 :
*完成日期:
*************************************************************/
/************************文件預處理***************************/
#include <stdio.h>
#include "exp3_2407.h"
/*************************************************************/
/********************全局變量定義與初始化*********************/
ioport unsigned port8002; //寫lcd指令地址
ioport unsigned port8003; //寫lcd數據地址
/*************************************************************/
/*******************函數、子程序聲明與定義********************/
void sys_ini() //系統初始化子程序
{
/*關總中斷*/
asm(" setc INTM");
/*抑制符號位擴展*/
asm(" clrc SXM");
/*累加器中結果正常溢出*/
asm(" clrc OVM");
/*禁止看門狗*/
* WDCR=0x00E8;
/*CLKIN=10M,CLKOUT=40M*/
* SCSR1=0x0000;
/*清除所有中斷標志,"寫1清0"*/
* IFR=0xFFFF;
}
void delay_ms() //延時40ms
{
unsigned int k;
for(k=0;k<10000;k++);
}
void delay_us() //延時100us
{
unsigned int k;
for(k=0;k<25;k++);
}
void lcd_ini()
{
delay_ms(); //延時40ms
port8002=0x0030; //8位控制界面,基本指令集
delay_us();
port8002=0x0030; //8位控制界面,基本指令集
delay_us();
port8002=0x000C; //整體顯示,顯示游標 ,顯示游標位置
delay_us();
port8002=0x0001; //清除顯示
delay_ms();
port8002=0x0006; //光標右移
delay_us();
}
void lcd_show(char a[])
{
int x;
char * string=a;
for(x=0;x<strlen(a);x++)
{
port8003=* string;
string++;
delay_us();
}
}
/*************************************************************/
/*****************中斷服務子程序聲明與定義********************/
interrupt void nothing() //啞中斷子程序
{
return;
}
/*************************************************************/
/**************************主程序*****************************/
void main(void)
{
char b[]="北京精議達盛科技有限公司歡迎您!";
sys_ini();
lcd_ini();
lcd_show(b);
for(;;)
{
}
}
/***************************結束******************************/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -