資源描述:
《鍵盤(pán)顯示芯片7289 c51 驅(qū)動(dòng)程序軟件包》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、C51驅(qū)動(dòng)程序軟件包1軟件包說(shuō)明ZLG7289B的80C51單片機(jī)C51驅(qū)動(dòng)程序軟件包由兩個(gè)文件組成:“ZLG7289.h”和“ZLG7289.c”。頭文件“ZLG7289.h”包括ZLG7289B的I/O接口定義和用戶(hù)指令集聲明,C語(yǔ)言文件“ZLG7289.c”是這些指令的具體實(shí)現(xiàn)。以KeilC51為例,該軟件包的具體用法是:(1)將文件“ZLG7289.c”和“ZLG7289.h”一起復(fù)制到您的工程文件夾下;(2)根據(jù)電路的實(shí)際情況,在文件“ZLG7289.h”中重新定義I/O接口;(3)把文件“ZLG7289.c”添加進(jìn)工程中,在需要的地方包含頭文件“ZLG7289.h”;
2、(4)在main()函數(shù)的開(kāi)始處應(yīng)當(dāng)調(diào)用一次初始化函數(shù)ZLG7289_Init();(5)以后在程序中可以直接使用ZLG7289B的用戶(hù)指令集了;(6)讀取鍵值時(shí)使用函數(shù)ZLG7289_Key(),查詢(xún)方式、中斷方式皆可。用戶(hù)指令集匯總:(1)復(fù)位指令:ZLG7289_Reset();(2)測(cè)試指令:ZLG7289_Test();(3)左移指令:ZLG7289_SHL();(4)右移指令:ZLG7289_SHR();(5)循環(huán)左移:ZLG7289_ROL();(6)循環(huán)右移:ZLG7289_ROR();(7)下載數(shù)據(jù):ZLG7289_Download(mod,x,dp,dat);
3、(8)閃爍控制:ZLG7289_Flash(x);(9)消隱控制:ZLG7289_Hide(x);(10)段點(diǎn)亮控制:ZLG7289_SegOn(seg);(11)段關(guān)閉控制:ZLG7289_SegOff(seg);(12)讀鍵盤(pán)數(shù)據(jù)指令:charZLG7289_Key()。使用說(shuō)明:1、以下函數(shù)必須去除其可重入屬性以下函數(shù)必須去除其可重入屬性以下函數(shù)必須去除其可重入屬性以下函數(shù)必須去除其可重入屬性,否則程序不能正常運(yùn)行。函數(shù):ZLG7289_SPI_Write(),ZLG7289_SPI_Read(),ZLG7289_Key()2、ZLG7289芯片的晶體振蕩器的頻率應(yīng)在芯片的
4、晶體振蕩器的頻率應(yīng)在芯片的晶體振蕩器的頻率應(yīng)在芯片的晶體振蕩器的頻率應(yīng)在4-12MHz之間。2頭文件的程序清單8.1ZLG7289B的C51驅(qū)動(dòng)程序頭文件(ZLG7289.h)/*ZLG7289.h數(shù)碼管顯示與鍵盤(pán)管理芯片ZLG7289的標(biāo)準(zhǔn)80C51驅(qū)動(dòng)程序頭文件Copyright(c)2005,廣州周立功單片機(jī)發(fā)展有限公司Allrightsreserved.本程序僅供學(xué)習(xí)參考,不提供任何可靠性方面的擔(dān)保;請(qǐng)勿用于商業(yè)目的。*/#ifndef_ZLG7289_H_#define_ZLG7289_H_#include//定義I/O接口sbitZLG7289_pi
5、nCS=P1^0;//片選信號(hào),低電平有效sbitZLG7289_pinCLK=P1^1;//時(shí)鐘信號(hào),上升沿有效sbitZLG7289_pinDIO=P1^2;//數(shù)據(jù)信號(hào),雙向sbitZLG7289_pinINT=P3^2;//鍵盤(pán)中斷請(qǐng)求信號(hào),低電平(負(fù)邊沿)有效//執(zhí)行ZLG7289純指令externvoidZLG7289_cmd(charcmd);//執(zhí)行ZLG7289帶數(shù)據(jù)指令externvoidZLG7289_cmd_dat(charcmd,chardat);//以下是ZLG7289的用戶(hù)指令集//復(fù)位(清除)指令#defineZLG7289_Reset()ZLG7
6、289_cmd(0xA4)//測(cè)試指令#defineZLG7289_Test()ZLG7289_cmd(0xBF)//左移指令#defineZLG7289_SHL()ZLG7289_cmd(0xA0)//右移指令#defineZLG7289_SHR()ZLG7289_cmd(0xA1)//循環(huán)左移指令#defineZLG7289_ROL()ZLG7289_cmd(0xA2)//循環(huán)右移指令#defineZLG7289_ROR()ZLG7289_cmd(0xA3)//下載數(shù)據(jù)externvoidZLG7289_Download(unsignedcharmod,charx,bitdp
7、,chardat);//閃爍控制//x的8個(gè)位分別對(duì)應(yīng)數(shù)碼管的8個(gè)位,0-閃爍,1-不閃爍#defineZLG7289_Flash(x)ZLG7289_cmd_dat(0x88,(x))//消隱控制//x的8個(gè)位分別對(duì)應(yīng)數(shù)碼管的8個(gè)位,0-消隱,1-顯示#defineZLG7289_Hide(x)ZLG7289_cmd_dat(0x98,(x))//段點(diǎn)亮指令//seg=0~63,8只數(shù)碼管被看成64只獨(dú)立的LED//每只數(shù)碼管中各段的點(diǎn)亮順序按照“g,f,e,d,c,b,a,d