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

📄 main.c

📁 I wrote this code early this year using ColdFire MCF5213 in codewarrior IDE. The LCD is STN B/W 320x
💻 C
字号:
/* LCD DEMO CODE
	COPYRIGHT MKS/HPS
	AUTHOR: DONGHUA GU
*/

#include <stdio.h>
#include "common.h"
#include "S1D13700.h"
#include "mcf5213_gpio.h"

/* Define prototype */
void initPort();
void initLCD();
void LCD_out_ctrl(UINT8 dat);
void LCD_out_data(UINT8 dat);
void LCD_erase(void);
void LCD_clear_area(UINT8 left,UINT8 top, UINT8 right, UINT8 bottom);
void LCD_glyph(UINT16 left, UINT8 top, UINT8 width, UINT8 height, UINT8 *glyph, UINT8 store_width);
void LCD_text(UINT16 left, UINT8 top, UINT8 font, char *str);

void main()
{	
	UINT16 i;
	UINT8 readdata;
	
	/*******************************************************************/
	initPort();	
	/*********************************************************************/
	initLCD();

	for (i = 0; i<10000; i++)
	{
		//do nothing
	}
	initLCD();
	LCD_out_ctrl(CMD_CSRW);
	LCD_out_data(0x00);
	LCD_out_data(0x00);
	
	LCD_out_ctrl(CMD_CSRDIR_RIGHT);
		
	
	/*LCD_out_ctrl(CMD_MWRITE);
	
	//LCD_out_data(8);
	//LCD_out_data(7);

	for(i=0;i<255;i++)
	{
		LCD_out_data(i);
		//LCD_out_data(0x00);
		//LCD_out_data(0xF3);
		//LCD_out_data(0x3B);
			
	}
	

		
	LCD_clear_area(0,0,41,41);
	
	LCD_out_ctrl(CMD_CSRW);
	LCD_out_data(0x02);
	LCD_out_data(0x00);
	
	LCD_out_ctrl(CMD_MREAD);
	readdata = LCD_in_dat();
	
	for(i=0;i<255;i++)
	{
		readdata = LCD_in_dat();
	}
	
	*/

/*	LCD_text(0,0,2,"][");
	
	LCD_out_ctrl(CMD_CSRW);
	LCD_out_data(0x00);
	LCD_out_data(0x00);
	
	LCD_out_ctrl(CMD_MREAD);
	readdata = LCD_in_dat();
	
	for(i=0;i<255;i++)
	{
		readdata = LCD_in_dat();
	}	*/
	
	LCD_text(0,0,2,"[@HPS]");
	LCD_text(280,200,0,"@HPS");
	LCD_text(10,80,1,"HC Pressure");
	LCD_text(40,160,2,"MP = 1.0e-5");
	LCD_text(10,40,1,"Youfan is the boss!");
/*
	LCD_text(0,0,2,"P");
	LCD_text(24,0,2,"r");
	LCD_text(48,0,2,"e");
	LCD_text(72,0,2,"s");
	LCD_text(96,0,2,"s");
	LCD_text(120,0,2,"=");
	LCD_text(144,0,2,"2");
	LCD_text(168,0,2,".");
	LCD_text(192,0,2,"0");
	LCD_text(216,0,2,"E");
	LCD_text(240,0,2,"-");
	LCD_text(260,0,2,"8");
	LCD_text(24,40,2,"R");
	LCD_text(24,80,2,"E");
	LCD_text(24,120,2,"S");
	LCD_text(24,160,2,"S");
	LCD_text(24,200,2,"5");
	//LCD_text(44,200,2,"@");
*/	

}

/* initPort function
	configure PortAN as the 8 bits data bus
	configure PortTD pin 3 as RESET 
			  PortTC pin 0 as A0
					 pin 1 as WR
					 pin 2 as RD
					 pin 3 as CS
	all need to General IO	*/
void initPort()
{
	/* set portAN as GPIO */
	MCF_GPIO_PANPAR = 0;
						
	/* SET PORT TC AS GPIO */
	MCF_GPIO_PTCPAR = 0 
					  | MCF_GPIO_PTCPAR_PTCPAR0(0)  /* pin TC0 as GPIO */
					  | MCF_GPIO_PTCPAR_PTCPAR1(0)  /* pin TC0 as GPIO */
					  | MCF_GPIO_PTCPAR_PTCPAR2(0)  /* pin TC0 as GPIO */
					  | MCF_GPIO_PTCPAR_PTCPAR3(0); /* pin TC0 as GPIO */
					  
	/* SET PORTTD PIN 3 AS GPIO */
	MCF_GPIO_PTDPAR = 0;
	//				  | MCF_GPIO_PTDPAR_PTDPAR3;	
					  
	/* set Port AN direction as output */
	MCF_GPIO_DDRAN = 0
					 | MCF_GPIO_DDRAN_DDRAN0
					 | MCF_GPIO_DDRAN_DDRAN1
					 | MCF_GPIO_DDRAN_DDRAN2
					 | MCF_GPIO_DDRAN_DDRAN3
					 | MCF_GPIO_DDRAN_DDRAN4
					 | MCF_GPIO_DDRAN_DDRAN5
					 | MCF_GPIO_DDRAN_DDRAN6
					 | MCF_GPIO_DDRAN_DDRAN7;	
	
	/* set Port TC as output */
	MCF_GPIO_DDRTC = 0
					 | MCF_GPIO_DDRTC_DDRTC0
					 | MCF_GPIO_DDRTC_DDRTC1
					 | MCF_GPIO_DDRTC_DDRTC2
					 | MCF_GPIO_DDRTC_DDRTC3;
		
	/* set Port TD pin 3 as output */
	MCF_GPIO_DDRTD = 0
					 | MCF_GPIO_DDRTD_DDRTD3;
					 
	/* set reset line for LCD */
	MCF_GPIO_SETTD = Set_LCD_RST;

}


⌨️ 快捷键说明

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