电子技术论坛

 找回密码
 快速注册

QQ登录

只需一步,快速开始

搜索
下载方法|用单线程|避免多扣帖子规范|求助必读|发帖建议积分策略|勋章介绍|新人必读获取金币|推广论坛|出售帖子基本礼节|致会员信|版规总则
禁涉政治|反对低俗|举报专帖征集相片|留下足迹|推荐精华上传附件|制作分卷|使用网盘禁发qq群|恶意灌水|纯表情帖加入团队|监督机制|安全上网
楼主: jimsboy

讲讲单片机吧,给想了解它的人作为启蒙吧

    [复制链接]
发表于 2016-5-19 12:07:03 来自手机 | 显示全部楼层
老师,请推荐一本数字电路基础的书,通俗易懂的
 楼主| 发表于 2016-5-19 13:35:42 | 显示全部楼层
陈XXXX 发表于 2016-5-19 12:07
老师,请推荐一本数字电路基础的书,通俗易懂的

数字电路看书看的一头雾水。接触几个实例就容易理解。
发表于 2016-5-19 14:59:16 来自手机 | 显示全部楼层
老师讲的太好了,通俗易懂,而且知识点很容易就连接在一起了,赞一个
发表于 2016-5-20 12:28:17 | 显示全部楼层
老师你好,我想请教几个有关单片机烧录方法的问题,不知老师能不能帮我解决困扰,先谢谢老师。
  一、 单片机在烧录时会有单片机的引脚要与编程器相连接,而这些引脚在不同的单片机、不同的编程器上会有不同的引脚功能标识,我想求教老师,拿到一个单片机如何判断出他的那个引脚是:TXD、RXD、MIOS、MOIS、CLK、RST、MCLR/Vpp、PGD、PGC、OSC1等与编程有关的引脚。
  二、老师能不能传我几个有关单片机烧录的具体软件,比如通过TXD和RXD端口烧录的、通过MIOS、MOIS端口烧录的和通过MCLR、PGD、PGC等端口烧录的软件以及其它实用软件。谢谢。
三、老师我想求教一下,有的单片机烧录软件在我的电脑上有时候能正常打开应用界面,有时就不能打开应用界面,这是为什么。
四、老师能不能给我几个简单容易业余制作的单片机烧录编程器图纸,比如PIC系列单片机的,谢谢。
 楼主| 发表于 2016-5-20 17:17:01 | 显示全部楼层
张福喜 发表于 2016-5-20 12:28
老师你好,我想请教几个有关单片机烧录方法的问题,不知老师能不能帮我解决困扰,先谢谢老师。
  一、 单 ...

看来你没有怎么接触过编程器。
每种编程器都有自己配套的软件,打开软件就有可以支持的芯片型号。芯片夹上编程器,选好型号,它就知道哪个脚是什么功能了。你只要选择好要写进去的文件就可以了。
既然编程器都是配了软件,那就不存在软件问题了
自制编程器,很费时,还不如买一个,才小几十块钱
发表于 2016-5-20 19:13:45 来自手机 | 显示全部楼层
老师,继续讲!
发表于 2016-5-21 08:59:46 来自手机 | 显示全部楼层
楼主这个可以作入门教程了……就是有点偏汇编
发表于 2016-5-21 14:26:43 | 显示全部楼层
谢谢老师的指点。
 楼主| 发表于 2016-5-25 09:12:25 | 显示全部楼层
今天再增加一个新的东西,那就是ADC,也就是模数转换器。对于很多单片机,这个是单片机上的一个功能,所以用起来很方便。
前面说过,单片机的管脚可以作为输入,但是它的输入很简单,非0即1,什么意思,就是说你给它加一个电压,它只会将它认为两种状态,要么为低电平(我们记为0),要么为高电平(我们记为1)。多少才是高电平,多少是低电平,这是有标准的,一般来说,0.7倍的VCC(供电电压)以上,就认为是高电平,0.3倍VCC以下,认为低电平。对于5V供电的单片机,那就是3.5V以上,它就认为是高电平,1.5V以下就认为是低电平。那就有人会问了,如果我给它一个2.5V的电压,它是认为高电平还是低电平呢还是其他呢?单片机只可能识别出高或低,这种不高不低的电压,被认为是高还是低,就是各单片机的,比如你用这块单片机,它可能认为是高电平,但你换一块,可能就认为是低电平了,所以这种不高不低的电压是不应该出现在数字电路里的。万一真的出现了,认为是高还是低就不好说了。前面说的0.7VCC和0.3VCC只是说,如果你的电平达到了0.7VCC时,我必须认为是高,否则我这个单片机就不合格了。但是你说,如果电压为0.69倍的VCC,你认为是高还是低?可以说绝大部分单片机还会认为是高电平,但是如果认错了,那我单片机厂家是不负责的。

因为有规定,0.7倍的VCC就一定要认为高电平,那么我发送的时候,要求就更严了,一般芯片输出高电平要求达到0.9倍VCC,低电平小于0.1倍VCC,这样输出高电平至少要达到4.5V,比接收端要求的高于3.5V要多出1V的余量。因此就算是遇到一点点干扰也不至于出错。同样,低电平时也有1V的余量。

介绍完了单片机的管脚只有高或低两种状态,那么对于我们电路中很多信号都是一个变化的电压,那怎么玩?比如锂电池,充满了4.2V,随着电量的减少,电压也慢慢下降,降到3.5V以下,基本就没什么电了。而按刚才那个标准,单片机会一直认为它是高电平,根本无法知道电量还有多少啊。为了解决这个问题,很多单片机上会集成一个ADC功能,也就是模拟-数字转换器。

这一功能一般只能在指定的某个管脚上才具有,具体哪个管脚,不同的单片机都不一样,所以你需要去看这个单片机的资料。通过设置单片机的一些寄存器,ADC这个功能就可以使用了,当你将一个电压接在这个管脚上,单片机里有一个寄存器里的值可以随着电压的变化而变化。

就和你的万用表一样,分别测1V和1.002V两个电压,如果你用指针表,很可能看不出任何区别,这时因为你的万用表分辨率不够,如果你用三位半的数字表,那就能看出区别来了。同样,单片机里的AD也就一个分辨率的概率。比如一个8位的AD,也就是说它的结果只可能是0-255之间的一个值,它用0-255表示0V到VCC的电压,VCC一般是5V,算一下5/256差不多0.02V,这是什么意思,0-0.02V的,寄存器里的值就是0, 0.02-0.04 寄存器里就是1,以此类推,比如4.2V的电压,读到的就是4.2/0.02=210,如果电压为3.5V,读到的值就是175。所以你可以根据读到的值来知道这个管脚上的电压是多少,这样程序里可以根据这个管脚上的电压进行相应的功能。就像锂电供电的设备,例如手机,当电池没电的时候,它会自动关机。这个关机是软件实现的,手机在运行时,里边的CPU(你可以当它是一个很强大的单片机),也能像这样读取电压,并根据电压在手机上方画一个电池的图标告诉你还有多少电量,当电压低到3.5V时,它会显示电池空了,然后执行关机。
对于一个8位的AD,电压变化在0.02V以内,它是无法显示得出来的,要想显示这种更小的变化,你必须使用更多位数的AD,比如10位的,它能显示0-1023 这样0-5V被分成1024份,每格差不多就是0.005了。

有了AD,单片机上的某些管脚就可能测量电压了。很多传感器都是以电压来反馈信号的变化,因此只要将一些信号转为电信号,那单片机就能感受到它们了。比如热敏电阻,它的电阻会受温度影响,我用一个普通电阻有一个热敏电阻串起来,然后来测量热敏电阻上的电压,经过换算就能知道当前的温度了。如果换成光敏,我就知道外界的光线强度。如果换成压力传感器,就可以知道压力,如果这个压力传感器连在氧气瓶上,那就知道瓶里大概还有多少气,如果它是绑在胳膊上,再配上气泵和袖带,那可能测的是血压。所以有了AD之后,单片机的应用一下子活跃了很多。它再也不是一个只认识0和1的芯片,而是有了自己的感官了。通过软件的配合,那就没有边际了。就是只有想不到,没有做不到。

发表于 2016-5-26 07:14:28 来自手机 | 显示全部楼层
我想知道怎么编程
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|家电维修技术论坛 ( 鄂ICP备09003585号-2 )

GMT+8, 2024-11-21 20:15 , Processed in 0.055541 second(s), 3 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

CopyRight © 电子技术论坛
电子邮箱:8794149@qq.com | 联系 QQ:3081868839 | 官方网址:www.dzdu.com

Qiji. All Rights Reserved


服务条款 | 站长声明

Wuhan Qiji Technology Co., Ltd.武汉奇迹科技有限公司版权所有


鄂ICP备09003585号-2鄂公网安备42010602000420号

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