資源描述:
《用矩陣方式掃描鍵盤的程序(A keyboard scanning program using a matrix)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、用矩陣方式掃描鍵盤的程序(Akeyboardscanningprogramusingamatrix)#包括<//頭文件#定義unsignedchar函數(shù)/////////以下是定義標識符#定義該P2#unsignedint定義單元#定義decodemode0x09//**/譯碼模式#定義強度0x0a//**/亮度#定義scanlimit0x0b//**/掃描界限#定義關(guān)機0x0c//**/掉電模式#定義displaytest0x0f//**/顯示測試#定義shutdownmode0x00//**/掉電方式工作#定義正常0x01//**
2、/正常操作方式#定義decodedigit0xff//**/譯碼位數(shù)設(shè)置#定義intensitygrade0x0a//**/顯示亮度級別設(shè)置#定義scandigit0x06//**/掃描位數(shù)設(shè)置#定義testmode0x01//**/顯示測試方式#定義textend0x00//**/顯示測試結(jié)束,正常工作公司dis_din=P1^0;//**/顯示串行數(shù)據(jù)輸入端公司dis_load=P1^1;//**/顯示數(shù)據(jù)鎖存端公司dis_clk=P1^2;//**/顯示時鐘輸入端公司=P1^3;//**/矩形波輸出端位標志=0;//**/標志位/*******************
3、**********************************************************************定義全局變量********************************************************************************************/int掛=0,李=0;//掃描的行、列h,l,t;UCHARCH;函數(shù)的關(guān)鍵;/*********************************************************************************
4、********定義數(shù)組********************************************************************************************/a[6]={0,0,0,0,0,0};//時間長度煤焦部分[4][4]={15,10,13,11,14,9,6,3,0,8,5,2,12,7,4,1};////鍵值檢索矩陣/*****************************************************************************************函數(shù)聲明*****
5、***************************************************************************************/無效sendchar(unsignedcharch);無效writeword(unsignedcharaddr,unsignedcharnum);虛空(void)InitDis;initmain虛空(void);無效delay_xms(unsignedintx);無效wave();/************************************************************
6、******************************向MAX7219寫入字節(jié)(8位)******************************************************************************************/無效sendchar(unsignedcharch){無符號字符i;_nop_();對于(i=0;i<8;i+){溫度=CH和0x80;CH<1;如果(臨時){dis_din=1;dis_clk=0;dis_clk=1;}其他的{dis_din=0;dis_clk=0;dis_clk=1;}}}/****
7、**************************************************************************************向MAX7219寫入字(16位)******************************************************************************************/無效writeword(unsignedcharaddr,unsignedcharnum){dis_load=0;_nop_();se