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

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

总结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

51单片机c语言学习感想,学习51单片机心得体会相关推荐

  1. java学不下去能学web安全吗,这半年学习 Web 安全的一点心得体会

    原标题:这半年学习 Web 安全的一点心得体会 来自公众号: 信安之路 大家好,我是 Mirror(王宇阳),专科在读的大二学生:接触信安时间不长,大佬多多指教.信安之路成长平台网站开放后我就在双十一 ...

  2. [CSP-S Day1,Day2 游记]提高组考后总结及学习编程C++以来的心得体会

    怀着沉重而感慨的心情写下了这篇blog 考试中暴露的问题 Day1 Day2 综上 解决方法 学习历程及以来的心得体会 职业精神 这篇博客我可能会写好几天,我jio得这篇博客对我的学习历程以及态度产生 ...

  3. 学完计算机专业英语感受,学习计算机专业英语的心得体会

    学习计算机专业英语的心得体会 ★精品文档★ 学习计算机专业英语的心得体会计算机专业英语有多重要,我简直不愿再多嘴了,但真正重要的是我们自己能读得懂它最近花短时间学完了<计算机专业英语>,只 ...

  4. 单片机C语言稳压程序,51单片机的基于MC34063的5V稳压器的设计 -(原理图+程序)...

    题 目基于MC34063的5V稳压器的设计 研究现状:随着网络技术及通信技术的发展,便携式电子产品如个人数字助理(PDA).3G.4G手机.数码相机.笔记本电脑等个人设备的日益广泛应用,更多需求不断上 ...

  5. 51单片机c语言延时计算软件,51单片机精确延时程序大集合+初值计算工具

    在论坛上看到不少不错的延时程序,整理如下共同分享: 精确延时计算公式: 延时时间=[(2*第一层循环+3)*第二层循环+3]*第三层循环+5 ;延时5秒左右 DELAY5S:PUSH   04H;2个 ...

  6. 单片机c语言 王东锋,基于51单片机的输液报警系统设计

    高扬 摘 要:本设计是以AT89C51单片机为核心,利用光电传感器来检测设备液体的流动情况.当吊瓶内有点滴落下时,可通过红外检测装 1前言 随着信息技术和计算机技术的发展,信息革命在工业.医疗和控制领 ...

  7. 单片机c语言按键调整时钟,51单片机C语言可调时钟.doc

    51单片机C语言可调时钟 程序介绍:六位共阳数码管显示,时·分·秒均可用按键调节.短按时选位的时间按一次加一下,长按不放时时间按一定的频率增加! 本程序的是我参考别人的基础上移植.再加上自己的想法做出 ...

  8. 51单片机C语言波特率十六进制,理解51单片机串口通信的波特率与USB转串口通信...

    RS232 在我们电脑上,一般都会有一个9针的串行接口,这个串行接口叫做RS232接口,它和UART通信有关联,但是由于现在笔记本电脑不带9针串口,所以和单片机通信越来越趋于使用USB虚拟串口. 九针 ...

  9. 单片机c语言电梯程序设计,基于51单片机的模拟电梯控制系统设计.doc

    摘要:本文介绍了一种电梯模拟控制系统,包括怎样利用对STC89C52进行编程从而对电梯实现自由控制的方式.该系统采用了STC89C52芯片进行控制,用单片机进行编程,能实现的功能非常多而且方便设计,并 ...

最新文章

  1. 2018-3-20论文(一种新型的智能算法-狼群算法WPA)笔记二(狼群系统分析,算法步骤)
  2. 人类偏好的“可塑性”,从博弈说起
  3. 安卓无需root权限小黄鸟抓包教程
  4. html购物车内部处理样式,第4期学习班-1.23作业-【JQuery-attr方法】-【JQuery-切换CSS效果】-【JQuery-插入元素】-【JQuery-加入购物车】...
  5. Linux之Qt利用Sqlite静态编译库(转)
  6. ios APP开发简单实例
  7. 海淘会不会成为电商的下一片蓝海?
  8. 【weiphp微信开发教程】留言板插件开发详解
  9. MIS系统开发利器,实施、维护人员自定义报表的福音,AgileEAS.NET SOA平台动态报表指南...
  10. proteus8.6 示波器弹不出来?
  11. U盘插入电脑提示未能成功安装设备驱动程序,这个要怎么处理呢
  12. 车牌号测试打分最准确的软件,车牌号码测吉凶准吗?手把手教你选好的车牌号...
  13. 19.flowable 任务委派
  14. 贪心(优先队列) - New Year Snowmen - CodeForces - 140C
  15. 北京中医药 计算机基础,北京中医药大学远程教育学院计算机基础2008辅导资料.doc...
  16. Hbase完全分布式部署
  17. 16福师计算机应用基础在线作业,16秋福师《计算机应用基础》在线作业二答案...
  18. 《周志明的软件架构课》学习笔记 Day11
  19. python matplotlib 绘制K线图(蜡烛图)
  20. ZJOI2020游记

热门文章

  1. 在evaluate用到coco-caption时出现subprocess无法创建的错误
  2. CorelCAD 2019.5 v19.1.1.2035破解版下载【Win+Mac+注册机】
  3. 项目中分页查询得实现
  4. 新房贷政策难执行真实原因:央行货币政策非万能
  5. C语言取模运算符的妙用
  6. 简要的可行性分析报告(1)
  7. MySQL的文本导入之load data local
  8. Win10系统C++调用OpenCV实现网络摄像头录像和抓拍图片
  9. [Err] 23000 - [SQL Server]不能在具有唯一索引 'IX_student_info_2' 的对象 'dbo.student_info' 中插入重复键的行
  10. DoT/DoH/DoQ 之 CoreDNS配置