标题: 想请教一下各位前辈一个问题关于单片机与程序之间联系的问题 [打印本页]

作者: Ming305    时间: 2021-10-17 22:05
标题: 想请教一下各位前辈一个问题关于单片机与程序之间联系的问题
想请教各位一个问题如下:
我们都知道通过KEIL编程给某一个IO口高电平或低电平就能使与该IO口连接的外设工作,但是为什么给单片机0或1就能驱动外设,中间经历了一个怎样的过程?换句话说,凭什么给单片机一个高电平/低电平(1/0)就能使单片机工作?

在此表达对各位前辈衷心感谢。

作者: wang_l0650    时间: 2021-10-17 23:02
你是想问单片机是怎么工作的吗?从你的提问看,估计不是几句话能说清楚的,多读书吧。
作者: 188610329    时间: 2021-10-17 23:15
你这个问题怎么说呢? 因果颠倒了, 给I/O口高低电平,这个是结果。而不是起因。

事实上,让单片机工作的最终目的,就是反映在让I/O口变换高低电平。简单的程序,就是拉高拉低I/O电平,复杂的程序就是按特定的规律,或者说特定的规则,去拉高拉低I/O。从而达到某些目的,比如流水等啊,电子钟啊,平衡车啊,等等,等等。
作者: 冰火风轮    时间: 2021-10-17 23:59
KEIL编程比作写信,写给某部门(不出芯片),写给外地(外部 IO ),单片机就是送投的,这样能理解不?
作者: wufa1986    时间: 2021-10-18 08:14
这就涉及到内核架构的问题了,懂了这些就可以设计内核了,百万年薪在向你招手
作者: yzwzfyz    时间: 2021-10-18 08:55
单片机原本不懂0和1,0、1只是人类的观念。
在二进制数字表达上,人类将相互对立的两个面表示成0、1。
例如:来与去,开与关,多于少,大与小……
由于单片机用5V供电,就用电压的高与低来表示0、1。例如:>2.7V为1,<1.4V为0。而单片机的引脚上,也只能有电压高低的变化,它不会出一个什么人类观念上的数字。
当你命令引脚为1时,实际上它会输出约4.3V的电压;这个电压就可以点亮一个LED灯。
当你命令引脚为0时,实际上它会输出约0.1V的电压;这个电压就点不亮LED灯了。
真正【能使单片机工作】的,是你如何通过命令引脚上的0、1,来改变引脚的电压,再利用引脚上的电压不同,来直接或间接地控制你想控制的东西,达成你的目的。
单片机上引脚很多,你可以通过程序,控制所有引脚上的电压,这就是所有程序要做的事,而且是唯一要做的事。这就是单片机能干的活,也是唯一能干的活。
作者: xstong    时间: 2021-10-18 09:34
我曾经也很疑惑这个问题,电脑上编辑的几行代码,怎么就能控制硬件的IO做出动作!查阅了相当多的资料之后,的出了一个结论:“这玩意儿不是一般人该关心的事”。即便是一个简单的IO设计,内部逻辑关系也很复杂。原则上,我们也只管去使用它,不必去关心它具体的物理实现过程。
对于使用单片机的人来说,你只需要向操作的地址写入正确的数据,从期望的地址读出需要的数据。这就足够了(只需要学习了解,需要操作的地址或寄存器,具有什么样的功能,对硬件IO或其它外设有什么样的影响)。
另外,如果你有非常强烈的求知欲望,一定要搞明白这些东西,建议你去学习FPGA编程设计。从基本的数字门电路开始。只要功夫深,铁棒磨成针,牛人是可以设计一个自己的单片机出来的!!!

作者: abob    时间: 2021-10-18 10:53
外设都是数字电路构成的。 程序通过对外设的某些位操作 达成不同的需求。

51hei图片_20211018105038.png (105.72 KB, 下载次数: 89)

51hei图片_20211018105038.png

作者: 一片一城    时间: 2021-10-18 10:54
xstong 发表于 2021-10-18 09:34
我曾经也很疑惑这个问题,电脑上编辑的几行代码,怎么就能控制硬件的IO做出动作!查阅了相当多的资料之后, ...

“这玩意儿不是一般人该关心的事”

这话让我乐了一上午。太棒了!
作者: 名字不是重点    时间: 2021-10-18 11:25
你这个问题 是很底层的问题,如要非要搞 懂,不是一两句话能讲的明白,你可以从数字电路入手:
触发器->单门->组合门->锁存器->译码器->除频/倍频计数等等,以及它门各自延伸的电路形式。

开车的都不一定懂的内燃机的原理,你一个乘客就不用太纠结了。


作者: xstong    时间: 2021-10-18 12:11
一片一城 发表于 2021-10-18 10:54
“这玩意儿不是一般人该关心的事”

这话让我乐了一上午。太棒了!

实话啊,一味地纠结这个问题,将是一个拔出萝卜带出泥的过程,抛出的东西越多,越觉得自己是个小白,甚至会有这样感慨:“我这种小白还有救吗?”。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1