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

📄 hello.c

📁 keil下的s3c44b0驱动LCD伪彩屏例子程序。
💻 C
字号:
/******************************************************************************/
/* HELLO.C: Hello World Example                                               */
/******************************************************************************/
/* This file is part of the uVision/ARM development tools.                    */
/* Copyright (c) 2005-2006 Keil Software. All rights reserved.                */
/* This software may only be used under the terms of a valid, current,        */
/* end user licence from KEIL for a compatible version of KEIL software       */
/* development tools. Nothing else gives you the right to use this software.  */
/******************************************************************************/

#include <stdio.h>                          /* I/O Functions */
#include <S3C44B0X.H>                       /* S3C44B0X definitions */

extern volatile unsigned long timeval;      /* Current Time Tick */
extern unsigned int LcdBuffer[244][640/4];
extern const unsigned char car[153600];
extern const unsigned char sky[153600];

extern void Lcd_Initial(void);
extern void Lcd_DrawBackground(unsigned char RGB);
extern void Lcd_PutPixel(unsigned int x, unsigned int y,unsigned char RGB);
extern void Lcd_DrawBox(unsigned int H_Offset,unsigned int V_Offset,unsigned int H_Size,unsigned int V_Size,unsigned char RGB);
extern void Lcd_DrawHline(unsigned int x0,unsigned int y0,unsigned int x1,unsigned char RGB);
extern void Lcd_DrawVline(unsigned int x0,unsigned int y0,unsigned int y1,unsigned char RGB);
extern void Lcd_DrawLine(unsigned int x0,unsigned int y0,unsigned int x1,unsigned int y1,unsigned char RGB);
extern void Lcd_PutHz16(unsigned int x,unsigned int y,unsigned char RGB,unsigned char *GB2312);
extern void Lcd_PutChar(unsigned int x,unsigned int y,unsigned char RGB,unsigned char *c);
extern void Lcd_Print(unsigned int x,unsigned int y,unsigned char RGB,unsigned char *c); 
extern void Lcd_DrawImage(const unsigned char *pic);
extern  int sendchar (int ch);
extern  void init_serial (void);
	extern void init_timer (void);              /* Initialize Timer */
extern void init_serial (void);             /* Initialize Serial Interface */
#define MCLK 60000000                       /* Master Clock */
#define TCLK     1000                       /* Timer Clock  */
#define WRBUFOPT 	(0x8)   						// write_buf_on
 
//#define SYSCFG_8KB  (0x6)
#define SYSCFG_0KB 	(0x0|WRBUFOPT)
#define SYSCFG_4KB 	(0x2|WRBUFOPT)
#define SYSCFG_8KB 	(0x6|WRBUFOPT)
#define SYSCFG_0KB 	(0x0|WRBUFOPT)
#define SYSCFG_4KB 	(0x2|WRBUFOPT)
#define SYSCFG_8KB 	(0x6|WRBUFOPT)

#define CACHECFG    SYSCFG_8KB
#define TCNT (MCLK/TCLK/2)                  /* Timer Counts */
// static int f_nDelayLoopCount = 400;  

extern volatile unsigned long timeval;      /* Current Time Tick */

void wait (unsigned long time) {            /* Wait Function */
  unsigned long tick;

  tick = timeval;
  while ((timeval - tick) < time);          /* Wait for specified Time */
}


extern void init_timer (void);              /* Initialize Timer */
extern void init_serial (void);             /* Initialize Serial Interface */


__irq void HandlerINT4567 (void) {           /* Timer 5 Interrupt Handler */
   pPIO->PCONC     =0x5501ff54;
   pPIO->EXTINPND=0x0f    ;  pIC->I_ISPC = INT_EINT4567;
}


int main (void) {
    int count=48;
    int gg=0xfff4; 
	//long kk;	

  init_timer();                             /* Initialize Timer */
  init_serial();                            /* Initialize Serial Interface */
  	//pPIO->PCONC     =0x5501ff54;
	pPIO->PCONG=0xffff;
    pPIO->EXTINT=0x0;
	pPIO->PUPG=0x0;	
		pIC->INTMSK &= ~(INT_GLOBAL |             /* Global Interrupt Enable  */
                   INT_EINT4567); 
	  Lcd_Initial();
//	  Lcd_DrawBackground(0x1f);
	  Lcd_DrawBackground(0xff);

			  Lcd_DrawImage(car); 
//			  Lcd_DrawImage(sky);
			    
			  Lcd_Print(160,32,0xe0,"自动化配料系统");
			  Lcd_Print(50,168,0x1c,"参数设置");
			  Lcd_Print(160,168,0x1c,"配料设置");
			  Lcd_Print(270,168,0x1c,"启动配料");
  /* Loop forever */
 
  while (1) {                              
/*   for(kk=0;kk<0xfffff;kk++)
	 {
	  //  kk=kk;
	 }	*/
	 if(count==58) count=48;
	if(gg==0xfff0)
	{gg=0xfff2;
	   Lcd_DrawBox(8,96,80,16,0x1f);
       Lcd_Print(8,96,0xc0,"今天好运气...");

	   sendchar(count);
	   count++;
	 }
	else if(gg==0xfff2)
	{gg=0xfff4;
       Lcd_DrawBox(8,96,80,16,0x1f);
       Lcd_Print(8,96,0xc0,"老狼请吃鸡...");

  	   sendchar(count);
	   count++;
	 }
	else if(gg==0xfff4)
	{gg=0xfff8;
       Lcd_DrawBox(8,96,104,16,0x1f);
   	   Lcd_Print(8,96,0xc0,"-_-  -_-");

  	   sendchar(count);
	   count++;

	 }
	else if(gg==0xfff8)
	{gg=0xfff0;

	 }	   
	 	pPIO->PDATC |=0x000f;
		pPIO->PDATC &=gg;
    wait(900);                        //      	wait 900ms
  }
  
}

⌨️ 快捷键说明

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