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

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

?? yuanma.c

?? 鍵盤開發源碼
?? C
字號:
//===================================================================================
//                             基于單片機的DDS頻率綜合器
//                               
//===================================================================================

#include <AT89X52.h>

#define LCM_RW P3_0 //定義LCD引腳
#define LCM_RS P3_1
#define LCM_E P3_2
#define LCM_Data P0


#define Key_Data P3_4 //定義Keyboard引腳
#define Key_CLK P3_3
#define DDS_Word P1   //定義DDS控制字接口
#define RESET_9851 P2_2
#define W_CLK P2_1
#define FQ_UD P2_0
#define predefine 131   //2^32除以DDS晶振頻率(32.768MHz)

void LCMInit(void);
void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData);
void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData);
void Delay5Ms(void);
void Delay400Ms(void);
void Decode(unsigned char ScanCode);
void WriteDataLCM(unsigned char WDLCM);
void WriteCommandLCM(unsigned char WCLCM);

void UpdateData(void);
void UpdateScale(void);
void UpdateLCM(void);
void UpdateDDS(void);

unsigned char code num[] = {"0123456789"};
unsigned char disp_freq[16];

static unsigned char IntNum = 0; //中斷次數計數
static unsigned char KeyV; //鍵值
static unsigned char BF=0; //標識是否有字符被收到
static unsigned long freq=0;
static unsigned long word=0;

int i;

/*----------------------------------主程序-------------------------------*/

void main()
{

	Delay400Ms(); //啟動等待,等LCM講入工作狀態
	LCMInit(); //LCM初始化
	LCMInit();
	LCMInit();
	DisplayListChar(0,0,"Xiang Fei");
	 
	Delay5Ms(); //延時

	// InitDDS();    //向DDS送入初設值

	IT1 = 0; //設外部中斷1為低電平觸發
	EA = 1;
	EX1 = 1; //開中斷
	i=0;

	while(1)
	{
		do
		{
			if (BF)
			{
				if (i==0)
				{
					WriteCommandLCM(0x01); //清屏
					break;
				}
				else break;
			}
		}while(1);
		EA=0;
	    UpdateData();
		if ((KeyV==0x42) || (KeyV==0x3A) || (KeyV==0x5A))    //按下"K","M","Enter"更新頻率
		{
			UpdateScale();
			word=predefine*freq;   //計算頻率控制字
			UpdateDDS();             //更新DDS function to be completed
		    freq=0;     //清空數據緩沖區
			i=0;
		}
		else
		{
			i++;
   			UpdateLCM();      //更新LCD顯示
		}
		BF=0;       //按鍵標志歸零 
		EA=1;       //重新開中斷
	}
}


/*---------------------------------函數-----------------------------------*/

//寫數據
void WriteDataLCM(unsigned char WDLCM) 
{
	LCM_Data = WDLCM;
	LCM_RS = 1;
	LCM_RW = 0;
	LCM_E = 0; //若晶振速度太高可以在這后加小的延時
	Delay5Ms();
	LCM_E = 0; //延時
	LCM_E = 1;
}

//寫指令
void WriteCommandLCM(unsigned char WCLCM)
{
	LCM_Data = WCLCM;
	LCM_RS = 0;
	LCM_RW = 0; 
	LCM_E = 0;
	Delay5Ms();
	LCM_E = 0;
	LCM_E = 1; 
}

void LCMInit(void) //LCM初始化
{
	LCM_Data=0;
	WriteCommandLCM(0x38); //三次顯示模式設置,不檢測忙信號
	Delay5Ms(); 
	WriteCommandLCM(0x38);
	Delay5Ms(); 
	WriteCommandLCM(0x38);
	Delay5Ms(); 

	WriteCommandLCM(0x38); //顯示模式設置,開始要求每次檢測忙信號
	Delay5Ms();
	WriteCommandLCM(0x08); //關閉顯示
	Delay5Ms();
	WriteCommandLCM(0x01); //顯示清屏 
	Delay5Ms();
	WriteCommandLCM(0x06); // 顯示光標移動設置
	Delay5Ms();
	WriteCommandLCM(0x0C); // 顯示開及光標設置
	Delay5Ms();
}

//按指定位置顯示一個字符
void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData)
{
	Y&=0x1;
	X&=0xF; //限制X不能大于15,Y不能大于1
	if (Y) X|=0x40; //當要顯示第二行時地址碼+0x40;
	X|=0x80; //算出指令碼
	WriteCommandLCM(X); //發命令字
	WriteDataLCM(DData); //發數據
}

void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData)
{
	unsigned char ListLength;

	ListLength = 0;
	Y &= 0x1;
	X &= 0xF; //限制X不能大于15,Y不能大于1
	while (DData[ListLength]>0x19) //若到達字串尾則退出
	{
		if (X <= 0xF) //X坐標應小于0xF
		{
			DisplayOneChar(X, Y, DData[ListLength]); //顯示單個字符
			ListLength++;
			X++;
		}
	}
}

//5ms延時
void Delay5Ms(void)
{
	unsigned int TempCyc = 5552;

	while(TempCyc--);
}

//400ms延時
void Delay400Ms(void)
{
	unsigned char TempCycA = 5;
	unsigned int TempCycB;

	while(TempCycA--)
	{
		TempCycB=7269;
		while(TempCycB--);
	}
}


void Keyboard_out(void) interrupt 2
{
	if ((IntNum > 0) && (IntNum < 9))
	{ 
		KeyV = KeyV >> 1; //因鍵盤數據是低>>高,結合上一句所以右移一位
		if (Key_Data) KeyV = KeyV | 0x80; //當鍵盤數據線為1時為1到最高位
	}
	IntNum++;
	while (!Key_CLK); //等待PS/2CLK拉高

	if (IntNum > 10)
	{
		IntNum = 0; //當中斷11次后表示一幀數據收完,清變量準備下一次接收
		BF = 1; //標識有字符輸入完了
		EA = 0; //關中斷等顯示完后再開中斷
	}
}

void UpdateData(void)
{
	switch (KeyV)
	{
		case 0x45:   // 按下"0"
		freq=freq*10+0;
		disp_freq[i]='0';
		break;
		case 0x16:   // 按下"1"
		freq=freq*10+1;
		disp_freq[i]='1';
		break;
		case 0x1E:   // 按下"2"
		freq=freq*10+2;
		disp_freq[i]='2';
		break;
		case 0x26:   // 按下"3"
		freq=freq*10+3;
		disp_freq[i]='3';
		break;
		case 0x25:   // 按下"4"
		freq=freq*10+4;
		disp_freq[i]='4';
		break;
		case 0x2E:   // 按下"5"
		freq=freq*10+5;
		disp_freq[i]='5';
		break;
		case 0x36:   // 按下"6"
		freq=freq*10+6;
		disp_freq[i]='6';
		break;
		case 0x3D:   // 按下"7"
		freq=freq*10+7;
		disp_freq[i]='7';
		break;
		case 0x3E:   // 按下"8"
		freq=freq*10+8;
		disp_freq[i]='8';
		break;
		case 0x46:   // 按下"9"
		freq=freq*10+9;
		disp_freq[i]='9';
		break;
		case 0x42:   // 按下"K"
		freq=freq*1000;
		break;
		case 0x3A:   // 按下"M"
		freq=freq*1000000;
		break;
	}
}

void UpdateScale(void)
{
	DisplayOneChar(14,0,'H');
	DisplayOneChar(15,0,'z');

	switch (KeyV)
	{
		case 0x42:
		DisplayOneChar(13,0,'K');
		break;
		case 0x3A:
		DisplayOneChar(13,0,'M');
		break;
		case 0x5A:
		break;
	}
}

void UpdateLCM(void)
{
	int j;

	for(j=0;j<i;j++)
	{
		DisplayOneChar(16-i+j,1,disp_freq[j]);
	}
}

void UpdateDDS(void)
{
	int j;
    unsigned char CON[5];

	RESET_9851=0;
	RESET_9851=1;
	RESET_9851=0;

	FQ_UD=0;
	CON[0]=0x00;
	for(j=4;j>0;j--)
	{
		CON[j]=word;
		word=word>>8;
	}
	for(j=0;j<5;j++)
	{
		W_CLK=0;
		DDS_Word=CON[j];
		W_CLK=1;
	}
	FQ_UD=1;
}
	

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久亚洲高清| 91欧美激情一区二区三区成人| 精品久久一区二区三区| 国产99精品国产| 奇米亚洲午夜久久精品| 欧美一区二区三区日韩| 国产河南妇女毛片精品久久久| 国产精品久久久久一区二区三区共| av激情成人网| 国产真实乱子伦精品视频| 午夜精品国产更新| 亚洲一区二区三区四区不卡 | 日韩精品一区二区三区在线| 91色婷婷久久久久合中文| 国产成人日日夜夜| 蜜桃久久精品一区二区| 日韩成人一区二区| 亚洲国产色一区| 亚洲国产一区二区在线播放| 亚洲欧美偷拍另类a∨色屁股| 久久精品一级爱片| 日韩精品中文字幕一区二区三区| 欧美色精品天天在线观看视频| 9i看片成人免费高清| 成人免费视频播放| 国产精品一二三| 国产精品中文字幕欧美| 国产乱码精品一区二区三区五月婷 | 日本不卡一二三| 日本怡春院一区二区| 午夜精品久久久久久久蜜桃app| 亚洲婷婷综合色高清在线| 亚洲欧美另类久久久精品2019| 亚洲欧美综合网| 亚洲三级在线观看| 欧美国产一区在线| 日本精品视频一区二区三区| 国产成人综合在线播放| 久88久久88久久久| 九九热在线视频观看这里只有精品| 亚洲国产aⅴ天堂久久| 日本欧美韩国一区三区| 麻豆国产精品官网| 国产麻豆成人精品| 91视频在线观看免费| 欧美日精品一区视频| 69成人精品免费视频| 日韩午夜电影av| 国产精品视频一区二区三区不卡| 亚洲视频狠狠干| 亚洲精品乱码久久久久久黑人| 亚洲综合在线免费观看| 亚洲激情成人在线| 韩国精品一区二区| 97超碰欧美中文字幕| 欧美丝袜丝nylons| 欧美大片日本大片免费观看| 中文字幕一区二区在线播放| 亚洲一区二区欧美| 国产激情91久久精品导航| 91国偷自产一区二区三区观看| 91精品国产全国免费观看| 国产日韩欧美一区二区三区乱码 | 欧美午夜片在线观看| 91精品国产一区二区人妖| 国产亚洲欧洲一区高清在线观看| 亚洲精品ww久久久久久p站| 免费人成精品欧美精品| av爱爱亚洲一区| 欧美大尺度电影在线| 亚洲欧美偷拍三级| 国产精品99久久久久久似苏梦涵| 91久久线看在观草草青青| 欧美一级夜夜爽| 亚洲黄色av一区| 国产成人精品www牛牛影视| 欧美久久一二三四区| 欧美韩国日本一区| 免费在线观看一区| 欧美色视频一区| 亚洲欧洲精品一区二区精品久久久| 国产精品国产精品国产专区不蜜| 麻豆91在线看| 色婷婷精品久久二区二区蜜臀av| 精品久久久久久无| 亚洲图片欧美色图| 国产伦精品一区二区三区免费迷 | 国模少妇一区二区三区| 色综合久久88色综合天天6| 国产亚洲精品超碰| 国产精品一区免费视频| 精品福利在线导航| 久久亚洲精品小早川怜子| 久久99深爱久久99精品| 国产精品亲子乱子伦xxxx裸| 欧美视频在线一区二区三区 | 国产成人免费视频一区| 亚洲精品国产视频| 26uuu色噜噜精品一区| 色婷婷综合五月| 精品一区二区在线免费观看| 亚洲色图清纯唯美| 精品日韩一区二区三区| 欧美性淫爽ww久久久久无| 国产精品一区一区三区| 亚洲伊人色欲综合网| 国产日韩欧美麻豆| 日韩色视频在线观看| 91片在线免费观看| 国产一区视频网站| 日韩精品一卡二卡三卡四卡无卡| 欧美激情综合五月色丁香小说| 678五月天丁香亚洲综合网| 北岛玲一区二区三区四区| 男男视频亚洲欧美| 午夜精品在线看| 亚洲女爱视频在线| 国产日产欧美一区| 91久久奴性调教| 成人99免费视频| 精品一区二区三区在线观看国产| 一级精品视频在线观看宜春院| 日韩午夜激情av| 精品视频999| 在线日韩av片| 色综合一个色综合| 国产91富婆露脸刺激对白| 狠狠v欧美v日韩v亚洲ⅴ| 日韩精品成人一区二区三区| 亚洲精品一二三区| 亚洲色图清纯唯美| 亚洲激情一二三区| 亚洲女女做受ⅹxx高潮| 国产精品成人一区二区艾草| 国产亚洲欧美一级| 久久久精品国产免大香伊| 日韩精品一区在线| 日韩精品一区二区三区swag| 欧美日韩国产一区二区三区地区| 91久久精品网| 91久久线看在观草草青青| 色狠狠色狠狠综合| 日本丶国产丶欧美色综合| 在线观看国产精品网站| 欧美亚洲禁片免费| 欧美在线观看一区二区| 色88888久久久久久影院野外| av色综合久久天堂av综合| 国产福利一区二区三区在线视频| 久久精品国产亚洲a| 久久激情五月激情| 国产成人亚洲综合a∨婷婷图片| 国产麻豆视频一区| 国产69精品一区二区亚洲孕妇| 成人天堂资源www在线| 91网址在线看| 欧美体内she精高潮| 欧美一级视频精品观看| 欧美精品一区二区三区很污很色的| 欧美xxx久久| 国产日韩一级二级三级| 最新日韩在线视频| 性做久久久久久久免费看| 麻豆成人免费电影| 国产福利一区二区三区| 国产91丝袜在线播放0| 色噜噜狠狠色综合欧洲selulu| 在线不卡免费欧美| 日韩一级黄色大片| 久久久精品欧美丰满| 国产精品久久久久一区二区三区| 亚洲一二三四区不卡| 久久国产精品色婷婷| 成人午夜在线免费| 欧美三级午夜理伦三级中视频| 精品久久久久久久久久久久包黑料 | 日韩精品一区二区在线观看| 国产欧美中文在线| 亚洲一二三四在线| 国产一区二区三区不卡在线观看 | 欧美日免费三级在线| 日韩一区二区麻豆国产| 欧美亚州韩日在线看免费版国语版 | caoporn国产精品| 日韩欧美精品三级| 亚洲电影你懂得| 一本一本久久a久久精品综合麻豆| 久久婷婷成人综合色| 天天影视涩香欲综合网| 99精品视频一区二区| 欧美—级在线免费片| 国产一区二区三区香蕉| 日韩一区二区三区av| 亚洲高清免费观看高清完整版在线观看| 成人精品国产福利| 日本一区二区三区久久久久久久久不 | 欧美日韩三级在线| 国产精品精品国产色婷婷| 国产jizzjizz一区二区| 国产日韩精品视频一区|