搜档网
当前位置:搜档网 › 单片机总结汇总

单片机总结汇总

单片机总结汇总
单片机总结汇总

单片机总结

第一章

(一)知识点梳理

1.1946年2月15日,第一台电子数字计算机问世。

冯·诺依曼提出“程序存储”和“二进制运算”的思想,构建了计算机经典结构:

存储器输出设备输入设备

控制器运算器

<1>电子计算机经历了五个时代电子管计算机;晶体管计算机;集成电路计算机;大规模集成电路计算机;超大规模集成电路计算机

微处理器+存储器+I/O 接口= 微型计算机

微处理器

地址总线AB

数据总线DB

控制总线CB

存储器I/O接口I/O设备

3.8051内含1个8位CPU、128个字节的RAM、4K字节的ROM,4个8位并行I/O口、1个全双工的串行口、2个16位的定时器/计数器。

4.P3口的第二功能

P3.0——RXD(串行输入口)

P3.1——TXD(串行输出口)

P3.2——INT0(外部中断0)

P3.3——INT1(外部中断1)

P3.4——T0(定时器0外部输入)(两个16位可编程定时/计数器,分别由两个8位寄

P3.5——T1(定时器1外部输入)存器拼装而成。最大计数值为216-1,即65535。)

P3.6——WR(外部数据存储器写控制)

P3.7——RD(外部数据存储器读控制)

5.8051内部CPU是由三部分电路构成:运算器(ALU)、控制器(定时控制部件等),专用寄存器组。其中8051 ALU由1个加法器、2个8位暂存器(TMP1与TMP2)和1个布尔处理器组成。

6.51系列单片机的机器周期时间是固定不变的,均有12个时钟周期T组成,分为6个状态

1个指令周期= 1~4个机器周期;1个机器周期= 6个状态,1个状态= 2个时钟周期7.复位的主要功能:

(1).把PC初始化为0000H,使CPU从0000H单元开始执行程序;(2).当程序运行出错或操作错误系统处于死锁状态时,为摆脱困境,也需要按复位键重新启动。

复位后的内部寄存器状态

专用寄存器复位状态专用寄存器复位状态

PC 0000H TMOD 00H

Acc (累加器A) 00H TCON 00H

B 00H TH0 00H

PSW 00H TL0 00H

SP 07H TH1 00H 栈底地址固定不变,栈顶地址始终在SP中,可变. DPTR 0000H TL1 00H

P0—P3 FFH SCON 00H

IP xxx0 0000B SBUF xxxx xxxxB

IE 0xx0 0000B PCON 0xxx 0000B

8特殊功能寄存器(SFR)

8051有21个SFR,每个SFR占有一个RAM单元,他们分布在80H~FFH地址范围内。8051的寻址范围是64KB。(0000H-FFFFH)

9.数据存储器:片内存储器——集成在芯片内部

片外存储器——MCS—51只提供地址和控制命令,需要通过外部三总线才能工作。

内部RAM(00H—7FH, 低128B(单元为真正的RAM); 80H—FFH, 高128B(特殊功能寄存器))外部RAM(0000H——FFFFH,64K单元)

ROM地址空间(片内4K、片外60K), 0000H-FFFFH;

注意:位地址与字节地址的区别7F---位地址;2FH.7字节地址(见课件)

10.程序状态寄存器:RS1,RS0——寄存器选择位(用于决定8051的8个8位工作寄存器R0~R7在RAM中的实际物理地址)内部RAM 00H—7FH, 低128B

RS1,RS0R0~R7的组号R0—R7的物理地址

00000H~07H

01108H~0FH

10210H~17H

11318H~1FH

位寻址存储器(位寻址区):20H——2FH

缓冲存储器(堆栈区):30H——7FH

11单片机定义:即单片微型计算机,由单块集成电路芯片构成,内部集成了计算机的基本功能部件CPU、存储器和I/O接口电路。

12单片机优势:单片机体积小、价格低、可靠性高,其非凡的嵌入式应用形态对于满足嵌入式应用需求具有独特的优势。

13DDC控制系统原理图:

14.汇编:将符号指令转换成机器码的过程称为汇编。

说明<1> 常用的汇编方法有手工汇编,驻留汇编,交叉汇编

<2>开发过程1)电路板制作2)目标文件生成3)目标程序烧写4)目标程序的生成

5)仿真调试

15.51系列单片机时序

<1>定义:CPU在执行指令时所需控制信号的时间顺序。

<2>分类:片内功能部件控制时序信号; 片外存储器或I/O端口控制时序信号。

<3> 周期性信号ALE在每个机器周期内出现两次高电平,出现时刻为S1P2和S4P2,持续时间为一个状态S。ALE每出现一次高电平,CPU就进行一次取指操作(有时无效)。16.单片机的内部结构

第二章

(一)知识点梳理

1.指令是程序的最基本单位,指CPU所能进行的操作

程序:指完成某项任务的计算机指令的有序集合。

2.计算机编程语言包括机器语言,汇编语言,高级语言

机器语言具体包含两个基本的部分:操作码和操作数

3.51单片机寻址方式

<1>立即寻址

特点:1.指令码中直接含有操作数本身(立即数)2. 立即数可以是8位或16位

3.立即数通常用#data或#data16表示

4.立即数只能作为源操作数

5.立即数同操作码一起存放在程序存储器中

<2>直接寻址例:MOV 40H,A;(40H)←A

特点:1指令码中含有操作数地址(8位二进制数;

2直接寻址通常用direct(操作数所在存储单元的物理地址)表示;

3可用于直接寻址的存储空间是:片内RAM的低128字节和特殊功能寄存器SFR;

<3>寄存器寻址

特点:操作数在R7-R0,A,B,AB,DPTR中,指令码中含有该操作数的寄存器号

操作数位于片内RAM中MOV A,Rn ;A ←Rn 将Rn中所存的数赋给A

INC Rn ;Rn ←Rn+1

<4>寄存器间接寻址

特点:1指令码中含有存放该操作数地址的寄存器号;

2间址寄存器采用@R0,@R1,@DPTR表示;

3@R0,@R1用于对片内RAM和外部RAM (0000H~00FFH)寻址,@DPTR的寻址范围是片外ROM/RAM的全部64KB区域;

4寄存器间址指令不能用于寻址SFR(特殊功能寄存器)

例: MOV A,@R0 ;A ←(R0) 将地址为R0的寄存器所存的数装入A寄存器

<5>变址寻址

特点:1.指令码中隐含有作为基地址寄存器用的数据指针DPTR或程序计数器PC(存放基地址)2.指令码中也隐含有累加器A(A中存放地址偏移量,00H~FFH范围内的无符号数);

寻址空间是程序存储器。

例:假设A中的内容为05H,DPTR的内容为0400H,程序存储器0405H单元的内容为2DH,则MOVC A, @A+DPTR 执行后A的内容为2DH

<6>相对寻址

特点:1.相对转移指令的指令码中含有相对地址偏移量;

2.相对转移指令分为:短转移指令和长转移指令(分别为双字节和三字节);

3.PC的当前值+ 相对地址偏移量rel = 下一条要执行指令的地址;

4.PC的当前值是指相对转移指令从程序存储器中取出后的PC值。

例:2000H 8054H SJMP 54H ;PC ←2056H 80H在地址为2000的寄存器中,54H 在地址为2001H的寄存器中,将54H传给A,此时PC=2002,然后PC=PC+A.

<7>位寻址

特点:1位寻址指令的指令码中含有位地址;

2位寻址指令中位地址用bit表示(字节地址direct);

3位寻址区:片内RAM位寻址区20H~2FH和11个SFR;

例:MOV C,7FH ;Cy ←(7FH), 位地址

MOV C,2FH.7 ;Cy ←(7FH)。字节地址

4单片机常用指令类型

数据传送指令(28条):将源地址中操作数传送到目的地址的指令。

说明:1此类指令不影响Cy, AC, OV标志,

2指令的源操作数和目的操作数地址都在单片机内部,是片内RAM或SFR的地址。

<1>立即寻址型MOV A,#data ; A←data将数据data送入累加器A

<2>直接寻址型传送指令MOV A,direct ; A←(direct)将地址为direct的中的数据给A

<3> MOV A,@Ri ; A←(Ri)先看寄存器Ri中是什么值,把这个值作为地址,并将这个地址单元中的值送入A中

<4> 外部数据传送指令: 16位立即数是外部RAM/ROM的地址

<5>外部ROM的字节传送指令(查表指令)

MOVC A,@A+DPTR ; A ←(A+DPTR) 远程查表DPTR自己控制MOVC A,@A+PC ; PC ←PC+1, A ←(A+PC) 近程查表PC自加1

<6> 堆栈操作指令是直接寻址指令, 弹出指令不会改变堆栈区存储器单元中的内容。

<7> Rn之间不能直接进行数据传送

算数运算指令(24条):对两个操作数进行加、减、乘、除等运算的指令。

说明:<1>加1指令,减1指令只影响奇偶校验标志位

<2>乘法、除法指令MUL AB;A×B=BA, 结果的高8位在B中。B=0,OV=1

(Cy=0) DIV AB; A÷B=A…B 执行过程中,若发现B等于0,则OV=1; 逻辑操作和环移指令(25)条:对两个操作数进行逻辑乘、逻辑加、逻辑取反和异或等操作;

对累加器A中数进行环移(左环移、右环移,带进位、不带进位)说明:<1>移位指令

RL A ; A7 ←A6 ←….. ←A0 ←A7

RR A ; A0→A7→….. →A1 →A0

RLC A ; CY ←A7 ←A6 ←….. ←A0 ←CY

RRC A ; CY →A7→….. →A0 →CY

SWAP A ;高4位和低4位交换指令

控制转移指令(17条):条件转移、无条件转移、调用和返回等指令(改变PC中值为目标)说明:<1>无条件转移指令

LJMP addr16 ; PC ←addr16 吧16位目标地址直接给PC. ,64K范围内转移指令

AJMP addr11;PC ←PC+2,PC10~PC0 ←addr11绝对转移指令:2K范围内转移指令SJMP rel ;PC ←PC+2,PC ←PC+rel 短转移指令:-126-129范围内转移指令, rel的取值范围-128-127

JMP @A+DPTR ; PC ←A+DPTR 间接转移指令:变址转移指令,目标转移地址的基地址送入DPTR

<2>条件转移指令

说明:累加器A判零转移指令:JZ rel ;若A=0,则PC ←PC+2+rel,否则PC←PC+2 是双字节相对转移指令,rel为相对地址偏移量。

<3>比较不相等转移指令:CJNE A,#data,rel;若A=data,则PC←PC+3

若A不等于data,则PC←PC+3+rel形成Cy标志。

指令的相对转移范围为-125 ~ +130

<4>减1非零转移指令:DJNZ Rn,rel; 若Rn-1不等于0,则PC←PC+2+rel

若Rn-1=0,则PC←PC+2

DJNZ direct,rel;若,(direct)- 1不等于0,则PC←PC+3+rel

若,(direct)-1=0,则PC←PC+3

<5>子程序调用和返回指令——1.短调用指令:子程序起始地址在同一个2KB范围内。

ACALL addr11 ; PC←PC+2 SP←SP+1,(SP)←PC7~PC0

SP←SP+1,(SP)←PC15~PC8 PC10~0←addr11

2.长调用指令:是一个64KB范围内调用指令

LCALL addr16 ; PC ←PC+3。SP ←SP+1,(SP)←PC7~PC0

SP ←SP+1,(SP)←PC15~PC8 PC15~0 ←addr16

<6> 空操作指令:NOP ;PC ←PC+1

位操作指令(布尔变量操作指令)(17条):位传送、位置位、位运算和位控制转移指令。说明<1>位条件转移指令

BC bit, rel ;若(bit)=1,则(PC)+3+rel→PC,0→bit;若(bit)=0,则(PC)+3→PC

5.名词解释:

<1>汇编程序——是一种由制造厂家或软件公司提供的实用程序,能把“汇编语言源程序”翻译成机器语言,供CPU执行。

<2>汇编语言源程序——设计者编写的程序汇编语言语句分为指令性语句和指示性语句。

<3> 指令性语句:指采用指令助记符构成的汇编语言语句,是汇编语言语句的主体。111条

<4>指示性语句(又称伪指令):是在机器汇编时供汇编程序识别和执行的命令,用于对汇编的过程进行控制。8条

6.汇编语言程序设计步骤(1).拟制设计任务书(2).建立数学模型(3).确立算法(4).绘制程序流程图(5)编制汇编语言源程序(6)上机调试

第三章

(一)知识点梳理

1中断的定义:因内部或外部事件的要求,计算机暂时停止原程序的执行,转而执行其服务程序,执行完后自动返回原程序执行的过程。

2.中断的作用:提高CPU的工作效率;提高实时数据的处理实效。

3.中断分类:可屏蔽中断非屏蔽中断软件中断

4.中断源、中断标志及优先级

<1>中断源:8051单片机中有五个中断源,两个外部中断、两个定时器溢出中断、一个串行口中断。

<2>中断标志:8051中断标志位集中安排在定时器控制寄存器TCON和串行口控制寄存器SCON中。

说明:(1)定时器控制寄存器(TCON) (位地址88H-8FH)

TF0——定时器T0溢出标志位。

最高位产生溢出时由硬件自动置位, 并请求中断。CPU响应该中断时自动复位。TF1——定时器T1溢出标志位。

最高位产生溢出时由硬件自动置位, 并请求中断。CPU响应该中断时自动复位。TR0——定时器TO的运行控制位, 1允许计数,0停止计数。根据软件置位复位。

TR1——定时器T1的运行控制位, 1允许计数,0停止计数。根据软件置位复位。

IE0——外部中断0请求源标志位,1表示有中断,0为硬件复位。由硬件自动置位复位。

IE1——外部中断1请求源标志位,1表示有中断,0为硬件复位。由硬件自动置位复位。

IT0——外部中断0触发控制位。

0为电平触发,低电平有效。1为边沿触发,下降沿有效。根据软件置位复位。

IT1——外部中断1触发控制位。

0为电平触发,低电平有效。1为边沿触发,下降沿有效。根据软件置位复位。

(2)串行口控制寄存器(SCON) (位地址98H-9FH)

T1——串行发送中断标志位.发送一帧串行数据由硬件自动置位,必须用软件通过指令复位。RI——串行接收中断标志位。接收一帧串行数据由硬件自动置位,必须用软件通过指令复位。

(3)简述中断处理过程。

答:中断过程可分为四个阶段:中断采样,中断查询,中断响应,中断返回。

中断采样:在每个机器周期(12个时钟周期)的S5p2期间检测INT0、INT1引脚,设置中断标志位IE0和IE1的状态。

中断查询:S6期间查询中断标志位,由硬件自动完成。查询顺序由先到后:

IE0,TF0,IE1,TF1,RI和TI。

中断响应:包括保护断点(压栈)和将程序转向中断服务程序的入口地址(执行中断服务程序)。中断返回:指中断服务完,计算机返回原来断开的位置(断点),继续执行原来的程序。

<3>中断优先级:中断优先级从高到低1.外部中断0 2.T0溢出中断3.外部中断1

4.T1溢出中断

5.串行口中断

说明:1.中断优先级寄存器IP:(位地址B8H-BFH)对中断优先级的控制,1为高级0为低级

2.中断允许寄存器IE:(位地址A8H-AFH)对中断允许的控制。EA=1开放,0屏蔽所有中断。

例:写出INT1为低电平触发和高中断优先级的中断系统的初始化程序。

SETB EA 开中断源的中断

SETB EX1 ;开INT1中断

SETB PX1 ;令INT1为高优先级

CLR IT1 ;令INT1为电平触发

5中断系统初始化步骤1.开相应中断源的中断;

2.设定所用中断源的中断优先级;

3. 若为外部中断,则应规定低电平触发还是负边沿触发。

6 中断源的入口地址

操作(中断源)入口地址

外部中断INT00003H

定时器中断T0000BH

外部中断INT10013H

定时器中断T1001BH

串行口中断0023H

7.8259A中断控制器每片可管理8位中断,9片级联管理64位中断

第四章

(一)知识点梳理

1.定时器的定时与计数

定时:计数脉冲来自单片机内部,每个机器周期提供1个计数脉冲

计数:计数脉冲来自单片机外部,检测1个跳变需2个机器周期,外部计数脉冲的最高频率

为震荡频率的1/24

2.定时器/计数器的控制:1)定时器控制寄存器TCON,字节地址为88H, 位地址88H~8FH

TR1,TR0——定时器的运行控制位, 1允许计数,0停止计数见第三章说明

2)工作方式控制寄存器TMOD方式字(字节地址为89H,不能进行位寻址)控制对象定时/计数器T1 定时/计数器T0

位序D7 D6 D5 D4 D3 D2 D1 D0 位名GATE C/T M1 M0 GATE C/T M1 M0

M0和M1——方式控制位;TMOD只能进行字节寻址。

GA TE——门控位。用于确定INT是否需要参与对计数器的控制。

C/T——定时器/计数器的模式控制位,0为定时器模式,1为计数器模式;

工作方式选择

M1 M0工作方式功能说明

0 0 方式013位计数器

0 1方式116位计数器

1 0方式2自动重新装入初值的8位计数器

1 1方式3T0:分成两个8位计数器;

T1:停止计数

3.定时器/计数器的工作方式(大题计算,编程考点)

<1>方式0:(M1 M0=0 0)13位定时/计数器方式

说明:1.16位寄存器只用13位,当TLx的低5位溢出时向THx进位,而THx溢出时向中断标志TFx进位——硬件置位TFx,申请中断

2.C/T=0:多路开关接通振荡器脉冲的12分频器输出,对机器周期计数,为定时工作方式。

3. C/T=1:发生负跳变时,计数器加1,为计数工作方式。

4.GATE=0:封锁“或”门,使引脚/INTx输入信号无效。定时器Tx的开启和关断就只由TRx控制。若TRx=1,则启动定时器Tx;若TRx=0,则定时器停止计数。

5.GATE=1:且TR0=1时,门全部打开,计数脉冲的接通与关断由外部引脚信号/INTx控制。当该信号为高电平时计数器工作,该信号为低电平时计数器停止工作。

6.相关参数的计算:(1)最大计数量:n max=213=8192

(2)已知要求的计数量n,则计数器的初值为:x=213 - n=8192 - n

(3)最大定时时间:t max=213×12/fosc=8192×12/fosc

(4)已知要求的定时时间t,则定时器的初值为:

x=213 - t×fosc/12=8192 - t×fosc/12

求得初值以后,应将x分配到TLx和THx:转换成16进制(注意顺序)

(TLx)=000x4x3x2x1x0B(THx)=x12x11x10x9x8x7x6x5B

<2>方式1:(M1 M0=0 1) 16位定时/计数器方式,结构图同方式0,TL1和TH1都是8位说明:1.相关参数的计算:(1)最大计数量:n max=216=65536

(2)已知要求的计数量n,则计数器的初值为:x=216- n=65536 - n

(3)最大定时时间:t max=216×12/fosc=65536×12/fosc

(4)已知要求的定时时间t,则定时器的初值为:转换成16进制

x=216 - t×fosc/12=65536 - t×fosc/12

求得初值以后,应将x分配到TLx和THx:

(TLx)=x7x6x5x4x3x2x1x0B(THx)=x15x14x13x12x11x10x9x8B

<3>方式2(M1 M0=1 0)自动恢复初值的8位计数器

说明:1.方式0和方式1若用于循环定时/计数时,每次计满溢出后,计数器全部为0,第二次计数器还需重新装入计数初值。方法2则可以解决此问题,它具有自动重载功能。

2.方式2有利于提高定时精度,比较适合用作精确的脉冲信号发生器,或者串行口波特率发生器。但该方式是8位计数结构,计数值有限,最大只能到255。

3.相关参数的计算:(1)最大计数量:n max=28=256

(2)已知要求的计数量n,则计数器的初值为:x=28- n=256 - n

(3)最大定时时间:t max=28×12/fosc=256×12/fosc

(4)已知要求的定时时间t,则定时器的初值为:转换成二进制

x=28 - t×fosc/12=256 - t×fosc/12

求得初值以后,应将x分配到TLx和THx:转换成16进制

(TLx)=x7x6x5x4x3x2x1x0B(THx)=x7x6x5x4x3x2x1x0B

<4>方式3(M1 M0=1 1)仅限于T0

说明:1.前3种工作方式,对两个定时器的设置和使用时完全相同。但在方式3下,两个定时器的设置和使用时不同的。

2.方式3只适用于定时器T0。定时器T0在方式3下被拆成两个独立的8位计数器TL0

和TH0。其中T0既可以计数使用,又可以定时使用。TL0使用原T0的各控制位和引脚信

号,其功能和操作方式与方式0和方式1基本相同。

3.TH0只可以用作简单的内部定时,其关闭和启动只受TR1的控制。

4. 由于TR1、TF1和T1的中断源已被定时器T0占用。此时只有控制位C/T 切换控

制定时和计数工作方式,且计数溢出时,只能将输出送入串行口。此时,一般将定时器T1

用作串行口的波特率发生器。

5.因为定时器T1不能在方式3下使用,如果硬把它设置为方式3,就停止工作。

4. 定时器编程流程:

(1)确定工作方式,确定工作方式控制字;

(2)确定计数或定时值,计算计数初值(TL 和TH 值); fosc 为单片机晶振频率

(3)确定中断优先级和中断控制字;

(4)用MOV 指令给TCON 送命令字,以便启动或禁止定时器/计数器的运行。

第五章

(一)知识点梳理

1.数据通信:计算机与外设之间的信息交换。

2.2种基本的通信方式的比较 (简答题)

并行通信:数据的各位同时发送或接收。传送速度快、效率高。但传输线多,成本较高,适合

近距离传输(通常小于30m )。

串行通信:数据传送按位顺序进行。只需要一到两根传输线,成本低但速度较慢。

3.串行通信基础知识

串行通信分类: 同步通信与异步通信

串行通信的制式:单工、半双工与全双工

单工制式: 只能单方向传输信号。

半双工制式:只有一个通信回路,需两条信号线。分时接收和发送。

全双工制式:有两个独立的通信回路,需三条信号线。同时接收和发送。

<1>同步通信:1.连续串行传送数据的通信方式,一次只传送一个信息帧;

2.发送方与接收方使用同一时钟。

同步通信信息帧格式:

同步字符用于确认数据字符的开始,起开始同步的作用;

校验字符有1-2个, 用于校验接受数据字符的正确性;

同步通信速度高于异步传送,对硬件结构要求较高

<2>异步通信:1.发送方与接受方不使用同一时钟, 其时钟源彼此独立;

2.通过字符帧格式协调数据的发送和接收。

异步通信字符帧格式: 4.传输速率与波特率区别(简答)

传输速率:每秒钟传送二进制数码的位数,用于表征数据传输的速度。(单位是b/s )

波特率:每秒钟传送离散信号的数目,也称调制信号的传输率,和调制方式有关。

同步字符 数据流 校验 D7 0/1 1 0 D0 D1 D2 D3 D4 D5 D6 D7 0/1 1 0 D0 D1

8位 数据 起 始位 奇偶 校验 停 止位 第n 字符帧

停 止位 起 始位

奇偶 校验 第n-1字符帧 第n+1字符帧

调幅、调频情况下,波特率和传输速率相同;调相情况下,波特率与传输率有区别。5.串行通信的调制解调器(MODEM)<1>作用:远距离传送信号。

<2>原理:(1)把数字信号调制成不同频率的模拟信号

(2)把不同频率的模拟信号还原(解调)成数字信号

6.单片机的多机通信:

两台以上单片机组成的网络,彼此间可通过串行通信方式共同实现对某一过程的最终控制。说明:<1>单片机的网络通信形式可分为星型、环型、串行总线型和主从式多机型等四种。

<2>主从式多机通信有两种形式(简答)

软件中断型:所有从机在收到主机发来的地址时就使它的TI置1,从机响应串行口中断后,在中断服务程序中实现与主机的联络和通信;

软件查询型:所有从机在收到主机发来的地址时,也使其RI或TI置1,通过查询RI或TI状态来实现数据的接收和发送。

<3>主从式多机通信特点:1)一台主机, 多台从机,从机之间不能通信

2)主机/从机均工作于方式2或方式3

7.光纤通信

<1>优点:1)通信容量大2)传输损耗低3)体积小,重量轻。4)不受电磁干扰,不怕雷击。5)不需地线,无其它干扰,能耐高温。

<2>组成:最基本的光纤通信系统由光发射机、光纤光缆、光中继器与光接收机组成。

<3>原理:把被发送电信息变成电信号,并送到光发射机。而后将被发送信息调制光波上发送到光纤维中。利用光中继器将光信号转化为电信号,进行放大后还原成光信号注入光纤维中。最后对光信号解调,还原成电信号,发送到光接收机。

第六章

(一)知识点梳理

1.单片机最小系统:指用最少元件组成的可以工作的单片机系统。包括电源电路,时钟电路,复位电路,缺一不可。

2单片机系统扩展:是指在单片机外部连接相应的外围芯片,对单片机的功能进行扩展,以满足应用要求。主要指程序存储器、数据存储器及并行I/O口的扩展。

<1>MCS-51单片机系统的扩展能力为:(1)ROM最多可扩展64KB

(2)RAM最多可扩展64KB

<2>两种比较常用的芯片编址方法:线选法,译码法。(简答)

线选法:直接用系统的高端地址线作为芯片的片选信号。连线简单,但是地址空间的利用率较低,只能用于简单的系统扩展。

译码法:利用译码器对高端地址线进行译码,译出的信号作为芯片的片选信号。适用于大容量、多芯片存储器扩展。

说明:1.编址:适当地连接系统提供的地址线,使存储器中的任意单元,或I/O口的任意一个端口,都有唯一对应的地址。

2.存储器编址分为两步:芯片编址(如何产生片选信号)(2)芯片内部存储单元的编址

<3>ROM,RAM拓展的区别与联系(简答)

1).RAM的扩展方法与ROM的扩展方法基本相同

2)不同之处是RAM要求既能读,又能写,所以其输出使能引脚/OE直接与MCS-51的/RD 相连,写引脚/WR直接与MCS-51的/WR相连

3)RAM与ROM地址范围可以相同。故两者即使占用统一地址空间,由于控制信号不同,也不会发生总线冲突。

3.计算机接口电路:CPU与外围设备的数据通道。CPU必须经过一定电路才能和外围设备进行数据传输,这些电路就是接口电路。

4.接口技术:研究接口电路组成和对数据传输的控制技术。

5.计算机接口的功能:1)速度的匹配2)数据格式的转换3)改变数据的传送方式4)接口的选择与控制;5)时序的配合与状态的传递;6)中断的管理

6.接口的编址方式

RAM和I/O口统一编址

特点:一个接口作为一个存储器单元。访问和控制同存储器。

RAM和I/O口单独编址

特点:接口地址空间和存储器地址空间相互独立。

7.I/O传输的控制方法(简答)

方法特点使用场合

程序控制方法简单,编程容易,对硬件要

求不高,速度较慢

对速度要求不高,数据量不

大的场合

中断控制速度较快,实时性较好,CPU利

用率高,对硬件有一定要求

随机性较强,或传输时间间

隔较准,实时性较好的场合

DMA控制

传输速度最快,对硬件要求较高大量数据快速传输的场合注:MCS-51不具备DMA功能,无法简单地与DMA控制器联机工作。

第七章

(一)知识点梳理

1.D/A转换的基本原理——“按权展开,然后相加”

把输入数字量中的每位都按其权值分别转换成模拟量,并通过运算放大器求和相加。说明:1.D/A转换器内部须有一个解码网络,以实现按权值分别进行D/A转换。

2.解码网络包括加权电阻网络和T型电阻网络

<1>加权电阻网络原理:通过相应加权电阻网络,按位分别实现D/A转换。

<2>T型电阻网络原理:并行输入数字量,每位代码同时被转换成模拟量。

按数字量位数,D/A转换器通常可分为8位、10位、12位等三种

2.A/D转换的基本原理

常用的A/D转换器特点

计数器式1)结构简单,造价低

2)转换速度慢,用于仪器/仪表

双积分式1)转换精度高

2)转换速度慢,用于仪器/仪表

逐次比较式1)精度高,速度快

2)结构不太复杂,应用广泛

并行A/D式1)精度高,速度极快2)结构复杂,造价高

二.默写的程序

例拆字程序: 设 30H中存放待处理的数据,要求将其拆成两个字节数,存放在31H和32H(高位)中。例如:59H → 05H和09H

ORG 0500H

CHAIZ:MOV R1,#32H

MOV R0,#30H

MOV A,@R0

ANL A,#0F0H

RR A

RR A

RR A

RR A

MOV @R1,A

DEC R1

MOV A,@R0

ANL A,#0FH

MOV @R1,A

END

例将一个字节BCD码变成相应的ASCAII码,存入两个RAM单元中。设:BCD 码存在内部RAM 30H单元中,变换成ASCAII码存入31H和32H中。

ORG 0500H

MOV R0,#32H ;32H单元地址送给R0

MOV @R0, #00H ;32单元清零

MOV A, 30H ;将30H单元中的BCD送A

XCHD A, @R0 ;将低位BCD送32单元

ORL 32H, #30H ;完成低位BCD码的转换

SWAP A ;将高4位BCD交换到低位

ORL A, #30H ;完成高位转换

MOV 31H, A ;将高位BCD的ASC存入31H

END

例:已知 VAR单元内有一变量X,请按右上式编程求Y值,并送入FUNC单元。

求解:(1)先分支后赋值

ORG 0100H

VAR DATA 30H

FUNC DATA 31H

MOV A, VAR ; A←X

JZ DONE ; 若X=0,则DONE

JNB ACC.7, POSI ; 若X>0,则POSI

MOV A, #0FFH ; 若X<0,则A←-1

SJMP DONE ; 转DONE

POSI: MOV A, #01H ; A←1

DONE: MOV FUNC, A ; 存入FUNC单元

SJMP $

END

(2)先赋值后分支

ORG 0100H

VAR DATA 30H

FUNC DATA 50H

MOV A, VAR ; A←X

JZ DONE ; 若X=0,则DONE

MOV R0, #0FFH ; 若X≠0,则R0 ← -1

JB ACC.7, NEG ; 若X<0,则NEG

MOV R0, #01H ; 若X>0,则R0←1

NEG: MOV A, R0 ; A←R0

DONE: MOV FUNC, A ; 存入FUNC单元

SJMP $

END

例:已知数据内部RAM的BLOCK单元开始有一无符号的数据块,块长在LEN单元,块长度L,编程求累加和存入SUM单元

求解:(1)先处理后判断

ORG 0200H

LEN DATA 20H

SUM DATA 21H

BLOCK DATA 22H

CLR A ; A←0

MOV R2, LEN ; R2← L

MOV R1, #BLOCK ; R1←BLOCK

NEXT: ADD A, @R1 ; A←A+ (R1)

INC R1 ; R1←R1+1

DJNZ R2, NEXT ; R2-1 ≠0, 则NEXT

MOV SUM, A ; 存累加和

SJMP $

END

(2)先判断后处理ORG 0200H

LEN DATA 20H

SUM DATA 21H

BLOCK DATA 22H

CLR A ; A←0

MOV R2, LEN ; R2← L

MOV R1, #BLOCK ; R1←BLOCK

INC R2 ; R2←R2+1

SJMP CHECK

LOOP: ADD A, @R1 ; A←A+ (R1)

INC R1 ; R1←R1+1

CHECK: DJNZ R2, LOOP ; R2-1 ≠0, 则LOOP

MOV SUM, A ; 存累加和

SJMP $

END

例:已知R0中有1个0-F的数,编程将其变换成ASCII码。

求解:(1)采用DPTR作基址

ORG 3000H

MOV DPTR, #ASCTAB ; DPTR←ASCTAB

MOV A, R0 ; A←项数

ANL A, #0FH ; 屏蔽高4位

MOVC A, @A+DPTR ; A←查表结果

MOV R0, A ; 送回R0 SJMP $

ASCTAB: DB ‘0’, ‘1’…, ‘9’

DB ‘A’, ‘B’… , ‘F’

END

2)采用PC作基址

ORG 1000H

MOV A, R0 ; A←项数 ANL A, #0FH ; 屏蔽高4位 ADD A, #data ; A←A+data

MOVC A, @A+PC ; 查表

MOV R0, A ; 存结果

SJMP $

ASCTAB: DB ‘0’, ‘1’…, ‘9’

DB ‘A’, ‘B’… , ‘F’

END

注意:data=查表指令和表始址间的指令字节数=03H

例:已知 MDA=a 和 MDB=b,编程求C=a2+b2,并送回MDC

求解:利用累加器A传送参数。

ORG 1000H

MDA DATA 20H

MDB DATA 21H

MDC DATA 22H

MOV A, MDA ; A←a(入参)

ACALL SQR ; 求a2

MOV R1, A ; R1← a2

MOV A, MDB ; A←b

ACALL SQR ; 求b2

ADD A, R1 ; A←a2+b2

MOV MDC, A ; 存入MDC

SJMP $

SQR: ADD A, #01H ; 修正A

MOVC A, @A+PC ; 查表

RET

SQRTAB: DB 0, 1, 4, 9, 16

DB 25, 36, 49, 64, 81

END

例:双字节加法:设被加数在R0, R1中,加数在R2,R3中,和存在R4, R5, R6中。

DADD : MOV A ,R0

CLR C

ADD A , R2

MOV R4,A

MOV A ,R1

ADC A ,R3

MOV R5, A

MOV A ,#00H

ADC A, #00H

MOV R6, A

RET

例1:用一个按钮控制8个发光二极管,每按动一次按钮,使发光二极管按L1 →

L2 →…. →L8 →L1的顺序循环移动点亮一位。

如图所示。在P1.0-P1.7外部连接8个发光二极管L1-L8,当P1.X 输出低电平

时,对应的发光二极管被点亮;当P1.X 输出为高电平时,对应的发光二极管熄

灭。在/INT1引脚上外接一个按钮。当按钮按下时,/INT1为低电平;按钮释放

时,/INT1为高电平。

ORG 0000H ;PC 复位地址

AJMP MAIN ;MAIN 为主程序入口地址

ORG 0013H ;外部中断1的矢量地址

AJMP INT_1 ;INT_1为外部中断1服务程序入口地址

ORG 0100H ;真正的主程序开始

MAIN: MOV SP, #60H ;堆栈初始化

MOV A, #11111110B

MOV P1, A ;点亮二极管L1

SETB EA ;CPU 开中断

SETB EX1 ;外部中断1开中断

SETB IT1 ;将外部中断1设置为下降沿触发方式

SJMP $ ;等待中断,此处也可以放置其他处理程序

ORG 0200H ;真正的外部中断1服务程序

INT_1: JB P3.3, EXIT

RL A ;修改灯的状态

MOV P1, A

/INT1 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 MCS-51

SB VCC L1 L2 L3 L4 L5 L6 L7 L8

EXIT: RETI ;中断返回

END

例2:用外部中断实时显示外部故障状态

解:如图,当系统无故障时,4个故障输入端X1-X4全为低电平,显示灯全灭;当某

个部分出现故障时,其对应输入由低电平变为高电平,从而引起外部中断,在中断

服务程序中判定故障源,并用对应的发光二极管LED1-LED4来进行显示。

ORG 0000H

AJMP MAIN ;跳转主程序

ORG 0003H

AJMP PITO ;跳转外部中断0服务程序

ORG 0030H

MAIN: ORL P1, #0FFH ;(主程序开始)灯全灭,准备好

SETB EA ;开放总中断

SETB EX0 ;开放外部中断0

SETB IT0 ;设外部中断0为边沿触发方式

WAIT: SJMP WAIT ;等待中断

PITO: ORL P1, #0F0H ;关灯

JNB P1.0, L1 ;(中断服务程序开始)

CLR P1.4 ;若X1有故障LED1亮

RETI ;中断返回

L1: JNB P1.1, L2

CLR P1.5 ; 若X2有故障LED2亮

RETI ;中断返回

L2: JNB P1.2, L3

CLR P1.6 ; 若X3有故障LED3亮

RETI ;中断返回

L3: JNB P1.3, L3

CLR P1.7 ; 若X4有故障LED4亮

RETI ; 中断返回

例1:设单片机晶振频率为fosc=12MHz, 使用定时器T1以方式0产生周期为2ms

的等宽连续方波, 并由P1.0输出(用中断方式完成)。

VCC L5 L6 L7 L8 X4 X3 X2 X1 ≥ 1 /INT0 P1.0 P1.1 P1.2

P1.3

P1.4 P1.5 P1.6

P1.7

MCS-51

解:欲产生周期为2ms的等宽连续方波,只需在P1.0端以1ms为周期交替输出

高低电平即可,因此定时时间应为1ms。

(1)计算计数初值。使用12MHz的晶振,一个机器周期为1us。计数初值为x,

则:

x=213 - t×fosc/12=8192 - 1×10-3×12×106/12=7192

将x表示为二进制形式:x=1110 0000 11000B,故

(TH1)=0E0H, (TL1)=18H.

(2)TMOD寄存器初始化。定时器T1为方式0:M1M0=00;定时状态:C/T=0;为实

现定时器T1的运行控制,GATE=0.定时器T0不用,有关位设定为0. 因此TMOD

寄存器应初始化为00H。

ORG 0000H

AJMP START

ORG 001BH

LJMP PITO1;跳转中断服务程序

…………………………..主程序……………………………………………..

ORG 0100H

START: MOV SP, #60H;堆栈初始化

MOV TMOD,#00H;定时器T1工作方式0

MOV TH1,#0E0H

MOV TL1,#18H

CLR P1.0;设置方波的起始状态

SETB EA;开中断

SETB ET1

SETB TR1;启动定时器

SJMP $;等待中断

;…………………………….T1中断服务程序…………………………………..

PITO1: MOV TL1,#18H

MOV TH1,#0E0H;再送计数初值,保证定时时间始终为1ms CPL P1.0;输出方波

RETI ;中断返回;…………………………………………………………………………………….

END

例2: 使用定时器T0以方式2产生频率为5KHz的连续方波, 并由P1.0输出(用

查询方式完成)。设单片机晶振频率为fosc=6MHz。

解:频率为5KHz, 则周期为200us, 基本定时时间为100us。

(1)计算计数初值:

x=28-t×fosc/12=256-100×10-6×6×106/12=206=0CEH

所以(TH0)=0CEH, (TL0)=0CEH

(2)TMOD寄存器初始化:定时器T0为方式2:则M1M0=10;定时功能:C/T=0;

为实现定时器T0的运行控制,GATE=0.定时器T1不用,有关位设定为0.因此TMOD

寄存器应初始化为02H。

ORG 0000H

START: MOV TMOD, #02H;定时器T0工作方式2

CLR P1.0;设置方波的起始状态

MOV TL0,#0CEH

MOV TH0,#0CEH;送计数初值,保证定时时间始终为100us

SETB TR0;启动定时器

LOOP: JNB TF0,$;等待100us定时到

CLR TF0;清溢出标志,以便下次判断

CPL P1.0;产生连续的方波

SJMP LOOP

END

单片机实验总结

单片机实验总结

程序由410出品,与老师的不大一样,此处省去1万字-----最终解释归410所有 1.试编写程序。统计片内RAM 30H~50H单元中FFH的个数,并将统计结果存51H。 mov r0,#30h //把30h赋给R0 mov r1,#00h //把00h赋给R1 loop: cjne @r0,#0ffh,next //把R0所指的地址里的数(地址30h中的数)与0ffh比较 inc r1 //若为0ffh则R1加1(计算0ffh的个数) next: inc r0 //若不一样则R0加1(即把R0里的地址加1,R0将指向下一个地址) cjne r0,#51h,loop //比较R0所存的地址与51h,若不等则跳回loop 继续执行 mov 51h,r1 //若相等(R0里的数就为51h,完成30h到50h的计数)将R1里的值赋到地址51h里,即地址51h 中存储着0ffh的个数 sjmp $ //等待 end 2、从片内RAM 30H单元开始存放着一组无符号数,其个数存在21H单元中。试编写程序,找出其中最小的数,并将其存入20H单元中。 mov r0,#30h //把30h赋给R0 mov a,@r0 //把R0所指30H中的数赋给a(a中就是地址30h中的无符号数) mov r1,21h //把21h中的数赋给R1 loop: inc r0 //R0加1(即R0将指向下一个地址) mov 30h,@r0 //把R0所指地址的数给到地址30h中 cjne a,30h,chk //比较a中的数与地址30h中的数的大小,若a中的数>30H中的数,则Cy=0;否则相反 chk: jc lop //判断Cy是否为1,若是,则执行下面程序,否则跳至lop 继续执行 mov a,@r0 //把R0所指地址中的数给a,即把最小数赋给了a lop: djnz r1,loop //R1减一,程序跳至loop继续执行,循环直至R1减到0 mov 20h,a //把a中的数赋到地址20h中 end 3、设片外RAM 2000H单元中有一个8位二进制数,试编程将该数的低四位屏蔽掉,并送回原存储单元。 mov dptr,#2000h //将片外地址2000h给dptr movx a,@dptr //将片外地址2000h中的数赋给a anl a,#0f0h //将a中的数与0f0h与下,屏蔽低四位的数 movx @dptr,a //将屏蔽好的数送回到片外地址2000h中 end

单片机实训心得体会

单片机实训心得体会 篇一: 通过今次单片机实训,使我对单片机的认识有了更深刻的理解。系统以51单片机为核心部件,利用汇编软件编程,通过键盘控制和数码管显示实现了基本时钟显示功能、时间调节功能,能实现本设计题目的基本要求和发挥部分。 由于时间有限和本身知识水平的限制,本系统还存在一些不够完善的地方,要作为实际应用还有一些具体细节问题需要解决。例如:不能实现只用两个按键来控制时钟时间,还不能实现闹钟等扩展功能。 踉踉跄跄地忙碌了两周,我的时钟程序终于编译成功。当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。我相信其中的酸甜苦辣最终都会化为甜美的甘泉。 但在这次实训中同时使我对汇编语言有了更深的认识。当我第一次接触汇编语言就感觉很难,特别是今次实训要用到汇编语言,尽管困难重重,可我们还是克服了。这次的实训使培养了我们严肃认真的做事作风,增强了我们之间的团队合作能力,使我们认识到了团队合作精神的重要性。 这次实训的经历也会使我终身受益,我感受到这次实训是要真真正正用心去做的一件事情,是真正的自己学习的过

程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。希望这次的经历能让我在以后学习中激励我继续进步。 篇二:单片机实验心得 通过这次单片机实习,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。 作为一名自动化专业的快大三学生,我觉得做单片机实习是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力,如何把我们所学的专业基础课理论知识运用到实践中去,我想做类似实习就为我们提供了良好的实践平台 学习单片机没有捷径,不能指望两三天就学会,要坚持不懈,重在积累单片机是一门应用性和实践性很强的学科,要多动手,多做实验。 (4)要学会参考别人的程序,减少自己琢磨的时间,迅速提高自己的编程能力。 (5)碰到问题可以借助网络来搜寻答案和对自己有帮助的问题,一定会有所收获。

最新-单片机原理及应用期末考试必考知识点重点总结 精品

单片机概述 单片机是微单片微型计算机的简称,微型计算机的一种。 它把中央处理器(CPU),随机存储器(RAM),只读存储器(ROM),定时器\计数器以及I\O 接口,串并通信等接口电路的功能集成与一块电路芯片的微型计算机。 字长:在计算机中有一组二进制编码表示一个信息,这组编码称为计算机的字,组成字的位数称为“字长”,字长标志着精度,MCS-51是8位的微型计算机。 89c51 是8位(字长)单片机(51系列为8位) 单片机硬件系统仍然依照体系结构:包括CPU(进行运算、控制)、RAM(数据存储器)、ROM(程序存储器)、输入设备和输出设备、内部总线等。 由于一块尺寸有限的电路芯片实现多种功能,所以制作上要求单片机的高性能,结构简单,工作可靠稳定。 单片机软件系统包括监控程序,中断、控制、初始化等用户程序。 一般编程语言有汇编语言和C语言,都是通过编译以后得到机器语言(二进制代码)。 1.1单片机的半导体工艺 一种是HMOS工艺,高密度短沟道MOS工艺具有高速度、高密度的特点; 另一种是CHMOS工艺,互补金属氧化物的HMOS工艺,它兼有HMOS工艺的特点还具有CMOS的低功耗的特点。例如:8181的功耗是630mW,80C51的功耗只有110mW左右。1.2开发步5骤: 1.设计单片机系统的电路 2.利用软件开发工具(如:Keil c51)编辑程序,通过编译得到.hex的机器语言。 3.利用单片机仿真系统(例如:Protus)对单片机最小系统以及设计的外围电路,进行模拟的硬软件联合调试。 4.借助单片机开发工具软件(如:STC_ISP下载软件)读写设备将仿真中调试好的.hex程序拷到单片机的程序存储器里面。 5.根据设计实物搭建单片机系统。 2.1MCS-51单片机的组成:(有两个定时器) CPU(进行运算、控制)、RAM(数据存储器)、ROM(程序存储器)、I/O口(串口、并口)、内部总线和中断系统等。 工作过程框图如下:

单片机课程项目设计总结

单片机课程项目设计总结 组员:赵宇,江秋怡,黄迪一、在整个过程中出现的问题及解决方案 在整个课程项目的设计过程中,我们遇到了许多困难和问题,但是凭着良好的心态和不放弃的精神,我们最终顺利完成了作品的设计和制作。 1、编程基础不扎实。 由于大一时没有打下扎实的编程基础,在编写这次的项目程序时,我们总是干道无处下手。最后我们通过查资料,并师兄的指导下,找准了方向。 2、硬件连接原理在某些方面存在误解。 由于是第一次在没有老师的情况下做作品,有些时候就会想当然,缺少实战经验的我们缺少理论到实践的经验,不过实验室的两位学长在这方面帮了我们很多。 二、团队管理的心得体会: 单片机的课程项目设计给了我们一次团队合作的机会,对于我们这一代来说,团队合作精神是我们身上所缺少但却必须要具备的。 在这次的团队合作中我们有以下几点感悟: 1、心要齐 作为同一个团队的成员,大家都是为了同一个目标奋斗,所以要以积极的态度朝着好的方向努力。 就比如做这个课程设计,首先大家在做什么作品上面要达成认同,目标统一了之后才能团结起来去为之奋斗。在奋斗的时候,每个人的态度都要端正,不能有的人很积极的在准备,而有的人却在消极的应付差事,这样不仅不利于团队的发展,更会影响到队员之间的感情,最后很可能导致团队的解散,不仅作品完成不了,同学之间的友谊也多了裂痕。 2、心要宽 虽然大家在一个团队,为了同一个目标在奋斗,但是每个人依旧是个独立的个体,不可能在每一个方面大家都是想的一样的,当某个队员自己有一些想法时,我们要个他一个宽松的环境让他坦诚的说出心里的话,作为听众的我们,要耐心的听取他的意见,认真思考,然后用合适的方式进行讨论,不能别人一说什么就否定人家,这样一来,以后队里就不会再有人说话了,好的创意和想法也不会有被挖掘的机会。 如果我们自己心里有什么想法,也要大胆的说出来,但是要注意语气和措辞,毕竟这是大家的团队,不是以自己为领导的工作班子。要听得进别人的意见。 三、课程设计的心得体会: 这次单片机课程设计,在我们看来不仅仅是单纯的一个单片机的应用,而是多学科多领域的综合设计。做完这次设计,我们有以下几点心得体会: 1、做这个设计不是光靠学好单片机这一门课就可以的。 在这个课程项目的设计过程中,我们充分体会到了要全面发展,各个学科都要学好,知识的全面性很重要。比如在编写程序时,我们就明显感觉到了C语言的基础不够扎实,当初学C 语言的时候并没有意识到它的重要性,而当我们真正开始做设计的时候才发现一个课程的项目设计是需要其他许多项目来给它做基础的。 2、做这个设计不是光靠学好书本上的知识就够的。 设计的灵魂便在于它的理念,要做出一个好的设计作品来,需要你平时对生活有足够的观察和了解,古话说,学以致用,及时你设计出来的东西原理再高深,但在实际生活中却无处可用,那也是没有任何价值的。所以在刻苦学习的同时,也要关注社会动态,了解人民生活所需,有一个正确的设计理念才能使自己走对第一步棋。

单片机原理及应用总结

单片机原理及应用 第一章绪论 1.什么叫单片机?其主要特点有哪些? 在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。 特点:控制性能和可靠性高、体积小、价格低、易于产品化、具有良好的性价比。 第二章80C51的结构和原理 1.80C51的基本结构 a.CPU系统 ●8位CPU,含布尔处理器; ●时钟电路; ●总线控制逻辑。 b.存储器系统 ●4K字节的程序存储器 (ROM/EPROM/FLASH,可外扩 至64KB); ●128字节的数据存储器(RAM,可 外扩至64KB); ●特殊功能寄存器SFR。 c.I/O口和其他功能单元 ●4个并行I/O口; ●2个16位定时/计数器; ●1个全双工异步串行口; ●中断系统(5个中断源,2个优先 级) 2.80C51的应用模式 a.总线型单片机应用模式 ◆总线型应用的“三总线”模式; ◆非总线型应用的“多I/O”模式 3.80C51单片机的封装和引脚 a.总线型DIP40引脚封装 ●RST/V PO:复位信号输入引脚/备用 电源输入引脚; ●ALE/PROG:地址锁存允许信号 输出引脚/编程脉冲输入引脚;●EA/V PP:内外存储器选择引脚/片 内EPROM编程电压输入引脚;●PSEN:外部程序存储器选通信号 输出引脚 b.非总线型DIP20封装的引脚 ●RST:复位信号输入引脚 4.80C51的片内存储器 增强型单片机片内数据存储器为256 字节,地址范围是00H~FFH。低128字节的配情况与基本型单片机相同。高128字节一般为RAM,仅能采用寄存器间接寻址方式询问。注意:与该地址范围重叠的特殊功能寄存器SFR 空间采用直接寻址方式询问。 5.80C51的时钟信号 晶振周期为最小的时序单位。一个时钟周期包含2个晶振周期。晶振信号12分频后形成机器周期。即一个机器周期包含12个晶振周期或6个时钟周期。 6.80C51单片机的复位 定义:复位是使单片机或系统中的其他部件处于某种确定的初始状态。 a.复位电路 两种形式:一种是上电复位;另一种是上电与按键均有效的复位。 b.单片机复位后的状态 单片机的复位操作使单片机进入初始化状态。初始化后,程序计数器 PC=0000H,所以程序从0000H地址单元开始执行。 特殊功能寄存器复位后的状态是确定的。P0~P3为FFH,SP为07H,SBUF 不定,IP、IE和PCON的有效位为0,其余的特殊功能寄存器的状态为00H.相应的意义为: ●P0~P3=FFH,相当于各口锁存器已 写入1,此时不但可用于输出,也 可以用于输入; ●SP=07H,堆栈指针指向片内RAM

单片机个人知识点总结

◆波特率公式:TH1=256-f/(波特率*12*32/2^SMOD) ◆MCS-51系列单片机内部有哪些主要的逻辑部件?答案:一个8位的CPU、一个布尔处理机、一个片内振荡器、128B的片内RAM、21个特殊功能寄存器、4个8位并行I/O接口、一个全双工的串行口、2个16位的定时器/计数器、5个中断源、2个中断优先级。 ◆机器周期是指:完成MCS-51一个典型的指令花费的振荡周期称为一个机器周期;一个机器周期由六个状态组成,包含有12个振荡周期; ◆当外部中断采用低电平触发方式时,为了避免在中断返回后再次响应该中断,要求外部中断源在执行的中断程序返回前撤销中断请求信号(使引脚电平变高); ◆程序计数器PC是用来存放下一条将要执行的指令地址,共16 位。单片机上电复位后,PC =0000H ; ◆当单片机的P1口做为一般的I/O口使用时,为8位准双向口的意思是指:当输入信号时,需先向P1口锁存器写1,以保证读引脚的正确性; ◆何谓堆栈?它设置在哪个存储区?在实际编程中,它有何应用价值? 答:堆栈是一个后进先出的特殊的数据缓冲区,并由栈指针SP指示堆栈中的数据深度。 在MCS-51系列单片机中,堆栈设置在内部RAM数据存储区内。在实际编程中,可用于数据的传递,数据的交换、保存CPU现场等作用 ◆简述MCS-51单片机程序存储器的几个特殊入口地址的含义。 0000H:复位入口地址 0003H:外部中断0中断服务程序入口地址 000BH:定时器/计数器0溢出中断服务程序入口地址 0013H:外部中断1中断服务程序入口地址 001BH:定时器/计数器1溢出中断服务程序入口地址 0023H:串行口中断服务程序入口地址 ◆何谓静态显示?何谓动态显示?两种显示方式有何优缺点? 所谓静态显示,是指当显示器显示某一个字符时,相应的发光二极管恒定地导通或截止,公共端接固定的电平。 LED动态显示是将所有位的段选线并接在一个I/O接口上,称为段口,共阴极端或共阳极端分别由相应的I/O接口线控制,称为位口。 静态显示显示稳定,但软件简单;动态显示硬件简单,但软件需要不断地刷新。 ◆编程将片内RAM 30H~39H单元中的内容送到以3000H为首的存储区中。 MOV R0,#30H MOV DPTR,#3000H MOV R7,#10

(完整版)单片机知识点总结

单片机考点总结 1.单片机由CPU、存储器及各种I/O接口三部分组成。 2.单片机即单片微型计算机,又可称为微控制器和嵌入式控制器。 3.MCS-51系列单片机为8位单片机,共40个引脚,MCS-51基本类型有8031、8051 和8751. (1)I/O引脚 (2)8031、8051和8751的区别: 8031片内无程序存储器、8051片内有4KB程序存储器ROM、8751片内有4KB程序存储器EPROM。 (3)

4.MCS-51单片机共有16位地址总线,P2口作为高8位地址输出口,P0口可分时复用 为低8位地址输出口和数据口。MCS-51单片机片外可扩展存储最大容量为216=64KB,地址范围为0000H—FFFFH。(1.以P0口作为低8位地址/数据总线;2. 以P2口作为高8位地址线) 5.MCS-51片内有128字节数据存储器(RAM),21个特殊功能寄存器(SFR)。(1)MCS-51片内有128字节数据存储器(RAM),字节地址为00H—7FH; 00H—1FH: 工作寄存器区; 00H—1FH: 可位寻址区; 00H—1FH: 用户RAM区。 (2)21个特殊功能寄存器(SFR)(21页—23页);

(3)当MCS-51上电复位后,片内各寄存器的状态,见34页表2-6。 PC=0000H, DPTR=0000H, Acc=00H, PSW=00H, B=00H, SP=07H, TMOD=00H, TCON=00H, TH0=00H, TL0=00H, TH1=00H, TL1=00H, SCON=00H, P0~P3=FFH 6. 程序计数器PC:存放着下一条要执行指令在程序存储器中的地址,即当前PC值或现行值。程序计数器PC是16位寄存器,没有地址,不是SFR. 7. PC与DPTR的区别:PC和DPTR都用于提供地址,其中PC为访问程序存储器提供地址,而DPTR为访问数据存储器提供地址。 8. MCS-51内部有2个16位定时/计数器T0、T1,1个16位数据指针寄存器DPTR,其中MOVE DPTR, #data16 是唯一的16位数据传送指令,用来设置地址指针DPTR。(46页) 定时/计数器T0和T1各由2个独立的8位寄存器组成,共有4个独立寄存器:TH1、TL1、TH0、TL0,可以分别对对这4个寄存器进行字节寻址,但不能吧T0或T1当作1个16位寄存器来寻址。即:MOV T0,#data16 ;MOV T1,#data16 都是错的,MOV TH0,#data;MOV TL0,,#data是正确的。 9.程序状态字寄存器PSW(16页) (1)PSW的格式: D7 D6 D5 D4 D3 D2 D1 D0 PSW D0H (2)PSW寄存器中各位的含义; Cy:进位标志位,也可以写为C。 Ac:辅助进位标志位。

单片机课程学习总结报告

单片机课程学习总结 班级09微电子学号姓名 这学期我们选择了单片机这门课,从第一节课开始,我们就感觉到了这门课与其他的课有一些不同。单片机课程不仅是学习书本的内容,也需要从实验中掌握知识。这门课程确实让我们受到了很多的启发,并学到了很多的知识。 学习单片机,要掌握单片机指令系统中汇编语言各种基本语句的意义及汇编语言程序设计的基本知识和方法,以及单片机与其他设备相连接的输入输出中断等接口技术。使我们从硬件软件的结合上理论联系实际,提高动手能力,从而全面掌握单片机的应用。 熟悉单片机的人都知道,要学好单片机可不是一件容易的事,倒不是因为单片机很难学,而是很难找到一本专为单片机入门者而编写的教材。翻一下身边的单片机教材,都好像是为已经懂单片机的人而写的,一般先介绍单片机的硬件结构和指令系统,再是系统扩展和外围器件,顺便讲一些应用设计。如果按照此种学习方法,想进行产品开发,就必须先把所有的知识全部掌握了才可以进行实际应用。学习使用单片机只能靠循序渐进的积累,不可能一蹴而就。万事开头难、要勇敢迈出第一步知识点用到才学,不用的暂时丢一边。想把厚厚的一本书看完在做实验,估计是不太可能的。看着人头都晕了,学了后面的,前面的估计也快忘光了,所以,最好结合实际程序,用到的时候才去看。我们在焊接具体电路之前,最好做个仿真,这样实验的成功率会大大提高。我们都学习过C语言,相信的大家的基础都不错,在编写程序千万不要光看不写,一定要自己写一次。刚开始我们可以模仿别人的程序,然后慢慢的学会自己编写,这是一个完全自主学习的过程,需要恒心和信心。 在学习这门课程时,我遇到过许多困难,这并不可怕,因为只要我们敢于面对,团结合作,就没有解决不了的问题。在焊接电路过程中,我们需要互相学习焊接技巧,互相帮助、互相鼓励。在编写程序的时候,要善于把自己好的算法给大家分享,不会的时候要虚心向同学和老师请教。当然更要利用当今社

单片机课程设计心得体会

单片机课程设计心得体会 做了两周的课程设计,有很多的心得体会,有关于单片机方面的,更多的是关于人与人之间关系方面的。 我们组一共有三个人,但其他两个人是真的神龙见首不见尾,除了在最后答辩的时候他们一起坐在了我旁边,冠冕堂皇的指着我画了几遍的图说了几嘴,我想可能他们自己都不知道自己在说怎么,虽然有的东西他们也答出来了。我佩服他们的勇气,羡慕他们的运气(我见到的很多做了10 天的人最后的成绩都有不如他们的),但是鄙视他们的做法。 所幸的是,我得到了很多同学的帮助。我想没有他们我可能都要放弃了,因为我本人对单片机也并不是很熟悉,学的东西好像它是它,我是我似的,理论联系不了实际。以前的汇编语言没学好,一开始的程序这块儿就要令我抓狂了。后来请教我们班的一个男生,每次跟他一起到试验室调试程序(他们组也只有他一个人动手),看他边做边给我讲解。最后在开发机上做出来的时候,虽然不是我自己写的,但看他那么高兴,我也有一种分享到的成就感。后来我们组就用了他写的程序,他自己又抽空做了些拓展。 接下来就是做硬件方面的焊接工作了。没想到这项看起来不需要多少技术的工作却是非常的劳心劳力。很多次是早上起来带瓶水带些吃的到实训中心,一泡就是一天。我看到有很多人跟我一样,不同的是他们是三三两两,而我大部分时间都是一个人做。在这个时候也有很多人帮助我,或是热心的帮我带饭,或是在我打盹儿的时候帮我做点焊接。大家都鼓励我,即使最后出不来东西,但是一定要坚持把它做完。当我想放弃的时候,我也这么对自己说,即使你做出来的是次品甚至不合格品,但是你一定要拿出来一件成品。 在要验收前,终于做了一件成品出来,不幸的是它真的是一件不合格品。帮我的那个男生做的已经出来了,所以最后应该还是我的焊接方面的问题。有一点灰心,想再重做来不及了,单是检查线路却也查不出来什么问题。那么就准备答辩吧。我对着电路图再看课本,发现以前很多觉得很难记的东西现在记起来容易多了,因为整天都在同它们打交道。51的引脚及其功能,a/d转换器的,驱动器的,所有我用到的我都一再的看书了解,同时请教同学我看书过程当中的疑惑。在这个过程中又发现了以前焊接当中出的一些问

单片机原理及应用知识点汇总复习

单片机原理及应用知识点汇总 一、填空题 1、单片机是将微处理器、一定容量的RAM和ROM以及I/O 口、定时器等电路集成在一块芯片上而构成的微型计算机。 2、单片机80C51片内集成了 4 KB的FLASH ROM,共有 5 个中断源。 3、两位十六进制数最多可以表示256 个存储单元。 4、在80C51中,只有当EA引脚接高电平时,CPU才访问片内的Flash ROM。 5、当CPU访问片外的存储器时,其低八位地址由P0 口提供,高八位地址由P2 口提供,8位数据由P0 口提供。 6、在I/O口中,P0 口在接LED时,必须提供上拉电阻,P3 口具有第二功能。 7、80C51具有64 KB的字节寻址能力。 特 第 持 ,其 。 IP。 边沿 计数 / 22 、串行通信有同步通信和异步通信两种通信方式。 23、在异步通信中,数据的帧格式定义一个字符由4部分组成,即:起始位、数据位、奇偶校验位和停止位。 24、串行通信中,为使设备同步工作,需要通信双方有两个共同的要求,一是通信双方必须采用统一的编码方式,二是通信双方必须能产生相同的传送速率。 25、单片机80C51中的串行通信共有 4 种方式,其中方式0 是用作同步移位寄存器来扩展I/O口的。 26、设80C51的晶振频率为11.0592MHz,选用定时器T工作模式2作波特率发生器,波特率为2400b/s,且SMOD置0,则定时器的初值为F4H 27、键盘可分为独立连接式和矩阵式两类。键盘可分为编码式和非编 码式两类。 28、LED数码管有静态显示和动态显示两种方式。 29、在执行下列指令后,A=___60H___,R0=__45H____,(60H)=___45H___。

单片机实训报告心得

广东轻工职业技术学院 实训报告 实训项目单片机实训 系别:电子通信工程系 专业:应用电子技术 班级:嵌入式091班 姓名:11222 学号:2009080202316 指导老师:丁向荣、赵慧 实训地点:第三实训楼C309 实训时间:2011年1月10日至1月14日

前言 单片机应用技术是现代电子设计的核心技术,学习单片机只是就是要将单片机应用到电子产品中,以单片机为控制核心实现电子系统所需实现的功能。单片机的应用能力很多程度上决定了电子类专业学生电子设计与电子应用的水平与能力,尤其是高职学生更是如此。 本项目要求设计一个简单的电子时钟,用六位LED数码管实现电子时钟的功能,显示方式为时、分、秒,采用24h(小时)计时方式,使用按键开关可实现时分调整。 通过电子闹钟项目的课题设计,让同学

们体验项目设计的要点,了解项目设计的流程,加深对单片机应用知识的学习,体会团队协作的力量所在。为日后的嵌入式专业学习巩固基础。 目录 1.概述………………………………………………………… 1.1 系统的作用……………………………………………………………… 1.2 系统的功能要求……………………………………………………………2.系统硬件设计……………………………………………….. 2.1系统的电路原理…………………………………………………………… 2.2 电路原理图……………………………………………………………… 2.3 各控制按钮控制功能说明………………………………………………. 3.系统软件设计………………………………………………. 4.系统调试……………………………………………………. 5. 总结…………………………………………………………

单片机总结

一、中断 (2) 1、中断优先级控制IP (2) 2、中断请求控制标志TCON (2) 3、中断允许控制IE (3) 4、写中断函数(不用在main函数前声明): (3) 二、定时器 (4) 1、工作方式寄存器TMOD:写程序时选择定时器和工作方式(设置M0、M1)。 (4) 2、对定时器装初值: (4) 3、设置中断: (4) 4、启动定时器控制寄存器: (4) 5、写中断函数(不用再main函数前声明): (5) 6、注意:中断函数中的功能程序代码的执行时间不要超过定时时间。 (5) 三、串行接口 (6) 1、将TMOD设置成定时器1,工作方式为2 (6) 2、计算T1的初值:TH1和TL1的值相同: (6) 3、启动定时器T1(对TCON设置):TR1=1; (6) 4、确定串行口控制SCON: (6) 5、串行口工作在中断方式时,进行中断设置: (6) 6、写中断函数。 (6) 串口补充:波特率的计算: (6)

一、中断 中断涉及到的寄存器和写程序时的操作顺序: 1、中断优先级控制IP IP的每一位需用程序置一,某个控制位置一,相应得中断源就设定为高级中断。 同一优先级中的中断申请不止一个时,则有中断优先权排队问题。同一优先级的中断优先权排队,由中断系统硬件确定的自然优先级形成,其排列如所示: 2、中断请求控制标志TCON IT0(TCON.0),外部中断0触发方式控制位。 当IT0=0时,为电平触发方式,P3.2引脚低电平有效。 当IT0=1时,为边沿触发方式,P3.2引脚下降沿有效。 IE0(TCON.1),外部中断0中断请求标志位。单片机硬件自动置位和自动清零,不用编写在程序中。 IT1(TCON.2),外部中断1触发方式控制位。 当IT0=0时,为电平触发方式,P3.3引脚低电平有效。 当IT0=1时,为边沿触发方式,P3.3引脚下降沿有效。

单片机学习心得体会

单片机学习心得体会一:单片机学习心得体会 时光飞逝,一转眼,一个学期又进尾声了,本学期的单片机综合课程设计也在一周内完成了。 俗话说“好的开始是成功的一半”。说起课程设计,我认为最重要的就是做好设计的预习,认真的研究老师给的题目,选一个自己有兴趣的题目。其次,老师对实验的讲解要一丝不苟的去听去想,因为只有都明白了,做起设计就会事半功倍,如果没弄明白,就迷迷糊糊的去选题目做设计,到头来一点收获也没有。最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。 虽然这次的课程设计算起来在实验室的时间只有三天,不过因为我们都有自己的实验板,所以在宿舍里做实验的时间一定不止三天。 硬件的设计跟焊接都要我们自己动手去焊,软件的编程也要我们不断的调试,最终一个能完成课程设计的劳动成果出来了,很高兴它能按着设计的思想与要求运动起来。 当然,这其中也有很多问题,第一、不够细心比如由于粗心大意焊错了线,由于对课本理论的不熟悉导致编程出现错误。第二,是在学习态度上,这次课设是对我的学习态度的一次检验。对于这次单片机综合课程实习,我的第一大心得体会就是作为一名工程技术人员,要求具备的首要素质绝对应该是严谨。我们这次实习所遇到的多半问题多数都是由于我们不够严谨。第三,在做人上,我认识到,无论做什么事情,只要你足够坚强,有足够的毅力与决心,有足够的挑战困难的勇气,就没有什么办不到的。 在这次难得的课程设计过程中我锻炼了自己的思考能力和动手能力。通过题目选择和设计电路的过程中,加强了我思考问题的完整性和实际生活联系的可行性。在方案设计选择和芯片的选择上,培养了我们综合应用单片机的能力,对单片机的各个管脚的功能也有了进一步的认识。还锻炼我们个人的查阅技术资料的能力,动手能力,发现问题,解决问题的能力。并且我们熟练掌握了有关器件的性能及测试方法。 再次感谢老师的辅导以及同学的帮助,是他们让我有了一个更好的认识,无论是学习还是生活,生活是实在的,要踏实走路。课程设计时间虽然很短,但我学习了很多的东西,使我眼界打开,感受颇深。 单片机学习心得体会二:单片机学习心得体会 熟悉单片机的人都知道,要学好单片机可不是一件容易的事,倒不是因为单片机很难学,而是很难找到一本专为单片机入门者而编写的教材。翻一下身边的单片机教材,都好像是为已经懂单片机的人而写的,一般先介绍单片机的硬件结构和指令系统,再是系统扩展和外围器件,顺便讲一些应用设计(随便说一下,很多书中的电路设计已经过时,并且有些程序还是

最新单片机重点知识点整理

1单片机内部RAM 256个单元功能划分 通用工作寄存器区:用于存放操作数及中间结果 位寻址区:作为一般RAM单元使用,进行字节操作,也可对单元中每一位进行操作 用户区:供用户一般使用 特殊功能寄存器区:共专用寄存器使用 同步通信,依靠起始位和停止位实现同步 异步通信,依靠同步字符实现同步 1.方式0 串行接口工作方式0为同步移位寄存器方式,多用于I/O口的扩展,其波特率是固定的,为fosc/12。TXD引脚输出同步移位脉冲,RXD引脚串行输入/输出。 2.方式1 在方式l时,串行口被设置为波特率可变的8位异步通信接口。发送/接收1帧数据为10位,其中1位起始位、8位数据位(先低位后高位)和1位停止位。 3.方式2 串行口工作为方式2时,被定义为9位异步通信接口。发送/接收1帧数据为11位,其中1位起始位、8位数据位、1位控制/校验位和1位停止位。控制/校验位为第9位数据。 4.方式3 方式3为波特率可变的11位异步通信方式,除了波特率有所区别之外,其余同方式 3产品设计的步骤 1明确设计任务和性能指标2总体设计3硬件测试4软件设计5产品调试 4指令的寻址方式、分类,会举例 (1)立即数寻址指令本身直接含有所需要的8位或16位的操作数。 将此数称为“立即数”(使用#标明)。 MOV A,#5FH ;将(8位)立即数送累加器A (2)直接寻址指令直接给出了操作数的地址。 MOV A,3AH ;将RAM3AH单元内容送累加器 (3)寄存器寻址当所需要的操作数在内部某一个寄存器Rn中时,将此寄存器名Rn直接写在指令的操作数的位置上。 MOV A,R0 注意:寄存器寻址方式的指令大多是单字节指令。指令本身并不带有操数,而是含有存放操作数的寄存器的3位代码。以MOV A,Rn为例,使用R7寄存器,所以rrr=111,既指令的机器码为:0EFH (4)寄存器间接寻址指令中含有保存操作数地址的寄存器Ri。 MOV A,@Ri ( i=0、1) 如:MOV R0,#3AH ;立即数送R0寄存器 (5)变址寻址;指令使用DPTR或PC中的内容作为基地址,再与累加器A的内容相加,和作为操作数地址。 指令使用DPTR或PC中的内容作为基地址,再与累加器A的内容相加,和作为操作数地址。 MOVX A,@A+PC ;PC内容与A的内容相加得操作数地址并将此操作数送A

单片机课程设计心得体会范文

单片机课程设计心得体会范文 课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能 力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。 学生只有对自己、对英语及其文化、对英语学习有积极的情感,才能保持英语学习的 动力并取得成绩。消极的情感不仅会影响英语学习的效果,而且会影响学生的长远发展。 因此,在英语教学中我应该自始至终关注学生的情感,努力营造宽松、民主、和谐的教学 氛围。为此英语教师要做到: 其次,精心选择自然环境,引导学生抽象食物链、生产者、消费者概念。草原环境只 是个引子,要想抽象概念,必须要从个体到一般。于是,我选择了菜园里、森林里两个环境,让学生巩固用图例表达食物联系的方法,并学习如何在图片中表达食物联系,为后续 活动打下基础。 回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同 时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通 过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的, 只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从 而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困 难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了 自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说三极管PNP管脚不懂怎么放置,不懂分得二极管的正负极,对单片机汇编语言掌握得不好……通 过这次课程设计之后,一定把以前所学过的知识重新温故。 这次单片机课程设计我们历时两个星期,在我们班里算是倒数几组完成的吧,但经过 这两个星期的实践和体验下来,我们又怎么会去在乎那个先后问题呢,因为对我来说学到 的不仅是那些知识,更多的是团队和合作。现在想来,也许学校安排的课程设计有着它更 深层的意义吧,它不仅仅让我们综合那些理论知识来运用到设计和创新,还让我们知道了 一个团队凝聚在一起时所能发挥出的巨大潜能! 为了让我们能更好的理解什么是高效课堂,教研部还多次带领着我们听一些高效课堂 的讲座,听后真是受益匪浅。要想培养好学生的学习习惯并非一朝一夕的事,要循序渐进。这些话语说起来容易做起来难,所以作为新一代的人民教师一定要认真对待这项艰巨的任务,让学生在我们的课堂上不断的养成良好的学习习惯,培养出一个个优秀的人才。

单片机实验心得体会3篇

单片机实验心得体会一:单片机实验心得体会 时间过得真快,不经意间,一个学期就到了尾声,进入到如火如荼的期末考试阶段。 在学习单片机这门课程之前,就早早的听各种任课老师和学长学姐们说过这门课程的重要性和学好这门课程的关键~~多做单片机实验。 这个学期,我们除了在课堂上学习理论知识,还在实验室做了7次实验。将所学知识运用到实践中,在实践中发现问题,强化理论知识。 现在,单片机课程已经结束,即将开始考试了,需要来好好的反思和回顾总结下了。 第一次是借点亮led灯来熟悉keil软件的使用和试验箱上器材。第一次实验体现了一个人对新事物的接受能力和敏感度。虽然之前做过许多种实验。但依旧发现自己存在一个很大的问题,对已懂的东西没耐心听下去,容易开小差;在听老师讲解软件使用时,思路容易停滞,然后就跟不上老师的步骤了,结果需要别人再次指导;对软件的功能没有太大的热情去研究探索,把一个个图标点开,进去看看。所以第一次试验相对失败。鉴于此,我自己在宿舍下载了软件,然后去熟悉它的各个功能,使自己熟练掌握。 在做实验中,第二个问题应该是准备不充分吧。一开始,由于没有课前准备的意识,每每都是到了实验室才开始编程,完成作业,导致每次时间都有些仓促。后来在老师的批评下,认识到这是个很大的问题:老师提前把任务告诉我们,就是希望我们私下把程序编好。于是我便在上机之前把程序编好,拷到u盘,这样上机时只需调试,解决出现的问题。这样就会节约出时间和同学讨论,换种思路,换种方法,把问题给吃透。发现、提出、分析、解决问题和实践能力是作为我们这个专业的基本素质。 三是我的依赖性很大,刚开始编程序时喜欢套用书上的语句,却对语句的理解不够。于是当程序出现问题时,不知道如何修改,眼前的程序都是一块一块的被拼凑整合起来的,没法知道哪里错了。但是编程是一件很严肃的事情,容不得半点错误。于是便只能狠下决心,坚持自己编写,即使套用时,也把每条语句弄懂。这也能激发了学习的兴趣。 还有一次实验是调出电脑里的程序,让它在试验箱上实现其功,让我们去体会别人编程的技巧和程序逻辑美感。看了之后,不得不说我目前的水平简直太小儿科了。还有连线也是个问题,

单片机知识点总结

单片机知识点总结 Company number:【0089WT-8898YT-W8CCB-BUUT-202108】

单片机考点总结 1.单片机由CPU、存储器及各种I/O接口三部分组成。 2.单片机即单片微型计算机,又可称为微控制器和嵌入式控制器。 3.MCS-51系列单片机为8位单片机,共40个引脚,MCS-51基本类型有8031、 8051和8751. (1)I/O引脚 (2)8031、8051和8751的区别: 8031片内无程序存储器、8051片内有4KB程序存储器ROM、8751片内有4KB程序存储器EPROM。 4.MCS-51单片机共有16位地址总线,P2口作为高8位地址输出口,P0口可分时复 用为低8位地址输出口和数据口。MCS-51单片机片外可扩展存储最大容量为 216=64KB,地址范围为0000H—FFFFH。(1.以P0口作为低8位地址/数据总线;2.以P2口作为高8位地址线) 5.MCS-51片内有128字节数据存储器(RAM),21个特殊功能寄存器(SFR)。(1)MCS-51片内有128字节数据存储器(RAM),字节地址为00H—7FH; 00H—1FH: 工作寄存器区; 00H—1FH: 可位寻址区; 00H—1FH: 用户RAM区。 (2)21个特殊功能寄存器(SFR)(21页—23页); (3)当MCS-51上电复位后,片内各寄存器的状态,见34页表2-6。 PC=0000H, DPTR=0000H, Acc=00H, PSW=00H, B=00H, SP=07H, TMOD=00H, TCON=00H, TH0=00H, TL0=00H, TH1=00H, TL1=00H, SCON=00H, P0~P3=FFH

(完整word版)单片机知识点总结

第一部分硬件基础 1、单片机的组成; 2、单片机的并行I/O口在使用时,有哪些注意的地方? 3、单片机的存储器;程序存储器和数据存储器的寻址范围,地址总线和数据总线的位数;数据存储器内存空间的分配;特殊功能寄存器区; 4、时钟及机器周期; 5、单片机的控制总线、地址总线及数据总线等。 例: 一、填空 1.MCS-51单片机有4个存储空间,它们分别是:、、、。 2、MCS-51单片机的一个机器周期包括个状态周期,个振荡周期。设外接12MHz晶振,则一个机器周期为μs。 3.程序状态字PSW由位组成。 4.在MCS-51单片机内部,其RAM高端128个字节的地址空间称 为区,但其中仅有个字节有实际意义。 5. MCS-51 系列单片机为位单片机,其数据总线为位,地址总线为位,可扩展的地址范围为。 6. MCS-51 单片机的4 个并行I/O 口若作为普通I/O 口使用时,输入操作分为读引脚和读锁存器,需要先向端口写“1”的操作是。 7. MCS-51 单片机的特殊功能寄存器分为可位寻址和不可位寻址两种,那么IE 为,TMOD 为。 8.通常MCS-51单片机上电复位时PC= H、SP= H、通用寄存器采用第组,这一组寄存器的地址范围 是 H。 9.MCS-51单片机堆栈遵循的数据存储原则。 10.在MCS-51单片机中,使用P2、P0口传送信号,且使用P0口来传送信号,这里采用的 是技术。 11.MCS-51单片机位地址区的起始字节地址为。

12.对于并行口在读取端口引脚信号时,必须先对端口写。13.PC的内容是。 14、MCS-51 单片机运行出错后需要复位,复位的方法是在复位引脚上加一个持续时间超过个时钟周期的高电平。 15、具有4KBytes 储存容量之存储器,其至少需具有根地址线。 二、问答 1.简述MCS-51 单片机的P0、P1、P2 和P3 口的功能。 2.MCS-51单片机的三总线是由哪些口线构成的。 3.MCS-51单片机的位寻址区的字节地址范围是多少?位地址范围是多少? 4. MCS-51单片机存储器在结构上有什么特点?在物理上和逻辑上各有那几个地址空间? 5.简述MCS-51单片机00H-7FH片内RAM的功能划分,写出它们的名称以及所占用的地址空间,并说明它们的控制方法和应用特性。 6.请写出MCS-51单片机的五个中断源的入口地址。 第二部分 C51程序设计 1、C51的指令规则;C51编程语句及规则; 2、C51表达式和运算符; 3、顺序程序、分支程序及循环程序设计; 4、C51的函数; 5、中断函数。 例: 1.程序的基本结构有。 2.C51的存储器模式有、、。 3.C51中int型变量的长度为,其值域为;unsigned char型变量的长度为位,其值域为。 4.C51中关键字sfr的作用,sbit的作 用。 5.函数定义由和两部分组成。 6.C51的表达式由组成。C51表达式语句由表达式和组成。

单片机学习心得10篇

《单片机学习心得》 单片机学习心得(一): 单片机学习心得体会 我从大二起,就去实验室去学习。在那里与老师和一些电子设计爱好者的交流中,我学到了更多的专业知识。我从此走上了学习嵌入式的道路。这丰富了我的大学生活,是我在大学的最大收获。 我是从学习单片机开始我的嵌入式学习的。 我接触单片机的方式是在图书馆看书,我看了很多本书,但是大多数书写的大同小异。书里面讲解的单片机的寄存器我看了很多遍也没有看懂。我都不明白改怎样学习它了。慢慢的我悟出了一个道理:电子的学习实践是最重要的,这样,我在大二的时候就买了一块学习板,我一边看视频一边仿照视频的程序,自己编写程序,在很短的时间里,我的单片机有了很大的提高。那些难懂的寄存器透过编写程序,我慢慢的弄懂了它们,此刻回头看去,原先它还是很简单的。 用哪种编程语言最适合我们。 我看过的单片机的书籍,大部分的程序都是汇编写的。它是一种基于机器硬件的低级语言,对于我们这些只学习过C语言的人来说,十分难懂。我认为刚开始学习单片机没有必要必须要从学习汇编编程开始。我学习单片机就是用C语言编程的,我并不会汇编语言,也没有妨碍我把单片机学好。 我的单片机学习心得。 很多人说,学单片机最好先学汇编语言,以我的经验告诉大家,绝对没有这个必要,初学者一开始就直接用C语言为单片机编程,既省时间,学起来又容易,进步速度会很快。在刚开始学单片机的时候,千万不要为了解单片机内部结构而浪费时间,这样只能打击你的信心,当你学会编程后,自然一步步就掌握其内部结构了。 单片机的学习实践。 单片机提高重在实践,想要学好单片机,软件编程必不可少。但是熟悉硬件对于学好单片机的也是十分重要的。如何学习好硬件,动手实践是必不可少的。我们能够透过自己动手做一个自己的电子制作,透过完成它,以提高我的对一些芯片的了解和熟练运用它。这样我们就能够多一些了解芯片的结构。我相信,你完成了一个属于自己的电子制作,你的单片机水平就会有一个质的提高。 这就是我学习单片机的心得体会,期望给单片机的爱好者学好单片机有所帮忙。

相关主题