史上最通俗易懂的单片机自学有笔记1
- 格式:pdf
- 大小:1.67 MB
- 文档页数:26
《单片机原理与应用》复习提纲第一章第二章MCS-51系列单片机的硬件结构1. MCS-51单片机的总体结构MCS-51单片机的内部结构•8位的CPU;•128个字节的片内RAM;•4K字节的片内ROM程序存储器(8031无)•外部的RAM和ROM的寻址范围为64K•21个字节的专用寄存器•4个8位并行I/O口•1个全双工的串行口•2个16位的定时器/计数器•5个中断源、2个中断优先级MCS-51单片机的总线结构微处理器又称为CPU,是单片机内部的核心部件,它决定了单片机的重要功能特性。
它由运算器和控制器两大部分组成。
对CPU的使用就是对CPU中的寄存器的使用。
•累加器ACC•寄存器B•程序状态字PSW•布尔处理器C•程序计数器PC,16位•数据指针寄存器DPTR,16位DPTR寄存器中存放外部数据存储器地址•堆栈指针SP•2.程序存储器程序存储器通常存放程序指令、常数及表格等,系统在运行过程中不能修改其中的数据。
.程序的几个特殊地址:•复位0000H,PC复位指向该地址•外部中断0 0003H•定时器/计数器0溢出000BH•外部中断1 0013H•定时器/计数器1溢出001BH•串行口中断0023H3.数据存储器•数据存储器则存放缓冲数据,系统在运行过程中可修改其中的数据。
•包括:•1)编址与访问•2)片内数据存储器•3)特殊功能寄存器块片内128字节数据存储器要求熟悉4个工作寄存器区的使用方法RS0,RS1。
如:RS1,RS0=10 , R1的直接地址为11H。
00H~1FH :32个字节,内部RAM的寄存器区共有32个单元,分为4组,每组8单元。
•20H~2FH:16个字节,128位寻址区,128位寻址区的字节地址范围是20H~2FH。
•30H~7FH:通用寄存器区或数据缓冲区,堆栈区。
••堆栈:•使用片内RAM、初始化时SP=07H•51系列单片机的堆栈是向上生长的•一般程序中堆栈的开始:•MOV SP,#60H4.单片机的复位电路高电平复位,一般高电平保持2个机器周期以上有效复位5.时序•(1)振荡周期•(2)状态周期•(3)机器周期•(4)指令周期•外部晶振的2分频是MCS-51单片机的内部时钟周期,6个时钟周期构成了单片机的1个机器周期。
51单片机初学知识点总结1. 什么是51单片机:51单片机是指Intel公司生产的8位单片机芯片系列。
51单片机由中央处理器单元(CPU)、随机存储器(RAM)、只读存储器(ROM)、输入输出端口以及中断系统等组成。
2. 51单片机的发展历史:51单片机最早在1980年由Intel公司发布,之后逐渐发展壮大。
目前,市面上有很多公司都生产和销售51单片机。
3. 51单片机的架构:51单片机采用Harvard结构,即程序存储器与数据存储器分开。
程序存储器分为片内存储器和片外存储器,数据存储器包括RAM和特殊功能寄存器。
4. 51单片机的寄存器:51单片机有一组特殊功能寄存器,用于存储和控制各种系统状态。
这些寄存器可以分为SFR(Special Function Register)和控制寄存器两种类型。
5.51单片机的引脚和IO口:51单片机有40个引脚,其中一些引脚是I/O(输入/输出)口。
这些I/O口可以配置为输入或输出,并可以被程序控制。
6.51单片机的时钟系统:51单片机需要一个时钟源来提供时钟信号。
时钟源可以是外部晶体振荡器或者片内RC振荡器。
7.51单片机的存储器:51单片机具有不同类型的存储器,包括内存区域、堆栈区域和特殊功能寄存器。
内存区域包括RAM和ROM,堆栈区域用于保存中断处理和函数调用的返回地址。
8.51单片机的指令集:51单片机具有丰富的指令集,可以执行各种操作,例如算术运算、逻辑运算、位操作和跳转等。
9.51单片机的中断系统:51单片机具有中断系统,可以响应外部中断和定时器中断。
中断可以打断当前执行的程序,并转移到中断处理函数。
10.51单片机的编程和调试:51单片机的编程可以使用汇编语言或高级语言(如C语言)进行。
调试可以使用模拟器或者仿真器进行。
11.51单片机的应用领域:51单片机广泛应用于各种控制系统和嵌入式系统,例如家用电器控制、电动工具、汽车电子等。
12.51单片机的扩展接口:51单片机可以与其他外设连接,例如LCD显示屏、键盘、温度传感器等。
51单⽚机学习总结(史上最全版,⾃⼰总结)单⽚机学习总结Lesson1 预备知识与点亮⼀个⼆极管⼀、预备知识与流⽔灯1、CPU ROM RAM STC I/O⼝2、电平特性:⾼与低,TTL电平:⾼+5v,低0v;RS232电平:⾼-12v,低+12v,计算机与单⽚机通讯时要加电平转换芯⽚max232(实验板上左下⾓)3、⼆进制:遇⼆进⼀;⼗六进制:⼗进制中的0-15分别表⽰为⼗六进制的0、1....9、A、B、C、D、E、F,⼀般把四个⼆进制数放在⼀起转换为⼀个⼗六进制数,转换时先把⼆进制数转换成⼗进制数,再把⼗进制数转换成⼗六进制数。
0001B>1H;1010B>AH;0010 1100>2CH(这⾥B表⽰的是⼆进制,H表⽰的⼗六进制)。
0x表⽰⼗六进制。
4、⼆进制的逻辑运算:“与”、“?”、“&”;“或”、“+”、“|”;“⾮”“A”;“异或”“⊕”,相同为0,不同为1。
按位与&,按位或|,按位异或~,按位取反~5、芯⽚缺⼝⽅向,芯⽚插反会导致短路。
⼆、80C51系列介绍1、80C51的引脚封装:总线型:有4组⾮总线型:只有20个引脚,送数据时,数据在总线上跑2、C51知识:sfr,特殊功能寄存器声明;sfr16,sfr的16位数据声明;sbit,特殊功能位声明;bit,位变量声明。
例如sfr SCON=0X98,sfr16 T2=0xCC,sbit 0V=PSW^2(第2位定义为ov)。
单⽚机都是从0开始记值。
3、C-51的运算符:4、单⽚机掌握⼏点:5、stc-isp的使⽤就德飞莱单⽚机⽽⾔,单⽚机类型为stc90c516RD+,com类型为com4,在下载程序时,⼀定要先把开发板上的电源断掉,过2秒钟再打开,顺序不能颠倒。
如果此界⾯长期没有变化,考虑以下⼏点:6、Keil的使⽤:(1)、先建⼯程,⽂件名没有后缀名,保存,选择atmel中的80c52(2)、再建⽂件,有后缀名,后缀名.c(c语⾔)或.asm(汇编语⾔)(3)、将⽂件添加在⼯程⾥,在左⽅,右击(5)、先下载程序,后打开电源(6)、注释的⽅式有两种,⼀是//,换⾏⽆效;⼆是/* */,但是注释的语句不编译。
一、51单片机的硬件结构1. 硬件结构框图说明:○1微处理器(CPU):51单片机含一个8位CPU,与通用的CPU功能基本相同,含运算器和控制器,不仅可以字节处理,还可以位处理。
例如:未处理、查表、状态检测、中断处理等。
○2数据存储器(RAM):51为128B,52为256B;片外最大可扩展到64K。
○3程序存储器(ROM/EPROM):8031没有,8051有4K的ROM,8751有4K的EPROM;片外可扩展至64K。
○4中断系统:5个中断源,2级优先权。
○5定时器/计数器:2个16位定时/计数器,四种工作方式。
○6串行口:1个全双工串行口,四种工作方式。
可进行串口通信,扩展并行I/O口,多机通信等。
○7P1、P2、P3、P0口:四个8位并行I/O口。
○8特殊功能寄存器(SFR):共21个,对片内部件进行管理、控制、监视;实际上是一些控制寄存器和状态寄存器,是一个具有特殊功能的RAM区。
2. 引脚排列(1)电源及时钟引脚○1电源引脚:Vcc(40脚)解5V电源、Vss(20脚)接地。
○2时钟引脚:两个始终引脚XTAL1、XTAL2外接晶振,或接晶体与片内反相放大器构成振荡器。
XTAL1(19脚):内部反相放大器的输入端。
若接晶振则应接地;XTAL2(18脚):内部反相放大器的输出端。
若采用外部时钟振荡器,该引脚接收时钟振荡信号。
(2)控制引脚○1RST/Vpd(9脚):复位信号输入,高电平有效。
单片机运行时,此脚持续2个机器周期(24个时钟振荡周期)的高电平,就可复位。
平时应为0.5V低电平;Vpd为第二功能,备用电源输入端。
○2:ALE为地址锁存允许,正常工作时,ALE不断输出正脉冲信号。
当访问外部存储器时,ALE输出信号的负跳变沿用作低8位地址的锁存信号;PROG’为编程脉冲输入端。
○3PSEN’(Program Strobe Enable,29脚):程序存储器允许输出控制端。
低电平是外部程序存储器选通。
C51单片机步步学笔记(最新更新)管理提醒:本帖被icneo 执行取消置顶操作(2009-01-02)作为一个初学者,如何单片机入门?我需要那些知识和设备?知识上,其实不需要多少东西,会简单的C语言,知道51单片机的基本结构就可以了。
一般的大学毕业生都可以了,自学过这2门课程的高中生也够条件。
设备上,一般是建议购买一个仿真器,这样才可以进行实际的,全面的学习。
日后在工作上,仿真器也大有用处还有,一般光有仿真器是不行,还得有一个实际的电路,即学习板。
学习板一般价格都比较贵,而且许多学习板配套程序和讲解不够完善。
这里介绍的是最简单的学习板,4个按键加4个LED发光管,一个蜂鸣器,一个24c 02即可。
通过30个教程,初学者可以学到:单片机控制外部设备,读取外部设备状态,外部中断的应用,中断的深入理解,变量和标记的灵活应用,定时器的灵活应用,可编程自动控制的方法,按键控制设备动作的方法,PWM输出的设计,存储器的读写,延时报警器的设计,各种报警音的设计,音乐播放的设计,程序模块化的设计等等知识。
虽然,这些知识的覆盖面有限,但是,当你学习并掌握了这30个试验之后,您就会豁然开朗,单片机的编程控制如此简单!学习完后,您就已经完全地入门了,并可以自主地对其它的单片机知识进行学习、试验,甚至进行项目开发!第一课了解单片机及单片机的控制原理,控制一个LED 灯的亮和灭本章学习内容:单片机基本原理,如何仿真器,如何编程点亮和灭掉一个LED 灯,如何进入KEILC51uV 调试环境,如何使用单步,断点,全速,停止的调试方法单片机现在是越来越普及了,学习单片机的热潮也一阵阵赶来,许多人因为工作需要或者个人兴趣需要学习单片机。
可以说,掌握了单片机开发,就多了一个饭碗。
51 单片机已经有30 多年的历史了,在中国,高校的单片机课程大多数都是51,而51 经过这么多年的发展,也增长了许多的系列,功能上有了许多改进,也扩展出了不少分支。
MC51单片机学习笔记一准备知识:1.内部结构:4K Rom 程序存储器(硬件)128节Ram随机存储器(软件)8位cpu,4个8位并口,1个全双串行口,2个16位定时器/计数器;寻址范围64k 布尔处理器CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;ROM:用以存放程序、一些原始数据和表格;I/O口:四个8位并行I/O口,既可用作输入,也可用作输出;T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式五个中断源的中断控制系统;一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。
最高振荡频率取决于单片机型号及性能。
2.分类:arm(快)凌阳(处理声音较好)3.型号说明:STC (公司名) 89(系列)C(CMOS;CAD:自带AD转换;S:串行下载无需专门的编程器;lv:工作电压为3v)51(1*4=4K) RC 40(晶振最高频率)C(商业级:温度0--85,I工业级温度-40--125)----PDIP (双列直插式)0721(07年第21周).........4.电平:TTL:高:+5v--低0v;RS232:计算机串口:+12v--低-12v,故计算机和单片机通信需要电平转换芯片5.二进制与十六进制之间的转换:每4位转变一次6.二进制转换逻辑符号:&与,//或,---非,异或7. P3第二功能各引脚功能定义:P3.0:RXD串行口输入P3.1:TXD串行口输出P3.2:INT0外部中断0输入P3.3:INT1外部中断1输入P3.4:T0定时器0外部输入P3.5:T1定时器1外部输入P3.6:WR外部写控制(计数)P3.7:RD外部读控制RST :复位管脚,高电平有效,时间大于两个机器周期VPD:备用电源注:机器周期和指令周期(1)振荡周期: 也称时钟周期, 是指为单片机提供时钟脉冲信号的振荡源的周期,TX实验板上为11.0592MHZ。
单片机相关知识点,最强科普总结!(一)引言概述单片机是一种集成电路芯片,具有处理器核心、存储器、输入输出设备和各种外设接口等功能。
它被广泛应用于电子设备、通信系统、工业控制、汽车电子等领域。
本文将围绕单片机相关的知识点展开,为读者提供一份最强科普总结。
一、硬件基础知识1. 单片机架构:介绍单片机是如何组成的,包括处理器核心、存储器、IO口等组件的功能和作用。
2. 内部总线:解释内部总线的作用,包括数据总线和地址总线的基本原理和功能。
3. 外部设备接口:介绍单片机与外部设备进行通信的接口方式,如串口、并口、SPI和I2C等。
4. 时钟和复位:讲解单片机的时钟源和复位电路,包括内部时钟和外部时钟稳定电路的原理和配置方法。
5. 电源与电源管理:讨论单片机电源的选择和管理,包括如何设计合理的电源电路和电源管理模块。
二、编程基础知识1. C语言基础:介绍C语言的基础知识,包括数据类型、变量、运算符、控制流语句等,以及如何在单片机上用C语言进行编程。
2. 寄存器编程:解释寄存器编程的概念和优势,以及如何通过直接访问寄存器进行单片机的配置和控制。
3. 中断编程:介绍单片机中断的基本原理和编程方法,包括中断向量表的设置和中断服务程序的编写。
4. 定时器和计数器:讲解单片机中的定时器和计数器的工作原理和编程方法,包括定时延时、计时测量等应用。
5. 脉冲宽度调制(PWM):详细介绍PWM技术和应用,包括如何通过PWM控制电机速度、灯光亮度等。
三、常用外设知识1. 数字输入输出(GPIO):讨论单片机的通用IO口的原理和使用方法,包括输入输出模式、上下拉电阻控制等。
2. 串行通信(UART):介绍UART通信的基本原理和编程方法,包括串口配置、发送和接收数据等。
3. 并行通信(并口):讨论并口通信的工作原理和编程方法,包括并口模式选择、数据传输等相关知识。
4. 存储器扩展(SD卡):详细介绍SD卡的工作原理和接口标准,包括SD卡的读写操作和文件系统的访问方法。
单片机读书笔记单片机,这个小小的芯片却蕴含着巨大的能量,如同一个智能的“大脑”,掌控着各种电子设备的运行。
在学习单片机的过程中,我仿佛打开了一扇通往科技世界的大门,充满了新奇和挑战。
单片机,简单来说,就是将计算机的主要功能集成在一个芯片上。
它具有体积小、功耗低、控制功能强等优点,被广泛应用于工业控制、智能仪表、家用电器、医疗器械等众多领域。
在接触单片机之初,我了解到它的基本结构包括中央处理器(CPU)、存储器(ROM 和 RAM)、输入输出接口(I/O 接口)等部分。
CPU 是单片机的核心,负责执行指令和进行数据处理。
存储器用于存储程序和数据,ROM 存放固化的程序,而 RAM 则用于临时存储运行时的数据。
I/O 接口则实现了单片机与外部设备的通信。
学习单片机,编程是关键。
常用的编程语言有汇编语言和 C 语言。
汇编语言执行效率高,但编程复杂;C 语言则相对简洁,易于理解和维护。
我从最基础的 C 语言开始入手,学习变量、数据类型、控制结构等知识。
通过编写简单的程序,如点亮一个 LED 灯、控制蜂鸣器发声等,逐渐熟悉了单片机的编程方法。
在实践过程中,我发现单片机的开发需要硬件和软件的协同配合。
硬件方面,需要了解电路原理,设计合适的电路板。
软件方面,要熟练掌握开发工具,如 Keil 等。
通过不断地调试程序,修改硬件电路,我逐渐提高了自己解决问题的能力。
单片机的应用非常广泛。
在工业控制中,它可以实现对生产过程的自动化监测和控制,提高生产效率和质量。
在家用电器中,如智能电饭煲、空调等,单片机使得设备更加智能化和节能。
在医疗领域,单片机可以用于医疗仪器的控制和数据采集,为医疗诊断和治疗提供支持。
例如,在智能温度控制系统中,单片机通过温度传感器采集环境温度,然后根据设定的温度范围控制加热或制冷设备的工作,从而实现精确的温度控制。
在智能小车的设计中,单片机可以接收传感器的信号,控制电机的转速和转向,实现小车的自动行驶和避障功能。
单片机原理及应用笔记单片机原理及应用笔记什么是单片机?单片机(Microcontroller Unit, MCU)是一种集成了微处理器核心、存储器、输入/输出接口和计时器等基本模块的微型计算机系统。
它具有体积小、成本低、功耗少、可靠性高等特点,广泛应用于电子设备控制、仪表测量、自动化控制、智能家居等领域。
单片机的组成单片机主要由以下模块组成:1. 微处理器核心:包括中央处理器(CPU)、寄存器、指令集等,是单片机的大脑,用来处理各种信息和控制器件的工作。
2. 存储器:包括读写内存(RAM)、只读存储器(ROM)、闪存等,用来存储程序代码、数据、配置信息等。
3. 输入/输出接口:包括串口、并口、GPIO、ADC、DAC等,用来与外部器件进行数据交互和信号转换。
4. 计时器:包括定时器、计数器等,用来产生各种时间序列和脉冲信号,实现计时、计数等功能。
单片机的应用单片机应用范围广泛,包括但不限于以下领域:1. 电子设备控制:例如家庭电器、手机、电视机、音响等,都有单片机控制芯片。
2. 仪表测量:例如温度计、湿度计、压力计等传感器以及配套的数据采集和控制系统,多采用单片机控制。
3. 自动化控制:例如工业自动化生产线、智能机器人、停车场管理系统等,都需要单片机来实现控制功能。
4. 智能家居:例如智能锁、智能灯光、智能窗帘等,依靠单片机完成智能化控制。
单片机的编程语言单片机的编程语言主要有汇编语言、C语言和基本语言等。
1. 汇编语言:是单片机的本地语言,指令集非常多,具备直接控制硬件的优势,编写出来的程序效率非常高,可优化性强,但是编写难度大。
2. C语言:是一种高级程序设计语言,高度抽象,工具丰富,简单易学,便于移植和维护,使单片机编程更加简单、高效。
3. 基本语言:是一种低级别语言,适合学习单片机程序的初学者,但是效率不如汇编语言和C语言。
总之,单片机在现代科技领域的应用非常广泛,对于从事电子工程相关工作的人员来说,掌握单片机编程具有极大的必要性。
单片机初级教程知识点总结一、单片机的基本概念1. 什么是单片机单片机是一种嵌入式微处理器,集成了中央处理器、存储器、输入输出接口和定时器等功能的微型计算机系统。
它能够完成特定的功能,包括数字信号处理、控制、通信等。
2. 单片机的特点单片机主要有以下几个特点:(1)集成度高,封装紧凑;(2)内置存储器、输入输出接口,可直接控制外部设备;(3)资源丰富,包括中央处理器、定时器、串口、模拟数字转换器等;(4)功耗低,适合嵌入式应用。
3. 单片机的分类根据指令系统架构,单片机一般分为CISC(复杂指令集计算机)和RISC(精简指令集计算机)两种类型;根据应用领域,单片机可以分为通用单片机和专用单片机;根据架构,单片机可以分为8位、16位和32位单片机。
二、单片机的基本原理1. 单片机的内部结构单片机一般包括中央处理器、存储器、输入输出接口和定时器等部分。
中央处理器(CPU)负责执行指令集,控制运算与逻辑单元,实现数据处理功能;存储器包括程序存储器和数据存储器,用于存放程序和数据;输入输出接口用于与外部设备进行数据交换;定时器用于产生定时和计数。
2. 单片机的工作原理单片机的工作主要分为两个阶段,即指令执行阶段和数据操作阶段。
指令执行阶段主要是根据程序计数器获取指令,经过译码和执行产生结果;数据操作阶段主要是执行算术和逻辑运算,读写存储器,进行输入输出操作。
3. 单片机的编程逻辑单片机的编程逻辑主要包括输入指令、存储指令、执行指令和输出结果等步骤。
程序员需要根据硬件特性编写程序,利用指令集和寄存器进行数据处理,最终实现特定功能。
三、单片机的主要应用1. 工业控制单片机在工业控制领域得到广泛应用,可用于控制电机、传感器、执行器等设备,实现自动化生产和制造。
2. 仪器仪表单片机可以用于制造各种仪器仪表,包括数字示波器、多功能电表、数据采集卡等,用于科研、实验和测试。
3. 通信设备单片机可以用于设计各种通信设备,包括调制解调器、路由器、交换机等,实现数据传输和通信功能。
注意:本课件为上课笔记的一个整理,其中难免存在错误,请读者不吝赐教,如有问题请发送E-mail到zhaojian@。
本文根据教学的情况,随时进行修改和完善,所以欢迎同学随时注意本文档在课件中的更新情况。
单片机基础知识单片机的外部结构:1、DIP40双列直插;2、P0,P1,P2,P3四个8位准双向I/O引脚;(作为I/O输入时,要先输出高电平)3、电源VCC(PIN40)和地线GND(PIN20);4、高电平复位RESET(PIN9);(10uF电容接VCC与RESET,即可实现上电复位)5、内置振荡电路,外部只要接晶体至X1(PIN18)和X0(PIN19);(频率为主频的12倍)6、程序配置EA(PIN31)接高电平VCC;(运行单片机内部ROM中的程序)7、P3支持第二功能:RXD、TXD、INT0、INT1、T0、T1单片机内部I/O部件:(所为学习单片机,实际上就是编程控制以下I/O部件,完成指定任务)1、四个8位通用I/O端口,对应引脚P0、P1、P2和P3;2、两个16位定时计数器;(TMOD,TCON,TL0,TH0,TL1,TH1)3、一个串行通信接口;(SCON,SBUF)4、一个中断控制器;(IE,IP)针对AT89C52单片机,头文件AT89x52.h给出了SFR特殊功能寄存器所有端口的定义。
教科书的160页给出了针对MCS51系列单片机的C语言扩展变量类型。
C语言编程基础:1、十六进制表示字节0x5a:二进制为01011010B;0x6E为01101110。
2、如果将一个16位二进数赋给一个8位的字节变量,则自动截断为低8位,而丢掉高8位。
3、++var表示对变量var先增一;var—表示对变量后减一。
4、x |= 0x0f;表示为x = x | 0x0f;5、TMOD = ( TMOD & 0xf0 ) | 0x05;表示给变量TMOD的低四位赋值0x5,而不改变TMOD的高四位。
单片机原理及应用知识点笔记总结单片机原理及应用知识点笔记总结一、概述单片机指的是在一个芯片上集成了处理器、存储器和各种输入输出接口的微型计算机系统。
单片机具有体积小、功耗低和成本低等优势,被广泛应用于各个领域,如电子产品、通信设备、汽车电子等。
本文将总结单片机的原理及应用的相关知识点。
二、单片机的基本构成1. 处理器:单片机的核心部分,负责控制、计算和处理数据等任务。
处理器包含ALU(算术逻辑单元)、寄存器、时钟控制电路等。
2. 存储器:用于存储程序和数据,在单片机中一般包括ROM (只读存储器)和RAM(随机存储器)两种。
其中,ROM用于存储程序代码,RAM用于存储数据。
3. 输入输出接口:用于与外部设备进行通信,包括通用输入输出口、串行口、并行口等。
通过输入输出接口,单片机可以与各种传感器、执行器等外部设备进行数据交互。
4. 时钟电路:提供处理器和其他电子元件的时钟信号,控制各个部件的协调工作。
三、单片机的工作原理1. 开机复位:单片机上电后,系统会自动进行复位操作,使单片机进入初始状态。
2. 程序执行流程:单片机按照存储在ROM中的程序顺序执行。
执行过程中,将指令从ROM中读取到寄存器中,然后进行译码和执行。
3. 中断处理:单片机可以响应外部中断请求,即在程序执行过程中,一旦发生了与中断有关的事件,单片机会立即中断当前的程序,执行中断服务程序,并在完成中断处理后返回原来的程序继续执行。
4. 时钟信号:时钟信号的频率可以通过控制时钟电路的配置来调整。
时钟信号的频率决定了单片机处理器的运行速度。
四、单片机的应用1. 家用电器控制:单片机可以用于控制家用电器,如电饭煲、洗衣机、空调等。
通过输入输出接口与传感器和执行器进行连接,实现电器的自动控制功能。
2. 工业自动化:单片机广泛应用于工业自动化系统中,如生产线控制、工艺监测等。
通过单片机可以实现对工业设备的精准控制和数据采集。
3. 电子产品:单片机也被广泛应用于各类电子产品中,如手机、电视、音响等。
单片机入门知识点总结大全概述单片机(Microcontroller)是指在一个芯片上集成了CPU、ROM、RAM、I/O端口、定时/计数器、串口等功能的微型计算机。
它具有体积小、功耗低、价格低廉等特点,广泛应用于嵌入式系统、智能家居、工业控制等领域。
本文将从单片机的基本原理、开发环境、编程语言、常用接口及应用等方面进行总结,帮助初学者了解单片机的基本知识,并进行入门学习。
一、单片机基本原理1. 单片机的结构单片机通常由CPU、存储器、I/O端口、定时器/计数器、串行通信接口等基本部分组成。
其中CPU是单片机的核心部件,负责执行程序指令;存储器用于存储程序和数据;I/O端口用于与外部设备进行通信;定时器/计数器用于产生定时和计数功能;串行通信接口用于实现串行数据通信。
2. 单片机的工作原理单片机通过执行存储在ROM中的程序来完成特定的功能。
当单片机上电后,CPU会从ROM中读取程序指令,并按照指令执行对应的操作,包括读取数据、处理数据、输出结果等。
通过与外部设备的I/O端口进行通信,单片机可以与外部世界进行数据交换和控制。
3. 单片机的特点单片机具有体积小、功耗低、价格低廉等特点,适合于嵌入式系统、智能家居、工业控制等领域。
它可以通过编程来实现各种功能,具有较强的灵活性和可扩展性。
二、单片机开发环境1. 开发工具单片机的开发工具主要包括开发板、编译器、调试器等。
开发板是用于搭建单片机开发环境的硬件平台,通常包括单片机芯片、外围电路、通信接口等;编译器用于将高级语言代码编译成可执行的机器码;调试器用于单步跟踪程序运行状态、查看变量数值等,帮助开发人员进行程序调试。
2. 开发流程单片机的开发流程主要包括编写程序、编译程序、下载程序、调试程序等步骤。
开发人员首先编写程序,并通过编译器将程序编译成可执行的机器码,然后将机器码下载到单片机的ROM中,最后通过调试器对程序进行调试和优化。
3. 常用开发环境常用的单片机开发环境包括Keil、IAR、CodeWarrior等,它们提供了丰富的开发工具和示例代码,帮助开发人员更快地进行单片机开发。
单片机学习笔记一、单片机第一课1.相关概念学习1)英特尔8051:8位单芯片控制器,属于MCS-51单芯片的一种;2)美国英特尔公司生产的一系列单片机总称;3)宏与函数之间的区别宏在编译器对源代码进行编译的时候只进行简单替换,不会进行任何逻辑检测,即简单复制代码而已。
宏定义时不会考虑参数的类型。
参数宏的使用会使用具有同一作用的代码块在目标中存在多个副本,即会增长目标文件的大小;函数只在目标文件中存在一处,比较节省程序空间。
参数宏的运行速度比函数快,因为不用压栈和入栈;函数的调用会牵扯到参数的传递,需要压栈和入栈操作,速度较慢。
宏定义时需要小心,多加括号。
函数的参数存在传值和传地址的问题,参数宏不存在。
4)串行接口(com接口)定义:数据一位一位地顺序传送;特点:只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线);优缺点:适合远距离通信,但传送速度较慢。
5)热插拔(带电插拔)定义:允许用户在不关闭系统,不断电源的情况下取出和更换损坏的硬盘、电源或板卡等部件6)SPI(串行外设接口):SDI(数据输入)、SDO(数据输出)、SCLK(时钟)、CS(片选)SDO:主设备数据输入,从设备数据输出SDI:主设备数据输出,从设备数据输出;SCLK:时钟信号,由主设备产生;CS:从设备使能信号(控制芯片是否被选中,使得同一总线可以连接多个SPI设备),由主设备控制。
7)DSP:将部分程序固化从而实现更快处理速度的MCU。
8)推挽与开漏的区别。
推挽输出:可以输出高低电平,连接数字器件开漏输出:输出端相当于三极管的集电极,要得到高电平状态需要拉上电阻才行,适合做电流型驱动,其吸取电流能力相对强(一般在20mA以内)2.微机系统1)定义:微机系统=硬件系统+软件系统2)结构图:3)发展方向:快+小4)硬件是应用系统的基础;软件时在硬件的基础上对其资源进行合理调配和使用,从而完成应用系统所要求的任务3.单片机定义1)主要部件:中央处理器(CPU)、程序存贮器(ROM)、数据存贮器(RAM)、定时/计数器、输入输出(I/O)接口、串行口2)原理图4.单片机的开发思路1)设计制作硬件;2)确定常数、地址;3)编写软件;4)编译器对源程序文件编译、查错;5)仿真机对软件进行调试,直到程序运行正确;6)写片(将程序固化在EPROM/Flash中),在源程序被编译后生成HEX(机器码)目标文件,将此文件调入即可写片。
单片机学习整理资料1、共阳数码管(SEG_COM_AN)1、原理图2、引脚图(长引脚为公共端,接VCC高电平)c、段码表共阳0~9的段码集合{0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90}2、共阴数码管(SEG_COM_CAT)1,原理图2、引脚图(长引脚为公共端,接地)3、段码表共阴0~9的段码集合{0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F }3、单片机的中断SCONTCONIEIP硬件查询单片机响应中断的条件为:1、中断源有中断请求; 2,该中断源允许位为‘1’; 3,CPU 开总中断。
8051的中断源有5个1外部中断0 ;2外部中断1;3定时器/计数器中断0;4定时器/计数器中断1 5串行并行中断(我起的名字,具体是啥不知道)外部中断使用方法:1、开总中断------------------------------------------------------- EA=1;2、中断允许位 置’1’------------------------------------------------IE0=1; 在进入大循环之前设置3、选择触发方式-------IT0=1(下跳沿)/IT0=0(低电平)默认为04、写中断函数(格式如下) 中断函数名称返回值为空void function() interrupt 0中断标号,0号中断为外部中断0{ EA=0;--------------------------------------------关总中断````````----------------- EA=1;-------------------------------------------开总中断}中断函数标志(附:)外部中断初始化也可以直接操作对应的寄存器中断初始化时需要设置的开关TCON寄存器—中断请求标记位寄存器TCON寄存器—中断请求标记位寄存器IE寄存器—中断允许标记位寄存器IP寄存器—中断优先级标记位寄存器由上面四幅图可知:(以外部中断0为例)1、总中断允许标记位EA和中断允许标记位EX0位于IE寄存器中;2、中断请求标记IE0和中断触发方式标记位IT0位于TCON寄存器中因此,外部中断初始化可以通过直接写对应的寄存器实现(中断优先级位只有一级中断的时候默认为’1’可以不用定义)例:IE=0x81;----------------定义EA=1,EX0=1,TCON=0x03;-------------定义IE0=1,IT0=1。
1.单片机在通电复位后8051内的程序计数器(PC)中的值为‘0000’,所以程序总是从‘0000’单元开始执行,也就是说:在系统的ROM中一定要存在‘0000’这个单元,并且在‘0000’单元中存放的一定是一条指令2.一般程序的开头总有这么一条设置堆栈指针的指令,因为开机时,SP的初始值为07H,这样就使堆栈从08H单元开始往后3.让一个引脚输出高电平的指令是SETB,让一个引脚输出低电平的指令是CLR。
因此,我们要P1.0输出高电平,只要写SETB P1.0,要P1.0输出低电平,只要写CLR P1.0就可以了。
我们得把SETB P1.0变为(D2H,90H )[机器做的事了],把CLR P1.0变为(C2H,90H ),至于为什么是这两个数字,这也是由51芯片的设计者--INTEL 规定的4.调用子程序ACALL短调用LCALL长调用5.转移:AJMP短跳转LJMP长跳转SJMP相对跳转6.Regs: R0~R77.Sys: a b sp sp-max dptr PC $ states sec8.Psw: p f1 ov rs fo ac cy9.RET子程序返回10.DJNZ R7,D1;R7—1如等于0则执行D1下一行11.一个机器周期包括12个时钟周期。
下面让我们算一下一个机器周期是多长时间吧。
设一个单片机工作于12M晶振,它的时钟周期是1/12(微秒)。
它的一个机器周期是12*(1/12)也就是1微秒。
(请计算一个工作于6M晶振的单片机,它的机器周期是多少)。
12.1秒=1,000,000 微秒(μs)1秒=1000毫秒(ms)13.复位只需要5ms的时间就可以了14.复位电路的工作原理是:通电时,电容两端相当于是短路,于是RST引脚上为高电平,然后电源通过电阻对电容充电,RST端电压慢慢下降,降到一定程序,即为低电平,单片机开始正常工作。
15.MOV P1,#0FFH将P1。
0~P1。
单片机关键知识点一览:系列一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引脚。
⒈电源:⑴VCC-芯片电源,接+5V;⑵VSS-接地端;⒉时钟:XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。
⒊控制线:控制线共有4根,⑴ALE/PROG:地址锁存允许/片内EPROM编程脉冲①ALE功能:用来锁存P0口送出的低8位地址②PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
⑵PSEN:外ROM读选通信号。
⑶RST/VPD:复位/备用电源。
①RST(Reset)功能:复位信号输入端。
②VPD功能:在Vcc掉电情况下,接备用电源。
⑷EA/Vpp:内外ROM选择/片内EPROM编程电源。
①EA功能:内外ROM选择端。
②Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。
⒋I/O线80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。
P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。
拿到一块芯片,想要使用它,首先必须要知道怎样连线,我们用的一块称之为89C51的芯片,下面我们就看一下如何给它连线。
1、电源:这当然是必不可少的了。
单片机使用的是5V电源,其中正极接40管脚,负极(地)接20管脚。
2、振蒎电路:单片机是一种时序电路,必须供给脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚。
只要买来晶体震荡器,电容,连上就能了,按图1接上即可。
3、复位管脚:按图1中画法连好,至于复位是何含义及为何需要复要复位,在单片机功能中介绍。
4、EA管脚:EA管脚接到正电源端。
至此,一个单片机就接好,通上电,单片机就开始工作了。
我们的第一个任务是要用单片机点亮一只发光二极管LED,显然,这个LED必须要和单片机的某个管脚相连,不然单片机就没法控制它了,那么和哪个管脚相连呢?单片机上除了刚才用掉的5个管脚,还有35个,我们将这个LED和1脚相连。
(见图1,其中R1是限流电阻)按照这个图的接法,当1脚是高电平时,LED不亮,只有1脚是低电平时,LED才发亮。
因此要1脚我们要能够控制,也就是说,我们要能够让1管脚按要求变为高或低电平。
即然我们要控制1脚,就得给它起个名字,总不能就叫它一脚吧?叫它什么名字呢?设计51芯片的INTEL公司已经起好了,就叫它P1.0,这是规定,不能由我们来更改。
图1名字有了,我们又怎样让它变‘高’或变‘低’呢?叫人做事,说一声就能,这叫发布命令,要计算机做事,也得要向计算机发命令,计算机能听得懂的命令称之为计算机的指令。
让一个管脚输出高电平的指令是SETB,让一个管脚输出低电平的指令是CLR。
因此,我们要P1.0输出高电平,只要写SETB P1.0,要P1.0输出低电平,只要写CLR P1.0就能了。
现在我们已经有办法让计算机去将P10输出高或低电平了,但是我们怎样才能计算机执行这条指令呢?总不能也对计算机也说一声了事吧。
要解决这个问题,还得有几步要走。
第一,计算机看不懂SETB CLR之类的指令,我们得把指令翻译成计算机能懂的方式,再让计算机去读。
计算机能懂什么呢?它只懂一样东西——数字。
因此我们得把SETB P1.0变为(D2H,90H),把CLR P1.0变为(C2H,90H),至于为什么是这两个数字,这也是由51芯片的设计者--INTEL规定的,我们不去研究。
第二步,在得到这两个数字后,怎样让这两个数字进入单片机的内部呢?这要借助于一个硬件工具“编程器”。
如果你还不知道是什么是编程器,我来介绍一下,就是把你在电脑上写出来来的代码用汇编器等编译器生成的一个目标烧写到单片机的eprom里面去的工具,80c51这种类型的单片机编程是一件很麻烦的事情,必要要先装到编程器上编程后才能在设备上使用,而目前最新的89s51单片机居然在线编程(isp)功能,不用拔出来利用简单的电路就可以实现把代码写入单片机内部,本站有详细的at89s51编程器制作教程我们将编程器与电脑连好,运行编程器的软件,然后在编缉区内写入(D2H,90H)见图2,图2写入……好,拿下片子,把片子插入做好的电路板,接通电源……什么?灯不亮?这就对了,因为我们写进去的指令就是让P10输出高电平,灯当然不亮,要是亮就错了。
现在我们再拨下这块芯片,重新放回到编程器上,将编缉区的内容改为(C2H,90H),也就是CLR P1.0,写片,拿下片子,把片子插进电路板,接电,好,灯亮了。
因为我们写入的()就是让P10输出低电平的指令。
这样我们看到,硬件电路的连线没有做任何改变,只要改变写入单片机中的内容,就能改变电路的输出效果。
3:单片机存储器结构单片机内部存储结构分析我们来思考一个问题,当我们在编程器中把一条指令写进单片要内部,然后取下单片机,单片机就可以执行这条指令,那么这条指令一定保存在单片机的某个地方,并且这个地方在单片机掉电后依然可以保持这条指令不会丢失,这是个什么地方呢?这个地方就是单片机内部的只读存储器即ROM(READ ONLY MEMORY)。
为什么称它为只读存储器呢?刚才我们不是明明把两个数字写进去了吗?原来在89C51中的ROM是一种电可擦除的ROM,称为FLASH ROM,刚才我们是用的编程器,在特殊的条件下由外部设备对ROM进行写的操作,在单片机正常工作条件下,只能从那面读,不能把数据写进去,所以我们还是把它称为ROM。
数的本质和物理现象:我们知道,计算机能进行数学运算,这可令我们非常的难以理解,计算机吗,我们虽不了解它的组成,但它总只是一些电子元器件,怎么能进行数学运算呢?我们做数学题如37+45是这样做的,先在纸上写37,然后在下面写45,然后大脑运算,最后写出结果,运算的原材料:37、45和结果:82都是写在纸上的,计算机中又是放在什么地方呢?为了解决这个问题,先让我们做一个实验:这里有一盏灯,我们知道灯要么亮,要么不亮,就有两种状态,我们能用’0’和’1’来代替这两种状态,规定亮为’1’,不亮为’0’。
现在放上两盏灯,一共有几种状态呢?我们列表来看一下:请大家自已写上3盏灯的情况000001010011100101110111我们来看,这个000,001,101不就是我们学过的的二进制数吗?本来,灯的亮和灭只是一种物理现象,可当我们把它们按一按的次序排更好后,灯的亮和灭就代表了数字了。
让我们再抽象一步,灯为什么会亮呢?看电路1,是因为输出电路输出高电平,给灯通了电。
因此,灯亮和灭就能用电路的输出是高电平还是低电平来替代了。
这样,数字就和电平的高、低联系上了。
(请想一下,我们还看到过什么样的类似的例程呢?(海军之)灯语、旗语,电报,甚至红、绿灯)什么是位:通过上面的实验我们已经知道:一盏灯亮或者说一根线的电平的高低,能代表两种状态:0和1。
实际上这就是一个二进制位,因此我们就把一根线称之为一“位”,用BIT表示。
什么是字节:一根线能表于0和1,两根线能表达00,01,10,11四种状态,也就是能表于0到3,而三根能表达0-7,计算机中常常用8根线放在一起,同时计数,就能表过到0-255一共256种状态。
这8根线或者8位就称之为一个字节(BYTE)。
不要问我为什么是8根而不是其它数,因为我也不知道。
(计算机世界是一本人造的世界,不是自然界,很多事情你无法问为什么,只能说:它是一种规定,大家在以后的学习过程中也要注意这个问题)存储器的工作原理:1、存储器构造存储器就是用来存放数据的地方。
它是利用电平的高低来存放数据的,也就是说,它存放的实际上是电平的高、低,而不是我们所习惯认为的1234这样的数字,这样,我们的一个谜团就解开了,计算机也没什么神秘的吗。
图2图3让我们看图2。
单片机里面都有这样的存储器,这是一个存储器的示意图:一个存储器就象一个个的小抽屉,一个小抽屉里有八个小格子,每个小格子就是用来存放“电荷”的,电荷通过与它相连的电线传进来或释放掉,至于电荷在小格子里是怎样存的,就不用我们操心了,你能把电线想象成水管,小格子里的电荷就象是水,那就好理解了。
存储器中的每个小抽屉就是一个放数据的地方,我们称之为一个“单元”。
有了这么一个构造,我们就能开始存放数据了,想要放进一个数据12,也就是00001100,我们只要把第二号和第三号小格子里存满电荷,而其它小格子里的电荷给放掉就行了(看图3)。
可是问题出来了,看图2,一个存储器有好多单元,线是并联的,在放入电荷的时候,会将电荷放入所有的单元中,而释放电荷的时候,会把每个单元中的电荷都放掉,这样的话,不管存储器有多少个单元,都只能放同一个数,这当然不是我们所希望的,因此,要在结构上稍作变化,看图2,在每个单元上有个控制线,我想要把数据放进哪个单元,就给一个信号这个单元的控制线,这个控制线就把开关打开,这样电荷就能自由流动了,而其它单元控制线上没有信号,所以开关不打开,不会受到影响,这样,只要控制不一样单元的控制线,就能向各单元写入不一样的数据了,同样,如果要某个单元中取数据,也只要打开对应的控制开关就行了。