找回密码
 立即注册

QQ登录

只需一步,快速开始

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

关于电子硬件PCB工程师如何学习单片机

  [复制链接]
跳转到指定楼层
楼主
ID:918402 发表于 2021-5-17 23:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我是一名工作多年的电子硬件工程师,平时的工作主要是做做灯饰类的电子硬件设计和PCB画板,样板的调试工作。想学习单片机,主要应用就是一些简单的外部控制,比如光敏感应,红外感应,PWM调光等简单的操作,由于行业关系,对于成本极度重视,所以只能用8个P脚的便宜IC,甚至是研磨片,在学习过程中,对于AD数模转换以前的代码还是能写能看,但是后面慢慢的有些就只能一知半解了,请问下,对于初期来说,是不是可以利用模块化编程的方式,去拷贝一些代码,然后修改后保存,以后就多尝试,然后慢慢熟悉。也就是说前期,我就做一个搬运组装工,在这个过程中再不断的学习,这种方式是不是可行?
然后还有一个问题,之前学习单片机,检测某个脚位的电压值,然后做出判断,在之前的学习中,我的理解是单一个IO口引脚,单片机只能识别高或者低电平,要想判断电压值,得用模数转换模块至少8个引脚才能判断电压值的吧,但是我看到公司现在的产品,就只用一个IO口,可以精确到0.1V的判断数电压值范围,请问这是怎么做到的呢?
新入坑的小白,求老手指点,不胜感激!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:922984 发表于 2021-5-18 08:15 | 只看该作者
建议如下:
1,首先得买一个开发板,这个是基础硬件
2,到网上去下一些单片机的视频教程,每天学习1个小时
3,要学习C语言
4,有了一定的编程基础后可以多动手做一个小制作,比如学校经常做的小车等

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

板凳
ID:213173 发表于 2021-5-18 08:16 | 只看该作者
楼主所处行业属民用消费类产品。基本都是MCU的简单应用,多采用台廉价芯片。楼主既然有多年的电子硬件基础,再学习软件不是难事。何况有什么问题还可以与同事交流学习。而且工作环境的测试工具、试验条件比普通学生强多了。只要用点心,快则十天半月,慢则半年肯定能入门。至于模数转换问题,现在很多MCU都有内置ADC模块或比较器。就算没有也可以通过外部RC完成简单AD转换。依稀记得TB有卖一款SOT-23-5封装的台产廉价MCU就有内置ADC。软件硬件两手抓,两手都要硬,才能立于不败之地。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

地板
ID:592807 发表于 2021-5-18 08:23 | 只看该作者
有专门的AD检测IC
回复

使用道具 举报

5#
ID:517951 发表于 2021-5-18 08:25 | 只看该作者
我的理解是单一个IO口引脚,单片机只能识别高或者低电平,要想判断电压值,得用模数转换模块至少8个引脚才能判断电压值的吧,但是我看到公司现在的产品,就只用一个IO口,可以精确到0.1V的判断数电压值范围

SPI, I2C ,串口接口的AD,AD芯片就不需要8个引脚,数据是一个bit再一个bit先后传输的. 而8个引脚是一次性传输的, 占用PCB布线空间. 串口芯片就能很好的节省PCB面积,进而省成本

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

6#
ID:277550 发表于 2021-5-18 09:10 | 只看该作者
基础,模拟电路、数字电路、逻辑电路,等。。。。。。。。。。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

7#
ID:299519 发表于 2021-5-18 09:31 | 只看该作者
画个板来调不就行了么。
回复

使用道具 举报

8#
ID:390416 发表于 2021-5-18 09:53 | 只看该作者
好说,直接看这套视频教程学习 速度快很多的 https://www.bilibili.com/video/BV1Jx411Z7yC?p=1
我以前也是搞舞台灯光的
回复

使用道具 举报

9#
ID:546770 发表于 2021-5-18 09:59 | 只看该作者
我觉得吧,首先,单片机大多数是C语言开发的,首先肯定要先学习C语言(就楼主的要求来说C语言肯定足够用了),这个可以电脑上先学着,然后就是没必要急着上手单片机,先找一款合适的单片机型号(自己学习的话没必要压成本,STC的就可以,资料多,国产的价格也不是很贵,我比较推荐STC15F2K60S2,内部带有10位的ADC和一些常用的外设),先找到芯片手册,根据芯片手册画核心板,这点对楼主来说应该不是大问题,主要是先了解到这个芯片的一些片内外设和引脚复用功能,以及传感器是如何让如MCU通信的,有了通信就可以添加其他的传感器了,最后就可以按照网上的一些资料搭建开发环境进行MCU开发了,然后就说说我个人看法:C语言必须要,个人学习成本考虑不是很重要,重要的是了解MCU开发的方法,不要去死磕某一个型号的MCU,尽量做到拿到任一型号就能根据芯片手册快速上手,然后就是楼主说的搬运可不可行的问题,这是可行的,高校学习也是从搬运开始的,先让单片机跑起来(可以从GPIO开始,点亮LED什么的),然后再扩展到其他外设,基本就能达到要求了。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

10#
ID:918402 发表于 2021-5-18 10:12 | 只看该作者
wulin 发表于 2021-5-18 08:16
楼主所处行业属民用消费类产品。基本都是MCU的简单应用,多采用台廉价芯片。楼主既然有多年的电子硬件基础 ...

软件是没有办法和同事交流的,软件都是外包公司提供芯片的供应商给的,连C文件都看不到,只会给个HEX烧录文件给我们,目前用的芯片是全智芯的
回复

使用道具 举报

11#
ID:918402 发表于 2021-5-18 10:16 | 只看该作者
雪地飞狼 发表于 2021-5-18 08:15
建议如下:
1,首先得买一个开发板,这个是基础硬件
2,到网上去下一些单片机的视频教程,每天学习1个小 ...

开发板我前后买了三块,包括视频,其中有云龙的,普中的,还有个夏老师的。视频教程有在看,前面简单的感觉没问题,但是后面的内容有些懵懂,勉强能看懂代码。所以想按照自己的想法,画些板,尝试去复制一些代码修修改改,看可不可以
回复

使用道具 举报

12#
ID:213173 发表于 2021-5-18 11:03 | 只看该作者
xiazhiyu1979 发表于 2021-5-18 10:12
软件是没有办法和同事交流的,软件都是外包公司提供芯片的供应商给的,连C文件都看不到,只会给个HEX烧录 ...

把开发板的配套例程熟练玩一遍,基本算入门了。对付一些简单的外部控制,比如光敏感应,红外感应,PWM调光等简单的操作够用了。不要把模块化编程想象得多么高大上,玩多了,模块都在心中,随手拈来。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

13#
ID:607312 发表于 2021-5-25 11:13 | 只看该作者
检测IO脚的电压可以用ADC口来做,我也是刚刚接触单片机不久,大家一起学习,楼主是否在中山古镇呢。
回复

使用道具 举报

14#
ID:926958 发表于 2021-5-25 13:17 | 只看该作者
首先要有基础,学好理论。然后自己动手实践。
回复

使用道具 举报

15#
ID:926958 发表于 2021-5-25 13:18 | 只看该作者
购买相关课本,去网上搜相关视频学习。
回复

使用道具 举报

16#
ID:931089 发表于 2021-6-2 00:00 | 只看该作者
1.可以去某个有名气一点的视屏博主那里先学习一下
2.然后去买一套他那里的配套的板子按教程一起做
3.最后当然就是自己写程序然后运行了
回复

使用道具 举报

17#
ID:918402 发表于 2021-6-2 21:09 | 只看该作者
cdiyy 发表于 2021-5-25 11:13
检测IO脚的电压可以用ADC口来做,我也是刚刚接触单片机不久,大家一起学习,楼主是否在中山古镇呢。

住在中山东区
回复

使用道具 举报

18#
ID:932136 发表于 2021-6-3 14:28 | 只看该作者
开发板是必须的从易到难可以从arduino或51到stm32或FPGA
回复

使用道具 举报

19#
ID:932136 发表于 2021-6-3 14:31 | 只看该作者
开发板是必要的
1.建议开始先从arduino或51着手,再后来可以试试stm32
2.学习主要是靠视频,买板子的商家也会给你相应资料
3.项目从简单做起,红外避障,电子琴这种易上手
回复

使用道具 举报

20#
ID:398094 发表于 2021-6-3 15:44 | 只看该作者
MCU自带ADC模块,部分没有ADC可以使用计数器,利用RC充电检测电压
回复

使用道具 举报

21#
ID:932196 发表于 2021-6-3 15:52 | 只看该作者
你首先要找到适合自己的单片机种类。如有stm32 c51 arduino。然后再去找相应单片机板子的教程。各个论坛,大学mooc和书都有相关教程。以我来说,我是学arduino入门的。arduino也特别简单,随便学几行代码便能够实现可见的效果。这些单片机大多数都是以c语言为主。以后你要丰富你的外设,估计还要学习模电 数电 焊接等学科。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

22#
ID:578303 发表于 2021-6-3 16:09 | 只看该作者
建议买块开发板把MCU寄存器配置都玩一遍
回复

使用道具 举报

23#
ID:918402 发表于 2021-6-3 19:14 | 只看该作者
laiguoliang 发表于 2021-6-3 16:09
建议买块开发板把MCU寄存器配置都玩一遍

开发板我都买了三块了,云龙的,普中的,还有一个不知名的,跟着教程都会。。。离开教程想拿一块单片机尝试写个简单程序,就不会了,只会用stc89C52RC开发板来写简单程序。。。
回复

使用道具 举报

24#
ID:932779 发表于 2021-6-4 11:16 | 只看该作者
电路、数电、模电、C语言,单片机学好这些,打好基础
回复

使用道具 举报

25#
ID:883031 发表于 2021-6-4 17:27 | 只看该作者
xiazhiyu1979 发表于 2021-6-3 19:14
开发板我都买了三块了,云龙的,普中的,还有一个不知名的,跟着教程都会。。。离开教程想拿一块单片机尝 ...

会写51的就能写其他的。
回复

使用道具 举报

26#
ID:918402 发表于 2021-6-4 19:08 | 只看该作者
cn_zhx 发表于 2021-6-4 17:27
会写51的就能写其他的。

我就是个猪,会写一点89C52的,但是就是不会写其他的。。。还是实际操作的少
回复

使用道具 举报

27#
ID:933066 发表于 2021-6-4 20:10 | 只看该作者
感觉好难啊,学习了
回复

使用道具 举报

28#
ID:420836 发表于 2021-6-5 08:08 | 只看该作者
对于硬件工程师来说,因为有设计电路的经验和制作测试电路的技巧,所以有了好的开发板,可以直接从编程实践开始。
回复

使用道具 举报

29#
ID:96072 发表于 2021-6-10 10:06 | 只看该作者
xiazhiyu1979 发表于 2021-6-3 19:14
开发板我都买了三块了,云龙的,普中的,还有一个不知名的,跟着教程都会。。。离开教程想拿一块单片机尝 ...

楼主,你买的那些开发板是讲大概的,所以新手上项目比较迷茫,推荐你用这块开发板,很容易开发项目的,某个宝搜索"DIYO迪耀电子科技 "
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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