91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 23KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-06-07
  • 語言: C/C++
  • 標(biāo)簽: 51??PS2??單片機(jī)??鍵盤??

資源簡(jiǎn)介

用單片機(jī)控制鍵盤的程序,利用中斷獲得鍵盤掃描碼并轉(zhuǎn)換為ASCII碼,在1602液晶上顯示字符。C語言編寫,KEIL環(huán)境下編譯,鍵盤驅(qū)動(dòng)寫得相當(dāng)好。 CSDN系統(tǒng)自動(dòng)把下載積分改成10分了。現(xiàn)在能修改所需積分,改回1分意思一下。

資源截圖

代碼片段和文件信息

/*============================================================
????????使用1602液晶顯示和PS/2鍵盤的示例??
????????-------------------------------------------------
???????????
==============================================================

SMC1602A(16*2)模擬口線接線方式
連接線圖:
???????---------------------------------------------------
???????|LCM-----51???| LCM-----51???| LCM------51??????|
???????--------------------------------------------------|
???????|DB0-----P1.0?| DB4-----P1.4?| RW-------P2.1????|
???????|DB1-----P1.1?| DB5-----P1.5?| RS-------P2.0????|
???????|DB2-----P1.2?| DB6-----P1.6?| E--------P2.2????|
???????|DB3-----P1.3?| DB7-----P1.7?| VLCD接1K電阻到GND|
???????---------------------------------------------------

Keyboard接線
??????PS/2--------51
??????1?DATA------P3.4
??????3?GND
??????4?VCC
??????5?CLK-------P3.3?接在51的外部中斷,觸發(fā)方式為低電平


[注:AT89x51使用12M或11.0592M晶振實(shí)測(cè)使用11.059M
[Keil?uV2?7.01編譯運(yùn)行通過?程序中沒有做鍵盤數(shù)據(jù)的奇偶校驗(yàn)]

=============================================================*/
#include?
#include?“scancodes.h“

#define?LCM_RW??P2_1?//定義LCD引腳
#define?LCM_RS??P2_0
#define?LCM_E???P2_2
#define?LCM_Data??P0

#define?Key_Data?P3_4?//定義Keyboard引腳
#define?Key_CLK??P3_3

#define?Busy????0x80?//用于檢測(cè)LCM狀態(tài)字中的Busy標(biāo)識(shí)

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?WCLCMBuysC);

unsigned?char?ReadDataLCM(void);
unsigned?char?ReadStatusLCM(void);
unsigned?char?code?cdle_net[]?=?{“??www.pp51.com??“};
unsigned?char?code?email[]?=?{“pp51com@163.com“};
unsigned?char?code?Cls[]?=?{“????????????????“};
static?unsigned?char?IntNum?=?0;?//中斷次數(shù)計(jì)數(shù)
static?unsigned?char?KeyV;?//鍵值
static?unsigned?char?DisNum?=?0;?//顯示用指針
static?unsigned?char?Key_UP=0?Shift?=?0;//Key_UP是鍵松開標(biāo)識(shí),Shift是Shift鍵按下標(biāo)識(shí)
static?unsigned?char?BF?=?0;?//標(biāo)識(shí)是否有字符被收到

void?main(void)
{
unsigned?char?TempCyc;

Delay400Ms();?//啟動(dòng)等待,等LCM講入工作狀態(tài)
LCMInit();?//LCM初始化
Delay5Ms();?//延時(shí)片刻(可不要)

DisplayListChar(0?0?cdle_net);
DisplayListChar(0?1?email);
ReadDataLCM();//測(cè)試用句無意義
for?(TempCyc=0;?TempCyc<10;?TempCyc++)
Delay400Ms();?//延時(shí)
DisplayListChar(0?1?Cls);

IT1?=?0;?//設(shè)外部中斷1為低電平觸發(fā)
EA?=?1;
EX1?=?1;?//開中斷

do
{
if?(BF)
Decode(KeyV);
else
EA?=?1;?//開中斷
}
while(1);
}

//寫數(shù)據(jù)
void?WriteDataLCM(unsigned?char?WDLCM)?
{
ReadStatusLCM();?//檢測(cè)忙
LCM_Data?=?WDLCM;
LCM_RS?=?1;
LCM_RW?=?0;
LCM_E?=?0;?//若晶振速度太高可以在這后加小的延時(shí)
LCM_E?=?0;?//延時(shí)
LCM_E?=?1;
}

//寫指令
void?WriteCommandLCM(unsigned?char?WCLCMBuysC)?//BuysC為0時(shí)忽略忙檢測(cè)
{
if?(BuysC)?ReadStatusLCM();?//根據(jù)需要檢測(cè)忙
LCM_Data?=?WCLCM;
LCM_RS?=?0;
LCM_RW?=?0;
LCM_E?=?0;
LCM_E?=?0;
LCM_E?=?1;
}

//讀數(shù)據(jù)
unsigned?char?ReadDataLCM(void)
{

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件??????14653??2008-04-27?13:04??PS2Key\PS2Key.M51

?????文件???????6942??2005-05-28?20:23??PS2Key\PS2Key.c

?????文件????????504??2008-04-27?13:10??PS2Key\PS2Key.plg

?????文件???????1506??2004-03-03?21:00??PS2Key\scancodes.h

????.......??????1660??2005-05-28?20:23??PS2Key\PS2Key_Uv2.Bak

?????文件???????1942??2008-04-27?13:04??PS2Key\PS2Key.Uv2

????.......???????829??2005-05-28?20:24??PS2Key\PS2Key_Opt.Bak

?????文件????????858??2008-04-27?13:04??PS2Key\PS2Key.Opt

?????文件??????15118??2008-04-27?13:04??PS2Key\PS2Key.LST

?????文件??????14123??2008-04-27?13:04??PS2Key\PS2Key.OBJ

?????文件??????12019??2008-04-27?13:04??PS2Key\PS2Key

?????文件???????3158??2008-04-27?13:04??PS2Key\PS2Key.hex

?????目錄??????????0??2008-04-27?13:03??PS2Key

-----------?---------??----------?-----??----

????????????????73312????????????????????13


評(píng)論

共有 條評(píng)論