ps2keyboard demo code for 8052
#pragma code symbols debug objectextend #include <reg51.h> /* special function register declarations */ /* for the intended 8051 derivative */ #include <stdio.h> /* prototype declarations for I/O functions */ #define BYTE unsigned char #define WORD unsigned int #define LONG unsigned long #define dword unsigned long #define DWORD unsigned long #define byte unsigned char #define word unsigned int #define XBYTE ((unsigned char volatile xdata *) 0) #define XWORD ((unsigned int volatile xdata *) 0) #define NES 0x6000 data union{ LONG l; BYTE b[]; }lShift; data BYTE bCnt; /****************/ /* main program */ /****************/ void main (void) { /* execution starts here after stack init */ #define KEY_BREAK 0x1f800 #define BCNT_VALUE 0 //BYTE code abBitHi[] ={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; //BYTE code KeyTable[][2]={} data BYTE bKey=0xff, bC, bKeyTmp; //data WORD wKb; //data long lBrk; data union{ LONG l; BYTE b[]; }lTmp; bit fParity, fP; TCON=0x01; //bit0: 1/0 falling edge/low level triggered external interrupts IP=0x01; //bit0:Externl interrupt 0 Priority control bit IE=0x81; //bit0:Enable External interrupt 0 control bit //bit7:All control bit XBYTE[NES]=0x00; ///if (bCnt>=BCNT_VALUE) { ){ T0=~T0; bCnt=BCNT_VALUE; lTmp.l=lShift.l; ] & ] & 0xfc)==0x80)) || ((lTmp.b[]==]<=0x10))) { //fBrk=1; bKey &= 0x7f; } ] & 0xa0)==0x80) && //stop bit=1, data bit7=0 ((lTmp.b[] & 0x20)==0x00) ){ //start bit==0 bit0 , data bit7==0 ] & ; //parity bit bit9 ; lTmp.l<<=; bKeyTmp=lTmp.b[]; fParity=; ; bC<=; bC++){ ] & ) fParity=~fParity; lTmp.b[]<<=; } if (fP==fParity) { //fOk=1; //bKey=KeyTable[bKeyTmp]; bKey=bKeyTmp | 0x80; } } P1=bKey; XBYTE[NES]=bKey; } ////else bCnt++; //while (1) } //void main (void) { bit fT0; fT0=INT1; lShift.l>>=; ] |= 0x80; ///bCnt=0; } /* link hello.obj XDATA(0) IDATA(80H) RAMSIZE(256) SYMBOLS */
ps2keyboard demo code for 8052的更多相关文章
- penpyxl basic function demo code
Openpyxl basic function demo code demo code: #!/usr/bin/env python # -*- coding: utf-8 -*- "&qu ...
- RAD Studio Demo Code和几个国外FMX网站 good
FireMonkey X – Amazing overview of FireMonkey FMX Feeds – All your FireMonkey news in one place FMX ...
- ( ! ) Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in D:\demo\code\yolo\index\index.php on li
sql语句为:$sql="select count(*) from com where a_id=$v['id']"; 出现以下错误: 原因: 变量没有用花括号引起来 改为: $ ...
- npm install 安装报错:npm ERR! EPERM npm ERR! -4048 npm ERR! Error: EPERM: operation not permitted, unlink 'D:\test\demo\code\materialT\node_modules\.staging'
更新项目依赖包,删除掉package-lock.json.node_modules,运行npm install,报如上错误信息,查询资料说是没有权限,本人用管理员身份打开powershell,运行np ...
- swagger demo code
//Application 开启注解 @EnableSwagger2public class Application { public static void main(String[] args) ...
- c++ demo code
/* //多继承 #include <iostream> using namespace std; class Sofa { public: Sofa(); ~Sofa(); void s ...
- 创建简单的表单Demo
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- react context toggleButton demo
//toggleButton demo: //code: //1.Appb.js: import React from 'react'; import {ThemeContext, themes} f ...
- Google Summer of Code 2017 经验谈
Google Summer of Code (GSoC) 2018 又要开始了. 如果想实现你心中的开源梦想, 用代码让世界变得更美好. 参加GSoC可能是你进入开源的世界最好途径. GSoC是什么 ...
随机推荐
- SQL 连接 JOIN 例解。(左连接,右连接,全连接,内连接,交叉连接,自连接)
SQL 连接 JOIN 例解.(左连接,右连接,全连接,内连接,交叉连接,自连接) 最近公司在招人,同事问了几个自认为数据库可以的应聘者关于库连接的问题,回答不尽理想-现在在这写写关于它们的作用假设有 ...
- bzoj3174 [Tjoi2013]拯救小矮人
Description 一群小矮人掉进了一个很深的陷阱里,由于太矮爬不上来,于是他们决定搭一个人梯.即:一个小矮人站在另一小矮人的 肩膀上,知道最顶端的小矮人伸直胳膊可以碰到陷阱口.对于每一个小矮人, ...
- vijos1782借教室
描述 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样. 面对海量租借教室的信息,我们自然希望 ...
- 最简单的内核模块hello world
[root@rt2m09617.sqa.tbc /home/ahao.mah/main] #cat hello.c // Defining __KERNEL__ and MODULE allows u ...
- Java 学习第一天
java 学习路线 http://edu.csdn.net/main/studyline/heimaline.html?flz java 学习视频 —— 马士兵:毕向东
- .net中将DataTable导出到word、Excel、txt、htm的方法
dt:DataTable strFile:fileName strExt:type private void GridExport(DataTable dt, string strFile, stri ...
- Qt 图形特效(Graphics Effect)介绍
原文链接:Qt 图形特效(Graphics Effect)介绍 QGraphicsEffect也是Qt-4.6引入的一个新功能.它让给图形元素QGraphicsItem增加更佳视觉效果的编程变得非常简 ...
- QiniuUpload- 一个方便用七牛做图床然后插入markdown的小工具
最近一段时间有用markdown做笔记,其他都好,但是markdown插入图片挺麻烦的,特别是想截图之后直接插入的时候.需要首先把图片保存了,然后还要上传到一个地方生成链接才能插入.如果有个工具可以直 ...
- Ubuntu 10.04下安装Opengl glx
1.安装OpenGL Library sudo apt-get install build-essential 2. 安装OpenGL Utilities sudo apt-get install l ...
- C#图像处理(3):在图像上加条形码
引入Aspose.BarCode用来生成条形码,方法如下: /// <summary> /// 生成条码 /// </summary> /// <param name=& ...