初学单片机几个不易掌握的概念
单片机学习中常见问题
单片机学习中常见问题
一.单片机有4 位、8 位、16 位、32 位以及64 位现在,请问的是在8 位,
16 位,32 位等等是什么意思?
答:
CPU 内部总线的位数就是单片机的位数。
这里的位也就是指单片机中CPU
处理的数据的位数(一次处理信息的长度)。
比如:51 单机属于8 位机,就是CPU 处理的数据是8 位的。
位数的高低体现了CPU 处理能力的强弱。
单片机
总线位数越高,CPU 一次能处理的数据量也就越大、处理速度也就越快。
同样
的主频下(即主频率),8 位机只能处理8 位信息长度,而16 位机则可处理16 为信息长度,处理能力当然更强速度更快了。
二.CPU 经常挂在嘴边,但是cpu 到底是什么?有什么部件组成?
答:
CPU 是单片机的核心部件,由运算器、控制器和布尔处理器等组成。
其功能
是产生控制信号,把数据从存储器或输入口传送CPU 或反向传送,还可以对
输入数据进行算术、逻辑运算以及位操作处理。
其中,运算器由算术逻辑单元ALU(Arithmetic Logic Unit)、累加器ACC(Accumalator)、暂存寄存器、程序状态字存储器PSW(Program Status Word)、布尔处理器和BCD 码运算调整电路等电路构成。
控制器包括定时控制逻辑(时钟电路、复位电路)、指令寄存器、指
令译码器、程序计数器PC、堆栈指针SP、数据指针寄存器DPTR 以及信息传
送控制部件等。
三.单片机的指令把我搞的稀里糊涂,能不能用一个例子告诉我单片机执行指
令的过程?
答:。
单片机设计基础知识点总结
单片机设计基础知识点总结单片机是一种集成了中央处理器、内存和输入输出设备的微型计算机系统。
它被广泛应用于各种电子设备中,如家电、汽车、通信设备等。
本文将从单片机的基本原理、工作原理、常用的单片机型号、编程语言等方面进行总结,希望能对单片机设计领域有所帮助。
一、单片机的基本原理1. 单片机的定义单片机是一种在一个芯片上集成了中央处理器、内存以及输入输出设备的微型计算机系统。
它通常由微处理器、存储器、输入输出设备和时钟电路组成。
2. 单片机的功能单片机主要用于控制、数据采集、通信等方面。
通过编程,可以实现对各种电子设备的控制和管理。
3. 单片机的分类单片机根据其体系结构和指令集的不同可分为多种类型,如8位单片机、16位单片机、32位单片机等。
4. 单片机的工作原理在单片机内部,主要包含了中央处理器、存储器、输入输出设备和时钟电路。
当单片机接收到外部信号或指令时,中央处理器会根据编程指令执行相应的操作。
二、常用的单片机型号1. 51系列单片机51系列单片机是一种广泛应用的8位单片机,它采用哈佛架构,具有丰富的外设接口和强大的性能。
它可以通过C语言和汇编语言进行编程。
2. STM32系列单片机STM32系列单片机是一种32位单片机,它采用了ARM Cortex-M内核,具有高性能、低功耗和丰富的外设接口。
它适用于各种嵌入式应用。
3. AVR系列单片机AVR系列单片机是一种8位单片机,它由Atmel公司推出,具有高性能、低功耗和丰富的外设接口。
它可通过C语言和汇编语言进行编程。
三、单片机的编程语言1. 汇编语言汇编语言是一种低级语言,它直接对硬件进行编程。
由于其指令与硬件直接对应,因此通常情况下,汇编语言是最高效的编程方式。
2. C语言C语言是一种高级语言,它具有结构化、模块化和可移植性等特点。
在单片机开发中,通常使用C语言进行编程,它可以提高开发效率和代码的可读性。
3. 嵌入式C语言嵌入式C语言是对C语言的一种延伸,它针对嵌入式系统进行了优化和扩展。
单片机初学难理解概念
单片机初学者几个不易掌握的概念一、总线:我们知道,一个电路总是由元器件通过电线连接而成的,在模拟电路中,连连线并不成为一个问题,因为各器件间一般是串行关系,各器件之间的连线并不很多,但计算机电路却不一样,它是以微处理器为核心,各器件都要与微处理器相连,各器件之间的工作必须相互协调?所以就需要的连线就很多了,如果仍如同模拟电路一样,在各微处理器和各器件间单独连线线,则线的数量将多得惊人,所以在微处理机中引入了总线的概念,各个器件共同享用连线,所有器件的8根数据线全部接到8根公用的线上,即相当于各个器件并联起来,但仅这样还不行,如果有两?器件同时送出数据,一个为0,一个为1,那么,接收方接收到的究竟是什么呢?这种情况是是不允许的,所以要通过控制线进行控制,使器件分时工作,任何时候只能有一个器件发送数据(可以有多个器件同时接收)。
器件的数据线也就被称为数据总线,器件所有的控制线被称控制总线。
在单片机内部或者外部存储器及其它器件中有存储单元,这些存储单元要被分配地址,才能用,分配地址当?也是以电信号的形?给出的,由于存储单元比较多,所以,用于地址分的线也较多,这些线被称为地址总线。
二、数据、地址、指令:之所以将这三者放在一起,是因为这三者的本质都是一样的─数字,或者说都是?串‘0’和‘1’组成的序列。
换言之,地址、指令也都是数据。
指令由单片机芯片的设计者规定的一种数字,它与我们常用的指令助记符有着严格的一一对应关,不可以由单片机的开发者更改。
地址:是寻找单片机内部、外部的存储单元、输入输出口的依据,内单元的地址值已由芯?设计者规定好,不可更改,外部的单元可以由单片机开发者自行决,但有一些地址单元是一定要有的(详见程序的执行过程)。
数据:这是由微处理机处理的象,在各种不同的应用电路中各不相同,一般而言,被处理的数据可能有这么几种情况:1地址(如MOV DPTR,#1000H),即地址1000H送入DPTR。
单片机基础知识点总结
单片机基础知识点总结以下是单片机基础知识点的总结:1.单片机概念:单片机是一种集成电路,集中了微处理器、存储器和各种输入/输出接口电路,可作为嵌入式系统的核心控制器。
2.单片机的组成:单片机主要由中央处理器(CPU)、存储器(ROM、RAM)、输入/输出端口(I/OPort)、定时器/计数器、串行通信接口等组成。
3.单片机的工作原理:单片机通过运行存储在ROM中的程序指令,执行各种计算和控制操作。
输入/输出端口用于与外部设备进行数据交互。
4.单片机的编程:单片机程序通常使用汇编语言或高级语言(如C语言)编写,并通过专门的开发工具进行编译、烧录和调试。
5.I/O控制:单片机的输入/输出端口用于与外部设备连接和数据交互,可以实现数字输入/输出、模拟输入/输出和串行通信等功能。
6.定时器/计数器:单片机的定时器/计数器可以生成精确的时间延迟和计数功能,用于控制任务的执行时间和计数操作。
7.中断处理:单片机支持中断功能,可以在特定事件发生时中断当前程序的执行,转而执行中断服务程序,提高系统的响应速度和实时性。
8.存储器管理:单片机的存储器包括ROM(只读存储器)和RAM (随机访问存储器),用于存储程序指令、数据和临时变量。
9.时钟管理:单片机需要一个时钟源来提供时序和同步信号,通常使用晶体振荡器或外部时钟源。
10.低功耗设计:单片机通常需要在电池供电或功耗敏感的应用中使用,因此需要进行低功耗设计,包括睡眠模式、时钟管理、外设关闭等。
这些是单片机基础知识的一些重要点,了解这些知识可以为学习和应用单片机提供基础。
单片机是嵌入式系统的核心,广泛应用于各种领域,如家电控制、工业自动化、汽车电子等。
深入学习和实践单片机编程能够帮助您掌握嵌入式系统的开发和控制技术。
单片机编程注意事项
单片机编程注意事项在单片机编程的过程中,如果一名设计者能够同时掌握多门编程语言,那么这名设计者肯定是一位非常优秀的人才。
但是想要同时精通汇编、C语言、C++这三门语言实在是太难了,很多初学者在其中一门的学习中就已经到处碰壁,苦不堪言。
本文特意为大家整理了拥有嵌入式编程领域多年工作经验的工程师意见,汇总成了一篇能够对嵌入式编程经验有着指导意义的注意事项,感兴趣的朋友快来看一看吧。
在单片机嵌入式编程中,最难的两部分是interrupt和MM(memorymanage),之所以有人觉得并不困难,那是因为太多数情况下芯片制造商都已经直接写好,但是如果设计者本身就在为芯片制造商工作,那就必须自己会写配置文件。
这两个东西之所以比较难是因为要用汇编或类C来写,属于比较低层的东西,中断有外部中断和内部中断,外部中断有两种实现模式,硬件中断模式和软件中断模式,相对来说比较简单,属于应用层面的,相比之下,内部中断就要复杂得多,内部中断主要是发生重起,总线出错、溢出、校验出错等情况产生的,很多软件开发人员基本上不写对应的中断服务程序,因为它太难了而且一般也用不到。
但是一旦发生,那就是致命错误,因此从整个系统健壮性来考虑必须要有相应的ISR才行,这也是freescale的专家建议的,因所以下面就谈一下嵌入式编程应该注意的问题。
延时嵌入式编程经常会涉及到硬件的操作,如ADC,打开或者关闭一个电流源,这些都是需要时间的,因此当在发出这些指令的时候立即读取存放器的值是得不到想要的结果的,而且还找不出原因,有时候需要的延时还比较长,到达ms 级,一般情况下us级就够了,根据各芯片的时钟频率而定,不单指MCU的总线时钟频率。
变量一般来说如果非常明确某个变量的作用域和生命周期就应该定义相对的变量,如const、static等,这样不容易出错,不建议将所有变量都定义成全局变量,这样管理起来比较麻烦,程序一旦出错,破坏性也比较大,函数也是如此,全局变量和通用函数一定要申明,这样在调用的时候不容易出错,而且有些编译器对于未申明的函数是不会报错的,但在调用的时候又会发出类型隐含转换的警告,在这里就不举例子了,总之这点要特别小心。
单片机12个基础知识点(两篇)
引言概述:单片机是嵌入式系统中常用的核心技术之一。
掌握单片机的基础知识点对于开发嵌入式系统和进行电子设计是至关重要的。
本文将详细阐述单片机的12个基础知识点,分为引脚相关、时钟与时序、中断、定时器与计数器、外设等五个大点进行阐述。
正文内容:一、引脚相关1. 引脚功能和命名规则:介绍单片机引脚的功能和常见的引脚命名规则,例如VCC、GND、IO口等。
2. 引脚电气特性:讲解单片机引脚的电气特性,包括输入输出特性、驱动能力、承受电流等。
3. 引脚模式选择和配置:介绍引脚模式选择和配置的方法和注意事项,包括输入模式、输出模式、推挽模式、开漏模式等。
4. 上拉和下拉电阻:详细解释上拉和下拉电阻的作用和使用场景,以及如何配置上拉和下拉电阻。
5. 外设引脚映射:介绍如何将外设与单片机的引脚进行映射,以实现外设的功能。
二、时钟与时序1. 时钟源和时钟分频:讲解单片机时钟源的选择和配置,以及时钟分频的原理和应用。
2. 时钟周期和机器周期:详细介绍时钟周期和机器周期的概念和计算方法,以及它们对程序执行时间的影响。
3. 中断周期和中断优先级:解释中断周期的含义和计算方法,以及中断优先级的设置和处理方法。
4. 延时与定时:阐述如何利用单片机的时钟和定时器来实现精确的延时和定时功能。
5. 同步和异步操作:介绍同步和异步操作的区别和应用场景,以及如何通过设置和配置单片机来实现同步和异步操作。
三、中断1. 中断的概念和原理:解释中断的概念和原理,以及中断服务程序的编写和调用方式。
2. 中断向量表:介绍中断向量表的作用和组成方式,以及如何在单片机中设置中断向量表。
3. 外部中断和内部中断:详细阐述外部中断和内部中断的特点和使用方法,以及它们在嵌入式系统中的应用。
4. 中断屏蔽和中断优先级:讲解中断屏蔽和中断优先级的设置和应用,以实现对中断的管理和控制。
5. 中断标志和中断响应:解释中断标志和中断响应的机制和流程,以及如何正确地处理中断请求和中断事件。
单片机学习中的常见问题和误区
2007.5 ( 上旬刊)
理工科研
单片机学习中的常见问题和误区
□任斌
( 东莞理工学院电子工程系 广东·东莞 523808)
摘 要 从单片机内的存储器、数据传送和中断优先级等几个方面归纳了单片机学习中常遇到的问 题 ,并 对 存 在 的 一 些
误区给予了分析和纠正。
关键词 单片机 学习 问题 误区
中图分类号:N 3
这 样 的 :“ 一 个 正 在 执 行 的 低 优 先 级 中 断 服 务 程 序 可 以 被 高 优 先 级
的 中 断 源 所 中 断 ”。那 么 这 句 话 里 面 是 否 包 括 一 个 正 在 执 行 的 同 级 的低优先级中断服务程序也可以被同级的高优先级的中断源所中 断呢?
经过测试才知道,中断的原则应该是:一个正在执行的低优先 级中断服务程序可以被高优先级的中断源所中断,而同级的( 不论 是在同组中的自然优先级有多高) 或低优先级的中断源不能中断 正在执行的同级( 不论是在同组中的自然优先级有多低) 或高级的 中断服务程序,同组中只有在几个中断源同时向 CPU 申请中断时, CPU 才根据自然优先级的高低先后响应中断。
照右边的机器语言可以发现, 正好符合 :PC 目 的 地 址 =PC 当 前 值 +rel=0038+( - 8) =0030H ,其中 F8 为 "- 8" 的补码形式。
初学单片机几个概念
I N T1
13
T0 T1
14 15
A LE/P PSEN
30 29
P1.0口输出低电平: CLR P1.0 P1.0口输出高电平:
SETB P1.0
1 2 MH z
C1
C2
1 0 0p
1 0 0p
3.程序完善(信号灯)
CLR P1.0 SETB P1.0
第一,执行完CLR P1.0后,延时一段 时间再执行第二条 指令。 第二,执行完第二 条指令后,延时一 段时间,再去执行 第一条指令,不断 地循环。
1.单片机的外部结构(89C51)
电源:40 接地:20 振荡电路:18、19 复位引脚:9 EA引脚 :31
2.任务分析:闪烁一只发光二极管
V CC
R1 2 3 4
P10 P11 P12 P13
5
P14
39 38 37 36 35 34 33 32
P00 P01 P02 P03 P04 P05 P06 P07
;(9)
RET
;(10)
END
初学单片机几个不易掌握的概念
1.总线 数据总线 地址总线 控制总线
2.数据、地址、指令 三者的本质都是一样的──数字,或者说都是一串‘0’和‘1’组成的 序列。
指令:由单片机芯片的设计者规定的一种数字,它与我们常用的指令 助记符有着严格的一一对应关系,不可以由单片机的开发者更改。
地址:是寻找单片机内部、外部的存储单元、输入输出口的依据,内 部单元的地址值已由芯片设计者规定好,不可更改,外部的单元可以 由单片机开发者自行决定 。
;主程序:
LOOP: CLR P1.0
;(1)
LCALL DELAY ;(2)
单片机重难点整理
1)数据传送组:MOV 内部数据传送MOVC 程序存储器传送MOVX 外部数据传送2)加减运算组:ADD 加法ADDC 带进位加法SUBB 带进位减法3)逻辑运算组:ANL 逻辑与ORL 逻辑或XRL 逻辑异或结构组成:T/C0由两个8位的TH0(8CH)和TL0(8AH)组成T/C1由TH1(8DH)和TL1(8BH)组成软件设置:计数初值:对TH1、TL1 、TH0、和TL0的初始化编程工作方式:通过TMOD和TCON对每个T/C设置定时或计数特殊功能寄存器TMOD(Timer Mode Register)TCON(Timer Control Register )THx存放计数初值的高8位TLx存放计数初值的低8位805l单片机除具有四个8位并行口外,还具有串行接口。
此串行接口是一个全双工串行通信接口,即能同时进行串行发送和接收。
它可以作UART(通用异步接收和发送器)用,也可以作同步位移寄存器用。
应用串行接口可以实现8051单片机系统之间点对点的单机通信、多机通信和8051与系统机(如PC机等)的单机或多机通信。
3.异步通信和同步通信串行通信有两种基本通信方式,即异步通信和同步通信。
(1)异步通信在异步通信中,数据是一帧(Frame)一帧(包含一个字符代码或一字节数据)传送的异步通信1.起始位:在数据发送线上规定无数据时电平为1,当要发送数据时,首先发送一个低电平0,表示数据传送的开始,这就是起始位。
2.数据位:真正要传送的数据,可以是8位、10位等多位,数据位是由低位开始,高位结束;3.奇偶校验:数据发送完后,发送奇偶校验位,以检验数据传送的正确性,这种方法是有局限的,但是容易实现。
4.停止位:表示数据传送的结束,可以是一位或两位。
(2)同步通信同步通信中,在数据开始传送前用同步字符来指示(常约定1—2个),并由时钟来实现发送端和接收端同步,即检测到规定的同步字符后,下面就连续按顺序传送数据,直到通信告一段落。
单片机由浅入深攻略
小型智能车制作离不开单片机,单片机这门课是一项非常重视动手实践的科目,不能总是看书,但是学习它首先必须得看书,因为从书中你需要大概了解一下,单片机的各个功能寄存器,而说明白点,我们使用单片机就是用软件去控制单片机的各个功能寄存器,再说明白点,就是控制单片机那些管脚的电平什么时候输出高,什么时候输出低。
由这些高低电平的变化来控制你的系统板,实现我们需要的各个功能。
至于看书,只需大概了解单片机各管脚都是干什么的?能实现什么样的功能?第一次,第二次你可能看不明白,但这不要紧,因为还缺少实际的感观认识。
所以学单片机看书看两三天的就够了,看小说你一天能看五六本,看单片机你两三天看两三遍就够了,可以不用仔细的看。
大概了解一下书上的内容,然后实践,这是非常关键的,如果说学单片机你不实践那是不可能学会的,关于实践有两种方法你可以选择,一种方法:你自己花钱买一块单片机的学习板,不要求功能太全的,对于初学者来说你买功能非常多的那种板子,上面有很多东西你这辈子都用不着,我建议有流水灯、数码管、独立键盘、矩阵键盘(原理一样)、液晶、蜂鸣器,这就差不多了。
如果上面我提到的这些,你能熟练应用,那可以说对于单片机方面的硬件你已经入门了,剩下的就是自己练习设计电路,不断的积累经验。
只要过了第一关,后面的路就好走多了,万事开头难,大家可能都听过。
方法二:你身边如果有单片机方面的高手,向他求助,让他帮你搭个简单的最小系统板。
对于高手来说,做个单片机的最小系统板只需要一分钟的时间,而对于初学者可就难多了,因为只有对硬件了解了,才能熟练运用。
而如果你身边没有这样的高手,又找不到可以帮助你的人,那我劝你最好是自己买上一块,毕竟自己有一块要方便的多,以后做单片机类的小实验时都能用得上,还省事。
有了单片机学习板之后你就要多练习,最好是自己有台电脑,一天少看电影,少打游戏,把学习板和电脑连好,打开调试软件坐在电脑前,先学会怎么用调试软件,然后从最简单的流水灯实验做起,等你能让那八个流水灯按照你的意愿随意流动时你已经入门了,你会发现单片机是多么迷人的东西啊,太好玩了,这不是在学习知识,而是在玩,当你编写的程序按你的意愿实现时你比做什么事都开心,你会上瘾的,真的。
单片机知识点全攻略一二三四全
单片机学习知识点全攻略(一)导语:单片机对于初学者来说确实很难理解,不少学过单片机的同学或电子爱好者,甚至在毕业时仍旧是一无所获。
基于此,电子发烧友网将整合《单片机关键知识点全攻略》,共分为四个系列,以飨读者,敬请期待!此系列对于业内电子工程师也有收藏和参考价值。
单片机关键知识点一览:系列一1:单片机简叙2:单片机引脚介绍3:单片机存储器结构4:第一个单片机小程序5:单片机延时程序分析6:单片机并行口结构7:单片机的特殊功能寄存器系列二8:单片机寻址方式与指令系统9:单片机数据传递类指令10:单片机数据传送类指令11:单片机算术运算指令12:单片机逻辑运算类指令13:单片机逻辑与或异或指令祥解14:单片机条件转移指令系列三15:单片机位操作指令16:单片机定时器与计数器17:单片机定时器/计数器的方式18:单片机的中断系统19:单片机定时器、中断试验20:单片机定时/计数器实验21:单片机串行口介绍系列四22:单片机串行口通信程序设计23:LED数码管静态显示接口与编24:动态扫描显示接口电路及程序25:单片机键盘接口程序设计26:单片机矩阵式键盘接口技术及27:关于单片机的一些基本概念28:实际案例实践——单片机音乐程序设计1:单片机简叙什么是单片机一台能够工作的计算机要有这样几个部份构成:CPU(进行运算、控制)、RAM(数据存储)、ROM(程序存储)、输入/输出设备(例如:串行口、并行输出口等)。
在个人计算机上这些部份被分成若干块芯片,安装一个称之为主板的印刷线路板上。
而在单片机中,这些部份,全部被做到一块集成电路芯片中了,所以就称为单片(单芯片)机,而且有一些单片机中除了上述部份外,还集成了其它部份如A/D,D/A等。
单片机是一种控制芯片,一个微型的计算机,而加上晶振,存储器,地址锁存器,逻辑门,七段译码器(显示器),按钮(类似键盘),扩展芯片,接口等那是单片机系统。
2:单片机引脚介绍单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。
单片机入门 --------通俗
单片机入门不难------谈PIC系列坛子里的老兄小弟,如果你已经多次想进单片机之门而未入,如果你有很多空闲时间想打发,如果你玩收音机感到疲劳想换个口味,如果。
那就听小弟我白话白话,反正我们这些老大难也没有什么重要的事情做。
闲言少许,话说人间事物的学习,不外两类:一类入门易,精通难比如矿石机,再比如练书法谁都会写两下,可写好却不是一朝一夕的事儿。
另一类则入门难精通易,比如超外差收音机,学会需要各种放大、振荡、反馈、混频、中频、统调等等,但是一旦你学会,做出一个高质量的收音机,确也不是难事。
单片机属于后者,所以无论如何,你得用些时间,学习一些新名词并理解,甚至还得花一些小钱。
但是,一旦你掌握,其乐趣也像收音机一样,很有吸引力的。
本故事说给一点也不懂计算机,甚至数字电路的引引道。
一般入门应该有保障。
改为: 本故事说给懂电工、电子、逻辑电路的老家伙和半老家伙,如果对电子一窍不通人讲那我劝你也别瞎子点灯了,要是边讲基础边讲pic这书就不知唱到何年何月啦。
单片机不同于收音机,收音机的任务最终就是听好声音一个,单片机可以做很多事情,要你来安排它的工作。
安排它就先的认识它,熟悉它,请看图1。
这个8条腿的小螃蟹就是我们的第一顿饭,只要把它吃下去,以后的大餐就好办了。
第1、8条腿接电源 +5V 和 地线。
头两条腿是螃蟹钳子,好吃的很。
现在剩下了 6 条腿 第2、3条腿 使用时外接一个晶振的东西 我们接一个 4 MHz的。
第4条腿是复位脚,是一个信号输入脚。
单片机正常运行时接高电平。
当有一个低电平脉冲输入到这个脚时单片机就复位。
所谓复位就是单片机内部所有的工作部件统统回到规定的状态,程序也复位到头一句上开始逐条运行。
例如,你设计的一个报警锁定的 LED红灯亮后,当需要解除报警时,用一个按钮给这个脚瞬时接地一下,相当于给它一个负脉冲,系统就复位了,led 灯就熄灭了,程序从头开始。
以上5个脚,几乎所有单片机都有,包括世界上最复杂的,和世界比较简单的单片机-----PIC12CE519。
余姚单片机培训难点讲解
余姚单片机培训难点讲解讲解人:吴老师大家好,我是余姚邦元的吴老师,今天我跟大家介绍一下单片机的相关内容。
首先是对单片机这个名词的解释。
我们学校的地址:余姚太平羊国际大厦403室。
什么是单片机,这对于小白是一个迷糊的概念。
单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。
单片机(Microcontrollers)作为计算机发展的一个重要分支领域,根据发展情况,从不同角度,单片机大致可以分为通用型/专用型、总线型/非总线型及工控型/家电型。
通用型这是按单片机(Microcontrollers)适用范围来区分的。
例如,80C51式通用型单片机,它不是为某种专门用途设计的;专用型单片机是针对一类产品甚至某一个产品设计生产的,例如为了满足电子体温计的要求,在片内集成ADC接口等功能的温度测量控制电路。
总线型单片机这是按单片机(Microcontrollers)是否提供并行总线来区分的。
总线型单片机普遍设置有并行地址总线、数据总线、控制总线,这些引脚用以扩展并行外围器件都可通过串行口与单片机连接,另外,许多单片机已把所需要的外围器件及外设接口集成一片内,因此在许多情况下可以不要并行扩展总线,大大减省封装成本和芯片体积,这类单片机称为非总线型单片机。
控制型这是按照单片机(Microcontrollers)大致应用的领域进行区分的。
一般而言,工控型寻址范围大,运算能力强;用于家电的单片机多为专用型,通常是小封装、低价格,外围器件和外设接口集成度高。
单片机基础知识点总结(热门6篇)
单片机基础知识点总结第1篇MCS-51单片机是标准数字电路芯片,其输入输出引脚电平符合TTL电平规则(高电平逻辑3 -5V,低电平逻辑0-1V),该电平标准有效传输距离较短(15米以内),不适于远距离通信信号传输。
为了提高串行通信可靠性,增大通信距离,人们定义了各种新的通信电平标准。
后经美国电子工业协会(EIA)指定标准规范化,形成RS422,RS232,RS485三种异步串行通信电平标准和硬件接口协议。
RS232接口标准是一种用于短距离或带调制解调器(Modem)的串行通信接口标准,1 970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的。
MCS-51单片机串行口主要由发送数据寄存器、发送控制器、输出控制门、接收数据寄存器、接收控制器、输入移位寄存器等组成SM0、 SM1:串行口工作方式选择位。
SM2:多机通信控制位。
REN:允许接收控制位。
TB8:发送的第9位数据RB8:接收的第9位数据。
TI:发送中断标志位。
RI:接收中断标志位。
当SMOD位为1,则串行口方式1、方式2、方式3的波特率加倍。
方式o通常用来外接移位寄存器,用作扩展I/O口。
方式0工作时波特率固定为: f o s c / 12 f_{osc} /12 fosc/12。
工作时,串行数据通过RXD输入和输出,同步时钟通过TXD输出。
在TI=0时,当CPU执行一条向SBUF写数据的指令时,启动发送过程。
从RXD依次发送出去,同步时钟从TXD送出。
8位数据发送完后,发送中断标志TI置位,并向CPU申请中断。
在RI=0的条件下,将REN置 “1”就启动一次接收过程。
在移位脉冲的控制下,RXD上的串行数据依次移入移位寄存器。
当8位数据全部移入移位寄存器后,8位数据送入接收数据缓冲器SBUF中,同时,接收中断标志RI置位,向CPU申请中断。
单片机基础知识点总结第2篇为了方便用户,C51编译器把S1单片机的常用的特殊功能寄存器和特殊位进行了定义,放在一个“regsl。
详解51单片机学习过程中的四大误区
详解51单片机学习过程中的四大误区来源:互联网[导读] 51单片机指MCS-51系列单片机,CICS指令集。
由Intel公司开发,其结构增加了如乘(MUL)、除(DIV)、减(SUBB)、比较(CMP)、16位数据指针、布尔代数运算等指令,以及串行通信能力和5个中断源,内有128个RAM单元及4K的ROM。
关键词:Intel公司Atmel公司51单片机51单片机的辉煌过去51单片机指MCS-51系列单片机,CICS指令集。
由Intel公司开发,其结构增加了如乘(MUL)、除(DIV)、减(SUBB)、比较(CMP)、16位数据指针、布尔代数运算等指令,以及串行通信能力和5个中断源,内有128个RAM单元及4K的ROM。
其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。
目前国内的51单片机市场主要为国产宏晶的产品STC系列其号称低功耗,稳定与廉价的特点。
学习51单片机的误区误区1:51单片机是学习的基础“51单片机是学习的基础”这句话本身并没有错。
在我读本科的时候,当时它无疑是学习的基础——毕竟那时没有更高级的单片机可以供使用,国内更没有更高级的教材供参考,老师的水平也是参差不齐,而51单片机正符合这样的需求,不仅有大量的成型的教材,广泛的示例,当时工作的实际项目也是51单片机为主,于是51单片机理所当然的成为当时的学习基础。
要知道笔者读本科的时候是2004年,即10年前的东西。
按照莫尔定律,电子行业每18个月更新换代,10 年前的技术现在已经更新了6代了——事实也确实如此。
目前32位Crtex-M系列单片机的各种教程已经普及,其学习的难度不断降低。
以意法半导体公司的STM32F系列单片机来说,意法半导体在推广产品初期大量赠送了核心板。
免费赠送的核心板不仅有流行的32位Cortex-M系列微处理器,更在板上集成在线调试器。
随机附赠的光盘或者链接更是提供了大量的示例源代码。
我们只需要安装开发环境即可直接编译与下载调试。
单片机基础知识汇总
单片机基础知识汇总1单片机简介:亦称微控制器,顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。
因为它体积小,通常都藏在被控机械的“肚子”里。
它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。
现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。
各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能微电脑型”,如智能型热水器等。
学习单片机是否很困难呢?应当说,对于已经具有电子电路,尤其是数字电路基本知识的读者来说,不会有太大困难,如果你对PC机有一定基础,学习单片机就更容易。
为使绝大多数读者能用上单片机。
我们这里将尽量按深入浅出、理论联系实际的原则把单片机的基本工作原理、使用方法交给读者,以达到把大家领进单片机之“门”的目的。
不过,单片机和PC机一样,是实践性很强的一门技术,有人说“计算机是玩出来的”,单片机亦一样,只有多“玩”,也就是多练习、多实际操作,才能真正掌握它。
因此,本讲座会提供各种练习和实验,并介绍一些适用于初学者且性价比较高的单片机和开发系统的货源。
你只有认真完成成这些实践环节,才能为进一步深造,打好基础。
只要你有恒心、有决心,跟随我们的“连载”一步步走下去,将来就一定能在单片机世界里遨游。
单片机的组成:单片机要自动完成计算,它应该具有哪些最重要的部分呢?我们以打算盘为例计算一道算术题。
例:111+109×188-199÷32。
现在要进行运算,首先需要一把算盘,其次是纸和笔。
我们把要计算的问题记录下来,然后第一步先算109×188,把它与111相加的结果记在纸上,然后计算199÷32,再把它从上一次结果中减去,就得到最后的结果。
现在,我们用单片机来完成上述过程,显然,它首先要有代替算盘进行运算的部件,这就是“运算器”;其次,要有能起到纸和笔作用的器件,即能记忆原始题目、原始数据和中间结果,还要记住使单片机能自动进行运算而编制的各种命令。
单片机原理及应用重点难点
第一章绪论
重点内容:
1.单片机的概念。
2.单片机的特点。
3.单片机的应用模式。
第二章单片机的基本结构
重点内容:
1、单片机40脚功能特点。
2、单片机的特殊功能寄存器。
3、单片机的复位方式。
难点内容:
1、51单片机存储器的结构。
2、单片机的并口工作方式。
第三章80C51单片机的指令系统
重点内容:
1、指令类型及指令格式
2、指令寻址方式及寻址空间
3、111条指令
难点内容:
1、指令格式
2、指令系统中使用的常用符号
3、间接寻址和变址寻址
4、NOP指令
第四章80C51单片机的功能单元
重点内容:
1、并行I/0接口,P0、P1、P
2、P3四个并行接口。
2、80C51的定时器/计数器。
3、全双工串行接口UART。
4、中断系统。
难点内容:
1、P3口的第二功能
2、中断请求
第五章80C51单片机的程序设计
重点内容:
1、汇编语言语句格式。
2、程序设计的步骤。
3、循环结构程序的设计。
4、子程序设计。
教学难点
难点内容:
1、伪指令的使用。
2、子程序的调用与返回。
3、中断服务子程序。
前五章重、难点内容,同学们在学习过程中针对性的预习和复习,结合随堂测验和课后习题,重点掌握以上各个知识点!(未完待续)。
谈谈学习单片机的几个误区
谈谈学习单片机的几个误区1、学汇编,必须先记熟单片机的指令:大多数学单片机的人都认为学汇编就要先记熟单片机的指令。
其实不然,本人从事单片机编程已经多年,掌握了几种单片机的编程技巧,但至今并没有熟记任何一款单片机的指令。
不是我太懒,也不是我的记性太差,而是根本没有这个必要。
单片机的指令少则几十条,多则一百多条,其实常用的就十来条。
这些指令,我们只要看一遍,了解它们的用法就可以了。
对于常用的十来条指令我们第一次用的时候可能要查一下指令集,以后就完全是复制、粘贴的事情了。
对于其它不常用的指令,我们完全没有必要花太多时间来熟记它们。
当然,如果你的脑袋好,看一遍就全记熟了,那也是好事,否则的话就不要太过勉强自己了啊!2、所有单片机资料都要看一遍或多遍甚至记熟:很多单片机的学员往往会认为应该将买回来的单片机书籍或培训班发给他们的资料全都看一遍,其实这是一个不科学的学习方法。
对于一个真心想学会单片机编程技术的人来说,手上有N 套单片机书籍或学习资料是最正常不过的了。
如果我们要把这些书籍和资料全都看一遍的话,你想要花多长时间啊?恐怕一本书还未看完,前面看的内容就忘的一干二净了吧!可能有人会问,你买书买资料回来连看都不看买来干嘛啊?在这我要郑重的告诉你:技术书籍、资料是买来查的,不是买来阅读和背诵的!3、能做几个功能单一的小程序,就算学会了单片机编程:很多自学单片机的人经过自己一段时间的努力后,往往就能登堂入室了,一个个功能单一的小程序做得有模有样。
什么流水灯、按键检测、蜂鸣器控制、定时控制、数码管显示、红外遥控、、、、、、都能一一做出来。
这时侯我们可能就会误认为自己学会了单片机。
其实不然,学习单片机有两道门槛,一是进门,。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
初学单片机几个不易掌握的概念
随着电子技术的迅速发展,计算机已深入地渗透到我们的生活中,许多电子爱好者开始学习单片机知识,但单片机的内容比较抽象,相对电子爱好者已熟悉的模拟电路、数字电路,单片机中有一些新的概念,这些概念非常基本以至于一般作者不屑去谈,教材自然也不会很深入地讲解这些概念,但这些内容又是学习中必须要理解的,下面就结合本人的学习、教学经验,对这些最基本概念作一说明,希望对自学者有所帮助。
一、总线:我们知道,一个电路总是由元器件通过电线连接而成的,在模拟电路中,连线并不成为一个问题,因为各器件间一般是串行关系,各器件之间的连线并不很多,但计算机电路却不一样,它是以微处理器为核心,各器件都要与微处理器相连,各器件之间的工作必须相互协调,所以就需要的连线就很多了,如果仍如同模拟电路一样,在各微处理器和各器件间单独连线,则线的数量将多得惊人,所以在微处理机中引入了总线的概念,各个器件共同享用连线,所有器件的8根数据线全部接到8根公用的线上,即相当于各个器件并联起来,但仅这样还不行,如果有两个器件同时送出数据,一个为0, 一个为1,那么,接收方接收到的究竟是什么呢?这种情况是不允许的,所以要通过控制线进行控制,使器件分时工作,任何时候只能有一个器件发送数据(可以有多个器件同时接收)。
器件的数据线也就被称为数据总线,器件所有的控制线被称为控制总线。
在单片机内部或者外部存储器及其它器件中有存储单元,这些存储单元要被分配地址,才能使用,分配地址当然也是以电信号的形式给出的,由于存储单元比较多,所以,用于地址分配的线也较多,这些线被称为地址总线。
二、数据、地址、指令:之所以将这三者放在一起,是因为这三者的本质都是一样的一一数字,或者说都是一串'0’和'1'组成的序列。
换言之,地址、指令也都是数据。
指令:由单片机芯片的设计者规定的一种数字,它与我们常用的指令助记符有着严格的一一对应关系,不可以由单片机的开发者更改。
地址:是寻找单片机内部、外部的存储单元、输入输出口的依据,内部单元的地址值已由芯片设计者规定好,不可更改,外部的单元可以由单片机开发者自行决定,但有一些地址单元是一定要有的(详见程序的执行过程)。
数据:这是由微处理机处理的对象,在各种不同的应用电路中各不相同,一般而言,被处理的数据可能有这么几种情况:
1•地址(如MOV DPTR , #1000H ),即地址1000H 送入DPTR。
2•方式字或控制字(如MOV TMOD , #3) , 3即是控制字。
3•常数(如MOV THO , #10H) 10H即定时常数。
4•实际输出值(如P1 口接彩灯,要灯全亮,则执行指令:MOV Pl , #OFFH, 要灯全暗,贝朋行指4: MOV Pl , #00H )这里OFFH和00H都是实际输出值。
又如用于LED 的字形码,也是实际输出的值。
理解了地址、指令的本质,就不难理解程序运行过程中为什么会跑飞,会把数据当成指令来执行了。
三、P0 口、P2 口和P3的第二功能用法初学时往往对P0 口、P2 口和P3 口的第二功能用法迷惑不解,认为第二功能和原功能之间要有一个切换的过程,或者说要有一条指令,事实上,各端口的第二功能完全是自动的,不需要用指令来转换。
如P3.6、P3.7分别是WR、RD信号,当微片理机外接RAM或有外部I/O 口时,它们被用作第二功能,不能作为通用I/O 口使用,只要一微处理机一
执行到MOVX指令,就会有相应的信号从P3.6或P3.7送出,不需要事先用指令说明。
事实上'不能作为通用I/O 口使用’也并不是'不能'而是(使用者)'不会’ 将其作为通用I/O 口使用。
你完全可以在指令中按排一条SETB P3. 7的指令,并且当单片机执行到这条指令时,也会使P3.7变为高电平,但使用者不会这么去做,因为这通常这会导致系统的崩溃(即死机)。
四、程序的执行过程单片机在通电复位后8051内的程序计数器(PC)中的值为'0000,,所以程序总是从'0000'单元开始执行,也就是说:在系统的ROM中一定要存在'0000,这个单元,并且在'0000'单元中存放的一定是一条指令。
五、堆栈堆栈是一个区域,是用来存放数据的,这个区域本身没有任何特殊之处,就是内部RAM的一部份,特殊的是它存放和取用数据的方式,即所谓的'先进后出,后进先出’,并且堆栈有特殊的数据传输指令,即' PUSH '和'POP 有一个特殊的专为其服务的单元,即堆栈指针SP,每当执一次PUSH指
令时,SP就(在原来值的基础上)自动加1,每当执行一次POP指令,SP就(在原来值的基础上)自动减lo由于SP中的值可以用指令加以改变,所以只要在程序开始阶段更改了SP的值,就可以把堆栈设置在规定的内存单元中,如在程序开始时,用一条MOV SP, #5FH指令,就时把堆栈设置在从内存单元60H开始的单元中。
一般程序的开头总有这么一条设置堆栈指针的指令,因为开机时,SP 的初始值为07H ,这样就使堆栈从
08H单元开始往后,而08H到1FH这个区域正是8031的第二、三、四工作寄存器区,经常要被使用,这会造成数据的浑乱。
不同作者编写程序时,初始化堆栈指令也不完全相同,这是作者的习惯问题。
当设置好堆栈区后,并不意味着该区域成为一种专用内存,它还是可以象普通内存区域一样使用,只是一般情况下编程者不会把它当成普通内存用了。
六、单片机的开发过程这里所说的开发过程并不是一般书中所说的从任务分析开始,我们假设已设计并制作好硬件,下面就是编写软件的工作。
在编写软件之前,首先要确定一些常数、地址,事实上这些常数、地址在设计阶段已被直接或间接地确定下来了。
如当某器件的连线设计好后,其地址也就被确定了,当器件的功能被确定下来后,其控制字也就被确定了。
然后用文本编缉器(如EDIT、CCED 等)编写软件,编写好后,用编译器对源程序文件编译,查错,直到没有语法错误,除了极简单的程序外,一般应用仿真机对软件进行调试,直到程序运行正确为止。
运行正确后,就可以写片(将程序固化在EPROM中)。
在源程序被编译后,生成了扩展名为HEX的目标文件,一般编程器能够识别这种格式的文件,只要将此文件调入即可写片。
在此,为使大
家对整个过程有个认识,举一例说明:
ORG 0000H
LJMP START
ORG 040H
START :
MOV SP , #5FH ;设堆栈
LOOP:
NOP
LJMP LOOP ;循环
END ;结束
表1 :03000000020040BB
:0700400075815F000200431F
表2
02 00 40 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 75 81 5F 00 02 00 43
表3表1为源程序,表2是汇编后得到的HEX文件,表3是由HEX文件转换成的目标文件,也就是最终写入EPROM的文件,它由编程器转换得到,也可以由HEXBIN 一类的程序转换得到。
学过手工汇编者应当不难找出表3与表1的一一对应关系,值得注意的是从02 00 40后开始的一长串'FF',直到75 81,这是由于伪指令:ORG 040H造成的结果。
七、仿真、仿真机仿真是单片机开发过程中非常重要的一个环节,除了一些极简单的任务,一般产品开发过程中都要进行仿真,仿真的主要目的是进行软件调试,当然借助仿真机,也能进行一些硕件排错。
一块单片机应用电路板包括单片机部份及为达到使用目的而设计的应用电路,仿真就是利用仿真机来代替应用电路板(称目标机)的单片机部份,对应用电路部份进行测试、调试。
仿真有CPU仿真和ROM仿真两种,所谓CPU仿真是指用仿真机代替目标机的CPU ,由仿真机向目标机的应用电路部份提供各种信号、数据,进行调试的方法。
这种仿真可以通过单步运行、连续运行等多种方法来运行程序,并能观察到单片机内部的变化,便于改正程序中的错误。
所谓ROM仿真,就
是用仿真机代替目标机的ROM ,目标机的CPU工作时,从仿真机中读取程序,并执行。
这种仿真其实就是将仿真机当成一片EPROM,只是省去了擦片、写片的麻烦,并没有多少调试手段可言。
通常这是二种不同类型的仿真机,也就是说,一台仿真机不能既做CPU 仿真,又做ROM仿真。
可能的情况下,当然以CPU仿真好。
以上系个人对单片机的理解,如有不对之处,请诸位大虾多多指点。
发表您的高见。
转载,出自平凡的单片机。