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

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

?? d51_new.c.bak

?? 基于ARM編的9850,可以實現多種波形的輸出與變換
?? BAK
字號:
/*------------------------------------------------------------------------------
D51_new.C  

Copyright 1995-1999 Keil Software, Inc.
------------------------------------------------------------------------------*/
//#include <AT89S8252.H>            /* define AT89C51 registers */
//#include <AT89X51.H>            /* define AT89C51 registers */
#include <w77e58.H>            /* define w77e58 registers */
#include "ABSACC.H"
#include "D51_new.h"




void keyboard_int() interrupt IE0_VECTOR{		/* Keyboard Interrup*/
	uchar	s,key;
	s=STATUS8279;
	if(s & 0x0f){
		CTRL8279=0x40;
		key=DATA8279;
		s=((key & 0x18)>>1) | (key & 0x03);
		keyChar=KeyTab[s]; 
		keyNum=1;
	}
}

void timer0_int() interrupt TF0_VECTOR {
	EA=0;
	THG0++;
	LED_status=1;
	EA=1;
}

/*  Delay x ms	MAX 255ms for 11.0592MHz 8051CPU */
void delay(uchar ms){
	uchar i,j,k;
	for(i=0;i<ms;i++){
		for(j=0;j<4;j++){
			for(k=0;k<115;k++){}
		}
	}
}
void timer1_int() interrupt TF1_VECTOR {
	EA=0;
	THG=THG0;
	THGL=TH0*256+TL0;
	THG0=0;
	TH0=0;
	TL0=0;
	TH1=-NumberC/256;
	TL1=-NumberC%256;
	TSET=1;
	EA=1;
}
void clearDispBuf(void) {
	int i;
	for(i=0;i<DISP_BUF_SIZE;i++){
		DispBuf[i]=LedTab[22];
	}
}
void Display(void)
{
	int	i;
	for(i=0;i<8;i++){
		CTRL8279=0x90+i;	
		DATA8279=DispBuf[i];
		}
}
void DispHELLO(void) {
	int i;
	for(i=0;i<DISP_BUF_SIZE;i++){
		DispBuf[i]=LedTab[HELLO[i]];
	}
	Display();
}
void loadDispBuf(uchar *p) {
	int i;
	for(i=0;i<DISP_BUF_SIZE;i++){
		DispBuf[i]=LedTab[*(p+i)];
	}
}
void DisplayChar(char c)
{
		DATA8279=c;
}
void DisplayLED(void)
{
	unsigned i;
	i=LED_DATA;
	i<<=8;
	i|=LED_DATA;
	i>>=7;
	LED_DATA=(unsigned char)(i&0xff);
}
void encode(unsigned int adr) {
	int i;
	unsigned int adr1;
	uchar c;
	adr1=adr;
	for(i=0;i<8;i++){
		if(adr==0x8000){
			DispBuf[i]=LedTab[OKLedChar[i]];
		}
		else{
			c=adr1&0x0f;
			adr1>>=4;
			if(i>3)c=ERRT[7-i];
			DispBuf[7-i]=LedTab[c];
		}
	}
	
}
void encode1(void) {//12345678
	unsigned char i;
	for(i=0;i<8;i++){
		DispBuf[i]=LedTab[i+1];
	}
	
}
void encode2(void) {//87654321
	unsigned char i;
	for(i=0;i<8;i++){
		DispBuf[i]=LedTab[8-i];
	}
	
}
void encode3(void) {//F3
	clearDispBuf();
	DispBuf[0]=LedTab[15];
	DispBuf[1]=LedTab[3];
}
void encode4(void) {//F4
	clearDispBuf();
	DispBuf[0]=LedTab[15];
	DispBuf[1]=LedTab[4];
	
}
void encode5(unsigned char c) {
	unsigned char i;
	for(i=0;i<7;i++){
		DispBuf[i]=DispBuf[i+1];
	}
	DispBuf[7]=LedTab[c-0x30];
	
}
void encode6(unsigned long freq) {
	unsigned char i,c[8],j;
	unsigned long f;
	f=freq>>10;//f=freq/1024
	
	for(i=0;i<8;i++){
		c[i]=0;
	}
	while(f>=1000000){
		f-=1000000;
		c[1]++;
	}
	while(f>=100000){
		f-=100000;
		c[2]++;
	}
	while(f>=10000){
		f-=10000;
		c[3]++;
	}
	while(f>=1000){
		f-=1000;
		c[4]++;
	}
	while(f>=100){
		f-=100;
		c[5]++;
	}
	while(f>=10){
		f-=10;
		c[6]++;
	}
	c[7]+=f;
	j=0;
	for(i=0;i<8;i++){
		if((c[i]==0)&&(j==0))
			DispBuf[i]=LedTab[22];
		else{
			j=1;
			DispBuf[i]=LedTab[c[i]];
		}
	}	
	
}
void clearDisplay(void) {
	CTRL8279=0xd1;					/* clear RAM  */
	while (STATUS8279 & 0x80)			/* wait till RAM is clear */
	{
	}
}
void init8279(void) {
	clearDisplay();
	CTRL8279=0x20 | 20;				/* 11.0592MHz/6/20=92.16kHz  8279 clock */
	CTRL8279=(0x10<<3) | 0 ;		/* 8x8字符顯示, 右入; 編碼掃描鍵盤,雙鍵鎖定  */
//	InitDisplay();
	keyNum=0;

}
//;******** RAM自檢子程序*************
unsigned int chkram(void) {  /* RAM Chack */
	unsigned int adr;
	uchar c,r;
	for(adr=0;adr<0x8000;adr++){
		c=0xaa;
		XBYTE[adr]=c;
		r=XBYTE[adr];
		if(r!=c)return adr;
		c=0x55;
		XBYTE[adr]=c;
		r=XBYTE[adr];
		if(r!=c)return adr;
	}
	return adr;
}
void delay_dds(void)
{
	uchar i,j;
	for(i=0;i<1;i++){
		j=i;
	}
}
void init_dds(void)
{
	uchar i;
		WCLK_pin=0;
		FQ_UD_pin=0;
	delay_dds();
	delay_dds();
		WCLK_pin=1;
	delay_dds();
		WCLK_pin=0;
	delay_dds();
		FQ_UD_pin=1;
	delay_dds();
		FQ_UD_pin=0;
	delay_dds();

	for(i=0;i<8;i++){

		DATA_pin=0;
			
		delay_dds();
			WCLK_pin=1;
		delay_dds();
			WCLK_pin=0;
	}
	delay_dds();
		FQ_UD_pin=1;
	delay_dds();
		FQ_UD_pin=0;

}
void update_freq(unsigned long f,uchar c)
{
	uchar i,cs;
	unsigned long freq_temp;
	freq_temp=f;
	cs=c;
	for(i=0;i<32;i++){
		if(freq_temp & 1)
			DATA_pin=1;
		else
			DATA_pin=0;
			
	delay_dds();
		WCLK_pin=1;
	delay_dds();
		WCLK_pin=0;
		freq_temp>>=1;
		
	}
	for(i=0;i<8;i++){
		if(cs & 1)
			DATA_pin=1;
		else
			DATA_pin=0;
			
	delay_dds();
		WCLK_pin=1;
	delay_dds();
		WCLK_pin=0;
		cs>>=1;
	}
	delay_dds();
		FQ_UD_pin=1;
	delay_dds();
		FQ_UD_pin=0;

}
void main (void){  /* main program */
	unsigned int adr;
	unsigned long freq,dfreq,temp_f;
	uchar ctrl1;
//	int temp,i;
	uchar	status;
//	char	out_char[5];
	EA=0;			 /* 0=Disable all interrupts */
	P1=0xff;
 	LED_DATA=0xff;	//off all LEDs
 	freq=1000<<10;
 	dfreq=1000<<10;
 	temp_f=0;
 	ctrl1=0x00;
 	DATA_pin=0;
 	WCLK_pin=0;
 	FQ_UD_pin=0;
 	
	delay(10);
  	init8279();
//	clearDispBuf();
	DispHELLO();
	adr=chkram();
	encode(adr);
	Display();
//	adr=chkram();
	status=0;
//	NumberC=defaultN;
	EA=1;
	EX0=1;
	EX1=0;
	ES=0;
	ET0=0;
	ET1=0;
	TMOD=C_T1 |	M0_1 | 	M0_0; 		//0x51;			/* timer1 16位計數器   timer0 16位定時器    */
	TH1=-NumberC/256;
	TL1=-NumberC%256;				/* timer1 計數  NumberC 中斷    timer0定時   */
	TH0=0;
	TL0=0;
	THG0=0;
	TSET=0;
	ET0=1;
	ET1=1;
	TR0=1;
	TR1=1;
	init_dds();		
	delay(10);
	LED_DATA=0xfc;		//on 2 LEDs
 /*	for(;;){		//test delay();
		delay(10);
		P1_0=0;
		delay(10);
		P1_0=1;
	}*/
	update_freq(freq,ctrl1);
 	status=0;
 //	while (1)  {                                 /* repeat forever */
 //		}
 	while (1)  {                                 /* repeat forever */
  		if(LED_status==1){
  			LED_status=0;
			DisplayLED();
  			}
			
		
		if(keyNum==1){
			
			switch(keyChar)
			{
				case	'A'	:     /*  F1  */
					freq=temp_f<<10;
					update_freq(freq,ctrl1);
					temp_f=0;
					clearDispBuf();
					encode6(freq);
					Display();
					status=0;
					break; 
				case	'B'	:      /*  F2  */
					dfreq=temp_f<<10;
					temp_f=0;
					clearDispBuf();
					encode6(dfreq);
					Display();
					status=0;
					break;
				case	'C'	:      /*  F3  */
 					freq+=dfreq;
					update_freq(freq,ctrl1);
					clearDispBuf();
					encode6(freq);
					Display();				/* */
					status=0;
					break;
				case	'D'	:      /*  F4  */
 					freq-=dfreq;
					update_freq(freq,ctrl1);
					clearDispBuf();
					encode6(freq);
					Display();				/* */
					status=1;
					break;
				case	'1'	: 
				case	'2'	: 
				case	'3'	: 
				case	'4'	: 
				case	'5'	: 
				case	'6'	: 
				case	'7'	: 
				case	'8'	: 
				case	'9'	: 
				case	'0'	: 
/*					if((key_num==0) && ((status & 0x80)!=0)){
						clearDispBuf();
						Display();
						key_num=0;
					}
					if((status & 0x80)!=0){
						if(key_num<5){
							DisplayChar(LedTab[keyChar-0x30]);
							out_char[key_num]=keyChar;
							key_num++;
						}
					}*/
					temp_f=10*temp_f;
					temp_f+=keyChar&0x0f;
					encode5(keyChar);
					Display();				/* */
					status=0;
					break;



				case	'*'	: 
					temp_f=0;
					clearDispBuf();
					Display();
					break;
				case	'#'	: 
					encode6(freq);
					Display();				/* */
					status=0;
/*					if(status==1){
						adr=chkram();
						encode(adr);
						Display();
						status=0;
					}
					else{
						encode5(keyChar);
						DispBuf[7]=LedTab[keyChar-'#'+16];	//#(0x23) --> 16 P  *(0x2a) --> 23 -
						Display();				
					} */
					break;
				default	:
					;
			}
			keyNum=0;
		}
	}            /* loop forever */
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品日产第一区二区三区高清版 | 国产精品久久久久影院色老大| 99久久精品国产导航| 日本不卡视频在线| 欧美国产一区视频在线观看| 欧美蜜桃一区二区三区| 成人综合婷婷国产精品久久免费| 一区二区高清在线| 国产欧美日韩综合精品一区二区| 欧美日韩高清一区| 99久久国产免费看| 国产专区综合网| 石原莉奈在线亚洲二区| 日韩美女视频一区| xf在线a精品一区二区视频网站| 欧亚洲嫩模精品一区三区| 国产成人在线影院 | 亚洲伦理在线精品| 久久综合色一综合色88| 欧美精品久久一区| 日本精品裸体写真集在线观看| 成人一区二区在线观看| 国产综合色视频| 麻豆成人av在线| 日韩经典中文字幕一区| 亚洲一区二区偷拍精品| 亚洲人成网站色在线观看| 日本一区二区视频在线| 国产午夜亚洲精品羞羞网站| 欧美成人性战久久| 欧美一区二区三区四区高清| 777亚洲妇女| 欧美国产日产图区| 精品少妇一区二区| 日韩视频免费观看高清完整版 | 亚洲精品一区二区三区香蕉| 91精品国产综合久久久久久| 欧美日韩精品福利| 在线观看亚洲成人| 欧美在线观看视频在线| 色婷婷国产精品久久包臀| 色综合网站在线| 色噜噜狠狠成人中文综合| 色欧美乱欧美15图片| 91成人免费在线视频| 色久优优欧美色久优优| 91色在线porny| 色999日韩国产欧美一区二区| 一本久道中文字幕精品亚洲嫩| 91影院在线免费观看| 色先锋资源久久综合| 欧美网站一区二区| 欧美精品乱人伦久久久久久| 欧美一区二区三区精品| 日韩免费观看高清完整版 | 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 在线免费精品视频| 欧美色视频在线观看| 欧美一区国产二区| 精品国产成人在线影院| 日本一区二区三区电影| 亚洲卡通欧美制服中文| 天天亚洲美女在线视频| 在线观看免费一区| 制服丝袜日韩国产| 久久久五月婷婷| 日韩久久一区二区| 日韩激情一区二区| 国产一区二区三区精品视频| 99久久婷婷国产综合精品电影| 欧美日韩在线观看一区二区| 日韩欧美不卡在线观看视频| 国产精品色眯眯| 亚洲国产精品一区二区久久 | 精品一区二区在线看| 国产ts人妖一区二区| 91国在线观看| 日韩亚洲欧美在线| 国产精品免费久久久久| 一区二区三区在线视频观看| 麻豆精品久久精品色综合| 国产成人免费视频网站高清观看视频 | 国产成人免费xxxxxxxx| 日本韩国精品在线| 欧美大片在线观看| **欧美大码日韩| 日本不卡一二三| 91亚洲国产成人精品一区二三 | 国产乱国产乱300精品| 久久综合色婷婷| 亚洲欧洲美洲综合色网| 琪琪一区二区三区| 成人av一区二区三区| 91精品国产色综合久久不卡蜜臀| 国产日产欧美精品一区二区三区| 亚洲午夜久久久久久久久久久| 国产福利一区二区三区视频在线| 在线观看国产日韩| 久久久www成人免费毛片麻豆 | 精品无人区卡一卡二卡三乱码免费卡| 成人午夜大片免费观看| 337p亚洲精品色噜噜噜| 国产精品国产三级国产aⅴ中文| 午夜婷婷国产麻豆精品| 99精品视频在线免费观看| 欧美成人官网二区| 亚洲韩国一区二区三区| 99久久伊人精品| 久久影音资源网| 日韩国产欧美三级| 一本大道久久a久久综合| 国产天堂亚洲国产碰碰| 男女性色大片免费观看一区二区 | 麻豆国产精品视频| 欧美性做爰猛烈叫床潮| 国产精品久久久一本精品 | 精品福利在线导航| 日本视频中文字幕一区二区三区| 99精品视频一区二区三区| 久久久99精品久久| 美女精品自拍一二三四| 在线播放日韩导航| 亚洲影视资源网| 色综合色综合色综合| 国产精品麻豆欧美日韩ww| 国产精品一区二区无线| 日韩欧美亚洲国产另类| 石原莉奈在线亚洲三区| 欧美喷潮久久久xxxxx| 一区二区三区免费| 色乱码一区二区三区88| 亚洲色图都市小说| 99精品偷自拍| 亚洲麻豆国产自偷在线| 色综合久久88色综合天天6| 亚洲猫色日本管| 在线视频一区二区三| 一区二区三国产精华液| 色婷婷av一区二区三区gif| 国产在线观看一区二区| 久久久久九九视频| 国产一区福利在线| 国产亚洲福利社区一区| 高清视频一区二区| 国产精品五月天| 风流少妇一区二区| 国产精品国产精品国产专区不蜜| aaa亚洲精品| 亚洲免费观看在线观看| 欧美午夜影院一区| 视频一区免费在线观看| 日韩欧美的一区| 国产成人免费9x9x人网站视频| 日本一区二区三区四区| 99在线热播精品免费| 亚洲你懂的在线视频| 欧美三区在线视频| 日韩激情av在线| 2024国产精品| 成人永久aaa| 亚洲国产一二三| 91精品国产综合久久久久久久久久 | 亚洲欧美一区二区不卡| 欧美在线免费视屏| 久久精品噜噜噜成人av农村| 久久夜色精品一区| 成人av电影在线播放| 亚洲综合成人在线| 欧美一级一级性生活免费录像| 看片网站欧美日韩| 国产清纯在线一区二区www| 色综合天天视频在线观看| 日韩成人精品在线观看| 国产婷婷色一区二区三区在线| 在线观看精品一区| 精品一区二区三区免费| 亚洲色图欧美偷拍| 欧美电影一区二区| 国产精品77777竹菊影视小说| 亚洲精品欧美综合四区| 亚洲一区二区影院| 精品久久人人做人人爽| 91影视在线播放| 美女看a上一区| 亚洲乱码日产精品bd| 2024国产精品视频| 欧美色综合天天久久综合精品| 九一九一国产精品| 自拍偷拍国产亚洲| 精品国产乱码91久久久久久网站| 色国产综合视频| 国产91在线|亚洲| 日韩电影免费在线观看网站| 亚洲天堂成人在线观看| 欧美电影免费提供在线观看| 在线观看视频一区二区欧美日韩| 国产成人综合自拍| 久久国产精品一区二区| 亚洲一卡二卡三卡四卡无卡久久 | 99精品国产视频|