⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ps2.txt

📁 基于MS51系列单片机的PS2接口程序
💻 TXT
字号:
-------------------------------------------------------------------------------
		本文件用于记录编写PS2键盘程序中出现的问题

--------------------------------------------------------------------------------
1.在*.H文件中放置数组,可能会在连接时提示数组名重定义
	我昨天将PS2键盘的程序运用到了我的仿真板上,我起初以为只需要
	 改写少量的程序代码就可以的,结果是不知到是什么原因我几乎是
	把全部代码都重写了一遍。程序运行好象没错,我设置了断点,也
	看到了读近来的数据,比较后也是正确的,就是不能在LCD上显示出来
	我起初是以为由于例程只读了通码没有读断码导致的。我想当我读完
	通码,然后再开外部中断1时正好赶上键盘发送的断码,这时也许并不
	断码的开头,可能会是他的中间部分,由于没有按照即定方式,所以
	程序就死在里面的循环中了。

	但后来的验证说明我的猜测也许不对,我设置断点却得到了键值,但运
	行到查表程序时却又陷入了死循环,由于跟踪的限制我没能查到具体是
	哪一个语句出的问题,但从中说明我上面的猜测可能有问题。


	为了证明我的想法我将程序全部改写了一遍,将每次只检查一个位的
	中断程序改成了,一次读取3个字节,这样就不会有前面猜想的那样的
	后果了。(***********************我要说明的是这样做会占用太多
	的CPU时间,使程序的实时性明显下降***************************)
	
	但这次的结果更让我摸不到头脑,因为我只要在中断程序中加查表程序
	从中断程序中读出来的按键值就完全变样了,但只要去掉那一条语句一
	切都有会恢复正常。


	这个现象使我开始怀疑我用SST芯片做的仿真器,刚开始测试别人的程序
	时由于程序段中有关中断的语句,使仿真不能执行,而这次的情况也有点
	类似。后来的测试使我更加坚信这一点,我利用静态变量来传递所取得的
	键值,然后在主程序中进行显示,结果是在中断中设置断点后单步执行跳
	主程序后就不能在仿真了。


	我想我也许该用WAVE来仿真一下。



























⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -