#define _lcd12864_c
#include "config.h"
#include "lcd12864.h"
/*************
測試lcd是否處於忙狀態
如果忙則返回0x80,否則返回0
**************/
unsigned char lcd_checkbusy()
/*********************************
向lcd寫入位元組資料
**********************************/
void lcd_writedata(unsigned char data)
/***********************************
從lcd中讀出資料
************************************/
unsigned char lcd_readdata()
/*************************************
想lcd中寫入指令**
**************************************/
void lcd_writecmd(unsigned char cmdcode)
/*************************************
向lcd指定起始位置寫入乙個字串
*************************************/
void lcd_writestr(unsigned char x,unsigned char y,unsigned char *str)
while(*str>0)
ea=1;
}/**************************************
為加速邏輯運算而設定的掩碼表,這是以犧牲空間而換取時間的辦法
***************************************/
code unsigned int masktab=;
/***************************************
向lcd指定座標寫入乙個象素,象素顏色有兩種,0代表白(無顯示),1代表黑(有顯示)
****************************************/
void lcd_putpixel(unsigned char x,unsigned char y,unsigned char color)
/******************************************
從lcd指定座標讀取象素顏色值
*******************************************/
unsigned char lcd_readpixel(unsigned char x,unsigned char y)
/***************************************
向lcd指定位置畫一條長度為length的指定顏色的水平線
****************************************/
void lcd_horiline(unsigned char x,unsigned char y,unsigned char length,unsigned char color)
for (x=x1;x<=x2;x++)
lcd_putpixel(x,y1,color);
}else
else
d_x=x1-x2;
x=x1;
y=y1;
lcd_putpixel(x,y,1);
if(temp&&(d_y<=d_x))
while(x!=x2)
else
lcd_putpixel(x,y,color);
}else if(temp&&(d_y>d_x))
while(y!=y2)
else
lcd_putpixel(x,y,color);
}else if(!temp&&(d_y<=d_x))
while(x!=x2)
else
lcd_putpixel(x,y,color);
}else if(!temp &&(d_y>d_x))
while(y!=y2)
else
lcd_putpixel(x,y,color);}}
}/*******************************************
向lcd指定左上角座標和右下角座標畫乙個指定顏色的矩形
********************************************/
void lcd_rectangle(unsigned char x0,unsigned char y0,unsigned char x1,unsigned char y1,unsigned char color)
if(y0>y1)
lcd_vertline(x0,y0,y1-y0+1,color);
lcd_vertline(x1,y0,y1-y0+1,color);
lcd_horiline(x0,y0,x1-x0+1,color);
lcd_horiline(x0,y1,x1-x0+1,color);
}/****************************************
對稱法畫圓的8個映象點
*****************************************/
void circledot(unsigned char x,unsigned char y,char xx,char yy,unsigned char color)//內部函式,對稱法畫圓的8個映象點
/******************************************
向lcd指定圓心座標畫乙個半徑為r的指定顏色的圓
*******************************************/
void lcd_circle(unsigned char x,unsigned char y,unsigned char r,unsigned char color)//中點法畫圓
{//中點法畫圓
unsigned char xx,yy;
char deltax,deltay,d;
xx=0;
yy=r;
deltax=3;
deltay=2-r-r;
d=1-r;
circledot(x,y,xx,yy,color);//對稱法畫圓的8個映象點
while (xx
C 核心程式設計和桌面應用開發
c 核心程式設計和桌面應用開發 01 第一章c 核心程式設計 1 1c 概述 01 課前準備.mp4 9.79m 02 對比軟體的使用.mp4 5.95m 03 c 概述.mp4 56.29m 04 第乙個程式helloworld.mp4 20.58m 05 物件導向的三大特性.mp4 23.09m...
標準C 開發入門與程式設計實踐
放大 標準c 開發入門與程式設計實踐 叢書名 c c 開發專家 編著者 白喬 出版社 電子工業出版社 isbn號 978 7 121 05227 9 首 印 2007 12 01 定 價 49.8 開 本 16 字 數 787.2千 470頁 點選數 11481 在蔚藍網上購買 在china pub...
程式設計開發經驗
重點內容 程式語言日新月異,它終歸是乙個工具,程式語言之間相互借鑑,設計思想有很多類似的地方。但選擇語言時,也要兼顧考慮自己的業務領域來選擇開發語言。如果效能不佳,就在應用層處理,別放在資料庫層。避免併發運算 單一責任,物件狀態盡量越少越好,實用才是硬道理。簡潔,組合,而非聚合 有些地方盡量不用注釋...