欢迎来到深圳中鲁粤科技有限公司网站!

收藏本页 | 常见问答 | 在线留言 | 网站地图

科技资讯

日本加野麦克斯Kanomax
专注某某行业十余年
咨询热线13800000000

热门关键词:示例页面

科技资讯

帮网红点赞挣钱的app_全民涨粉丝1元1000个活粉_快手播放量60w才8元

文章分类:文章中心人气:50 次访问时间:2024-05-19 15:05

自助下单地址(拼多多砍价,ks/qq/dy赞等业务):点我进入

MCU是Microcontroller Unit的缩写,中文简称微控制器,俗称单片机。 LCD驱动电路集成在单一芯片上,构成芯片级计算机,可针对不同应用进行不同的组合控制,如手机、PC外设、遥控器、汽车电子、工业步进电机、机械臂等. 等等,可以看到MCU的身影了。

微控制器发展简史

单片机的历史不长,但发展非常迅速。 它的生产和发展与微处理器(CPU)大致同步。 自1971年美国英特尔公司首次推出4位微处理器以来,其发展至今大致可分为五个阶段。 下面以Intel单片机的发展历程为代表进行介绍。

1971~1976

微控制器开发的初始阶段。 1971年11月,英特尔公司首先设计出集成度为2000个晶体管/芯片的4位微处理器Intel 4004,并配备了RAM、ROM和移位寄存器,构成了第一个MCS-4微处理器,然后是8位Intel 8008微处理器推出,各家公司相继推出其他8位微处理器。

1976~1980

低性能 MCU 级。 以英特尔公司1976年推出的MCS-48系列为代表,采用单片结构,在一块半导体芯片上集成了8位CPU、8位并行I/O接口、8位定时器/计数器、RAM和ROM,虽然它的寻址范围有限(不大于4KB),没有串行I/O,RAM和ROM容量小,中断系统比较简单,但其功能可以满足一般工业控制和智能仪器仪表。

1980~1983

高性能微控制器阶段。 现阶段推出的高性能8位单片机一般都带有串口、多级中断处理系统和多个16位定时器/计数器。 片上RAM和ROM容量增加家用液晶电表控制器,寻址范围可达64 KB,个别芯片还带有A/D转换接口。

1983~1980年代后期

16 位 MCU 阶段。 1983年,英特尔公司推出高性能16位单芯片MCS-96系列。 由于采用了最新的制造技术,芯片集成度高达120,000个晶体管/芯片。

1990年代

单片机在集成度、功能、速度、可靠性、应用领域等各方面都在向更高层次发展。

单片机的分类及应用

根据其存储器类型,MCU可分为不带片上ROM和带片上ROM两种。 对于没有片上ROM的芯片,必须外接EPROM(一般为8031); 带有片上ROM的芯片又分为片上EPROM(典型的是87C51)、MASK片上掩模ROM(典型的芯片是87C51,芯片是8051)、片上Flash型(典型的芯片是89C51)等类型。

按用途可分为通用型和专用型; 根据数据总线的宽度和一次可处理的数据字节长度,可分为8位、16位和32位MCU。

目前,国内MCU应用市场以消费电子领域应用最为广泛,其次是工业领域和汽车电子市场。 消费电子产品包括家用电器、电视、游戏机以及音频和视频系统等。 工业领域包括智能家居、自动化、医疗应用以及新能源发电和配电。 汽车领域包括汽车动力总成和安全控制系统等。

单片机的基本功能

对于大多数 MCU,以下功能是最常见和最基本的。 对于不同的MCU,描述可能不同,但本质上基本相同:

TImer(定时器):虽然TImer的种类很多,但大致分为两类:一类是固定时间间隔的TImer,即它的定时由系统设定,用户程序无法控制。 系统只提供了几个固定的时间间隔供用户程序选择,如32Hz、16Hz、8Hz等。这种TImer在4位MCU中比较常见,因此可以用它来实现相关功能,如时钟和计时。

另一类是Programmable Timer(可编程定时器)。 顾名思义,这类Timer的计时时间可以由用户程序控制。 控制方式包括:时钟源的选择、分频(Prescale)的选择和预制数设置等。有的MCU同时具备这三者,而有的MCU则可能只有其中的一种或两种。 这种Timer的应用非常灵活,实际的使用也是千变万化的。 最常见的应用之一是用它来实现PWM输出。

由于可以自由选择时钟源,所以此类定时器一般与事件计数器结合使用。

IO口:任何MCU都有一定数量的IO口。 没有IO口,MCU就失去了与外界的通信通道。 根据IO口的配置,可分为以下几种:

纯输入或纯输出口:这类IO口由MCU硬件设计决定,只能是输入或输出,不能用软件实时设置。

直接读写IO口:比如MCS-51的IO口就属于此类IO口。 执行读IO口指令时,为输入口; 当执行写IO口指令时,自动为输出口。

程序编程设置输入输出方向:该类IO口的输入或输出由程序根据实际需要设置,应用比较灵活,可以实现一些总线级的应用,如I2C总线,各种LCD,LED驱动器控制总线等。

对于IO口的使用,必须牢记重要的一点:对于输入口,必须有明确的电平信号,保证不能悬空(可以通过加上拉或上拉-降压电阻); 对于输出端口,其输出状态电平必须考虑其外部连接,应确保在 Standby 或静态状态下没有电流源或吸收器。

外部中断:外部中断也是大部分单片机的基本功能。 一般用于信号的实时触发、数据采样和状态检测。 有几种类型的中断:上升沿、下降沿触发和电平触发。 外部中断一般通过输入端口实现。 如果是IO口,只有设置为输入时才会启用中断功能; 如果是输出口,外部中断功能会自动关闭(ATMEL的ATiny系列有一些例外,输出口也可以触发中断功能)。 外部中断的应用如下:

外部触发信号的检测:一是基于实时性要求,如可控硅的控制,突发信号的检测等,二是省电的需要。

对于信号频率的测量,为了保证信号不丢失,外部中断是理想的选择。

数据解码:在遥控应用领域,为了降低设计成本,往往需要用软件对各种编码数据进行解码,如曼彻斯特解码、PWM编码等。

按键检测和系统唤醒:对于进入Sleep状态的MCU,一般需要通过外部中断来唤醒。 最基本的形式是一个键,电平变化是由键的动作产生的。

通信接口:MCU提供的通信接口一般包括SPI接口、UART、I2C接口等,分别说明如下:

SPI接口:这类接口是大多数MCU提供的最基本的通信方式。 它的数据传输由同步时钟控制。 信号包括:SDI(串行数据输入)、SDO(串行数据输出)、SCLK(串行时钟)和Ready信号; 在某些情况下,可能没有就绪信号; 这类接口可以工作在Master模式或者Slave模式,通俗的说法就是看谁提供时钟信号,提供时钟的一方是Master,对方就是Slaver。

UART(Universal Asynchronous Receive Transmit):是最基本的异步传输接口。 它的信号线只有Rx和Tx。 基本数据格式为:起始位+数据位(7-bits/8-bits)+校验位(Even, Odd or None)+停止位(1~2Bit)。 一位数据所花费的时间称为波特率(baud rate)。

对于大多数MCU来说,数据长度、数据校验方式(奇校验、偶校验或不校验)、停止位(Stop Bit)的长度和波特率都可以通过编程灵活设置。 当然。 这类接口最常用的方式是与PC机的串口通信。

I2C接口:I2C是Philips公司开发的一种数据传输协议,也是由两个信号实现的:SDAT(串行数据输入输出)和SCLK(串行时钟)。 它最大的优点是可以在这条总线上连接多个设备,可以通过地址来识别和访问; I2C总线最大的好处之一就是可以很方便的通过IO口用软件实现,它的传输数据速率完全由SCLK来控制,可以快也可以慢,不像UART接口,对速度有严格的要求。

Watchdog(看门狗定时器):看门狗也是大部分MCU的基本配置(有的4位MCU可能没有这个功能),而且大部分MCU的Watchdog只能让程序复位而不能关闭(有的是在程序运行时设置的)是烧入的,如Microchip PIC系列MCU),而有些MCU是通过特定的方式判断是否开启,如三星的KS57系列,只要程序访问Watchdog寄存器,就会自动开启,不能再开启被关闭。 一般来说,看门狗的复位时间可以通过程序设置。 Watchdog最基本的应用是为MCU因意外故障而崩溃提供一种自恢复能力。

单片机学习技巧

对于任何一款单片机,其基本原理和功能都是相似的,区别仅在于其外围功能模块、指令系统等的配置和数量。

对于指令系统来说,虽然形式上看起来差别很大,但实际上只是符号上的区别。 它们所代表的含义、所要完成的功能、寻址方式等基本相似。

了解一个MCU,首先要知道它的ROM空间、RAM空间、IO口数量、定时器数量和计时方式、外围功能模块(Peripheral Circuit)、中断源、工作电压和功耗等。

了解了这些MCU Features之后,接下来就是将所选MCU的功能与实际项目开发所需要的功能进行比较,明确本项目目前需要哪些资源,哪些资源没有用到。

对于项目中需要用到但选用的MCU没有提供的功能,需要仔细了解MCU的相关信息,以间接的方式实现。 例如,开发的项目需要与PC机的COM口通信。 如果选用的MCU没有提供UART口,可以通过外部中断的方式实现。

对于项目开发所需的资源,需要认真理解和阅读Manua*,忽略或浏览不需要的功能模块。 对于单片机的学习,应用是关键,也是主要目的。

明确了MCU的相关功能之后,接下来就是开始编程了。

对于初次使用这款MCU的初学者或者设计人员来说,可能会遇到很多MCU功能描述不清的问题。 对于此类问题,有两种解决方法。 一是编写专门的验证程序,了解资料中描述的功能; 另一个可以暂时忽略,单片机编程是按照你目前的理解写的,留待调试时修改完善。 前一种方法适合项目和时间比较宽松的初学者,后一种方法适合有一定单片机开发经验的人或者项目进度比较紧迫的时候。

命令系统一定不要花特别的时间去理解。 指令系统只是逻辑描述的符号。 你只需要在编程时根据自己的逻辑和程序的逻辑要求检查相关指令即可。 随着编程的进步,你会越来越精通指令系统。 不自觉的想起了

微控制器编程

MCU程序的编写与PC程序的编写有很大区别。 尽管基于 C 的 MCU 开发工具越来越流行,但是对于高效的程序代码和喜欢使用汇编的设计者来说,汇编语言仍然是最简洁高效的编程语言。

对于单片机编程,其基本框架可以说大致相同,一般分为三个部分:初始化部分(这是单片机编程和PC编程最大的区别)、主程序循环体和中断处理程序,分别是解释如下:

初始化:对于所有MCU程序的设计,初始化是最基本也是最重要的一步,一般包括以下内容:

屏蔽所有中断并初始化堆栈指针:初始化部分一般不希望任何中断发生。

清除系统RAM区和显示内存:虽然有时候可能不是完全必要,但是从可靠性和一致性的角度来看,尤其是为了防止意外出错,还是建议养成良好的编程习惯。

IO口初始化:根据项目的应用需求,设置相关IO口的输入输出模式。 对于输入端口,需要设置其上拉或下拉电阻; 对于输出端口,必须设置其出生电平输出,以防止出现不必要的错误。

中断设置:对于项目中需要用到的所有中断源,都应该使能,并设置中断的触发条件,而对于没有用到的冗余中断,则必须关闭。

其他功能模块的初始化:所有需要用到的MCU外围功能模块,都要根据项目的应用需求进行相应的设置,如UART通信、波特率、数据长度、校验方式和Stop需要设置位的长度等,对于Programmer Timer,必须设置其时钟源、分频和Reload Data等。

参数化:MCU硬件和资源完成后,下一步就是初始化程序中用到的一些变量和数据。 这部分的初始化需要根据具体的项目和程序的整体安排来设计。 . 对于一些使用EEPROM保存工程预制数据的应用,建议在初始化时将相关数据拷贝到MCU的RAM中,以提高程序对数据的访问速度,降低系统功耗(原则上,访问外部EEPROM会增加电源的功耗)。

主程序循环体:大部分MCU长时间连续运行,所以主程序体基本上是循环设计的。 对于具有多种工作模式的应用程序,可能有多个循环体,通过状态标志在彼此之间切换。 对于程序主体,一般安排如下模块:

计算程序:计算程序一般比较耗时,因此坚决反对任何中断处理,尤其是乘除运算。

显示传输方案:主要针对外接LED和LCD Driver的应用。

中断处理程序:中断程序主要用于处理实时性要求高的任务和事件,如外部突发信号的检测、按键的检测和处理、定时计数、LED显示屏扫描等。

一般而言,中断程序应尽量保持代码简洁和短小。 对于不需要实时处理的功能,可以在中断中设置触发标志,然后主程序执行具体的事务——这一点很重要。 特别是对于低功耗、低速的MCU,需要保证对所有中断的及时响应。

对于不同任务体的排列,不同的MCU有不同的处理方式。

例如,对于低速、低功耗的MCU(Fosc=32768Hz)应用,考虑到这类项目都是手持设备,使用普通的LCD显示器,对按键和显示的响应要求实时性高。 一般使用定时中断来处理按键动作和数据显示; 对于高速MCU,比如Fosc>1MHz的应用,由于此时MCU有足够的时间执行主程序循环体,所以只能在相应的中断中设置各种触发标志,所有任务在主程序体中执行。

在单片机的程序设计中,还有一点需要特别注意,就是要防止在中断和主程序中同时访问或设置同一个变量或数据。 一种有效的预防方法是将此类数据的处理安排在一个模块中,通过判断触发标志来决定是否对数据进行相关操作; 处理处只设置触发标志。 - 这确保了数据的执行是可预测的和唯一的。

全球主流MCU厂商

欧美

1、Freescale+NXP(飞思卡尔+恩智浦):荷兰,主要提供16位和32位MCU。 应用:汽车电子、LED 和普通照明、医疗保健、多媒体融合、家用电器和电动工具、楼宇自动化技术电机控制、电源和电源转换器、能源和智能电网、自动化、计算机和通信基础设施。

2、Microchip+Atmel(微芯科技+Atmel):美国,主要提供16位和32位MCU。 应用:汽车电子、工业、电机控制、汽车、楼宇自动化、家用电器、家庭娱乐、工业自动化、照明、物联网、智能能源、移动电子、计算机外设。

3、Cypress+Spansion(赛普拉斯+Spansion半导体):美国主要提供8位、16位、32位MCU。 应用:汽车电子、家用电器、医疗、消费电子、通信和电信、工业、无线。

4、ADI(Adeno Semiconductor):美国,主要提供8位、16位、32位MCU。 应用:航空航天与国防、汽车应用、建筑技术、通信、消费电子、能源、医疗保健、仪器与测量、电动机、工业自动化、安全。

5、英飞凌(Infineon):德国主要提供16位和32位MCU。 应用:汽车电子、消费电子、工程、商用和农用车辆、数据处理、电动交通、工业应用、医疗设备、移动设备、电机控制和驱动、电源、摩托车、电动自行车和小型电动汽车、智能电网、照明、太阳能系统解决方案、风能系统解决方案。

6.意法半导体(STMicroelectronics):意大利/法国,主要提供32位MCU。 应用:LED 和普通照明、交通、医疗保健、多媒体融合、家用电器和电动工具、楼宇自动化技术电机控制、电源和电源转换器、能源和智能电网、自动化、计算机和通信基础设施。

7、高通(Qualcomm):美国主要提供16位和32位MCU。 应用:智能手机、平板电脑、无线调制解调器。

8、德州仪器(Texas Instruments):美国主要提供16位和32位MCU。 应用领域:汽车电子、消费电子、医疗设备、移动设备、通讯。

9、美信(Maxim):美国主要提供32位MCU。 应用:汽车电子、消费电子、工业应用、安防。

日韩

1. Renesas(瑞萨电子):日本主要提供16位和32位MCU。 应用领域:电脑及周边、消费电子、保健电子、汽车电子、工业、通讯。

2、东芝(Toshiba):日本主要提供16位和32位MCU。 应用领域:汽车电子、工业、马达控制、无线通讯、手机、电脑及外设、影音影音、消费类(家电)、LED照明、安防、电源管理、娱乐设备。

3、Fujitsu(富士通):日本主要提供32位MCU。 应用:汽车、医疗、机械、家用电器。

4、三星电子(Samsung Electronics):韩国主要提供16位和32位MCU。 应用:汽车电子、工业、电机控制、汽车、楼宇自动化、家用电器、家庭娱乐、工业自动化、照明、物联网、智能能源、移动电子、计算机外设。

台湾

1、宏晶科技:台湾,主要提供32位MCU。 应用领域:通讯、工业控制、信息家电、语音。

2、Holtek Semiconductor:台湾,主要提供8位和32位MCU。 应用:消费电子、LED照明等。

3、凌阳科技:台湾,主要提供8位和16位MCU。 适用范围:家庭影音。

4、中英电子:台湾,主要提供4位和8位MCU。 应用:充电器、移动电源、家电、工控。

5. Songix Technology:台湾,主要提供8位和32位MCU。 应用:遥控器、智能充电器、尺寸系统、电子秤、耳温计、血压计、胎压计、各种测量和健康设备。

6、华邦电子:台湾主要提供8位和16位MCU。 应用领域:汽车电子、工业电子、网络、计算机、消费电子、物联网。

7、十速科技:台湾,主要提供4位、8位、51位MCU。 应用:遥控器,小家电。

8、友华微电子:台湾,主要提供4位和8位MCU。 应用:记录集成电路产品、消费电子产品、家用产品。

9、颖光科技MCU:台湾,主要提供4位和8位MCU。 应用:机械、自动化、家电、机器人。

10、义隆电子:台湾主要提供8位和16位MCU。 应用:消费电子产品、计算机、智能手机。

中国大陆

1、西格玛微电子:主要提供32位MCU,应用于电信、制造、能源、交通、电力等领域。

2、珠海欧比特:主要提供32位MCU,应用范围:航空航天:飞船、飞行器; 高端工控:嵌入式计算机; 船舶控制、工业控制、电力设备、环境监测。

3、兆易创新:主要提供32位MCU,应用范围:工业自动化、人机界面、电机控制、安防监控、智能家居、物联网。

4、盛思微电子:主要提供8位和32位MCU,应用范围:小家电、消费电子、遥控器、鼠标、锂电池、数码产品、汽车电子、医疗仪器及测量、玩具、工业控制、智能家居和安防等领域。

5、芯海科技:主要提供16位和32位MCU,应用范围:仪器仪表、物联网、消费电子、家电、汽车电子。

6、联华集成电路:主要提供8位和16位MCU,应用范围包括消费电子、白色家电、工业控制、通讯设备、汽车电子、计算机等。

7、珠海建融:主要提供8位MCU,应用范围包括家用电器和移动电源。

8、炬力科技:主要提供8位到32位MCU,应用范围:平板电脑、智能家居、多媒体、蓝牙、wifi音响。

9、爱芯微电子:主要提供8位和16位MCU,应用范围:消费类芯片、通讯芯片、信息芯片、家电产品。

10、华芯微电子:主要提供8位和4位MCU,应用范围:卫星接收器、手机充电器、万年历、一体机遥控器。

11、上海贝岭(华大半导体控股):主要提供8位、16位、32位MCU,应用范围包括电脑周边、高清电视、电源管理、小家电、数字家电等。

12、海尔集成电路:主要提供14位、15位、16位MCU。 应用:消费电子、汽车电子、工业、智能仪器。

13、北京君正:主要提供32位MCU,应用范围包括可穿戴设备、物联网、智能家电、汽车、消费电子、平板电脑等。

14、中微半导体:主要提供8位MCU,应用范围包括:智能家电、汽车电子、安防监控、LED照明及景观、智能玩具、智能家居、消费电子。

15、神舟龙芯集成电路:主要提供32位MCU,应用范围:电力监控、智能电网、工业数字控制、物联网、智能家居、数据监控。

16、紫光微电子:主要提供8位和16位MCU,应用范围:智能家电。

17、时代民芯:主要提供32位MCU,应用范围:汽车导航、交通监控、渔船监管、电力电信网络。

18、华润硅微电子(华润微电子子公司):主要提供8位和16位MCU,应用范围:消费电子、工业控制、家电。

19、国芯科技:主要提供32位MCU,应用范围包括信息安全、办公自动化、通信网络、信息安全等。

20、中天微:主要提供32位MCU,应用范围包括:智能手机、数字电视、机顶盒、汽车电子、GPS、电子阅读器、打印机等。

21、华润微电子:主要提供8位和16位MCU,应用范围:家电、消费电子、工业自动化控制的通用控制电路。

22、中盈电子:主要提供4位、8位、16位、32位MCU,应用范围:家电、电机。

23、凌动微电子:主要提供32位,应用范围包括:电机控制、蓝牙控制、高清显示、无线充电、无人机、微型打印机、智能标签、电子烟、LED点阵屏等。

24、新唐科技:主要提供8位MCU,应用范围:照明、物联网等。

25、东软开利:主要提供8位和32位MCU,应用范围包括家电、智能家居、仪器仪表、液晶面板控制器、工业控制等。

26. Bethley:主要提供32位MCU,应用范围包括智能家居、工业控制和消费类产品。

27、盛泉科技:主要提供8位MCU,应用范围包括车载、教育、工控、医疗等中小尺寸显示面板。

28、航顺芯片:主要提供8位和32位MCU,应用范围:汽车、物联网等。

29、复旦微电子:主要提供16位和32位MCU,应用范围:智能电表、智能门锁等。

30、华大半导体:主要提供8位、16位、32位MCU家用液晶电表控制器,应用范围包括工业控制、智能制造、智能生活和物联网等。

热销产品