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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? clkdemo.c

?? epson mcu 啟動代碼與動畫實現
?? C
字號:

/*** include header files ***/
#include 	<string.h>
#include	<stdlib.h>
#include	"ascifont.h"

/*** definition constant ***/
#define	VramStt			0xf800					//display start memory
#define	VramXmax		0x32					//X display memory max size
#define	VramYstep		0x100					//Y step memory size
#define	AscSizeX		6						//ASCII SIZE
#define	AscPosiMaxX		VramXmax-AscSizeX+1		//X Max Count
#define	AscPosiMaxY		3						//Y Max Count
#define	NULL			0

/*** function prototype ***/
unsigned char disp_stringY8(char x, char y, unsigned char *string);
unsigned char disp_charY8(char x, char y, unsigned char charac);
void set_reg(void);
void _interrupt(0x22) rtclock (void);
void _interrupt(0x0e) rtkeyscan(void);
/*** SFR definition ***/
_sfrbyte	sfr_lcd1	_at(0xff10);
_sfrbyte	sfr_lcd2	_at(0xff11);
_sfrbyte	sfr_intpri1	_at(0xff20);
_sfrbyte	sfr_intena1	_at(0xff22);
_sfrbyte	sfr_intena2	_at(0xff23);
_sfrbyte	sfr_intfnc1	_at(0xff24);
_sfrbyte	sfr_intfnc2	_at(0xff25);
_sfrbyte	sfr_wchtmr1	_at(0xff40);
_sfrbyte	sfr_sik1	_at(0xff50);
_sfrbyte	sfr_kcp1	_at(0xff52);
_sfrbyte	sfr_kd1		_at(0xff54);
_sfrbyte	sfr_r27		_at(0xff75);
_sfrbyte	sfr_r2xd	_at(0xff75);

/*** global variable ***/
char*	p_clkdata;
unsigned char g_intflg;					//BIT 2 	1 	 0		interrupt:1
										//	  reset stop start

//========================================================================
//====  main routine  ====================================================
//========================================================================
int main(void) {
	//*** variable definition ***
	unsigned char *vram;
	unsigned char x=0,y=0,err=0;

	vram = (unsigned char *) VramStt;

	//----------------------  set I/O register  ---------------------------
	// <display>
	sfr_lcd1 = 0x00;				/* 5 x 8 dot font
									   1/32 duty */
	sfr_lcd2 = 0x17;				/* area 0
									   normal display
									   initial contrast = 7 */
	/*<clock>*/
	sfr_intpri1 |= 0x03;			// set interrupt priority 3
	sfr_wchtmr1 |= 0x02;			// reset clock timer
	sfr_intena1 |= 0x01;			// 1Hz interrupt enable
	sfr_wchtmr1 |= 0x01;			// run clock timer
	/*<Key>*/
	sfr_r27=0x7f;					// R27 0 OUTPUT
	sfr_intpri1 |= 0xc0;			// set interrupt priority 3
	sfr_intena2	|=0x08;				// K00乣K03 interrupt enable
	sfr_sik1=0x07;					// K00乣K02 interrupt enable
	sfr_kcp1=0xff;					// interrupt select reg

	//-------------------  clear MCU Vram  --------------------------------
	do {
		do {
        	*(vram + x) = 0;
		} while ((x++) <= VramXmax);

		vram += VramYstep;
		x = 0;
		y++;
	} while (y < 4);

	p_clkdata=(char*)malloc(10);
	strcpy((char*)p_clkdata,"00:00:00");
	// <all interrupt enable>
	#pragma asm
		AND SC,#00111111b				; all interrupt enable
	#pragma endasm
	//flag clear
	g_intflg=0;
	//---------------------  Main Loop  ----------------------------------
	do {
		//<reset WDT>
		sfr_wchtmr1 |= 0x04;
		//<Halt>
		_halt();
		//<check K0x port input>
		set_reg();
		//<display clock data>
		err = disp_stringY8(0,0,(unsigned char *)p_clkdata);
	} while(1);
//    free((char*)p_clkdata);
}
//========================================================================
//====  display string (y8bit)  ==========================================
//========================================================================
unsigned char disp_stringY8(char x, char y, unsigned char *string) {
	unsigned char err = 0; 

	while ((*string != NULL) || err !=0) {
		err = disp_charY8(x,y,*string);
		string ++;
		x += AscSizeX;
	}

	return (err);

}
//========================================================================
//====  display character (y8bit)  =======================================
//========================================================================
unsigned char disp_charY8(char x, char y, unsigned char charac) {
	unsigned char *vram, *ascfont;
	unsigned char i = 0, err = 0; 

	charac -= AscCodeMin;

	if ((x <= AscPosiMaxX) && (y <= AscPosiMaxY) && (charac <= AscCodeMax)){
		vram = (unsigned char *)(VramStt + x + y * VramYstep);
		ascfont = (unsigned char *)(AsciiFontTbl + charac * AscFontStp);

		for (i=0 ; i < AscFontStp ; i++){
			*(vram++) = *(ascfont++);
		}
	}
	else {
		err = 1;
	}

	return (err);

}
//========================================================================
//====  <1Hz clock interrupt> clock  =====================================
//========================================================================
void _interrupt(0x22) rtclock (void) {
	char*	pdata;
	//------------------  reset interrupt flag  --------------------------
	sfr_intfnc1 = 1;

	//------------------  second increment  ------------------------------
    pdata=p_clkdata;
	if ((*(pdata+7)+=1) > 0x39) 
	{
		*(pdata+7) = 0x30;
		if ((*(pdata+6)+=1) > 0x35) 
		{
			*(pdata+6) = 0x30;
			if ((*(pdata+4)+=1) > 0x39) 
			{
				*(pdata+4)= 0x30;
				if ((*(pdata+3)+=1) > 0x35) 
				{
					*(pdata+3)= 0x30;
					if ((*(pdata+1)+=1) > 0x34) 
					{
						*(pdata+1) = 0x30;
						if ((*pdata+=1) > 0x32) 
						{
							*pdata = 0x30;
						}
					}
				}
			}
		}
	}
}
//========================================================================
//====  <Key input interrupt>        =====================================
//========================================================================
void _interrupt(0x0e) rtkeyscan(void)
{
	//------------------  reset interrupt flag  --------------------------
	sfr_intfnc2	=0x08;
	
	//------------------  K port read			--------------------------
	if((sfr_kd1 & 0x01)==0x00)				//k00 input
	{
		//--------------  timer start			--------------------------
		if((sfr_wchtmr1 & 0x01)==0x00)
			g_intflg|=0x01;					// flag set
	}
	if((sfr_kd1 & 0x02)==0x00)				// k01 input
	{
		//--------------  timer stop			--------------------------
		if((sfr_wchtmr1 & 0x01)==0x01)
			g_intflg|=0x02;					// flag set
	}
	if((sfr_kd1 & 0x04)==0x00)				// k02 input
	{
		//--------------  timer reset			--------------------------
		g_intflg|=0x04;						// flag set
	}
}
//========================================================================
//====  <regster set>		         =====================================
//========================================================================
void set_reg(void)
{
	unsigned char flag;
	flag=g_intflg;
	//--------------  timer start			--------------------------
	if((flag & 0x01)==0x01)
	{
		sfr_wchtmr1 |= 0x01;				// run clock timer
		sfr_intena1 |= 0x01;				// 1Hz interrupt enable
		g_intflg &= 0xfe;					// flag clear
	}
	//--------------  timer stop			--------------------------
	if((flag & 0x02)==0x02)
	{
		sfr_intena1 &= 0xfe;				// 1Hz interrupt enable
		sfr_wchtmr1 &= 0xfe;				// stop clock timer
		g_intflg &= 0xfd;					// flag clear
	}
	//--------------  timer reset			--------------------------
	if((flag & 0x04)==0x04)
	{
		strcpy( (char*)p_clkdata,"00:00:00");	// data clear
		sfr_wchtmr1 |= 0x02;				// reset clock timer
		g_intflg &= 0xfb;					// flag clear
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲青青青在线视频| 亚洲人快播电影网| 在线看不卡av| 韩国成人在线视频| 亚洲一区二区不卡免费| 国产视频911| 在线播放视频一区| 91美女片黄在线| 国产成人精品免费在线| 人禽交欧美网站| 亚洲人xxxx| 国产精品不卡在线| 一区二区在线观看不卡| 丁香一区二区三区| 偷窥国产亚洲免费视频| 国产精品亲子伦对白| 欧美不卡一区二区三区| 在线观看日韩高清av| 成人国产精品免费| 国产毛片精品视频| 蜜桃视频在线观看一区二区| 一级精品视频在线观看宜春院 | 亚洲成人综合在线| 亚洲欧洲精品一区二区三区| 久久久五月婷婷| 日韩女优毛片在线| 欧美三级在线播放| 91福利国产精品| 色噜噜狠狠色综合欧洲selulu| 成人午夜激情片| 色综合色综合色综合色综合色综合| 国产福利91精品| 久久综合九色综合97婷婷女人| 色先锋资源久久综合| 北岛玲一区二区三区四区| 国产精品主播直播| 国产精品一区在线观看你懂的| 精品一区二区免费在线观看| 日韩av中文字幕一区二区 | 蜜桃av一区二区在线观看| 亚洲成va人在线观看| 亚洲无线码一区二区三区| 一区二区理论电影在线观看| 一区二区三区在线免费播放| 亚洲色大成网站www久久九九| 成人欧美一区二区三区小说| 日韩美女啊v在线免费观看| 国产精品第四页| 夜夜揉揉日日人人青青一国产精品| 亚洲欧美另类久久久精品2019 | 国产麻豆视频一区二区| 欧美日韩在线直播| 欧美视频一区在线| 91精品国产色综合久久久蜜香臀| 欧美精品日日鲁夜夜添| 欧美成人欧美edvon| 国产亚洲成av人在线观看导航| 中文字幕第一区| 国产精品久久久久久久久快鸭| 日韩理论片在线| 亚洲二区在线观看| 精品午夜久久福利影院| 丁香激情综合国产| 色综合天天综合狠狠| 欧美日韩亚洲综合在线| 日韩一区二区免费视频| 久久久久国产精品人| 亚洲欧美乱综合| 日本女优在线视频一区二区| 国产精品88888| 91福利在线免费观看| 69精品人人人人| 国产午夜一区二区三区| 亚洲精品老司机| 日韩电影网1区2区| 国产成人免费9x9x人网站视频| 一本久道久久综合中文字幕| 6080亚洲精品一区二区| 国产精品天天看| 性做久久久久久免费观看欧美| 日韩一区二区免费在线观看| 久久久久久9999| 一区二区三区四区在线| 国产制服丝袜一区| 欧美中文字幕一二三区视频| 日韩欧美的一区| 亚洲人成网站影音先锋播放| 喷水一区二区三区| 99久久综合色| 91精品欧美福利在线观看| 国产欧美日本一区视频| 日本不卡123| 色哟哟日韩精品| 久久久久久久性| 午夜精品爽啪视频| 成人精品视频一区二区三区尤物| 欧美日本国产视频| 国产精品狼人久久影院观看方式| 日产国产欧美视频一区精品| 97精品国产97久久久久久久久久久久| 欧美一二三四在线| 亚洲狠狠丁香婷婷综合久久久| 国产在线观看免费一区| 4438x成人网最大色成网站| 亚洲精品日韩综合观看成人91| 国产原创一区二区三区| 欧美高清激情brazzers| 亚洲精品日日夜夜| av午夜一区麻豆| 精品1区2区在线观看| 亚洲国产aⅴ天堂久久| 成人动漫一区二区| 国产日产欧产精品推荐色| 免费成人av在线播放| 欧美性一区二区| 中文乱码免费一区二区| 国产一区二区精品久久91| 777午夜精品视频在线播放| 一区二区三区四区乱视频| 97se亚洲国产综合在线| 国产欧美日韩另类一区| 国产成人在线免费观看| 精品成人在线观看| 久久国产人妖系列| 日韩一区二区免费在线电影 | 成人av在线影院| 日韩欧美亚洲国产另类| 日本亚洲天堂网| 欧美一级日韩一级| 日韩不卡一区二区| 日韩精品在线看片z| 日韩二区三区在线观看| 欧美精品久久99久久在免费线| 图片区小说区区亚洲影院| 欧美日韩一级片在线观看| 亚洲国产成人高清精品| 欧美日韩国产综合久久 | 亚洲一区中文在线| 日本福利一区二区| 亚洲午夜免费视频| 欧美精品三级日韩久久| 麻豆91精品视频| 精品少妇一区二区三区| 国产毛片精品视频| 国产精品美女久久久久aⅴ| 国产成人啪午夜精品网站男同| 国产精品乱人伦中文| 91在线视频免费91| 亚洲综合在线第一页| 欧美日韩小视频| 美腿丝袜亚洲三区| 久久亚洲一区二区三区明星换脸 | 国产精品伦理在线| 91成人免费在线| 亚洲成人av电影在线| 欧美大片一区二区| 国产成人福利片| 亚洲激情在线激情| 欧美电影在线免费观看| 极品少妇xxxx偷拍精品少妇| 国产日韩欧美一区二区三区综合 | 91色|porny| 亚洲超碰97人人做人人爱| 日韩欧美成人激情| 粉嫩一区二区三区性色av| 亚洲图片你懂的| 日韩一级免费一区| 成人午夜电影网站| 亚洲va天堂va国产va久| 精品久久免费看| 色婷婷综合五月| 美女一区二区视频| 亚洲人成网站精品片在线观看| 777奇米四色成人影色区| 国产一区91精品张津瑜| 亚洲色图在线看| 欧美xxxx老人做受| 一本久道久久综合中文字幕 | 国产精品一区三区| 国产精品家庭影院| 欧美精品久久99久久在免费线 | 福利电影一区二区三区| 亚洲精品免费看| 精品国产一区久久| 色婷婷综合久久| 国内偷窥港台综合视频在线播放| 国产精品大尺度| 精品久久免费看| 欧美视频一区二区三区四区 | 亚洲品质自拍视频| 精品国产a毛片| 精品视频色一区| 高清在线观看日韩| 美腿丝袜亚洲三区| 亚洲精品伦理在线| 国产喷白浆一区二区三区| 欧美喷潮久久久xxxxx| 91色在线porny| 国产经典欧美精品| 蜜桃视频在线观看一区|