《标准键盘 PS/2与单片机通信〖AT89S52单片机实用例程〗》由会员分享,可在线阅读,更多相关《标准键盘 PS/2与单片机通信〖AT89S52单片机实用例程〗(4页珍藏版)》请在金锄头文库上搜索。
1、S2 与单片机通信实验任务标准键盘 单片机输入数字 符等,用 128晶显示器显示出来。硬件电路图实验原理键盘通过时钟线和数据线和单片机通信,键盘和系统的相互通信都是采用11 位格式的串行方式。第 1 位是起始位 0;第 2 到 9 位是 8 位数据位,第 10 位是奇偶校验位。第 11 位停止位。时序图如下C 语言源程序/注意 与第十三个实验 128晶显示器的基本应用一样,以下提供程序并没/有包含 128晶显示驱动程序,只有主程序和 盘通信的驱动程序。/请大家到 :19305255,资源共享里面去下/以下程序只有单片机接收 盘程序,没有单片机向 送命令程序。/还有键盘数据处理上不是很完善,主要
2、是为用户提供一个参考程序。/如果把此实验看作是一个系统的话,那么这一个系统就是一个漏洞百出,充满/统。大家在用的时侯可以对它多作改进。#包含 128动程序#0;/定义 据端口引脚33; /中断端口,时钟线; /标识是否有字符被收到 0; /中断次数计数, 为行值; /大小写标志 1 时大写状态() & ( 1; /因键盘数据是低高,结合上一句所以右移一位1) /当键盘数据线为 1 时 0 /存储一位; /中断次数加一(中断一次接收一位数据) 10) /中断 11 次后数据发送完毕; /当中断 11 次后表示一帧数据收完,清变量准备下一次接收 1; /标识有字符输入完了 0; /关中断等显示完后
3、再开中 /键值处理k;F=1) /接收完一个有效数据时; /准备下一次接收 /键值与显示字符的对应关系 /键值/ /对应字符/k=0; ; ; ; ; ; k=5; ; k=6; ; k=7; ; k=8; ; k=9; ; k=10; ; k=11; ; k=12; ; k=13; ; k=14; ; k=15; ; k=16; ; k=17; ; k=18; ; k=19; ; ;k=21; ; k=23; (k=101) /按下大小写控制键时 大小写标志取反if(k=0); /清除光标, 79+0);/光标移一位if(0) /小写状态时显示k+0);/小写字符, 79+0);/光标if(
4、1)/大写状态时显示if(k9 & k=0 & k=9)(0);/数字键对应的符号, 79+0);/光标if(120) /写满一行;/换行79+0);/光标下移;x) /延时程序 i,j;i=0;i600;i+)j=0;jx;j+); /开机画面和欢迎界面; /初始化液晶驱动硬件 4,;/输; /清屏 0,入(6,系00); /延时等待 2, 统0; ; 00); ; ;, 欢 6,请6,迎 2, 输2,使 8,入8,用 4,字4,0,符0,Y);/Y ;28;)/画一条直线; 5); ; /调用开机画面和欢迎界面子程序 1; /设外部中断 1 为下降沿触发 1; /开总中断; /开中断 1; ;/输入的字符从第 2 行 第 0 列开始显示);0);