单片机PS2键盘程序,烦请各位大虾帮我下面的C语言手工变成汇编,因为中断那里我实在不解

单片机PS2键盘程序,烦请各位大虾帮我下面的C语言手工变成汇编,因为中断那里我实在不解,第1张

sbit Key_Data = P3^3 //定义Keyboard引脚

sbit Key_CLK = P3^2 //使用中断

bit BF = 0

bit Shift //定义上档键标志

bit Key_UP //定义通码断码标志

unsigned char KeyV

unsigned char IntNum

unsigned char DisNum

void Keyboard_out(void) interrupt 0

{

if ((IntNum >0) &&(IntNum <9)) {

……

不全。

KeyV = KeyV >>1

上面这句,右移了一位,即最高位为0了:0XXXXXXX

if (Key_Data) 如果 SCL为1的话

KeyV = KeyV | 0x80 就把这个1补到上面0的位置

}否则就保持为0

这样就读取了一位数据。8次过后,一字节就完整了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7740353.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存