找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1691|回复: 10
打印 上一主题 下一主题
收起左侧

想请教一下各位前辈一个问题关于单片机与程序之间联系的问题

[复制链接]
跳转到指定楼层
楼主
想请教各位一个问题如下:
我们都知道通过KEIL编程给某一个IO口高电平或低电平就能使与该IO口连接的外设工作,但是为什么给单片机0或1就能驱动外设,中间经历了一个怎样的过程?换句话说,凭什么给单片机一个高电平/低电平(1/0)就能使单片机工作?

在此表达对各位前辈衷心感谢。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:83345 发表于 2021-10-17 23:02 | 只看该作者
你是想问单片机是怎么工作的吗?从你的提问看,估计不是几句话能说清楚的,多读书吧。
回复

使用道具 举报

板凳
ID:624769 发表于 2021-10-17 23:15 | 只看该作者
你这个问题怎么说呢? 因果颠倒了, 给I/O口高低电平,这个是结果。而不是起因。

事实上,让单片机工作的最终目的,就是反映在让I/O口变换高低电平。简单的程序,就是拉高拉低I/O电平,复杂的程序就是按特定的规律,或者说特定的规则,去拉高拉低I/O。从而达到某些目的,比如流水等啊,电子钟啊,平衡车啊,等等,等等。
回复

使用道具 举报

地板
ID:955673 发表于 2021-10-17 23:59 | 只看该作者
KEIL编程比作写信,写给某部门(不出芯片),写给外地(外部 IO ),单片机就是送投的,这样能理解不?
回复

使用道具 举报

5#
ID:879348 发表于 2021-10-18 08:14 | 只看该作者
这就涉及到内核架构的问题了,懂了这些就可以设计内核了,百万年薪在向你招手
回复

使用道具 举报

6#
ID:123289 发表于 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,来改变引脚的电压,再利用引脚上的电压不同,来直接或间接地控制你想控制的东西,达成你的目的。
单片机上引脚很多,你可以通过程序,控制所有引脚上的电压,这就是所有程序要做的事,而且是唯一要做的事。这就是单片机能干的活,也是唯一能干的活。
回复

使用道具 举报

7#
ID:429003 发表于 2021-10-18 09:34 | 只看该作者
我曾经也很疑惑这个问题,电脑上编辑的几行代码,怎么就能控制硬件的IO做出动作!查阅了相当多的资料之后,的出了一个结论:“这玩意儿不是一般人该关心的事”。即便是一个简单的IO设计,内部逻辑关系也很复杂。原则上,我们也只管去使用它,不必去关心它具体的物理实现过程。
对于使用单片机的人来说,你只需要向操作的地址写入正确的数据,从期望的地址读出需要的数据。这就足够了(只需要学习了解,需要操作的地址或寄存器,具有什么样的功能,对硬件IO或其它外设有什么样的影响)。
另外,如果你有非常强烈的求知欲望,一定要搞明白这些东西,建议你去学习FPGA编程设计。从基本的数字门电路开始。只要功夫深,铁棒磨成针,牛人是可以设计一个自己的单片机出来的!!!
回复

使用道具 举报

8#
ID:891041 发表于 2021-10-18 10:53 | 只看该作者
外设都是数字电路构成的。 程序通过对外设的某些位操作 达成不同的需求。

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

51hei图片_20211018105038.png
回复

使用道具 举报

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

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

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

使用道具 举报

10#
ID:824490 发表于 2021-10-18 11:25 | 只看该作者
你这个问题 是很底层的问题,如要非要搞 懂,不是一两句话能讲的明白,你可以从数字电路入手:
触发器->单门->组合门->锁存器->译码器->除频/倍频计数等等,以及它门各自延伸的电路形式。

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

回复

使用道具 举报

11#
ID:429003 发表于 2021-10-18 12:11 | 只看该作者
一片一城 发表于 2021-10-18 10:54
“这玩意儿不是一般人该关心的事”

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

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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