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

📄 main.c

📁 基于ARM7和uCOS-II做的LCD驱动
💻 C
字号:
/****************************************Copyright (c)**************************************************
**                               Guangzou ZLG-MCU Development Co.,LTD.
**                                      graduate school
**                                 http://www.zlgmcu.com
**
**--------------File Info-------------------------------------------------------------------------------
** File name:			main.c
** Last modified Date:  2004-09-16
** Last Version:		1.0
** Descriptions:		The main() function example template
**
**------------------------------------------------------------------------------------------------------
** Created by:			梁修文
** Created date:		2007-11-04
** Version:				1.0
** Descriptions:		The original version
**
**------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Descriptions:
**
********************************************************************************************************/
#include "config.h"
#define rs   (1<<8)
#define rw   (1<<9)
#define en   (1<<10)
#define busy (1<<7)
#define	Task_Stk_Size	64			//Define the Task0 stack length 定义用户任务0的堆栈长度
OS_STK	TaskStartStk[Task_Stk_Size];		//Define the Task0 stack 定义用户任务0的堆栈
void 	TaskStart(void *pdata);			//Task0 任务0
uint8 txt[]={"I Love China!!"};
void ChkBusy()
{
  PINSEL0=0XFFC00000;
  IODIR=0X700;//P0.8-P0.10为输出
  while(1)
     {
      IOCLR=rs;//输入命令
      IOSET=rw;//写指令 
      IOSET=en;//使能 
      if(!(IOPIN&busy)) break;//忙则等待 
      IOCLR=en;//清除使能
     }
   IODIR=0x7ff;//引脚为输出  
}
void WrOp(uint8 dat)
{
 ChkBusy();//等待空闲
 IOCLR=rs;//输入命令
 IOCLR=rw;//写指令
 IOCLR=0xff;//数据位清零 
 IOSET=dat;//输入指令
 IOSET=en;//使能
 IOCLR=en;//清除使能 
}
void WrDat(uint8 dat)
{
  ChkBusy();//等待空闲
  IOSET=rs;//输入数据
  IOCLR=rw;//写数据
  IOCLR=0xff;//数据位清零
  IOSET=dat;//写数据
  IOSET=en;//使能
  IOCLR=en;//清除使能
} 
void DisplayText(uint8 addr,uint8 *p)
{
  WrOp(addr);//写命令 指定输入地址
  while(*p!='\0') WrDat(*(p++));//输入数据
}
int main (void)
{
	OSInit ();																										
	OSTaskCreate (TaskStart,(void *)0, &TaskStartStk[Task_Stk_Size- 1], 3);		
	OSStart ();
	return 0;															
}
/*********************************************************************************************************
**                            Task0 任务0
********************************************************************************************************/
void TaskStart(void *pdata)
{
	pdata = pdata;
	TargetInit ();
	WrOp(0x0c);
	IODIR=0X7FF;
	IOCLR=0X7FF;
	DisplayText(0x80,txt);
	while(1);
	
}
   
/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

⌨️ 快捷键说明

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