judy的博客

单片机小白学步(20) IO口原理

judy的头像

IO口操作是单片机实践中最基本最重要的一个知识,本篇花了比较长的篇幅介绍IO口的原理。也是查阅了不少资料,确保内容正确无误,花了很长时间写的。IO口原理原本需要涉及很多深入的知识,而这里尽最大可能做了简化方便理解。这样对于以后解决各种IO口相关的问题会有很大的帮助。

IO口等效模型是本人独创的方法,通过此模型,能有效的降低对IO口内部结构理解的难度。并且经查阅资料确认,这种模型和实际工作原理基本一致。

前面说了很多东西,不少人或许已经迫不及待的想要实际操作单片机了。IO口作为单片机与外界通信最主要的手段,是单片机学习最基本也最重要的一个知识。前面我们编程实现了IO口点亮LED的实验,本篇继续对IO口相关知识进行介绍。

为了更好的学习IO口操作,有必要了解一下IO口的内部结构和相关概念。这些知识对于后续的学习很有帮助,重点是理解,完全不需要刻意去记。不记得就回来再看看就行了,用得多了自然就记住了。

官方资料(最权威准确)

11张图读模电、数电必备的电路基础知识

judy的头像

电路:由金属导线和电气、电子部件组成的导电回路,称为电路。在电路输入端加上电源使输入端产生电势差,电路连通时即可工作。电流的存在可以通过一些仪器测试出来,如电压表或电流表偏转、灯泡发光等;按照流过的电流性质,一般把它分为两种:直流电通过的电路称为“直流电路”,交流电通过的电路称为“交流电路”。

基于ARM的十一种嵌入式操作系统

judy的头像

嵌入式操作系统(Embedded Operation System,EOS)是指用于嵌入式系统的操作系统。嵌入式系统分为4层,硬件层、驱动层、操作系统层和应用层。嵌入式操作系统是负责嵌入式系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动。它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能,是一种用途广泛的系统软件。

嵌入式LINUX

嵌入式Linux 是将日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种操作系统。Linux做嵌入式的优势,首先,Linux是开放源代码;其次,Linux的内核小、效率高,可以定制,其系统内核最小只有约134KB;第三,Linux是免费的OS,Linux还有着嵌入式操作系统所需要的很多特色,突出的就是Linux适应于多种CPU和多种硬件平台而且性能稳定,裁剪性很好,开发和使用都很容易。同时,Linux内核的结构在网络方面是非常完整的,Linux对网络中最常用的TCP/IP协议有最完备的支持。提供了包括十兆、百兆、千兆的以太网络,以及无线网络,Token Ring(令牌环网)、光纤甚至卫星的支持。

单片机小白学步(19) 单片机/计算机系统概述:扩展模块

judy的头像

本篇简单介绍各种单片机外设模块,目前考虑不全,可能会在后期进一步修改完善。

前面介绍的核心模块,是微机系统中比较重要甚至是必不可少的。随后又介绍了接口,其中ADC/DAC也是常见的两种模块(这里是指硬件模块)。下面再介绍一些扩展模块,这些模块可以根据需要添加到微机系统中。

扩展存储器/通信接口等

计算机的存储器不够用,可以换更大的存储器。而单片机内部RAM和ROM不够用,则可以在外部用电路芯片进行扩展,51单片机上就有专门的扩展存储器接口。不过现在用的不多,因为集成芯片发展很快,很容易买到内置存储器容量足够的同一系列单片机,反而节省了时间和成本。如果对入门篇中STC单片机的命名还有印象的话,89C52RC中的52和RC就分别表示了单片机内部ROM和RAM的大小。

扩展通信接口既可以认为是接口,也可以认为是模块。例如无线模块可以给单片机扩展出无线接口,实现多个单片机无线通信;蓝牙模块实现单片机和智能手机的通信;USB模块能实现USB操作;而当单片机的IO口不够用时,可以通过芯片扩充IO口,不过这会占用一定的CPU资源,同时降低IO口速度。

你知道嵌入式C语言中各变量存储的位置吗?

judy的头像

局部变量、局部静态变量、全局变量、全局静态变量区别如下:

局部变量: 栈区;
局部静态变量:静态区;
全局变量: 静态区的常量区;
全局静态变量:静态区。

在进行C/C++编程时,需要程序员对内存的了解比较精准。经常需要操作的内存可分为以下几个类别:

1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。

2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。

3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。

4、文字常量区 —常量字符串就是放在这里的。

5、程序代码区—存放函数体的二进制代码。

以下是一段实际说明的程序代码:
这是一个前辈写的,非常详细 。

单片机小白学步(18) 单片机/计算机系统概述:通信接口与协议

judy的头像

通信

何为通信?在英文中,通信用Communication表示,这个词也有交流的意思。实际上,通信和交流确实是一样的意思。不过在汉语中,交流常用来表示人与人之间的交流;而通信一般用于比较专业正式的场合,也就是所谓的术语。

人与人之间的交流,是信息交换的过程;微机系统或模块之间的通信,就是数据传输的过程了。

接口

人在用语言交谈时,需要用嘴说话,用耳朵听,通过空气来传播。信息的传递依赖嘴巴和耳朵来进行发送和接收。

微机系统的通信,则利用电、光等媒介。最常用的是电,表现在数字电路中,就是高低电平的变化。单片机的IO口能实现高低电平的收发,认为它是一种通信接口。接口是通信所依赖的实体。

协议

嵌入式系统开发的7大技巧

judy的头像

成为一个正式的嵌入式开发工程师。它是一个艰辛的过程,需要开发人员维护和管理系统的每个比特和字节。从规范完善的开发周期到严格执行和系统检查,开发高可靠性嵌入式系统的技术有许多种。今天给大家介绍7个易操作且可以长久使用的技巧,它们对于确保系统更加可靠地运行并捕获异常行为大有帮助。

技巧1——用已知值填充ROM

软件开发人员往往都是非常乐观的一群人,只要让他们的代码忠实地长时间地运行就可以了,仅此而已。微控制器跳出应用程序空间并在非预想的代码空间中执行这种情况似乎是相当少有的。然而,这种情况发生的机会并不比缓存溢出或错误指针失去引用少。它确实会发生!发生这种情况后的系统行为将是不确定的,因为默认情况下内存空间都是0xFF,或者由于内存区通常没有写过,其中的值可能只有上帝才知道。

不过有相当完备的linker或IDE技巧可以用来帮助识别这样的事件并从中恢复系统。技巧就是使用FILL命令对未用ROM填充已知的位模式。要填充未使用的内存,有很多不同的可能组合可以使用,但如果是想建立更加可靠的系统,最明显的选择是在这些位置放置ISR fault handler。如果系统出了某些差错,处理器开始执行程序空间以外的代码,就会触发ISR,并在决定校正行动之前提供储存处理器、寄存器和系统状态的机会。

单片机小白学步(17) 单片机/计算机系统概述:核心模块

judy的头像

前面已经介绍了模块化设计的特点和巨大优势。在我们的实验板中,单片机是其中最核心的一个模块;而对于单片机来说,又是由更多的子模块组合而成。本文主要对单片机/计算机系统中最核心的几个模块进行简要介绍。

为了便于进行说明,后面会将单片机/计算机简单的统称为微机系统。

信息与数据

何为信息?可以理解成我们周围各种所能感知到的东西、还有人们所思所想等等,信息的概念不好解释,但是大家都能理解,也不是我要讨论的重点。

在微机系统中,能处理很多信息,例如我正在写的内容,就是文字和图像信息。处理信息的前提,就是对信息进行表示,例如文字就是一种形式。

何为数据?在微机系统中,其结构决定了各种能处理的信息都需要表示成二进制数字,这就被称为数据。例如英文字符可以通过ASCII码表示成一个个字节的数据等。

CPU

人的大脑每时每刻所做的最重要的事,就是对大量的信息进行处理。对内部已有信息和外界信息进行处理,产生新的信息保存在大脑中,或对外界作出反应。

CPU即中央处理器(CPU=Central Processing Unit),是一个微机系统最核心的部件,可以认为相当于人的大脑中的思维部分,负责数据的处理。

要学好单片机,这21个晶振难题一定要先搞懂!

judy的头像

学51单片机的时候,总是伴随很多有关于晶振的问题,其实晶振就是如同人的心脏,是血液的脉搏,把单片机的晶振问题搞明白了,51单片机的其他问题迎刃而解……

有关51单片机有关晶振的问题一并总结出来,希望对学51的童鞋来说能有帮助。

一、为什么51单片机爱用11.0592MHZ晶振?

其一:因为它能够准确地划分成时钟频率,与UART(通用异步接收器/发送器)量常见的波特率相关。特别是较高的波特率(19600,19200),不管多么古怪的值,这些晶振都是准确,常被使用的。

PIC单片机电热剪电路原理图

judy的头像

电热剪电路系统构成如图1所示,其构成由传感器—滚珠开关、单片机定时检测及处理、工作状态指示、PWM信号产生与调整、电热模块驱动、电源共六个部分组成。

PIC单片机电热剪电路原理图

由图1可以看出,单片机通过传感器检测到电热剪操作者是否在操作电热剪的开关信息后,决定是否允许PWM信号产生电路工作,直接控制了电热模块的驱动电路对装配在剪刀刀片二侧的陶瓷加热片的功率提供。同时工作指示灯完成工作状态信息指示。

页面

订阅 RSS - judy的博客