标题:
S3C6410裸机LCD液晶驱动程序,采用飞凌公司的OK6410开发板
[打印本页]
作者:
51hei学习技术中
时间:
2017-3-16 02:45
标题:
S3C6410裸机LCD液晶驱动程序,采用飞凌公司的OK6410开发板
S3C6410裸机LCD液晶驱动程序,采用飞凌公司的OK6410开发板
0.png
(48.57 KB, 下载次数: 63)
下载附件
2017-3-16 02:44 上传
全部源码下载:
OK6410.rar
(452.03 KB, 下载次数: 10)
2017-3-16 02:45 上传
点击文件名下载附件
下载积分: 黑币 -5
主程序:
#include <math.h>
#include "main.h"
#include "REG_S3C6410.h"
#include "ucos_ii.h"
#include "app_cfg.h"
#include "ASCII.h"
#include "lcd.h"
#include "CP15.h"
#define LED_CON rGPMCON
#define LED_PUD rGPMPUD
#define LED_DAT rGPMDAT
#define BUZZER_CON rGPFCON
#define BUZZER_PUD rGPFPUD
#define BUZZER_DAT rGPFDAT
OS_STK MainTaskStk[MainTaskStkLengh];
OS_STK Task0Stk [Task0StkLengh]; // Define the Task0 stack
OS_STK Task1Stk [Task1StkLengh]; // Define the Task1 stack
OS_STK Task2Stk [Task2StkLengh]; // Define the Task1 stack
//extern unsigned long HandleIRQ;
unsigned char i,j,k;
void Delay_ms(int time)
{
volatile unsigned int i,j;
for(i = 0; i < 2000000; i++)
for(j=0; j<time; j++);
}
void GPIO_Init()
{
LED_CON = 0x11111;
LED_PUD = 0x00;
LED_DAT = 0X1F;
BUZZER_CON|= BIT30;
BUZZER_PUD = 0x00;
}
void MainTask(void *pdata)
{
while(1)
{
i++;
LCD_PutString(0,0,(u32 **)pLCD_Win0Buffer,"Task0:\nTask1:\nTask2:\n",0x00ff00,0x000000);
LCD_PutHEX(48,0,(u32 **)pLCD_Win0Buffer,i,0x00ff00,0x000000);
LCD_PutHEX(48,16,(u32 **)pLCD_Win0Buffer,j,0x00ff00,0x000000);
LCD_PutHEX(48,32,(u32 **)pLCD_Win0Buffer,k,0x00ff00,0x000000);
//OSTimeDly(OS_TICKS_PER_SEC);
}
}
void Task0 (void *pdata)
{
while(1)
{
i++;
if(i>99)
i=0;
OSTimeDly(OS_TICKS_PER_SEC);
}
}
void Task1 (void *pdata)
{
while(1)
{
j++;
OSTimeDly(OS_TICKS_PER_SEC);
}
}
void Task2 (void *pdata)
{
while(1)
{
k++;
OSTimeDly(OS_TICKS_PER_SEC);
}
}
void SystemInit()
{
GPIO_Init();
LCD_Win0Init();
LCD_Win0SelectBuffer(0);
LCD_Win0Clear(0x000000);
OSInit ();
OSTimeSet(0);
OSTaskCreate (MainTask,(void *)0, &MainTaskStk[MainTaskStkLengh - 1], MainTaskPrio);
OSTaskCreate (Task0,(void *)0, &Task0Stk[Task0StkLengh - 1], Task0Prio);
OSTaskCreate (Task1,(void *)0, &Task1Stk[Task1StkLengh - 1], Task1Prio);
OSTaskCreate (Task2,(void *)0, &Task2Stk[Task2StkLengh - 1], Task2Prio);
OSStart ();
}
void Main()
{
SystemInit();
while(1)
{
LCD_PutHEX(0,0,(u32 **)pLCD_Win0Buffer,rAPLL_LOCK,0x00ffff,0x000000);
LCD_PutHEX(0,16,(u32 **)pLCD_Win0Buffer,rMPLL_LOCK,0x00ffff,0x000000);
LCD_PutHEX(0,32,(u32 **)pLCD_Win0Buffer,rEPLL_LOCK,0x00ffff,0x000000);
LCD_PutHEX(0,48,(u32 **)pLCD_Win0Buffer,rAPLL_CON,0x00ffff,0x000000);
LCD_PutHEX(0,64,(u32 **)pLCD_Win0Buffer,rMPLL_CON,0x00ffff,0x000000);
OSStart ();
}
}
复制代码
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1