?? main.c
字號:
/*廣州穗佳電子科技有限公司
冷火MCF52255多功能開發板
更多精彩產品,關注穗佳電子淘寶店
http://sogadz.taobao.com*/
#include "support_common.h" /* include peripheral declarations and more */
#if (CONSOLE_IO_SUPPORT || ENABLE_UART_SUPPORT)
/* Standard IO is only possible if Console or UART support is enabled. */
#include <stdio.h>
#endif
#define uchar unsigned char
#define uint unsigned int
/*********************************************/ //延時 /*********************************************/
void delay(int xms) //xms毫秒延時
{
int ii,jj;
for(ii=0;ii<xms;ii++)
for(jj=0;jj<2000;jj++);
}
void delay_us(int xus) //xus微秒延時
{
int ii,jj;
for(ii=0;ii<xus;ii++)
for(jj=0;jj<2;jj++);
}
/*********************************************/ //流水燈,數碼管 蜂鳴器 /*********************************************/
#define Du MCF_GPIO_PORTUC_PORTUC0 //段選鎖存器控制端
#define We MCF_GPIO_PORTUC_PORTUC1 //位選鎖存器控制端
#define Du_1 MCF_GPIO_PORTUC|=Du //段選鎖存器控制端置1
#define We_1 MCF_GPIO_PORTUC|=We //位選鎖存器控制端置1
#define Du_0 MCF_GPIO_PORTUC&=~Du //段選鎖存器控制端置0
#define We_0 MCF_GPIO_PORTUC&=~We //位選鎖存器控制端置0
#define Beeper MCF_GPIO_PORTUC_PORTUC3
#define Beeper_1 MCF_GPIO_PORTUC|=Beeper
#define Beeper_0 MCF_GPIO_PORTUC&=~Beeper
#define LED_EN MCF_GPIO_PORTTJ_PORTTJ7 //LED 使能EN信號
#define LED_EN_0 MCF_GPIO_PORTTJ=0x0f
#define LED_EN_1 MCF_GPIO_PORTTJ=0x8f
void IO_init()
{
MCF_GPIO_PTJPAR = 0x00; // 配置PTJ為普通IO
MCF_GPIO_DDRTJ = 0xff; // 設置PTJ為輸出
MCF_GPIO_PORTTJ = 0x00; //關閉PTJ口
MCF_GPIO_PUCPAR = 0x00; // 配置PUC為普通IO
MCF_GPIO_DDRUC = 0xff; // 設置PUC為輸出
MCF_GPIO_PORTUC = 0x08; //關閉PUC口
}
/*********************************************/ //1602LCD /*********************************************/
#define LCD1602_RW MCF_GPIO_PORTTJ_PORTTJ6 //1602LCD 讀寫RW信號
#define LCD1602_RS MCF_GPIO_PORTTJ_PORTTJ4 //1602LCD 數據控制RS信號
#define LCD1602_EN MCF_GPIO_PORTTJ_PORTTJ5 //1602LCD 使能EN信號
#define LCD1602_RW_1 MCF_GPIO_PORTTJ|=LCD1602_RW
#define LCD1602_RS_1 MCF_GPIO_PORTTJ|=LCD1602_RS
#define LCD1602_EN_1 MCF_GPIO_PORTTJ|=LCD1602_EN
#define LCD1602_RW_0 MCF_GPIO_PORTTJ&=~LCD1602_RW
#define LCD1602_RS_0 MCF_GPIO_PORTTJ&=~LCD1602_RS
#define LCD1602_EN_0 MCF_GPIO_PORTTJ&=~LCD1602_EN
void write(uchar COD,uchar dat) //CD=1為寫數據,0為寫命令;dat:數據/命令
{
MCF_GPIO_PORTTJ=dat; //送數據/命令
Du_1; //段選鎖存器
Du_0;
MCF_GPIO_PORTTJ=0x8f;
if(COD!=0)LCD1602_RS_1;//判斷是寫數據/命令
We_1; //位選鎖存器
//delay(10);
LCD1602_EN_1; //LCD使能
delay(10);
MCF_GPIO_PORTTJ=0x8f;
We_0;
}
char tab1[]={"0123456789,.:;?!"};
char tab2[]={"abcdefghijklmnopq"};
void show_str(char *x) //*x:顯示內容
{
uchar i=0;
for(;;)
{
write(1,x[i]);
i++;
if(x[i]=='\0')break;
}
}
void LCD1602_init() //LCD初始化
{
write(0,0x38);
write(0,0x0c);
write(0,0x06);
write(0,0x01);//清零
write(0,0x80);
//write(0,0x80+40);//換行
}
/**********************************************************************************************************
**********************************************************************************************************/
void main(void)
{
int counter;
int i=0,j=0,k=0;
IO_init();
//******************液晶1602******************
LCD1602_init();
show_str("1234567890");
write(0,0x80+40);//換行
show_str("abcdefg");
delay(1000);
while(1) ;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -