?? lio.c~
字號:
#include <mega128.h>
#include "delay.h"
#include "lio.h"
#include "ucos_ii.h"
#define uchar unsigned char
/* 定義OCMJ4X8端口 */
#define data_port PORTA
#define ASK PINE.6
#define ANSWER PORTE.7
#define RESET PORTC.3
/************函數聲明**************/
void ocmj_init(void);
void ocmj_write(uchar data);
void bmp_tran(uchar x,uchar y,uchar high,uchar width,flash uchar *bmp_p);
void hz_tran(uchar x,uchar y,uchar flash *hz_p);
void asc_tran(uchar x,uchar y,uchar flash *asc_p);
/***************主函數*************/
void LCD_disp(void)
{
ocmj_init();//初始化
ocmj_write(0xf4); //清屏
hz_tran(0,0,"第一路信號"); //傳送內部漢字,以16*16為一個漢字單元
asc_tran(10,6,":");
hz_tran(0,1,"第二路信號");
asc_tran(10,22,":");
hz_tran(0,2,"第三路信號");
asc_tran(10,38,":");
hz_tran(0,3,"第四路信號");
asc_tran(10,54,":");
while(1)
{
OSTimeDly(50); //延時以讓出CPU
}
}
/*****************************************/
/* OCMJ4X8LCD初始化 */
void ocmj_init(void)
{
RESET=0; //LCD復位
delay_ms(10);
RESET=1;
ANSWER=0;
delay_ms(10);
}
/* 寫數據到LCD */
void ocmj_write(uchar data)
{
while(ASK!=0);
data_port=data;
delay_ms(2);
ANSWER=1;
delay_ms(2);
while(ASK==0);
ANSWER=0;
}
/* 傳送bmp點陣數據到LCD */
/* x:0~15(字節為單位) y:0~64 */
/* bmp_p:指向圖形數據的指針 */
/* high:位圖高度(點陣行為單位) */
/* width:位圖寬度(以字節為單位)? */
void bmp_tran(uchar x,uchar y,uchar high,uchar width,flash uchar *bmp_p)
{
uchar i,j;
x+=4;
for(j=0;j<high;j++)
{
for(i=0;i<width;i++)
{
ocmj_write(0xf3);
ocmj_write(x);
ocmj_write(y);
ocmj_write(*bmp_p);
bmp_p++;
x++;
}
x-=width;
y++;
}
}
/* 傳送LCD內部漢字數據到LCD */
/* x:0x00~0x07 y:0x00~0x03 */
void hz_tran(uchar x,uchar y,uchar flash *hz_p)
{
x+=2;
while((*hz_p)!=0)
{
ocmj_write(0xf0);
ocmj_write(x);
ocmj_write(y);
ocmj_write(*hz_p-0xa0);
hz_p++;
ocmj_write(*hz_p-0xa0);
hz_p++;
if(x<0x09)
x++;
else
{
x=0x02;
y++;
}
}
}
/* 傳送ASCII字母到LCD */
/* x:0x00~0x0f y:0~64 */
void asc_tran(uchar x,uchar y,uchar flash *asc_p)
{
x+=4;
while((*asc_p)!=0)
{
ocmj_write(0xf1);
ocmj_write(x);
ocmj_write(y);
ocmj_write(*asc_p);
asc_p++;
if (x<0x13)
x++;
else
{
x=0x04;
y+=8;
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -