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

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

?? zlg7289.h

?? 周立功7289在cortex stm32上的一直
?? H
字號:
/*
程序名稱:
	數碼管顯示與鍵盤管理芯片ZLG7289的標準80C51驅動程序(C51)
文件名:
	ZLG7289.h
作者:
	廣州周立功單片機發展有限公司 王大星,2005年6月
說明:
	本程序已經調試通過
	程序的可移植性很好,僅做少量修改就可以直接包含使用
	程序占用資源少,僅使用4根必須I/O口線,不占用定時器等其它資源
	所有全局性的標識符都以ZLG7289_開頭,不必擔心命名沖突問題
	程序結構清晰,思路明確,結合ZLG7289的數據手冊很容易理解
用法:
	1、重新定義I/O接口
	2、如果CPU的主頻比較高,則要適當調整延時,詳見ZLG7289_Delay()函數
	3、在用戶程序中包含本頭文件
	4、在main()函數的開始處添加初始化函數ZLG7289_Init()
	5、以后在程序中可以直接使用ZLG7289的用戶指令集
	6、讀取鍵盤掃描碼使用函數ZLG7289_Key(),查詢方式、中斷方式皆可
用戶指令集匯總:
	復位指令:void ZLG7289_Reset();
	測試指令:void ZLG7289_Test();
	左移指令:void ZLG7289_SHL();
	右移指令:void ZLG7289_SHR();
	循環左移:void ZLG7289_ROL();
	循環右移:void ZLG7289_ROR();
	下載數據:void ZLG7289_Download(char mod,char addr,bit dp,char dat);
	閃爍控制:void ZLG7289_Flash(char dat);
	消隱控制:void ZLG7289_Hide(char dat);
	段點亮控制:void ZLG7289_SegOn(char dat);
	段關閉控制:void ZLG7289_SegOff(char dat);
	讀鍵盤數據指令:char ZLG7289_Key();
*/


#ifndef _ZLG7289_H_
#define _ZLG7289_H_


#include <reg52.h>
#include <intrins.h>


//定義I/O接口
sbit ZLG7289_pinCS	= P1^0;		//片選信號,低電平有效
sbit ZLG7289_pinCLK	= P1^1;		//時鐘信號:上升沿有效
sbit ZLG7289_pinDIO	= P1^2;		//數據信號:雙向
sbit ZLG7289_pinKEY = P3^2;		//鍵盤中斷請求信號,低電平有效


/*
功能:專用的延時函數,延時幾微秒到幾百微秒
參數:
	t:決定延時長短
說明:
	本程序在12MHz主頻的標準80C51上調試通過。
	如果實際的CPU速度較快,則要適當增加_nop_()語句的個數;
*/
static void ZLG7289_Delay(unsigned char t) reentrant
{
	do
	{
		_nop_();
	}while ( --t );
}


/*
功能:通過SPI總線寫一個字節
參數:
	dat:要發送的數據
*/
static void ZLG7289_SPI_Write(char dat) reentrant
{
	unsigned char t;
	t = 8;
	do
	{
		ZLG7289_pinDIO = (bit)(dat & 0x80);
		dat <<= 1;
		ZLG7289_pinCLK = 1;
		ZLG7289_Delay(8);
		ZLG7289_pinCLK = 0;
		ZLG7289_Delay(6);
	} while ( --t );
}


/*
功能:通過SPI總線讀一個字節
*/
static char ZLG7289_SPI_Read() reentrant
{
	char dat;
	unsigned char t;
	ZLG7289_pinDIO = 1;
	t = 8;
	do
	{
		ZLG7289_pinCLK = 1;
		ZLG7289_Delay(8);
		dat <<= 1;
		if ( ZLG7289_pinDIO ) dat++;
		ZLG7289_pinCLK = 0;
		ZLG7289_Delay(7);
	} while ( --t );
	return dat;
}


/*
功能:執行ZLG7289純指令
參數:
	cmd:命令字
*/
static void ZLG7289_cmd(char cmd)
{
	ZLG7289_pinCS = 0;
	ZLG7289_Delay(50);
	ZLG7289_SPI_Write(cmd);
	ZLG7289_pinCS = 1;
	ZLG7289_Delay(10);
}


/*
功能:執行ZLG7289帶數據指令
參數:
	cmd:命令字
	dat:數據
*/
static void ZLG7289_cmd_dat(char cmd, char dat)
{
	ZLG7289_pinCS = 0;
	ZLG7289_Delay(50);
	ZLG7289_SPI_Write(cmd);
	ZLG7289_Delay(25);
	ZLG7289_SPI_Write(dat);
	ZLG7289_pinCS = 1;
	ZLG7289_Delay(10);
}


//以下定義ZLG7289的用戶指令集


//復位(清除)指令
#define ZLG7289_Reset()		ZLG7289_cmd(0xA4)


//測試指令
#define ZLG7289_Test()		ZLG7289_cmd(0xBF)


//左移指令
#define ZLG7289_SHL()		ZLG7289_cmd(0xA1)


//右移指令
#define ZLG7289_SHR()		ZLG7289_cmd(0xA0)


//循環左移指令
#define ZLG7289_ROL()		ZLG7289_cmd(0xA3)


//循環右移指令
#define ZLG7289_ROR()		ZLG7289_cmd(0xA2)


/*
功能:下載數據
參數:
	mod=0:下載數據且按方式0譯碼
	mod=1:下載數據且按方式1譯碼
	mod=2:下載數據但不譯碼
	addr:數碼管地址位,取值0~7
	dp=0:小數點不亮
	dp=1:小數點亮
	dat:要顯示的數據,取值0~15,詳見數據手冊
*/
extern void ZLG7289_Download(char mod, char addr, bit dp, char dat)
{
	code char ModDat[3] = {0x80,0xC8,0x90};
	char d1;
	char d2;
	if ( ( mod < 0 ) || ( mod > 2 ) ) mod = 2;
	d1 = ModDat[mod];
	addr &= 0x07;
	d1 |= addr;
	d2 = dat & 0x7F;
	if ( dp ) d2 |= 0x80;
	ZLG7289_cmd_dat(d1,d2);
}


//閃爍控制
#define ZLG7289_Flash(dat)	ZLG7289_cmd_dat(0x88,dat)


//消隱控制
#define ZLG7289_Hide(dat)	ZLG7289_cmd_dat(0x98,dat)


//段點亮指令
#define ZLG7289_SegOn(dat)	ZLG7289_cmd_dat(0xE0,dat)


//段關閉指令
#define ZLG7289_SegOff(dat)	ZLG7289_cmd_dat(0xC0,dat)


/*
功能:執行ZLG7289鍵盤命令
返回值:
	返回讀到的按鍵值
說明:
	本函數已經被定義成再入屬性,因此在中斷服務程序里也可以調用
	當有鍵按下時,ZLG7289的KEY引腳將出現低電平,向主機提出中斷申請
	主機采用查詢方式或中斷方式去處理都是可以的
	應當在KEY引腳出現低電平時立即用本函數去讀取鍵值
	讀取鍵值后,KEY引腳不會自動恢復為高電平,一定要等到按鍵抬起為止
	如果沒有及時讀取按鍵值,當按鍵抬起時,KEY引腳也將恢復高電平
	在ZLG7289的KEY引腳處于高電平期間,試圖去讀取鍵值將得不到有意義的數據
	如果采用中斷方式,建議選擇負邊沿觸發模式
*/
extern char ZLG7289_Key() reentrant
{
	char key;
	ZLG7289_pinCS = 0;
	ZLG7289_Delay(50);
	ZLG7289_SPI_Write(0x15);
	ZLG7289_Delay(25);
	key = ZLG7289_SPI_Read();
	ZLG7289_pinCS = 1;
	ZLG7289_Delay(10);
	return key;
}


/*
功能:ZLG7289初始化
*/
extern void ZLG7289_Init()
{
	unsigned char addr;
//I/O口初始化
	ZLG7289_pinCS = 1;
	ZLG7289_pinCLK = 0;
	ZLG7289_pinDIO = 1;
	ZLG7289_pinKEY = 1;
//點亮所有數碼管
	for ( addr=0; addr<8; addr++ )
	{
		ZLG7289_Download(1,addr,1,8);
	}
}


#endif	//_ZLG7289_H_

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品一二三| 久久亚洲精精品中文字幕早川悠里| 国产精品国产自产拍在线| 国产成人一区在线| 久久免费看少妇高潮| 懂色av一区二区夜夜嗨| 中文字幕一区二区三区乱码在线| 91麻豆精品视频| 午夜精品久久久久久久蜜桃app| 欧美美女网站色| 韩国女主播一区| 一色屋精品亚洲香蕉网站| 91久久精品一区二区三| 日韩精品成人一区二区三区| 日韩三级中文字幕| 国产91精品入口| 夜夜嗨av一区二区三区网页 | 免费观看成人鲁鲁鲁鲁鲁视频| 日韩视频免费观看高清完整版| 国产91清纯白嫩初高中在线观看| 亚洲理论在线观看| 日韩欧美黄色影院| 91免费观看视频在线| 日日摸夜夜添夜夜添国产精品| 久久综合五月天婷婷伊人| 91免费看`日韩一区二区| 日韩极品在线观看| 中文字幕亚洲综合久久菠萝蜜| 在线中文字幕一区| 国产麻豆精品久久一二三| 亚洲精品免费在线观看| 日韩精品在线看片z| 99re66热这里只有精品3直播| 欧美性三三影院| 国内精品久久久久影院薰衣草 | 久久综合久久综合亚洲| 99久久久精品| 久久99久久精品欧美| 樱桃视频在线观看一区| 久久综合久久综合久久| 欧美系列日韩一区| 成人av资源在线观看| 美国毛片一区二区| 一区二区三区在线高清| 欧美国产激情一区二区三区蜜月| 国产一区二区在线影院| 亚洲国产高清在线观看视频| 成人免费在线视频| 色偷偷久久一区二区三区| 久久国产精品99久久久久久老狼| 国产精品盗摄一区二区三区| 精品国产在天天线2019| 欧美亚洲综合色| 色综合色综合色综合| 丰满岳乱妇一区二区三区| 久久se精品一区二区| 亚洲综合图片区| 亚洲欧美二区三区| 亚洲国产成人午夜在线一区| 日韩精品中文字幕在线不卡尤物| 欧洲一区在线电影| 91免费在线视频观看| 成人app下载| 成人毛片在线观看| 国产不卡视频一区| 国产精品一二二区| 国内精品免费**视频| 狠狠色狠狠色综合日日91app| 免费观看在线综合色| 日本aⅴ亚洲精品中文乱码| 亚洲1区2区3区4区| 亚洲v中文字幕| 午夜精品一区二区三区免费视频| 亚洲va韩国va欧美va| 亚洲成av人**亚洲成av**| 亚洲成人av资源| 三级欧美韩日大片在线看| 午夜在线成人av| 日本成人在线一区| 美女视频一区在线观看| 奇米色一区二区三区四区| 美国十次了思思久久精品导航| 理论片日本一区| 韩国欧美国产1区| 成人av综合一区| 91亚洲精品久久久蜜桃| 在线观看亚洲精品视频| 欧美日韩的一区二区| 欧美久久久久中文字幕| 日韩欧美卡一卡二| 国产亚洲制服色| 亚洲天堂网中文字| 亚洲国产精品久久人人爱| 蜜臀av性久久久久蜜臀aⅴ四虎| 精品一区二区三区久久久| 成人免费视频网站在线观看| av不卡免费电影| 欧美日韩你懂的| 欧美不卡视频一区| 国产精品色在线| 亚洲电影第三页| 国产精品亚洲成人| 在线视频国产一区| 日韩一级视频免费观看在线| 国产欧美精品一区aⅴ影院| 亚洲精品成人少妇| 激情图片小说一区| 一本久久综合亚洲鲁鲁五月天 | 91精品一区二区三区久久久久久| 精品久久久久久久一区二区蜜臀| 国产精品人人做人人爽人人添| 亚洲一区av在线| 激情六月婷婷久久| 色噜噜久久综合| 日韩欧美国产一区二区三区| 国产精品初高中害羞小美女文| 午夜精品久久久久久久99樱桃| 国产伦精品一区二区三区免费 | 青椒成人免费视频| 懂色av一区二区三区蜜臀 | 91麻豆6部合集magnet| 日韩免费高清av| 最近日韩中文字幕| 国产在线视频一区二区三区| av在线免费不卡| 精品久久久久久久久久久久久久久| 日韩一区日韩二区| 精品在线播放免费| 欧美亚一区二区| 亚洲国产精品传媒在线观看| 日韩高清欧美激情| av午夜一区麻豆| 精品精品欲导航| 亚洲一区二区黄色| 97精品国产露脸对白| 日韩欧美国产综合| 亚洲成av人片观看| 色屁屁一区二区| 中文字幕一区日韩精品欧美| 国产精品一二三区在线| 日韩欧美国产精品| 偷拍自拍另类欧美| 91久久免费观看| 成人欧美一区二区三区小说| 国产高清精品在线| 欧美mv日韩mv国产网站| 日韩高清不卡一区二区| 在线观看亚洲专区| 亚洲精品欧美激情| 99精品热视频| 中文无字幕一区二区三区| 狠狠狠色丁香婷婷综合久久五月| 欧美精品欧美精品系列| 亚洲无线码一区二区三区| 色综合久久久久综合体| 国产精品久久久久久久久快鸭| 粉嫩蜜臀av国产精品网站| 久久免费国产精品| 国内精品视频一区二区三区八戒| 日韩欧美视频在线 | 丰满少妇久久久久久久| 久久午夜老司机| 国产在线国偷精品产拍免费yy| 欧美一区二区三区四区久久 | 激情欧美日韩一区二区| 欧美成人国产一区二区| 蜜芽一区二区三区| 日韩情涩欧美日韩视频| 日韩成人一区二区| 91精品福利在线一区二区三区| 日韩电影在线看| 精品不卡在线视频| 粉嫩绯色av一区二区在线观看| 国产日本一区二区| av影院午夜一区| 亚洲黄色av一区| 欧美精品视频www在线观看| 视频一区二区国产| 精品国产一区二区三区av性色| 国产在线精品免费| 国产精品二三区| 欧美性感一类影片在线播放| 亚洲国产精品人人做人人爽| 日韩亚洲国产中文字幕欧美| 国产一区不卡精品| 中文字幕在线视频一区| 欧美性受xxxx| 久久99久久99| 日本一二三不卡| 欧美性大战久久久久久久| 日本vs亚洲vs韩国一区三区| 久久久久青草大香线综合精品| 99免费精品在线观看| 亚洲一区二区三区四区不卡| 91黄视频在线观看| 轻轻草成人在线| 亚洲国产精品t66y| 欧美日韩中字一区| 国产在线精品一区二区三区不卡| 1024国产精品|