0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

学习51单片机心得体会

multisim 来源:《嵌入式资讯精选》 作者:《嵌入式资讯精选 2020-11-30 10:00 次阅读

在这里给大家分享一下学习51单片机心得体会:

1、我从不说51是基础,如果我这么说,也请把这句话理解为微机原理是基础。

2、对51单片机的操作本质上就是对寄存器的操作,对其他单片机也是如此。库只是一个接口,方便使用者使用而已。

3、汇编语言在工作中很少用到,了解就好。

4、51单片机的P0口很特别。

5、C语言就是C语言,51单片机就是51单片机,算法就是算法,外围电路就是外围电路,传感器就是传感器,通信器件就是通信器件,电路图就是电路图,PCB图就是PCB图,仿真就是仿真。

当你以后再也不使用51了,C语言的知识还在,算法的知识还在,搭建单片机的最小系统的技能还在,传感器和通信器件的使用方法还在,还会画电路图和PCB图,当然也会仿真。

6、51单片机是这个:

1.png (462.76 KB, 下载次数: 4)

下载附件 保存到相册

2016-9-18 15:24 上传

7、当程序调试不如人意的时候,静下心来好好查资料,51单片机最大的好处就是网上资料非常多,你遇到的问题别人肯定也遇到过。作为学习者,问人可能更方便点,但一直这样是培养不出解决问题的能力的。

8、有些单片机初学者觉得看例程不好,觉得就等于看答案一样有罪恶感。其实对初学者来说,看例程、理解例程、再看例程的注解是最好的学习途径。做实验、做课程设计、做参赛作品的时候也是可以移植程序的,不需要自己重新实现(当然老师布置的作业还是独立完成好)。

但是,要清楚,移植程序不等于学习单片机,最重要的是知道例程是怎样的框架及实现方法。初始化了哪些寄存器,做了哪些引脚配置,调用了哪些函数,那些函数又是怎么实现的,设置了哪些中断,用到了哪些片上资源(UARTADC等),查询了哪些状态,如果状态变化(触发事件)又会做些什么等等。由此整理出一个流程图并知道其实现方式,基本上这个例程就学习得差不多了。

总结51单片机上拉电阻的作用:

1.用于为OC和OD门电路,提供驱动能力

以OC(集电极开路)电路为例:

例如,达林顿管(其实就是复合三级管)集成块ULN2003. 内部一路的电路如图,就是一个集电极开路电路。

2.png (16.25 KB, 下载次数: 4)

下载附件 保存到相册

2016-9-18 15:24 上传

如果不加上拉电阻是无法高电平驱动其他器件的。因为当三极管截至市没有电流流通的路径,更谈不上驱动了。这个跟单片机P0口加上拉电阻的原理一样。

2.提高高电平电位

单片机P1口外接4×4矩阵键盘。另外复用P1.0~P1.3外接ULN2003控制驱动步进电机

实验中遇到的问题:当接入ULN2003时键盘无法工作,去掉ULN2003后键盘工作正常,ULN2003工作正常。(注:两个部分不同时工作)

问题分析:由于键盘的结构,无非就是两个金属片的接通或断开,但是接入ULN2003 后无法正常工作,说明是接入ULN2003影响到了P1口电平的变化。用万用表测的电压,当单片机输出高电平时,P1.0~P1.3电压1V左右,P1.4~P1.7电压4.3V左右,于是测AT89s52高低电平的判决电位,在1.3V左右。这样P1.0~P1.3始终是低电平,键盘根本无法实现扫描功能。

解决方法:只要抬高P1口高电平时的电位,就可以正常工作。

(1)在P1口到ULN2003上串接电阻,起到分压的作用,就可以抬高电平。

(2)给P1口接上拉电阻,跟P1口内部电阻并联,减小上拉电阻阻值,减小分得的电压,从而抬高P0口高电平电位。

采用第二种方案可以抬高电平到2.5V左右,键盘工作正常。

另外:我在做液晶显示实验的时候,数据线用的P0口,无法正常工作,不显示字符。但是乱动一下数据线就可以完成显示,但是显示现象并不正常,字符不是一次写入,而是乱动几次才能写完全部内容,正常应该一次全部显示 。原因是由于我的P0口中有六个端口都外接并联三个发光二极管。,因为从资料上查到,P0口每一个端口最大可以吸收10mA电流,总电流不能超过26mA电流。这样算我的总电流已经到了40mA,所以怀疑是驱动的问题,于是去掉了几个二极管,显示一切正常。似乎问题已经解决,但总觉得还是有点问题,于是又经过几次试验,发现只有当P0.7端口的并联二极管去掉一个,再在其他端口接上一个发光二极管,此时也可以正常显示。但是这样P0口吸收电流在38mA,也超过了26mA不少,所以不是吸收电流太大的问题。仔细分析当端口并联外接三个二极管的时候等效于加了一个700欧左右的电阻,于是把二极管去掉换成一个1k欧电阻,液晶也无法显示。

经过仔细分析,我认为,由于P0.7是液晶忙信号的返回线路,当这个端口返回高电平时,说明液晶正在处理数据,无法接收新的数据,返回0时说明空闲,可以接收新数据。

这样当上拉电阻太小了,液晶返回低电平时就有可能高过1.3V(AT89s52高低电平的判决电位),单片机接收到后,不会当作低电平,当然也就无法显示了(程序设计的时检测到忙信号,继续检测)。

总结:上拉电阻选择也有要求,既不是越高越好也不是越低越好,得根据需要选择。这可能也叫,阻抗匹配吧。


责任编辑:lq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 上拉电阻
    +关注

    关注

    5

    文章

    345

    浏览量

    30258
  • 寄存器
    +关注

    关注

    30

    文章

    5028

    浏览量

    117712
  • 51单片机
    +关注

    关注

    269

    文章

    5649

    浏览量

    120698

原文标题:51单片机的这些学习心得,你悟出来了吗?

文章出处:【微信号:A1411464185,微信公众号:multisim】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    谈谈大家学习FPGA的经历

    谈谈大家学习FPGA,一路以来的经历感受,有啥心得体会都可以畅聊分享
    发表于 03-31 12:55

    stc51单片机怎么烧录

    步骤 常见问题与解决方法 STC51单片机是一种常见的8位单片机,广泛应用于各种嵌入式系统。它具有高性能、低成本、易于学习和使用等优点。STC51
    的头像 发表于 01-02 17:41 996次阅读

    51单片机中断学习笔记

    51单片机中断学习笔记
    发表于 12-05 12:13

    【XR806开发板试用】实战OpenHarmony固件编译

    固件编译是一种将源代码转化为可执行文件的过程,其中涉及了多个环节和工具的使用。在这次的学习过程中,我主要了解了设置编译工具链、对代码工程进行配置、关键步骤说明等方面的内容,下面我将结合自己的学习经历和感受,谈谈自己的心得体会
    的头像 发表于 11-29 11:44 399次阅读
    【XR806开发板试用】实战OpenHarmony固件编译

    51单片机C语言编程入门学习资料

    电子发烧友网站提供《51单片机C语言编程入门学习资料.pdf》资料免费下载
    发表于 11-18 11:04 11次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>C语言编程入门<b class='flag-5'>学习</b>资料

    在进行51单片机学习时要注意哪些问题?

    在进行51单片机学习时要注意哪些问题
    发表于 10-19 07:19

    现在玩51单片机,这也太LOW了?

    51单片机被广泛应用于智能家居、物联网、智能安防等领域,学习51单片机可以让我们更好地了解这些领域的技术和应用。可靠性高:
    的头像 发表于 10-07 16:05 316次阅读

    51单片机烧写程序的方法

    STC89C51是应用广泛的51单片机,很多人都是通过该单片机入门学习的,单片机
    的头像 发表于 09-11 10:10 3556次阅读
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>烧写程序的方法

    基于51单片机的简易时钟设计

    基于51单片机的简易时钟设计
    的头像 发表于 08-01 01:09 1846次阅读
    基于<b class='flag-5'>51</b><b class='flag-5'>单片机</b>的简易时钟设计

    基于51单片机的智能花盆设计

    基于51单片机的智能花盆设计
    的头像 发表于 08-01 00:52 626次阅读
    基于<b class='flag-5'>51</b><b class='flag-5'>单片机</b>的智能花盆设计

    基于51单片机实现无源蜂鸣器控制

    前篇教程我们已经介绍了如何控制51 单片机的IO 口输出高低电平,本章我们通过另外一个实验来讲述51单片机IO口的输出。通过单片机的一个IO
    发表于 07-17 14:23 3831次阅读
    基于<b class='flag-5'>51</b><b class='flag-5'>单片机</b>实现无源蜂鸣器控制

    51单片机工程模板创建方法

    本教程将向大家介绍如何使用KEIL C51 软件以及如何创建51 单片机工程。通过本教程的学习,让大家创建属于自己的51
    发表于 07-15 15:27 3045次阅读
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>工程模板创建方法

    51单片机最小系统的构成

    在基础篇01中,我们完成了51单片机开发环境的搭建,本节我们正式学习51单片机51
    发表于 07-15 15:23 5470次阅读
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>最小系统的构成

    51单片机的晶振频率是多少?

    51单片机是一种常用的微控制器芯片,广泛应用于各种电子设备的控制和计算中。在单片机中晶振非常重要,它是单片机实现高精度和高速运算的基础。JSK晶鸿兴为您介绍
    的头像 发表于 07-03 14:37 3854次阅读

    ARM单片机51单片机有什么区别

    ARM单片机51单片机都是嵌入式微控制器,它们都有自己的特点和应用领域。本文将介绍ARM单片机51
    的头像 发表于 05-08 13:58 2108次阅读