找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3155|回复: 0
打印 上一主题 下一主题
收起左侧

S3C6410裸机LCD液晶驱动程序,采用飞凌公司的OK6410开发板

[复制链接]
跳转到指定楼层
#
S3C6410裸机LCD液晶驱动程序,采用飞凌公司的OK6410开发板


全部源码下载:
OK6410.rar (452.03 KB, 下载次数: 10)





主程序:
  1. #include <math.h>
  2. #include "main.h"
  3. #include "REG_S3C6410.h"
  4. #include "ucos_ii.h"
  5. #include "app_cfg.h"
  6. #include "ASCII.h"
  7. #include "lcd.h"
  8. #include "CP15.h"

  9. #define LED_CON                rGPMCON
  10. #define LED_PUD                rGPMPUD
  11. #define LED_DAT                rGPMDAT

  12. #define BUZZER_CON                rGPFCON
  13. #define BUZZER_PUD                rGPFPUD
  14. #define BUZZER_DAT                rGPFDAT

  15. OS_STK  MainTaskStk[MainTaskStkLengh];
  16. OS_STK        Task0Stk [Task0StkLengh];       // Define the Task0 stack
  17. OS_STK        Task1Stk [Task1StkLengh];       // Define the Task1 stack
  18. OS_STK        Task2Stk [Task2StkLengh];       // Define the Task1 stack

  19. //extern unsigned long HandleIRQ;

  20. unsigned char i,j,k;
  21. void Delay_ms(int time)
  22. {
  23.         volatile unsigned int i,j;
  24.         for(i = 0; i < 2000000; i++)
  25.         for(j=0; j<time; j++);
  26. }
  27. void GPIO_Init()
  28. {
  29.         LED_CON = 0x11111;
  30.         LED_PUD = 0x00;
  31.         LED_DAT = 0X1F;
  32.         
  33.         BUZZER_CON|= BIT30;
  34.         BUZZER_PUD = 0x00;        
  35. }
  36. void MainTask(void *pdata)
  37. {
  38.         while(1)
  39.         {
  40.                 i++;
  41.                 LCD_PutString(0,0,(u32 **)pLCD_Win0Buffer,"Task0:\nTask1:\nTask2:\n",0x00ff00,0x000000);
  42.                 LCD_PutHEX(48,0,(u32 **)pLCD_Win0Buffer,i,0x00ff00,0x000000);
  43.                 LCD_PutHEX(48,16,(u32 **)pLCD_Win0Buffer,j,0x00ff00,0x000000);
  44.                 LCD_PutHEX(48,32,(u32 **)pLCD_Win0Buffer,k,0x00ff00,0x000000);
  45.                 //OSTimeDly(OS_TICKS_PER_SEC);
  46.         }
  47.         
  48. }
  49. void Task0        (void *pdata)
  50. {
  51.         while(1)
  52.         {
  53.                 i++;
  54.                 if(i>99)
  55.                         i=0;
  56.                 OSTimeDly(OS_TICKS_PER_SEC);
  57.         }
  58. }

  59. void Task1        (void *pdata)
  60. {
  61.         while(1)
  62.         {
  63.                 j++;
  64.                 OSTimeDly(OS_TICKS_PER_SEC);
  65.         }
  66. }

  67. void Task2        (void *pdata)
  68. {
  69.         while(1)
  70.         {
  71.                 k++;        
  72.                 OSTimeDly(OS_TICKS_PER_SEC);
  73.         }        
  74. }
  75. void SystemInit()
  76. {
  77.         GPIO_Init();
  78.         LCD_Win0Init();
  79.         LCD_Win0SelectBuffer(0);
  80.         LCD_Win0Clear(0x000000);
  81.         OSInit ();
  82.         OSTimeSet(0);
  83.         OSTaskCreate (MainTask,(void *)0, &MainTaskStk[MainTaskStkLengh - 1], MainTaskPrio);
  84.         OSTaskCreate (Task0,(void *)0, &Task0Stk[Task0StkLengh - 1], Task0Prio);        
  85.         OSTaskCreate (Task1,(void *)0, &Task1Stk[Task1StkLengh - 1], Task1Prio);        
  86.         OSTaskCreate (Task2,(void *)0, &Task2Stk[Task2StkLengh - 1], Task2Prio);
  87.         OSStart ();        
  88. }
  89. void Main()
  90. {
  91.         SystemInit();
  92.         while(1)
  93.         {
  94.                 LCD_PutHEX(0,0,(u32 **)pLCD_Win0Buffer,rAPLL_LOCK,0x00ffff,0x000000);
  95.                 LCD_PutHEX(0,16,(u32 **)pLCD_Win0Buffer,rMPLL_LOCK,0x00ffff,0x000000);
  96.                 LCD_PutHEX(0,32,(u32 **)pLCD_Win0Buffer,rEPLL_LOCK,0x00ffff,0x000000);
  97.                         
  98.                 LCD_PutHEX(0,48,(u32 **)pLCD_Win0Buffer,rAPLL_CON,0x00ffff,0x000000);
  99.                 LCD_PutHEX(0,64,(u32 **)pLCD_Win0Buffer,rMPLL_CON,0x00ffff,0x000000);
  100.                 OSStart ();
  101.         }
  102. }
复制代码



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表