2021-09-14
Posted 星辰大海为征途
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021-09-14相关的知识,希望对你有一定的参考价值。
C51单片机学习心得
目录
前言
笔者乃小白一枚,从零基础学起。之前学了些关于51单片机的知识,积累了一些心得。现成此文,望各位大佬看后能多多交流,不吝赐教。
一、单片机是什么?
单片机(Single-Chip Microcomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。
虽然现在实际应用中用的更多的是诸如stm32、AVR等性能更加强大的单片机。但对于广大像笔者这样感兴趣却又零基础的小白来说,其中,51单片机是最简单的,也是最好入门、最好理解的。
二、使用51
1.优点
①从内部的硬件到软件有一套完整的按位操作系统,称作位处理器,处理对象不是字或字节而是位。不但能对片内某些特殊功能寄存器的某位进行处理,如传送、置位、清零、测试等,还能进行位的逻辑运算,其功能十分完备,使用起来得心应手;
②同时在片内RAM区间还特别开辟了一个双重功能的地址区间,使用极为灵活,这一功能无疑给使用者提供了极大的方便;
③乘法和除法指令,这给编程也带来了便利,很多的八位单片机都不具备乘法功能,作乘法时还得编上一段子程序调用,十分不便;
④可基于C语言编程,对于大部分的开发者来说都不会陌生,易于上手操作。
⑤51的发展已较为完善,在网上有着系统且大量的教学例程及视频。硬件方面各种模块在某宝等网站上也能很方便的买到。各大厂商如普中科技、正点原子等,都有较为完善的学习开发板,在最小的板子上,集成了各种模块,可进行大量的实验,在实践中学习。(笔者由于疫情期间网上难以买到,只好下了个Proteus仿真软件,自己照着开发板原理图进行搭建。同时做串口通信的实验时,用了VSPD搭建了个虚拟串口,如图:)
2.缺点及不足
①51系列的单片机由于内部硬件设计存在不足,保护能力较差,易烧坏芯片,在开发设计及硬件连接时要格外注意;
②同样是由于芯片内部设计, 虽然I/O脚使用简单,但高电平时无输出能力,这也是51系列单片机的最大软肋;
③由于51系列的芯片在设计之初的局限性,硬件在一些方面并未做到集成。诸如AD、EEPROM等功能需要靠扩展,增加了硬件和软件负担;
④运行速度过慢,特别是双数据指针,如能改进能给编程带来很大的便利。
总结
51的学习并没有想象中的那么难,在学习的过程中要做到软硬件结合。软件编程方面只需要熟练掌握C语言,及熟悉开发环境(我用的是KEIL C51)。硬件方面则要理解高低电平的输出原理,及三级管、数码管、矩阵按键等常见电子元器件的内部原理。同时,要尽可能的了解寄存器。虽然实际编程中更多的情况是通过调用头文件并通过宏定义来进行对IO口进行操作,但是最终都是对寄存器进行读写。
在学习51的过程中,笔者的C语言功底也变得更为扎实,同时了解到了很多原来
完全不知道的硬件知识。
以上是关于2021-09-14的主要内容,如果未能解决你的问题,请参考以下文章
2021-09-14 WPF上位机 12-属性绑定(静态属性绑定)