嵌入式
BLSxiaopanlaile
这个作者很懒,什么都没留下…
展开
-
嵌入式之显示器总结
最近学习到了显示器一节,涉及到一些不同的显示器。在此对其使用及其特性做一简单总结。本篇总结以以下几点展开:一、常见的几种显示器类型及其特性二、显示器的几种常见接口类型三、显示器的信号传输模式一、常见的几种显示器类型及其特性这里直接摘取秉火的参考资料了。二、显示器的几种常见接口类型https://blog.csdn.net/ce123_zhouwei/article/detai...原创 2019-05-25 20:17:51 · 2793 阅读 · 0 评论 -
嵌入式之通信协议总结(从Uart、I2C和SPI入手)
最近在学习2440的时候,做了一些通信协议方面的实验。横向着做一总结。本篇总结总一下几个方面叙述:1、何为协议,何为通信协议?2、何为串行、何为并行?3、何为同步、何为异步?4、何为数据的采样和输出(时序问题)?5、其他一、何为协议,何为通信协议? 所谓协议,简单来说就是一群人事先定好的标准,大家都按照这个标准来,这样,大家说出来的话,做出来的东西,发出来的数据就可以被其他人理解...原创 2019-05-20 17:08:28 · 900 阅读 · 1 评论 -
嵌入式之存储总结(从C51、STM32、S3C2440入手)(二)
续:接着总结:二、C51、STM32和S3C2440的存储设备对于C51来说,就像上一篇说到的一样。基本的情况是:其内部有RAM、ROM还可以扩展外部的RAM和ROM。但是还不止这些C51芯片还是设计的挺复杂的。对STC90C51系列单片机内部还一定空间的的E2PROM(2K左右),可以保存一些需要在应用过程中修改并且掉电不丢失的参数数据。这种机制是使用IAP技术实现的。对于STM32来说...原创 2019-05-14 08:16:07 · 555 阅读 · 0 评论 -
嵌入式之存储总结(从C51、STM32、S3C2440入手)(一)
/*名称:嵌入式之存储总结(从C51、STM32、S3C2440入手)说明:最近在学习S3C2440相关存储器的时候,把C51、STM32和S3C2440有关存储部分的内容横向比较了一下,在此做一总结。*/ 从大的方面来说,计算机系统有三个主要的组成部分:CPU、存储器(主存和辅存)和输入输出设备。其中存储器在整个体系的作用一般是程序和数据的存储,其起着相当牛逼的作用。本节内容分为以下...原创 2019-05-13 18:58:47 · 944 阅读 · 0 评论 -
比较单片机普通引脚操纵HC595和STM32中SPI通信操纵HC595
总结一下: 此处对于单片机普通引脚操纵HC595和STM32中SPI通信操纵HC595做一下比较。对于HC595是串入并出。如果用普通引脚作为串行输入,那么需要通过移位操作,输出8(HC595是8位的串入并出。而对于SPI通信来说,只需要向SPI中输出一次就可以,移位操作通过SPI相关的硬件来完成了。这样的话,就会大幅度提高了效率。...原创 2018-03-22 17:20:48 · 1840 阅读 · 0 评论 -
C51、STM32、S3C2440 串口总结
/* 名称:C51、STM32、S3C2440串口总结 说明:这里我想说,对于一个通信协议来说。其无关于具体的芯片,所不同的是 具体的芯片在实现具体的通信协议时,会做出小小的改动。 对于串口来说,C51中、STM32和S3C2440中都差不多。使用起来也大同小异。 我越来越感觉,不仅是串口,嵌入式外设好像都差不多。有点:学精了一个 芯片,...原创 2018-03-01 12:59:05 · 329 阅读 · 0 评论 -
总结C51、STM32和S3C2440的时钟体系和定时器
/* 名称:总结C51、STM32和S3C2440的时钟体系和定时器 说明:对于C51单片机来说,其谈不上什么时钟体系。片上运行的所有东西都靠一个时钟脉冲提供–外部晶振。 对于STM32来说,其时钟体系比较复杂。为了达到降低能耗的目的,再设计STM32时,其厂商特地设计了一个STM32的时钟树。就连最简单的点亮一个LED灯,都必须配置其时钟树,再打开对应的时钟...原创 2018-02-25 20:57:07 · 1121 阅读 · 2 评论 -
C51、STM32和S3C2440中断体系的比较
/* 名称:C51、STM32和S3C2440中断体系的比较 说明:对于这三个芯片的中断体系来说,就我目前了解的, 我说:差不多。这里说的差不多,是中断的本质上差不多,都是首先中断源提出申请(比如触发了外部中断,定时器中断等),然后经过中断源屏蔽寄存器,再然后中断优先级的比较,最后CPU相应中断。(我去,这好像又回到了计算机组成原理啊)。不同的是细节,C51作为低级一点的...原创 2018-02-25 10:23:17 · 654 阅读 · 1 评论 -
嵌入式之IO口总结
名称:IO口总结 说明:最近横向学习了51单片机、STM32和S3C2440的IO口,做了几个相关的实验。 我们数据结构老师曾经说过 ”差异就是知识“。在此,比较了这几个芯片IO口的使用后,有些感悟,总结如下:1.IO口是芯片内部CPU和外设之间沟通的桥梁,也是其他模块(如I2C通讯、SPI通讯)的基础。不同的芯片对IO的操作不太相同,但很类似。高级一点的芯片(如STM32,S3C2440...原创 2018-02-21 11:32:21 · 4925 阅读 · 1 评论 -
C51IO口模拟I2C总线驱动AT24C16 (EEPROM部分)
/* 名称:C51IO口模拟I2C总线驱动AT24C16 说明:关于EEPROM,即这里的AT24C16是一个特殊形式的FLASH存储器,不过其容量一般较少。比较适合于存储少量的数据。AT24C16的通信接口是标准的I2C通信,即我们需要根据I2C通信协议来操纵EEPROM设备。 关于AT24C16的的各种操作,这里就不细讲了,简单介绍一下。(1)、主机向AT2...原创 2018-03-27 11:57:06 · 1118 阅读 · 0 评论 -
C51IO口模拟I2C总线驱动AT24C16 (I2C协议部分)
/* 名称:C51IO口模拟I2C总线驱动EEPROM(AT24C16)说明:I2C总线是由Philips公司开发的一种简单、半双工同步串行总线。它只需要两根线(SCL、SDA)即可在连接于总线上的器件之间传送信息。其中SCL时钟总线用于同步数据,SDA数据总线用来发送数据(或地址)。和SPI总线不同的是,I2C总线通过在SDL上发送存储器的地址用来选中总线上对应的设备。关于具体...原创 2018-03-27 11:45:48 · 694 阅读 · 1 评论 -
C51之74HC595的使用
/* 名称:74HC595的使用 说明:74HC595是一个8位串行输入、并行输出的位移缓存器:并行输出为三态输出。在SCK 的上升沿,串行数据由SDL输入到内部的8位位移缓存器,并由Q7’输出,而并行输出则是在LCK的上升沿将在8位位移缓存器的数据存人到8位并行输出缓存器。当串行数据输入端OE的控制信号为低使能时,并行输出端的输出值等于并行输出缓存器所存储的值。而当OE为高电...原创 2018-03-22 17:15:58 · 2675 阅读 · 0 评论 -
C51单片机之串口
/* 名称:C51单片机之串口 说明:在计算机之间进行通讯的时候,有两种方式,一个是串行通信,一个是并行通信。对于前者适合长距离通信、有一定的纠错能力。对于后者,适合短距离通信,速度较快。对于C51单片机来说,其内部集成有一个功能很强的全双工通信口。设有两个相互独立的接受、发送缓冲器,可以同时发送数据和接收数据。发送缓冲器只能发送不能读出。接收缓冲器只能接收不能发送,而且两...原创 2018-03-01 12:43:46 · 1013 阅读 · 4 评论 -
C51之定时器
/* 名称:C51之定时器 说明: 对于C51单片机来说,其内部有2个定时器,分别是T0和T1。它输入的时钟源是固定的,就是晶振输送的。当然它还可以作为计数器,统计外部输入的脉冲信号。这个实验是定时器中断实验。对于定时器中断,这是属于中断的一种。使用它也需要配置先前所属的相关寄存器。不同的是,关于定时器中断,还需要配置一些其他与定时器相关的寄存器,如定时器方式寄存器(TMOD)、计数器TH...原创 2018-02-25 19:16:24 · 1592 阅读 · 0 评论 -
C51之外部中断
/* 名称:C51之外部中断实验 说明:关于什么是中断这里就不说了。说说计算机中使用中断有什么好处吧。 (1)、实时处理。在计算机控制系统中,环境、参数的突然变化,可能需要 CPU立即做出相应或处理。 (2)、异常处理。计算机系统运行过程中,经常会出现断电、程序出错等问 题,这时就需要CPU对故障源进行处理。(从某种程度上说,第二点和第一...原创 2018-02-25 09:44:40 · 5138 阅读 · 2 评论 -
名称:51单片机之蜂鸣器和继电器
/* 名称:51单片机之蜂鸣器和继电器 说明: 1.关于蜂鸣器,一般来说,其控制方法和LED差不多,它们都只两种状态,只需要一个IO口即可控制。需要说明一点的是,一般来说蜂鸣器需要的驱动电流较大,一般的IO口提供不了,所以需要在中间接上放大电路,使其达到指定的工作电流。其次蜂鸣器分为有源和无源蜂鸣器,这里的“源”不是指电源。而是指震荡源。 也就是说,有源蜂鸣器内部带震荡源,所以只...原创 2018-02-21 10:05:01 · 2940 阅读 · 0 评论 -
名称:51单片机之数码管显示实验
/* 名称:51单片机之数码管显示实验 说明:对于数码管来说,其本质上可以理解为按照一定规则组合的多个二极管。其使用只需按照特定规则显示对应的二极管即可。要稍微注意一点的就是多个数码管的显示分为静态显示和动态显示。静态显示就是每个二极管显示的内容是一样的,通过片选信号来决定是哪个二极管该显示。动态数码管,即利用人眼的视觉停留效果,快速扫描,快速显示每个数码管的内容,使得每个数码...原创 2018-02-21 10:03:20 · 3948 阅读 · 0 评论 -
名称:51单片机之按键实验
/* 名称:51单片机之按键实验 说明:键盘是计算机最基础、最重要的输入设备之一。对于键盘来说,其工作任务大体可以分为以下三项: (1)、按键识别。即判断有无按键按下。 (2)、求键值。判断哪个键被按下。 (3)、执行相应的操作。 在这里,实验所用到的键盘为独立键盘和矩阵键盘。对于独立键盘,它的每个按键...原创 2018-02-21 10:01:34 · 2810 阅读 · 0 评论 -
51单片机实现LED流水灯(数组方式和位运算方式)
/* 名称:51单片机实现LED流水灯(数组方式和位运算方式)说明:今天又重新开始系统的学习51了,LED就算个开端吧。 要注意两点: 1、sfr和sbit是C语言扩展出来的关键字。其中sfr用于对特殊功能寄存器进行声明,sbit用于对某些特殊功能寄存器的某位进行声明。这里和宏定义很相似,但是不能用宏定义进行替换,对于前者是因为51单片机的寄存器存在于内部空间0x80-0...原创 2018-02-21 09:56:09 · 25089 阅读 · 6 评论 -
S3C2440之串口
/* 名称:S3C2440之串口 说明:S3C2440的串口,啊。并没有什么特殊的。稍微有点不同的就是,它有一个64字节的FIFO,相当于 C51和STM32中的输入输出缓冲。 关于具体的使用,也是先配置端口为串口功能,然后配置串口的一些参数,如波特率、数据位等等。最后是通过中断或者轮询的方式从缓冲器(FIFO)中读取或写入数据。这里就不提供代码了,实验...原创 2018-03-01 12:53:44 · 322 阅读 · 0 评论 -
S3C2440定时器
/* 名称:S3C2440定时器 说明:对于S3C2440来说,其定时器的部件完全一样,共有5个16位定时器。和STM32比较,那就显得较少了(STM32细算起来有10个定时器呢)。就功能来说,S3C2440的定时器比起STM32也简单不少(STM32定时器有定时、捕获输入等等),它只有定时和PWM功能(或者还有其他的,但我现在还不清楚)。对于具体的程序来说,采用的是韦东山...原创 2018-02-25 19:25:42 · 655 阅读 · 0 评论 -
STM32定时器之控制LED灯循环显示
/* 名称:STM32定时器之控制LED灯循环显示 说明:对于STM32来说,其定时器要比C51的定时器要多,功能也更复杂。就数目来说来说,STM32的定时器可以分为基本定时器,通用定时器和高级定时器(还包括Systick、看门口定时器和窗口定时器)。就STM32F103,一般来说,它有2个高级定时器TIM1和TIM8、4个通用定时器TIM2/3/4/5、2个基本定时器TI...原创 2018-02-25 19:20:47 · 10232 阅读 · 0 评论 -
S3C2440之中断
/* 名称:S3C2440之中断 说明:对于S3C2440来说,其CPU有7中工作模式。当发生异常或者中断时,系统会自动进入相应的模式进行处理。这7种模式中,有通用的寄存器,也有自己独立的寄存器。当发生中断准备进入另一种模式时,一般来说,会把通用的寄存器保存起来(保护现场)。中断结束后,重新把原来保护的寄存器中的值重新加载进通用寄存器(恢复现场)。具体说来,当发生异常时是,S3...原创 2018-02-25 10:03:56 · 406 阅读 · 0 评论 -
S3C2440学习之GPIO按键控制LED灯
/* 名称:S3C2440学习之GPIO按键控制LED灯 说明:这是实验2440GPIO的输入功能。基本的流程和51单片机开发的差不多。都是对GPIO端口寄存器的控制不同的是,51单片机可以直接对进行位控制,而2440中GPIO只能对32位的寄存器进行写入或者读出。这样的话,对于有些逻辑操作要稍微复杂点。还有个不同的是,无论是STM32还是51在进行IO按键输入的时候,都需要进...原创 2018-02-21 10:24:50 · 3604 阅读 · 0 评论 -
ARM学习之时钟体系结构
今天在宿舍学习的是S3C2440的系统时钟体系,这部分的难点不是很多,所以相对来说轻松点,但还是把感悟记录下来吧。1.S3C2440的的时钟体系有哪些?它们分别有什么作用? 答:以前一直有个小疑问,你说,这CPU运行那么快,外部的设备运行的就比较慢,那它们的时钟源怎么匹配呢?哦,今天算是差不多弄清楚了。因为它们有不同的时钟源。就S3C2440来说, 它有三种时钟源: (1)FCLK:用原创 2017-08-20 22:59:34 · 501 阅读 · 0 评论 -
ARM学习之中断体系结构
今天下午和晚上研究了一直在研究s3c2410中断体系结构,虽然以前老师上课也接触过,考试也考过,但仔细研究起来,还是有不少收获的。现记述如下:1.什么是中断? 答:中断是CPU保证并发程序的一种机制。它使得CPU在执行程序的时候能够响应异常的情况发生。 其实,在CPU在运行的过程中,如何知道各类外设发生了某些没预期的事,比如说串口接受到了数据、USB接口中插入了设备、按下了某个按键...原创 2017-08-20 22:57:18 · 689 阅读 · 0 评论 -
ARM学习之Nand FLash控制器
今天学习了Nand Flash的一些内容。在此做下回忆和总结:1.什么是Nand Flash? 答:Nand FLash是一种非易失性的存储性介质,一般用于保存嵌入式系统运行所必需的操作系统、应用程序、用户数据等,地位和PC上的硬盘类似。一般来说,它的接口引脚不像SDRAM那样多(SDRAM有20多根),一般也就是十几根。以三星公司的K9F1208U0M为例,如下所示。 正因为它的数据引脚较少,原创 2017-08-13 14:30:46 · 540 阅读 · 0 评论 -
ARM学习之GPIO实现流水灯
今天在学习MMU时的时候,写了一个流水灯程序。虽然很简单,但是不怕大家笑话,由于学C语言的时候没学位运算操作,再加上硬件实验做的少,所以实现这个也费了不少力气呢。/* * leds.c: 循环点亮4个LED * 属于第二部分程序,此时MMU已开启,使用虚拟地址 */ #define GPFCON (*(volatile unsigned long *)0x56000050)原创 2017-08-06 21:18:14 · 7786 阅读 · 0 评论 -
ARM学习之内存管理单元(MMU)
今天在学习MMU时,学到了不少知识。现总结如下,一是加深印象;二是写出来希望能和大家交流学习。1.MMU是什么? 答:MMU是内存管理单元。如果MMU开启的话,它会把CPU发出的虚拟地址转化为物理地址,然后对实际的物理地址进行相应的读写操作。当然,它还有其他的作用,包括内存权限检查、Cache等。2.虚拟地址是什么?为什么会出现虚拟地址? 答:虚拟地址是CPU所“看到”的地址。它的所有与地址相关原创 2017-08-06 20:54:17 · 783 阅读 · 0 评论 -
ADS1248驱动及相关总结
七七八八的,毕业设计弄的差不多了。以前遗留的问题也解决的差不多了(虽然有些粗糙)。现在,有点时间来总结毕业设计中的一些内容。 先说点感悟:对于毕业设计做的自动顶空系统来说,我感觉最恼人的要数这个ADS1248的驱动了。对于这个驱动,我他妈差不多整整弄了两个多月(请原谅我爆句粗口)。(当然,按照导师的说法,我是跨了两年)。在那差不多两个月里,我有很多次找到了以前做OJ题,调试8次改不出来的感觉(气...原创 2018-06-10 19:56:20 · 12594 阅读 · 5 评论 -
STM32有关GPIO引脚的一些问题
/* 名称:STM32有关GPIO引脚的一些问题 说明:今天在编写一个键盘扫描程序的时候,出现了一些问题。 有的引脚能读出电平状态、有点引脚确一直读不出状态。改了一下午,查了好久,终于有点眉目了。现简述如下: 我在用引脚的时候,使用的是PB0、PB1、PB2、PB3、PB4…,将其引脚配置的方式是上拉输入。PB2、PB3、PB4一直有问题。PB0、P...原创 2018-04-16 20:46:23 · 5831 阅读 · 2 评论 -
STM32之SPI读写FLASH(W25Q64)
/* 名称:STM32之SPI读写FLASH(W25Q64) 说明: 1.对于SPI读写FLASH和I2C读写EEPROM很相似,都是通过一定的通信协议来操纵外部存储设备。我们需要按照对应的通信协议发送存储设备所支持的指令(如读指令、写指令等),然后等待存储设备根据主机所接收到的指令进行相应的动作。2.再来说说不同点吧:对于通信协议来说,I2C相对来说要简单些,通...原创 2018-04-04 13:40:56 · 29982 阅读 · 10 评论 -
STM32之利用I2C协议读写EEPROM
/* 名称:STM32之利用I2C协议读写EEPROM 说明: 1.利用STM32来读写EEPROM和C51最大的不同就是,前者是直接使用I2C控制器(硬件方式)来产生所需要的I2C时序,而后者是通过软件方式来产生I2C时序。相对来说,前者使用硬件电路简化了编程的复杂性,用户只要将数据发送到相应的数据寄存器,然后I2C控制器自动按照I2C协议把数据通过SCL和...原创 2018-04-03 19:35:05 · 1371 阅读 · 1 评论 -
STM32之SPI串行线与HC595使用
/* 名称:STM32之SPI串行线与HC595使用 说明:SPI:串行外围设备接口,是一种高速全双工的通信总线。它被广泛地使用在 ADC、 LCD 等设备与 MCU 间,要求通讯速率较高的场合。对于SPI来说,其使用主要有四根线:分别是CS、MOSI、MISO、CLK;其中片选线CS,一般用普通的GPIO口来代替。其次,SPI是全双工通信线路,其发送的时候同时也在接收...原创 2018-03-22 17:19:07 · 8005 阅读 · 4 评论 -
STM32之串口
/* 名称:STM32之串口 说明:对于STM32的串口通信来说,从外部看,和C51差不多。从内部看,啊。。我还不了解。从使用上说,也是需要先配置USART,然后通过终端或者轮询的方式接受或者输出数据。由于有了固件库函数的帮助,STM32的串口配置起来比C51还要方便不少。本实验完成的是输入输出重定向,主要是重写了fput()和fget()函数。*/实验主要代码...原创 2018-03-01 12:52:19 · 369 阅读 · 0 评论 -
STM32_外部中断之按键控制点亮LED灯
/* 名称:STM32_外部中断之按键控制点亮LED灯 说明:对于STM32来说,其中断种类众多。(除了外部中断还有内部异常)其每个GPIO端口的引脚都可以作为外部中断的中断源。 对其的设置也比C51要复杂的多。对于具体的使用来说可以总结为以下步骤:1.初始化作为外部中断源的GPIO口。和普通的GPIO的设置类似,不过由于是使用GPIO引脚作为中断源,所以还需要开启复用...原创 2018-02-25 09:52:45 · 20494 阅读 · 0 评论 -
STM32_GPIO之按键输入
/* 名称:STM32_GPIO之按键输入 说明:这个实验是GPIO的输入功能。基本的思路和51单片机差不多。也是 操作相应的IO口,不过不同的是对于独立按键输入实验来说,51单片机是 需要一开始把待检测的IO口设置成高电平,然后检测其何时被拉低。而对 于STM32来说,其GPIO端口就可以设置成上拉输入,即不需要再人为的把对 应的对应的...原创 2018-02-21 10:11:18 · 743 阅读 · 0 评论 -
STM32_GPIO之点亮LED实验
/* 名称:STM32_GPIO之点亮LED 说明:对于STM32来说,其对LED的操作基本上也是操作对应的IO口。不过, 和51不同的是,STM32为了兼顾各个设备,其配有时钟树,所以在使用对应 设备的时候,需要实现配置好时钟树(库函数中配置了),并开启相应的设备 时钟(这里是对应的GPIO端口)。其次,STM32的IO端口比51单片机要复...原创 2018-02-21 10:09:25 · 1057 阅读 · 0 评论