收藏 分享(赏)

用单片机接受并解码ps2键盘发送过来的数据.doc

上传人:myk79025 文档编号:5997830 上传时间:2019-03-23 格式:DOC 页数:4 大小:101.50KB
下载 相关 举报
用单片机接受并解码ps2键盘发送过来的数据.doc_第1页
第1页 / 共4页
用单片机接受并解码ps2键盘发送过来的数据.doc_第2页
第2页 / 共4页
用单片机接受并解码ps2键盘发送过来的数据.doc_第3页
第3页 / 共4页
用单片机接受并解码ps2键盘发送过来的数据.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、用单片机接受并解码 ps2键盘发送过来的数据作者:liuee45 来源:本站原创 点击数: 598 更新时间:2010年10月12日 【字体:大 中 小】板子介绍:http:/ :125739409 电话:15173607302/本程序可实现用单片机来接受从 ps2键盘上传输过来的数据./把电脑键盘插入51hei-5开发板的 ps2,然后按键 p0口就会有不同的灯亮/跳线设置:默认/晶振:6M#include /包含单片机寄存器的头文件#include /包含_nop_()函数定义的头文件/#include“51hei.h“/*以下是引脚定义*/sbit PS2CLK=P35; sbit PS

2、2DAT=P27;sbit leds =P14; /*函数功能:延时1ms(3j+2)*i=(333+2)10=1010(微秒),可以认为是1毫秒*/void delay1ms()unsigned char i,j; for(i=0;i0;i-)if(!PS2DAT) break; if(!PS2DAT)/再次检测数据线i = 8;PS2CLK = 1;while(!PS2CLK);/等待 PC释放时钟线for( t = 20;t 0;t-); /12M 延时40uSfor( J = 11; J 0 ;J-)PS2CLK = 0;for( t = 20;t 0;t-); /12M 延时40uS

3、PS2CLK =1;if(h = 0)/读8位数据位pcval = 1;if(PS2DAT) pcval |= 0x80;i -;if(i = 0) /完成 h+; else if( h = 1)/读校验位ACC = pcval;if(P = PS2DAT)/校验错误 berr_parity = 1; h+;else if(h = 2)/停止位if(!PS2DAT)berr_stop = 1;break;PS2DAT = 0;h+;else break; if(!PS2CLK) /检测到主机停止发送,返回0xFE PS2DAT = 1 ;return(0xFE); for( t = 20;t 0;t-); /12M 延时20uS/for( J = 11; J 0 ;J-)PS2DAT = 1;/释放if(berr_stop|berr_parity)/停止位错误或者校验错误,返回0XFFwhile(!PS2DAT);return(0xFF);else return(pcval); /返回数据/if(!PS2DAT)/if(!PS2CLK)/end/*函数功能:主函数*/ void main(void) leds=0;while(1) P0= PS2hosttokey();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报