找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2674|回复: 22
收起左侧

MCU中断是如何产生的?

[复制链接]
ID:450037 发表于 2021-10-21 15:39 | 显示全部楼层 |阅读模式
如图,系统初始化keybus=P0  且初始化 keybus=0xf1
问题是,按键按下去,外部中断是如何知道的。且P0^0怎么会等于0,初始化被置1,当有按键按下去应该是P0八个位的状态应该是xxxx0001,
请MCU高手指点一下
捕获.PNG 1.PNG

2.PNG


回复

使用道具 举报

ID:624769 发表于 2021-10-21 16:22 | 显示全部楼层
1是高电平, 0是低电平, 按键按下去, 就是把IO和地接通,那么IO就是低电平,就是0了。和你设置1没有关系。任何高电平的输出,接了地之后(只要电路设计合理不烧掉),电平都会被拉低到地。
回复

使用道具 举报

ID:94031 发表于 2021-10-21 16:48 | 显示全部楼层
要把硬件电路告诉大家。
回复

使用道具 举报

ID:450037 发表于 2021-10-22 09:07 | 显示全部楼层
188610329 发表于 2021-10-21 16:22
1是高电平, 0是低电平, 按键按下去, 就是把IO和地接通,那么IO就是低电平,就是0了。和你设置1没有关系。任 ...

51hei图片_20211022090245.jpg
一共是9个按键,它的键值分别是
bc: 1011 1100
ec: 1110 1100
ea: 1110 1010
ba: 1011 1010
da: 1101 1010
d6: 1101 0110
b6: 1011 0110
e6: 1110 0110
dc: 1101 1100
我想知道最后一位都是0,怎么来的?程序里并没有赋值给他,初始化也是0XF1
回复

使用道具 举报

ID:401564 发表于 2021-10-22 13:26 | 显示全部楼层
1,你不上传代码,截图都是不全的,网友也不知道怎么回事
2,你的图是0.0-0.7,这是P0端口的意思吗?如果是,那跟中断0是没有关系,中断在P3端口
如果不是,这0.0+0.7是什么意思?
3.你画的这网格,这是不是表示这是一个4*4键盘?
4,你截图中还有看门狗,这跟按键有关联吗?
回复

使用道具 举报

ID:972388 发表于 2021-10-22 13:37 | 显示全部楼层
请再给我们一些详细的信息,代码没有截全欸
回复

使用道具 举报

ID:450037 发表于 2021-10-22 14:03 | 显示全部楼层
Y_G_G 发表于 2021-10-22 13:26
1,你不上传代码,截图都是不全的,网友也不知道怎么回事
2,你的图是0.0-0.7,这是P0端口的意思吗?如果是,那跟 ...

0.0到0.7是P0端口的意思 为什么说跟中断0没有关系啊?画的图是4x4的矩阵键盘示意图,但是可能程序里只用了3X4的矩阵,因为P0.0一直为低电平。
捕获.PNG
那个截屏就是系统初始化里面的,我把它重新上传一下,那个开门口跟矩阵键盘没有关系。

回复

使用道具 举报

ID:974164 发表于 2021-10-22 15:38 | 显示全部楼层
#在这里快速回复#要让 CPU 中断当前的程序去做其他事情,需要向它发出请求信号,CPU 接收到中断请求信号后才能产生中断。让CPU产生中断的信号称为中断源(又称中断请求源)。  MCS-51系列单片机的中断源包括:两个外部中断源、两个定时器/计数器中断源和一个串行通信口中断源,如果它们向 CPU 发出中断请求信号,CPU 就会产生中断,停止执行当前的程序,转而去执行指定的程序(又称中断服务程序或中断子程序),执行完后又返回来执行原来的程序。
回复

使用道具 举报

ID:401564 发表于 2021-10-22 15:43 | 显示全部楼层
zhangzhao2423 发表于 2021-10-22 14:03
0.0到0.7是P0端口的意思 为什么说跟中断0没有关系啊?画的图是4x4的矩阵键盘示意图,但是可能程序里只用 ...

EX0中断是P3.2端口,它是由P3.2触发的,跟P0是没有关系的,除非P0在硬件上控制P3.2
回复

使用道具 举报

ID:450037 发表于 2021-10-22 16:12 | 显示全部楼层
Y_G_G 发表于 2021-10-22 15:43
EX0中断是P3.2端口,它是由P3.2触发的,跟P0是没有关系的,除非P0在硬件上控制P3.2

这个是C8051F020系列的,跟交叉开关设置有关系
回复

使用道具 举报

ID:401564 发表于 2021-10-22 16:57 | 显示全部楼层
zhangzhao2423 发表于 2021-10-22 16:12
这个是C8051F020系列的,跟交叉开关设置有关系

那P0.0到0.7到底有没有连接到P3.2?
如果有,那就有关系
如果没有,那就没有关系
回复

使用道具 举报

ID:450037 发表于 2021-10-22 19:15 | 显示全部楼层
Y_G_G 发表于 2021-10-22 16:57
那P0.0到0.7到底有没有连接到P3.2?
如果有,那就有关系
如果没有,那就没有关系

51hei图片_20211022191312.png 51hei图片_20211022191323.png 51hei图片_20211022191328.png
51hei图片_20211022191337.png

单片机使用的时C8051F020系列的,外部中断0由交叉开关设置到引脚P0.0上面去了
,现在问题是为什么所有按键按下去,P0.0都是低电位,这是怎么做到的
回复

使用道具 举报

ID:972853 发表于 2021-10-22 19:59 | 显示全部楼层
楼主的电路图如此蒙太奇,很难理解啊。手画没关系但要画清楚,按钮在矩阵中如何连接?有没有二极管之类的器件?交叉相接的线要画个点
回复

使用道具 举报

ID:401564 发表于 2021-10-22 22:00 | 显示全部楼层
zhangzhao2423 发表于 2021-10-22 19:15
单片机使用的时C8051F020系列的,外部中断0由交叉开关设置到引脚P0.0上面去了
,现在问题是为什么 ...

水平有限,看了半天,实在看不明白这交叉到底是怎么配置的,只知道端口可以选择而已,其它的什么都看不明白
回复

使用道具 举报

ID:450037 发表于 2021-10-23 08:25 | 显示全部楼层
njzr 发表于 2021-10-22 19:59
楼主的电路图如此蒙太奇,很难理解啊。手画没关系但要画清楚,按钮在矩阵中如何连接?有没有二极管之类的器 ...

就这样的矩阵按钮示意图,有没有二极管就不清楚了,这是硬件部分的限电流,应该与程序关系不大。程序里用的是3X4的矩阵,但实际上只用到了3X3,还有三个保留未用。然后P0.0为低电平时做外部中断用,问题是按钮按下去,P0.0是如何变为低电平的。

51hei图片_20211023082208.jpg


回复

使用道具 举报

ID:450037 发表于 2021-10-23 08:30 | 显示全部楼层
Y_G_G 发表于 2021-10-22 22:00
水平有限,看了半天,实在看不明白这交叉到底是怎么配置的,只知道端口可以选择而已,其它的什么都看不明白

51hei图片_20211023082208.jpg
按键示意图是这样的,但是不明白为什么按键按下去P0.0会变为低电平。
回复

使用道具 举报

ID:401564 发表于 2021-10-23 11:45 | 显示全部楼层
zhangzhao2423 发表于 2021-10-23 08:30
按键示意图是这样的,但是不明白为什么按键按下去P0.0会变为低电平。

上传原代码就有那么难?我看不出这是不是商业机密,如果是项目用到这个,那就得你自己解决了
STC的8051它不香?资料多,学的人多,基本是没有什么难到全网都搞不定的地步
P0.0和P00.1同时按下,0.0端口通过0.1下拉,这不就有低电平了吗?
回复

使用道具 举报

ID:450037 发表于 2021-10-23 13:28 | 显示全部楼层
Y_G_G 发表于 2021-10-23 11:45
上传原代码就有那么难?我看不出这是不是商业机密,如果是项目用到这个,那就得你自己解决了
STC的8051它不 ...

好的,我来上传原代码文件,我已经把它弄成压缩包上传了

小白项目.zip

182.96 KB, 阅读权限: 70, 下载次数: 5

原代码文件

回复

使用道具 举报

ID:837951 发表于 2021-10-24 09:18 | 显示全部楼层
51中断在P3
回复

使用道具 举报

ID:450037 发表于 2021-10-25 08:02 | 显示全部楼层

C8051F系列的中断可以通过交叉开关功能设置到P0.0
回复

使用道具 举报

ID:959346 发表于 2021-10-25 20:04 | 显示全部楼层
压缩包下不了。按你的按键示意图,按键没有用到P0.7和P0.0。P0.7一直是高,估计你没有其它地方用到,P0.0按照你的说法是使用交叉配置成中断输入了,所以查一下规格书,被配置成中断输入的IO,直接读的时候是不是就是固定'0'了?
回复

使用道具 举报

ID:974905 发表于 2021-10-25 20:26 | 显示全部楼层
这个是按键扫描输入吧
回复

使用道具 举报

ID:959346 发表于 2021-10-25 22:10 | 显示全部楼层
Jiang_YY 发表于 2021-10-25 20:04
压缩包下不了。按你的按键示意图,按键没有用到P0.7和P0.0。P0.7一直是高,估计你没有其它地方用到,P0.0按 ...

示意图最好画的更明确一些,这个是按照你画的图,P0.0和P0.7理解为没有连接,直接悬空的状态来看的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表