首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

问一个傻问题!望高人指点!

问一个傻问题!望高人指点!

moto单片机问题:当产生一个键盘中断后,想查询中断源,必须读该口的数据寄存器,是不是要把该口的方向寄存器置为输出才可以读??  是不是键盘中断的最后需要把该口的数据寄存器置为全1的状态,这样才可以区分下次中断的中断源?     


比如:我要初始化a口,它的初始方向是输入,当执行
PTA = 0xFF; 时,从mermory window里面看 PTA 没有变化?? 如果把方向改为输出就可以修改数据寄存器内容???怎么回事?
hi
要读某个端口的输入状态,必须将其设置为输入。当它为输入,寄存器的值就是口线状态,如何初始化?只有输出时才需要初始化。
海纳百川  有容乃大
4个键盘中断口接的4个按键,如何判断是哪个或者哪几个按键触发的中断?
在中断服务程序里读取该口值,如果是低电平的位是不是就是中断源? 那判断中断源后是不是还要把该口的数据寄存器写入oxFF?
hi
是。不要。
海纳百川  有容乃大
那下次中断来的话,又怎么区分中断源呢? 是不是因为每次键盘中断后,硬件会把中断源的电平拉高? 否则如果不用软件置位,又怎么区分下一次的中断源?
请指教![em05]
hi
一般按键按下去后,输入脚电平变低。按键松开后,电平变回高。如果一个建一直按着,则电平一直为低。按键中断也有边沿触发和电平触发两种方式。
海纳百川  有容乃大
返回列表