亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? avr192.c

?? 用iccavr編寫的at90s8515驅(qū)動19264液晶片的源程序avr192
?? C
字號:
/*寫漢字液晶子程 液晶屏分為4行*12列漢字,全部使用模擬接口方式。
/*		 CKW19264A接口程序(模擬方式)
液晶模塊供應(yīng)商:廣州市盛寶電子有限公司	Tel:020-87592491 Fax:87541571
	Email:	tinsharp@public.guangzhou.gd.cn
;************************************************************************
;連線圖:
;*LCM----S8515*	  *LCM----S8515*   *LCM-----S8515*     *LCM-----S8515*	*
;*DB0-----PA0*	  *DB4-----PA4*	   *D/I------PC6*      *CS1------PC4*	*
;*DB1-----PA1*	  *DB5-----PA5*	   *R/W------PC7*      *CS2------PC5*	*
;*DB2-----PA2*	  *DB6-----PA6*	   *RST------VCC*      *CS3------PD2*	* 
;*DB3-----PA3*	  *DB7-----PA7*	   *E--------PC3*			*
;注:S8515的晶振頻率為4MHz						*
;************************************************************************/
#pragma	interrupt_handler timer:7	/*TC1溢出中斷		*/
#include <io8515.h>
#include <macros.h>
#include <worddot.h>	/*   自定義字符點陣碼文件,存于include目錄下	*/
//#include <math.h>	/*   數(shù)學(xué)運算定義,沒有使用	*/
#define	Uchar unsigned char

/***********液晶顯示器接口引腳定義***************/

#define	LCD_E  (1 << 3)					// PC3----E
#define	LCD_DI (1 << 6)					// PC6----D/I
#define	LCD_RW (1 << 7)					// PC7----R/W
#define	LCD_CS1	(1 << 4)				// PC4----CS1
#define	LCD_CS2	(1 << 5)				// PC5----CS2
#define	LCD_CS3	(1 << 2)				// PD2----CS3
#define	lcd_set_e()  (PORTC |= LCD_E)			// 位置位,輸出1
#define	lcd_set_di() (PORTC |= LCD_DI)
#define	lcd_set_rw() (PORTC |= LCD_RW)
#define	lcd_clear_e()  (PORTC &= ~LCD_E)		// 位清零,輸出0
#define	lcd_clear_di() (PORTC &= ~LCD_DI)
#define	lcd_clear_rw() (PORTC &= ~LCD_RW)
#define	lcd_set_cs1() (PORTC |=	LCD_CS1)		// 片選
#define	lcd_set_cs2() (PORTC |=	LCD_CS2)
#define	lcd_set_cs3() (PORTD |=	LCD_CS3)
#define	lcd_clear_cs1()	(PORTC &= ~LCD_CS1)
#define	lcd_clear_cs2()	(PORTC &= ~LCD_CS2)
#define	lcd_clear_cs3()	(PORTD &= ~LCD_CS3)
#define	 LCD_BUSY	0x80				//LCM忙判斷位
#define	lcd_read_status() (PINA	&= LCD_BUSY)		//LCM忙判斷
#define	Datalcm	PORTA					//數(shù)據(jù)口

/***********常用操作命令和參數(shù)定義***************/
#define	 DISPON		0x3f	/*顯示on		*/
#define	 DISPOFF	0x3e	/*顯示off		*/
#define	 DISPFIRST	0xc0	/*顯示起始行定義	*/
#define	 SETX		0x40	/*X定位設(shè)定指令(頁)	*/
#define	 SETY		0xb8	/*Y定位設(shè)定指令(列)	*/

/**************顯示分區(qū)邊界位置*****************/
#define	 MODL		0x00	/*左區(qū)			*/
#define	 MODM		0x40	/*左區(qū)和中區(qū)分界	*/
#define	 MODR		0x80	/*中區(qū)和右區(qū)分界	*/
#define	 LCMLIMIT	0xC0	/*顯示區(qū)的右邊界	*/

/****************全局變量定義*******************/
Uchar col,row,cbyte,timer1,timer2,statusm;		/*列x,行(頁)y,輸出數(shù)據(jù)	*/
unsigned int speed=0x7fff;

/*****************函數(shù)列表**********************/
void Lcminit(void);		/*液晶模塊初始化	*/
void Delay(Uchar);		/*延時,入口數(shù)為Ms	*/
void lcdbusyL(void);		/*busy判斷、等待(左區(qū))	*/
void lcdbusyM(void);		/*busy判斷、等待(中區(qū))	*/
void lcdbusyR(void);		/*busy判斷、等待(右區(qū))	*/
void Putedot(Uchar x,Uchar y,Uchar flash *Lib,Uchar Order,Uchar	widthw);
void Wrdata(Uchar);		/*數(shù)據(jù)輸出給LCM		*/
void Lcmcls( void );		/*LCM全屏幕清零(填充0)	*/
void wtcom(void);		/*公用busy等待		*/
void Locatexy(void);		/*光標(biāo)定位		*/
void WrcmdL(Uchar);		/*左區(qū)命令輸出		*/
void WrcmdM(Uchar);		/*中區(qū)命令輸出		*/
void WrcmdR(Uchar);		/*右區(qū)命令輸出		*/
void Putstr(Uchar x,Uchar y,Uchar flash	*puts,Uchar i);/*字符串輸出*/
void Rollscreen(Uchar x);	/*屏幕向上滾動演示	*/
void Rddata(void);		/*  從液晶片上讀數(shù)據(jù)	*/
void point(void);		/*打點			*/
void Linexy(Uchar x0,Uchar y0,Uchar xt,Uchar yt);
void main_init(void);
void timer(void);
void circle(Uchar Ox,Uchar Oy,Uchar Rx);
/******************數(shù)組列表*********************/
Uchar flash Ezk[];		/*ASCII常規(guī)字符點陣碼表	*/
Uchar flash Hzk[];		/*自用漢字點陣碼表	*/
Uchar flash STR1[];		/*自定義字符串		*/
Uchar flash STR2[];		//flash	"=" code(keil c51)
Uchar flash STR3[];		//
Uchar flash STR4[];		//


/********************************/
/* 演示主程序			*/
/********************************/
void main(void)

{
	Uchar x=0;
	DDRD   = 0xFF;		/*|= LCD_CS3;	/*定義輸出位			*/
	DDRC   = 0xFF;		/*定義為輸出口			*/
	statusm&=0<<7;
	main_init();
	Delay(5);		/*延時,等待外設(shè)準(zhǔn)備好		*/
	Lcminit();		/*液晶模塊初始化,包括全屏幕清屏*/
	Putstr(0,0,STR3,24);	/*第一行字符輸出,24字節(jié)	*/
	Putstr(0,2,STR1,12);	/*第二行字符輸出,12字節(jié)(漢字)*/
//	Putstr(0,4,STR3,24);	/*第三行字符輸出,24字節(jié)	*/
//	Putstr(0,6,STR4,24);	/*第四行字符輸出,12字節(jié)	*/

	Linexy(0,0,191,0);		/*line (0,0)-(191,0)	*/
	Linexy(191,0,191,32);		/*line (191,0)-(191,32)	*/
	Linexy(191,32,0,32);		/*line (191,32)-(0,32)	*/
	Linexy(0,32,0,0);		/*line (0,32)-(0,0)	*/
	Linexy(1,15,191,15);		/*line (1,15)-(191,15)	*/
	Linexy(0,63,44,33);		/*line (0,63)-(44,33)	*/
	Linexy(44,33,191,63);		/*line (44,33)-(191,63)	*/
	circle(46,49,12);	//畫一個圓
	circle(46,49,11);

//	statusm|=1<<7;

	while(1){
//		Rollscreen(x);		/*定位新的顯示起始行	*/
		x++;
		Delay(20);		/*延時,控制滾動速度	*/
		};
}

/***************************
   初始化8515定時寄存器
***************************/
void main_init(void)
{
	TCCR1A = 0x00;
	TCCR1B = 0x00;		/* 停止定時器1			*/
	TCNT1H = 0x00;		/* 清除定時器1			*/
	TCNT1L = 0x00;
	TIMSK  = 0x80;		/* 開放定時器1溢出中斷		*/
	SREG  |= 0x80;
	TCCR1B = 0x01;		/* 啟動定時器1,預(yù)分頻比例1	*/
}
/*************************************
   在定時器中斷中做多個分級定時
*************************************/
void timer()
{
	timer1--;
	if (timer2<0x80) speed+=0x100;
	else speed-=0x200;
	if (statusm&0x80){	
	timer2++;
	col = (speed>>8)|timer1;
	row = (timer2&0x1f)+32;
	point();}
}


/************************************************/
/*畫圓。數(shù)學(xué)方程(X-Ox)^2+(Y-Oy)^2=Rx^2		*/
/************************************************/

void circle(Uchar Ox,Uchar Oy,Uchar Rx)
{
	unsigned int xx,rr,xt,yt,rs;
	yt=Rx;
	rr=Rx*Rx+1;			//補償 1 修正方形
	rs=(yt+(yt>>1))>>1;		//(*0.75)分開1/8圓弧來畫
	for (xt=0;xt<=rs;xt++)
	{
		xx=xt*xt;
		while ((yt*yt)>(rr-xx))yt--;
		col=Ox+xt;		//第一象限
		row=Oy-yt;
		point();
		col=Ox-xt;		//第二象限
		point();
		row=Oy+yt;		//第三象限
		point();
		col=Ox+xt;		//第四象限
		point();

/***************45度鏡象畫另一半***************/

		col=Ox+yt;		//第一象限
		row=Oy-xt;
		point();
		col=Ox-yt;		//第二象限
		point();
		row=Oy+xt;		//第三象限
		point();
		col=Ox+yt;		//第四象限
		point();
	}
}

				
/************************************************/
/*畫線。任意方向的斜線,直線數(shù)學(xué)方程 aX+bY=1	*/
/************************************************/
void Linexy(Uchar x0,Uchar y0,Uchar xt,Uchar yt)
{
	register Uchar t;
	int xerr=0,yerr=0,delta_x,delta_y,distance;
	int incx,incy;

	delta_x=xt-x0;				/*計算坐標(biāo)增量	*/
	delta_y=yt-y0;
	col = x0;
	row = y0;
	if(delta_x>0) incx=1;			/*設(shè)置單步方向	*/
	else if( delta_x==0 ) incx=0;		/*垂直線	*/
		else {incx=-1;delta_x=-delta_x;}

	if(delta_y>0) incy=1;
	else if( delta_y==0 ) incy=0;		/*水平線	*/
		else {incy=-1;delta_y=-delta_y;}

	if( delta_x > delta_y )	distance=delta_x; /*選取基本增量坐標(biāo)軸*/
	else distance=delta_y;

	for( t=0;t <= distance+1; t++ )	{	/*畫線輸出	*/
		point();			/*畫點		*/
		xerr +=	delta_x	;
		yerr +=	delta_y	;
		
		if( xerr > distance ) {
			xerr-=distance;
			col+=incx;
		}
		if( yerr > distance ) {
			yerr-=distance;
			row+=incy;
		}
	}
}

/****************************************/
/*	畫點				*/
/****************************************/

void point(void)
	{
		Uchar	x1,y1,x,y;
		x1=col;
		y1=row;
		row=y1>>3;		/*取Y方向分頁地址	*/
		Rddata();
		y=y1&0x07;		/*字節(jié)內(nèi)位置計算	*/
		Wrdata(cbyte|1<<y);	/*畫上屏幕		*/
		col=x1;			/*恢復(fù)xy坐標(biāo)		*/
		row=y1;
	}

/****************************************/
/*	屏幕滾動定位			*/
/****************************************/
void Rollscreen(Uchar x)
	{
		cbyte =	DISPFIRST|x;	/*定義顯示起始行為x

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美伊人久久久久久久久影院 | 一本大道久久精品懂色aⅴ| 亚洲一二三专区| 国产欧美中文在线| 欧美一区二区三区啪啪| 91在线免费看| 国产精品77777| 久久精品免费观看| 亚洲韩国精品一区| 中文字幕在线观看一区二区| 欧美本精品男人aⅴ天堂| 在线精品视频小说1| 国产激情偷乱视频一区二区三区| 日日夜夜精品视频天天综合网| 国产精品伦一区二区三级视频| 精品国精品国产| 久久综合色鬼综合色| 日本二三区不卡| 国产成人免费在线视频| 精品一区二区在线观看| 青青草国产成人99久久| 亚洲在线成人精品| 亚洲欧美电影院| 国产精品久久毛片a| 欧美精彩视频一区二区三区| 久久女同精品一区二区| 免费亚洲电影在线| 亚洲午夜精品网| 亚洲已满18点击进入久久| 亚洲精品高清视频在线观看| 中文字幕第一区二区| 国产无一区二区| 国产欧美综合在线| 国产日韩精品一区二区三区在线| 欧美精品一区二区三区在线播放| 日韩欧美一区二区视频| 欧美一区二区三区电影| 91精品国产入口在线| 精品视频在线看| 欧美午夜视频网站| 欧美色图在线观看| 欧美美女一区二区三区| 3atv一区二区三区| 91精品国产乱码久久蜜臀| 欧美一区二区三区免费大片 | 理论电影国产精品| 免费在线成人网| 精品一区二区三区在线播放视频| 美美哒免费高清在线观看视频一区二区| 亚洲一区二区三区四区中文字幕 | 综合激情成人伊人| 亚洲天堂a在线| 亚洲午夜日本在线观看| 日本欧美韩国一区三区| 免费在线看成人av| 经典一区二区三区| 国产成人8x视频一区二区| 北岛玲一区二区三区四区| 色婷婷国产精品综合在线观看| 欧美三级韩国三级日本三斤| 91精品福利在线一区二区三区 | 欧美美女网站色| 精品电影一区二区| 国产原创一区二区| 国产精品77777| 色婷婷久久久久swag精品| 正在播放亚洲一区| 久久久精品黄色| 亚洲最新视频在线播放| 全国精品久久少妇| 成人中文字幕电影| 欧美三级资源在线| 久久综合久久综合久久综合| 国产精品不卡一区| 亚洲h在线观看| 国产麻豆精品久久一二三| 91国产成人在线| 日韩精品影音先锋| 亚洲欧美另类小说| 免费不卡在线视频| 91视频你懂的| 日韩美女视频在线| 亚洲免费观看视频| 久久精品久久综合| 99天天综合性| 日韩欧美不卡在线观看视频| 1024成人网| 久久精品国产在热久久| 在线精品视频一区二区三四 | 亚洲高清视频在线| 国产乱人伦偷精品视频不卡| 在线看日韩精品电影| 国产蜜臀97一区二区三区| 日韩精品电影在线| eeuss鲁片一区二区三区在线看| 91麻豆精品国产| 亚洲视频一区二区在线观看| 激情久久五月天| 欧美日韩在线综合| 亚洲欧美日韩中文字幕一区二区三区 | 中文字幕字幕中文在线中不卡视频| 亚洲午夜精品久久久久久久久| 国产成+人+日韩+欧美+亚洲| 91精品国产91久久久久久最新毛片| 亚洲人成精品久久久久| 国产乱人伦精品一区二区在线观看| 欧美性受xxxx| 中文字幕一区二区三区在线播放| 精品在线亚洲视频| 欧美日韩一区二区三区四区| 亚洲欧洲日韩综合一区二区| 国产麻豆欧美日韩一区| 欧美va亚洲va国产综合| 日本亚洲三级在线| 欧美嫩在线观看| 亚洲黄色免费电影| 91亚洲精品久久久蜜桃网站 | 亚洲一区二区精品久久av| 99精品久久只有精品| 国产亚洲欧美色| 国产一区美女在线| 久久伊人中文字幕| 另类小说综合欧美亚洲| 欧美一级二级在线观看| 亚洲国产中文字幕| 欧洲精品一区二区三区在线观看| 亚洲女同ⅹxx女同tv| av在线综合网| 《视频一区视频二区| 成人av网站在线观看免费| 国产精品人妖ts系列视频| 国产精品1区二区.| 日韩av一区二区在线影视| 91麻豆精品国产91久久久久| 日本大胆欧美人术艺术动态| 欧美一区二区成人6969| 日本成人在线一区| 欧美大黄免费观看| 精品在线一区二区| 国产亚洲精久久久久久| 国产精品99久久久久久久vr| 欧美激情在线一区二区| 国产成人av福利| 中文字幕一区二区三区四区| 99国产精品99久久久久久| 综合激情成人伊人| 欧美视频一区在线观看| 亚洲大片一区二区三区| 这里只有精品99re| 国产在线一区二区| 国产精品久久久久久久午夜片 | 欧美一区二区三区的| 久久精品国产免费看久久精品| 久久视频一区二区| 成人美女视频在线看| 亚洲精品乱码久久久久久日本蜜臀| 91成人在线精品| 男人的天堂久久精品| 久久久久国色av免费看影院| 99视频精品免费视频| 午夜欧美2019年伦理| 欧美精品一区二区三区蜜桃| 成人av电影免费观看| 亚洲成人福利片| 久久久久久久性| 91碰在线视频| 麻豆精品一区二区av白丝在线| 精品在线免费观看| 久久久久亚洲综合| 色999日韩国产欧美一区二区| 日韩中文字幕区一区有砖一区| 亚洲精品在线三区| 一本一道久久a久久精品| 日本色综合中文字幕| 国产清纯美女被跳蛋高潮一区二区久久w | 奇米精品一区二区三区在线观看| 国产视频一区在线观看| 在线视频亚洲一区| 国产在线视频一区二区三区| 一区二区三区在线免费观看| 精品国产亚洲在线| 日本久久电影网| 国产一区二区三区免费播放| 亚洲一区二区欧美日韩| 久久精品人人做人人综合| 欧美日韩中文另类| 成人午夜av在线| 奇米精品一区二区三区四区| 中文字幕佐山爱一区二区免费| 日韩无一区二区| 色老综合老女人久久久| 精品一区二区免费在线观看| 成人欧美一区二区三区视频网页| 日韩视频免费观看高清在线视频| 91一区一区三区| 国产99久久久久| 美女一区二区在线观看| 亚洲狠狠爱一区二区三区| 国产精品福利一区二区| 精品国产不卡一区二区三区|