单片机期末考试总计

| 工作总结 |

【www.guakaob.com--工作总结】

单片机期末总结
单片机期末考试总计 第一篇

一、相关基础知识

1、十进制数126,117,97化为二进制、十六进制数

二进制: 1111110 1110101 1100001

十六进制:7E 75 61

2、求+112、-112的原码、反码、补码.

112: 01110000 01110000 01110000

-112:11110000 10001111 10010000

3、什么是BCD码?什么是ASCII码?

BCD四位二进制代替以为十进制数

ASCII计算机中字母,符号所替代的二进制

二、课程基础知识

1. 一个CPU必须包含哪几个部分?

运算器 寄存器组 控制器

2.什么是堆栈?其特点是什么?

堆栈:在RAM中的一种存储空间

特点:先进后出

3.MC9S08AW60型号各部分含义

MC:产品状态合格

9:片内袋带闪存Flash EEPROM

S08:内核类型

AW:子系列型号标志

60:程序存储器大小为60KB

4.MC9S08AW60有内核是多少位的CPU?CPU内的寄存器组?RAM及FLASH容

量?都有什么外围模块?最高总线频率为多少?

(1)8位

(2)累加器A;变址寄存器 HX;堆栈指针SP;程序计数器PC;条件码寄存

器CCR (书34页)

(3)RAM容量:2K

FLASH容量:60K

(4)GPIO外围模块:7个端口 54个引脚 2个串行口 2个TPM模块 1个键

盘模块、1个AD模块

(5)最高40MHz的CPU内部时钟频率,20MHZ的总线频率

5.MC9SAW60的存储器映射(书28页)

6.MC9SAW60的最小系统都包含哪几个部分(书31)

AW60芯片的硬件最小系统包括电源与其滤波电路、复位电路、晶振电路及 PLL滤波电路、写入器接口电路

三、GPIO应用

1.MC9S08AW60有几个GPIO口?每个GPIO有哪些寄存器?

(1)7个GPIO接口(54个引脚)

(2)PTxDD端口数据方向寄存器

PTxD端口数据寄存器

PTxPE端口上拉使能寄存器

PTxSE斜率寄存器

PTxDS驱动强度寄存器

2.MC9S08AW60应用工程中关系到GPIO应用的函数中,必须包含哪个头文

件?(书69)

MC9S08AW60.h

3.GPIO应用程序设计,例如:

PTD0、PTD1接两个拨动开关,PTB口接八个LED灯,由两个拨动开关的四种

不同状态,使八个LED分别为八个LED灯亮—灭循环;四个LED灯亮,四个

LED灭交替;左移流水灯:右移流水灯。【注:延时函数,开关对灯的控制

等程序详见实验一】

GPIO初始化程序:

PTBD=0XFF;

PTBDD=0XFF;

PTDDD&=0b11111100;(0xFC)

PTDPE|=0b00000011;

灯的控制:

void Light_on_off(void)

{

PTBD=0x00; //8个LED灯点亮

Delay(1000);

PTBD=0xff; //8个LED灯熄灭

Delay(1000);

}

void Light_half(void)

{

PTBD=0xf0; //4个LED灯熄灭4个点亮

Delay(2000);

PTBD=0x0f; //另4个LED灯亮4个熄灭

Delay(2000);

}

【注:设一个全局变量unit8 a=0xfe;unit8 b=0x7】

void Light_shift_left(void)

{

PTBD=a;

if(a==0x7f)

a=0xfe;

else

{【单片机期末考试总计】

Delay(1000);

a<<=1; //左移//

a|=0x01; //设置左移后的前一盏灯为灭//

}

}

void Light_shift_right(void)

{

PTBD=b;

if(b==0xfe)

b=0x7f;

else

{

Delay(1000);

b>>=1;

b|=0x80;

}

}

四、SCI

1.串行通讯几种传输方式?串行通讯的双方必须要约定什么?

(1)3种 单工、双工、半双工

(2)串行通信的波特率,奇偶校验方式以及传输的数据模式。

2.什么是中断?MC9S08AW60的中断机制CPU响应中断时将哪几个寄存器压 入堆栈保护?(书131-132)

(1)把来自CPU外围设备的强行任务切换请求称为中断

(2)PC、X、A、CCR

备注:累加器A;变址寄存器 HX;堆栈指针SP;程序计数器PC;条件码寄存器CCR

3.MC9S08AW60有几个串行通讯(SCI)模块?每个模块有几个中断资源?

(1)2个

(2)3个

4.MC9S08AW60共有多少个中断资源?这些中断事件发生时,能不能被CPU 接收到?由什么控制?(书133)

(1)26个

(2)一个中断事件发生时,能不能被CPU接收及响应由两个因素控制,一 是对应事件的中断允许控制位,另一个是CCR中的总的中断屏蔽位I,如TPM1 的溢出中断事件,必须是对应该事件的中断允许控制位TOIE设置为1,及 CCR中的I设置为0,此中断事件才能被CPU响应!

5.掌握实验二工程程序设计,主是掌握SCI初始化函数(相关的波特率、传 递模式,发送等设计)数据发送与接收中断处理函数。【详见SCI实验】

SCI初始化:

void SCIInit(word baud )

{

word Mbaud=0;

Mbaud=20*(10000/(baud/100))/16;

SCI1BDH= (unit8)((Mbaud&0xFF00)>>8);

SCI1BDL= (unit8)(Mbaud&0x00FF);

;

}

数据发送:

void SCISendS(char *p) {

}

void SCISend1(char Sch){

}

中断接收:

void interrupt 17 SCI1Rec(void){

char Rechar,ReS;

while ( word i; if(p==0) return; for(i=0;p[i]!='\0';++i) { } SCISend1(p[i]);

五、键盘与显示

1、MC9S08AW60有几个键盘模块?键盘模块有几个接口?与哪几个GPIO接口 复用?控制寄存器是什么?控制寄存器各位的意义?

(1)1

(2)8个接口

(3)PTG0~4,PTD2,3,7

(4)KBI1SC

(5)D7~D4:键盘中断引脚的触发方式

D3:KBF键盘中断标志位,为1时产生键盘中断

D2:KBACK 键盘中断应答位,写1时,清除键盘中断标志位

D1:KBIE 键盘中断使能位,为1时,开放键盘中断

D0:KBIMOD 键盘中断检测模式

2、矩阵式键盘采用动态扫描方式进行,行线与列线要如何定义?矩阵式键 盘的行线与列线定义好后,每个键的键值如何确定?

(1)将列线n4~n1接在PTD7,PTD3,PTD2,PTG4,且定义为输入并进行上 拉;行线m4~m1接在PTG3,PTG2,PTG1,PTG0,并定义为输出

(2)按PTD7,PTD3,PTD2,PTG4,PTG3,PTG2,PTG1,PTG0的顺序所列 出的二进制码所对应的键值 【注:要会推算出矩阵键盘每个按键的键值!】

3、掌握实验三工程程序设计,主要是键盘的初始化。

void KBInit(void)

{

PTGD &=

PTGDD |= //行线(3-0位)为输出

PTDPE |= //输入引脚(列线)有内部上拉电阻

PTGPE |= KBI1SC &=屏蔽键盘中断(KBIE = 0)

KBI1PE |=

//定义输入引脚(列线)为可中断的键盘引脚

KBI1SC |= ; //清除键盘中断请求(KBACK = 1)

}

六、定时器

1、MC9S08AW60有几个TPM模块?每个模块有几个通道?每个通道都有什么 功能?每个TPM模块有几个中断资源?

(1)2

(2)TPM1:6

TPM2:2

(3)输入捕捉,输出比较,PWM

(4)TPM1有7个中断源(一个溢出事件6个通道事件),TPM2有3个中断 源(一个溢出事件,2个通道事件)

2、TPM模块的核心部分有几个控制寄存器?都有什么功能?如果设计一个 定时间隔时要进行什么设置?(如设计接在B口上的八个LED每隔500ms一 亮一灭)完成这个功能的程序设计?

(1)1个

(2)D7:TOF 定时器溢出标志位

D6:TOIE 定时器溢出中断允许位

单片机期末考试总结GAIDONG
单片机期末考试总计 第二篇

1、单片机:(Single Chip Microcomputer)单片微型计算机,他是把微型计算机的各个功能部件,即中央处理器CPU、随机存单字节指令的操作码和操作数加起来只有一个字节,双字节指令的操作码和操作数各占一个字节,三字解指令的第一字节为操作 器(Micro Controller Unit,MCU)。

节指令5.2双字节指令(46条)在后的操作数字节可以是立即数,也可以是操作数所在的片内RAM地址。5.3三字接指令(16

并行通信方式下数据的各位同时进行传送,并由传输数据的位数决定传输线的数目。具有传送速度快、效率高的优点,

储器RAM、只读存储器ROM、定时/计数器及I/O接口电路等集成在一块芯片上,构成一个完整的微型计算机。——国际上微控制码,第二第三字节为操作数或操作数地址。5.1单字节指令(49条)分为无操作数的单字节指令和含有操作数寄存器编号和单字但由于传输成本高,通常只使用在小于30米的数据传输中。 2、单片机特点:1)单片机体积小、控制功能强、成本低等特点。2)可靠性好,适用温度范围宽。3)易于扩展,很容易构成各条) 制,从而使整个控制系统的效率和可靠性大为提高。

段。

算机与远程终端或终端与终端之间数据传送通常采用串行通信。按串行数据的时钟控制方式,串行通讯分为同步和异步通信。

串行通信方式下数据一位一位串行地顺序传送,最少只需要一根传输线即可完成,节约传输线,但传输速度比较慢。计

种规模的应用系统。4)低电压、低耗电;单片机广泛应用于便携式产品和家电消费类产品5)可以方便的实现多机和分布式控6.指令的二进制形式称为指令的机器码,可以直接被计算机识别和执行。指令的十六进制形式在某些场合用作输入程序的辅助手5、1、1

1、同步通信是按照数据块传送的。把传送的字符顺序地连接起来,组成数据块,在数据块前面加上特殊的同步字符,

3、单片机分类1)就CPU处理的长度而言,有4位、8位、16位、32位;8位单片机成为主要机型。2)按照所适用的环境温7.寻址方式:寻找操作数地址的方式。共7种:立即寻址,直接寻址,寄存器寻址,寄存器间接寻址,变址寻址,位寻址和相对作为数据块的起始符号,由收发一致的同步时钟在发送端发出,接收端接收到同步字符后,开始接收数据块使收、发双方同步。度为:民用级0~70度、工业级-40~85度、军用级-65~125度。3)MCS-51系列分为51和52两个子系列,51为基本型,52子系寻址。 属氧化物的HMOS工艺。MCS-51单片机片内程序存储器有3种配置形式,即掩膜ROM、EPROM和无ROM。

传送数据容量大,传输速率高。

列为增强型。单片机采用两种工艺,一种是HMOS工艺,即高速度、高密度、段沟道MOS工艺;另一种是CHMOS工艺,即互补金8.立即寻址:指指令中直接给出参加运算的操作数,称为立即数,用符号’#’表示,以区别简直地址。例如:MOV P1, #80H 2、1、1内部结构:MCS-51系列单片机的典型产品有8031、8051、8751。它们的差别只在程序存储器方面:8031无内部程序存MOV A ,P0 ; MOV P,00H ; MOV SP,07H; POP A (堆栈都是) 除此之外,其内部结构完全相同:1)8位CPU,片内时钟振荡器,频率范围为1.2~12MHZ。2)4KB程序存储器,片内低128B数用寄存器B,数据指针寄存器DPTR等。例:MOV R0,00H MOV DPTR,#0FF07H 口,1个全双工串行口。6)2个16位定时/计数器7)5个中断源。2个中断优先级8)位寻址功能,适用于布尔处理机。 2、1、2控制引脚1)RST:当RST输入端保持2个机器周期以上高电平时,单片机完成复位初始化操作。

MOV A,@DOTR MOV A,@R0

2、异步通信 数据常是以字符为单位组成字符帧传送的。字符帧有发送端一帧一帧的发送,每一帧数据均是低位在前,

9.直接寻址:指把存放操作数的内存单元的地址直接写在在指令中,这种寻址方式用于对内部RAM进行访问。例如:MOV A,SP ;高位在后,通过传输线被接收端一帧一帧地接收,发送端和接收端可以由各自独立的时钟来控制数据的发送和接收,这两个时钟

彼此独立,互不同步。

1)字符帧也叫数据帧,有起始位、数据位、奇偶校验位和停止位等4部分组成。 2)波特率为每秒传送二进制数码的位数,单位为b/s。也称比特数。 单工方式、半双工方式、全双工方式

UART(universal asychronous receiver/transmitter)通用异步接收器/发送器,能够完成异步通信的硬件电路。 USRT(universal sychronous receiver/transmitter)通用同步接收器/发送器,能够完成同步通信的硬件电路。 USART 都能完成的。异步串行通信接口主要由3类:RS-232接口;RS-449、RS-422和RS-485接口。

5、2、1串行口结构

冲寄存器,占用同一地址(99H)。 第八章 MCS-51的系统扩展与接口技术

1、单片机的系统扩展主要由IO口的扩展、程序存储器的扩展、数据存储器(RAM) 的扩展。 2、A/D、D/A转换器是实现模拟量与数字量之间转换的装置,单片机与外界联系的重要途径。

4、键盘:是由若干按键组成的开关矩阵,它是最简单的单片机输入设备,操作员可以通过键盘输入数据或命令,实现简单的人机通信。键盘上闭合键的识别由专用的硬件实现的称为编码键盘,靠软件识别的称为非编码键盘。 工作原理:键盘扫描的控制

储器ROM,必须外接EPROM程序存储器;8051内部有4KB工程掩膜编程的程序存储器ROM;8751内部有4KB用户可编程的EPROM,10.寄存器寻址:指指令中给出的是操作数所在的寄存器,寄存器的内容为操作数。寄存器包括工作寄存器R0-R7,累加器A通

据存储器RAM。3)片内有21个特殊功能寄存器SFR4)可寻址外部程序存储器和数据存储器空间各64KB。5)4个8位并行I/O11.寄存器间接寻址:指将存放操作数的内存单元的地址放在寄存器中,指令只给出该寄存器。R0,R1,DPTR例:;MOV A,@R1;5、1、2串行通信的制式

5、1、3串行通信的信号传输

2)ALE:地址锁存允许信号输出端。在存取外存储器时,用于锁存低8位地址信号,当单片机正常工作后,ALE端就周期性的以12.变址寻址:指将基址寄存器与变址寄存器的内容相加,结果作为操作数的地址。例:MOVC A,@A+DOTR @A+PC 时钟振荡频率的1/6固定频率向外输出正脉冲信号。3)PSEN—:程序存储允许输出端。PSEN信号是片外程序存储器的读选通信13.位寻址:指按位进行的寻址操作。SETB CLR ;IO口(字节寻址) 号,低电平有效。4)EA—:程序存储器地址允许输入端

14.相对寻址:指程序计数器PC的当前内容与指令中的操作数相加,其结果作为跳转指令的转移地址(也称为目的地址)。例:

2、1、3、片外总线结构1、数据总线(Data Bus,DB)是指数据传送的公共通道。在MCS-51单片机由P0口来传递数据信息,JIMP 23;JC 23

单片机地址总线宽度为16位,表示符合A15~A0,对存储器直接进行编址的编址数有2的16次方,寻址范围64KB,地址从堆栈操作指令(2条),数据交换指令(5条),加减法指令。

0000H`~FFFFH。P0口经地址锁存其提供16位地址总线的低8位地址A7~A0,P2口直接提供高8位地址A15~A8。3)控制总线(Control MOV A,Rn/direct/@Ri/#data MOV Rn,A/direct/#data MOV direct,A/Rn/direct/@Ri/#data Bus ,CB)传送的是各种控制信号,用于使单片机与外部电路的操作同步。MCS-51中的控制总线由第2功能下的P3口和4根独MOV @Ri,A/direct/#data MOVX A ,@Ri/@DPTR(互换) MOVC A,@A+DPTR/@A+PC 立控制线RESET、EA—、ALE、和PSEN—。

XCH A,Rn/direct/@Ri XCHD @Ri SWAP A

2、2、1CPU结构1)运算部件包括算术逻辑部件ALU、位处理器、累加器A、寄存器B、暂存器及程序状态字寄存器PSW、十进制非法指令:

调整电路及布尔处理器。运算器的主要功能是完成算术运算、逻辑运算、数据传送和位变量处理。2)控制部件是单片机的神经MOV @R0,,A MOV @R0,,, MOV @R1 PSW (源:直接) 中枢,它包括定时控制器、指令寄存器、指令寄存器、指令译码器、数据指针DPTR及程序计数器PC、堆栈指针SP、地址寄存器,A MOV A,,@DPTR

及地址缓冲器。他的功能是对逐条指令进行译码,并通过定时和控制电路在规定的时刻发车各种操作所需的内部和外部控制信号,MOVC A,,,,@DPTR MOV 20H 00H (对) 协调各部分的工作,完成指令规定的操作。 方式不同,分为内部和外部两种时钟电路。

成。3)指令周期是指执行一条指令所占用的全部时间。通常1~4个周期。 令。

MOVX @R1,,20H XCH @R1,00H XCH @R1,@DPTR XCH A,@R2 MOV A 00H(对) 短转移指令:转移范围为-126~127;条件转移指令(8条)

器PC的功能,返回指令具有把堆栈中的断点地址自动恢复到程序计数器PC的功能。

个时钟周期),在程序中可用作简单延时或等待。19位操作指令20伪指令:不是可执行指令,因此无机器代码。

且数据总线为8位。即D7~D0。2)地址总线(Address Bus,AB)传送的是片内发出的存储单元或I/O设备的地址信息。MCS-5115.内部数据传送指令可以分为立即寻址型,直接寻址型,寄存器寻址型和寄存器间接寻址型。外部RAM数据传送指令(4条), 由串行口控制电路、发送电路和接收电路3部分组成。发送缓冲器SBUF和接受缓冲器SBUF为物理上分开的两个8位缓

3、8255A的3种工作方式 方式0:基本输入/输出方式;方式1选通输入/输出方式(应答方式);方式2:双向传输方式。

方式:程序控制扫描方式——连续扫描:定时控制扫描方式——定时扫描(在程控扫描方式中只有当CPU空闲时才调用键盘输入

子程序,实时性差,效率低。定时扫描控制方式的主要优点是:能及时响应键入的命令或数据,便于操作员对正在执行的程序进法电路太复杂,可以采用软件消抖,在第1次检测到有按键按下时,执行一段延时10ms的子程序之后,再检测此按键,如果第6、LED显示器 静态显示方式:当显示器显示某一个字符时,相应的发光二极管恒定地导通或截止。

动态显示方式:一位一位地轮流点亮各位显示器(扫描),对于每一位显示器来说,每隔一段时间点亮一次。

2、2、2时钟电路时钟电路用于产生单片机所需要的时钟信号,单片机在时钟信号控制下各部件之间同步协调工作。根据产生的16.无条件转移指令(4条)长转移指令:转移范围可达64KB(0000H~FFFFH);绝对转移指令:转移范围可达2KB(0000H~07FFH) 行干扰),中断控制扫描方式——中断后扫描键盘消抖两种方式:(1)滤波;(2)双稳态消抖动电路。上述两种硬件消抖动的方2、2、3CPU时序1)将振荡脉冲的周期定义为节拍,振荡脉冲就是单片机的时钟信号周期。2)一个机器周期有12个振荡脉冲组17.子程序调用和返回指令(4条)调用指令具有把程序计数器PC中断点地址保护到堆栈,把子程序入口地址自动送入程序计数2次检测结果仍为按下状态,CPU便确认此按键已真正按下,从而消除了抖动的影响。 单片机指令通常分为单周期指令、双周期指令和四周期指令3种。四周期指令只有乘除法两天指令,其余均为单周期和双周期指18.空操作指令NOP:执行这条单字节单周期指令仅使程序计数器PC加1,不进行任何其他操作,消耗时间为一个机器周期(12 2、3、存储器,MCS-51主要特点是程序存储器和数据存储器的寻址空间是分开的,有4个物理上相互独立的存储器空间:内、第4章

7、DAC0832是电流型输出,所以,使用时应外接运算放大器,使之转换成电压输出,有单缓冲器方式接口和上缓冲器方式接口。

外程序存储器和内、外数据存储器。但从用户的角度来看,有3个存储空间,即片内外统一编址的64KB的程序存储器地址空间、1.中断的概念“中断”是指计算机在执行某段程序过程中,由于计算机系统内、外的某种原因,当出现CUP

256B的片内数据存储器地址空间以及64KB的片外数据存储器地址空间。 有服务对象向CUP发出中断请求信号,要求CUP2、3、1程序存储器 0000H:单片机复位后,PC=000H,从0000H开始执行指令;0003H:外部中断0的入口地址;000BH:定时返回继续执行原来被中断的程序。 (D7)的进位或借位,则该位由硬件置位(“1”),否则复

器0溢出中断入口地址。0013H:外部中断1入口地址;001BH:定时器1溢出中断入口地址0023H:串行口中断入口地址。 的程序称为主程序。主程序被断开的位置(或地址)称为“断点”。中断源要求服务的请求称为“中断请求”(或中断申请)。引

位(“0”),位累加器。AC (Auxiliary Carry)——PSW.6 辅助进位标志(半进位标志):如发生半字节进位或借位(即D3向D4进位

2、3、2数据存储器数据存储器器是用于存放运算的中间结果、数据暂存及数据缓冲等,它有读写存储器RAM组成,片内有00H~7FH起中断的原因,获能发出中断申请的来源,称为“中断源”。 定时器中断可以使CPU进行计时处理,以便于达到时间控制的目

或借位)则 AC→”1”,否则AC→”0”,可用于BCD码时的调整位。OV (Overflow)——PSW.2 用于有符号数加减运算和无符号数

低128BRAM,80H~FFH高128BRAM,还有一个特殊功能的RAM去,称为特殊功能寄存器(SFR)。片外存储空间可以扩展到64KB,的。2 中断的特点:分时操作、实时处理、故障处理

乘除运算时结果是否超限的判断。P (Parity) ——PSW.0 奇偶标志:反映累加器A中二进制数的奇偶性。若A中有奇数个“1”,则

地址范围为0000H~FFFFH。1、片内低128BRAM片内低128B单元是单片机的真正RAM存储器,按其用途可划分为工作寄存器区、3 中断系统的功能:实现中断响应和中断返回1、CUP中断响应过程如下:首先,将断点处的PC值(即下一条应指令的地址)推

位寻址区和用户RAM区。1)、工作寄存器去 8051共有4组工作寄存器,每组8个寄存单元,各组都以R0~R7作寄存单元编号,入栈保留起来,这称为保护断点,有硬件自动执行;然后,将有关的寄存器内容和标志位状态推入栈保留起来,

共32个寄存单元。在任一时刻,CPU只能使用其中的一组寄存器,并且把正在使用的那组寄存器称为当前寄存器组。由程序状由用户自己编程完成。执行完中断服务程序后,CPU态字寄存器PSW中的RS1、RS0为的状态组合来决定。2)位寻址区 内部RAM的20H~2FH单元,既可作为一般的RAM单元使用,内容和标志位的状态,这称为恢复现场,由用户编程完成;然后,再加返回指令RETI,RETI指令的功能是恢复PC值,是CUP进行字节操作,也可以对每一为进行操作,因此吧该区称为位寻址区。3)用户RAM去 地址30H~7FH,就是用户使用的一般RAM回断点,这称为恢复断点;恢复现场和断点后,CUP将继续执行主程序,中断响应过程到此结束。 区,。对用户RAM使用没有任何规定和限制,但在一般应用中常把堆栈开辟在此区中。2、片外数据存储器 片外数据存储器和IO2、计算机按中断优先权高低逐次响应的过程称为优先权排队。此过程可通过硬件电路或软件查询实现。3口与片内数据存储器空间0000H~FFFFH是重叠的。8051单片机用MOV和MOVX两种指令来区分片内外RAM空间。片内RAM使用MOVCUP响应某一中断时,若有优先权高的中断源发出中断请求,则CUP指令,片外RAM和I/O口使用MOVX指令。 响应高级中断。高级中断处理结束以后,再继续进行被中断的中断服务程序,这个过程被称为中断嵌套。 2、3、3特殊功能寄存器8051的特殊功能寄存器有21个,离散的分布在8oH~FFH地址范围内,只占用了21个地址,在21个特4.1.2 中断源8051的中断源包括2个外部中断、2个定时器溢出中断和1个串行口中断

殊功能寄存器中,可以通过直接寻址方式或寄存器寻址方式进行字节寻址,对某些寄存器还可以进行位寻址。1)程序计数器PC4.1.4 中断响应中断申请的撤除1、定时器中断请求的撤除对于定时器T0或T1溢出中断,CUP用于存放下一条要执行的指令地址,是一个16位专用寄存器,可寻址范围达64KB。PC有自动加1功能,从而实现程序的顺序执其中中断标志位TF0或TF1,无需采取其他措施。2、串行口中断请求的撤除,对于串行口中断,CUP行。PC没有地址,是不可寻址的,因此用户无法对它进行读/写,但可以通过转移、调用、返回等指令改变其内容,以实现程序动清除中断请求标志位T1、R1,必须在中断服务程序中用软件将其清除。3的转移2)累加器A为8位寄存器,是一个最常用的专用寄存器,它的功能较多。它既可以用于存放操作数,也可用于存放运算或,CUP在响应中断后,由硬件自动清除其中中断标志位IE0或IE1,无需采取其他措施。

的中间结果。3)B寄存器是一个8位寄存器,主要用于乘除运算。做乘法运算时,B存放乘数,乘法操作后,乘积的高8位存于4.2.1汇编语言中断程序设计汇编语言的中断服务程序按规定的中断矢量地址存入,由于5个中断地址0003H、000BH、B中。做除法运算时,B存放除数,除法操作后,余数存于B中。4)数据指针寄存器DPTR为16位寄存器。编程时,DPTR既可001BH、0023H以按16位寄存器使用,也可以按两个8位寄存器分开使用,即:DPH DPTR高位字节 DPL DPTR低位字节 在矢量地址的单元中安排一条转移指令。

5)堆栈SP是一个特殊的存储区,用来暂时存放数据和地址,它是按“先进后出”的原则存取数据的,堆栈共有两种操作:进栈4.2.2 C语言中断程序设计

和出栈。系统复位后,SP的内容为07H.6).程序状态字寄存器PSW 1.中断服务函数的定义 返回值函数名(【参数】)[模式][再入]Interrupt n [Using m] 2、4并行IO口这4个口都有字节寻址和位寻址功能,每一位都可以作为准双向通用I/O口使用。在具有片外存储器的系统中,1、Interrupt n:表示将函数声明为中断服务函数,n为中断源编号,可以是0~31的整数,不允许是带运算符的表达式。0P2口作为地址的高8位,P0口作为地址的低8位和双向数据总线。 第3章

4.3.1定时/计数器的结构8051单片机内部有两个16位的可编程定时/计数器,称为定时器0(T0)和定时器1(T1)1.指令是CPU用于控制功能组件完成某一指定动作的指示和命令。一台计算机全部指令的集合称为指令系统。 择其用作定时器或计数器。此外,工作方式、定时时间、计数值、启动、中断请求等都可由程序设定。

2.MCS-51单片机指令系统共有111条指令,可以实现51种基本操作。按照指令的机器周期数来分类,有64条单周期指令,454.3.2 定时/计数器的工作原理

条双周期指令和2条四周期指令等。 当定时/计数器设置为定时工作方式时,计数器对内部机器周期计数,每过一个机器周期,计数器增1,直至计数器满溢出。3.MCS-51指令由操作码助记符和操作数两部分组成,指令格式如下:[标号]:操作码[目的操作数],[源操作数];注释 当定时/计数器设置为计数工作方式时,计数器对来自输入引脚T0(P3.4)和T1(P3.54.标号是程序员根据编程需要给指令设定的符号地址,可有可无;操作码是指令的核心部分,用于指示机器执行何种操作,如加触发计数。

减乘除,传送等;操作数是表示指令操作的对象,操作数可以是一个具体的数据,也可以是参加运算的数据所在地址。操作数一4.4.2应用编程举例

般有以下几种形式:没有操作数,操作数隐含在操作码中,如’RET’指令;只有一个操作数,如’INC A’指令;有两个操作数,此外,软件定时在定时期间一直占用CUP,而定时器定时如采用查询工作方式,一样占用CUP如’MOV A,30H’指令,操作数之间以逗号相隔;有3个操作数,如’CJNE A,#00H,10H’指令。注释是对指令的解释说明,用以时期间CUP可处理其他指令,从而可以充分发挥定时/计数器的功能,大大提高CUP的效率。 提高程序的可读性,注释前必须加分号。 5.指令的字节

第五章 串行通信概述

在计算机系统中,主机与外设之间及主机系统之间的数据交换称为通信。通信可分为串行通信和并行通信两种方式。

Y=256-2^smod*fosc/(波特率*32*12)

部中断0 1:定时/计时器0溢出中断 2、Using m:定义函数的工作寄存器组,m:0-3

计数初值:

(216–X)×2×10 -6 =250×10 -6 即216–X=125 X=216-125=10000H-7DH=0FF83H 中断实验:

1、LED轮流显示不同数据

org 0

AJMP MAIN org 0003H AJMP WBI ORG 0030H MAIN: CLR IT0 SETB EX0 SETB EA

MOV A,#00H; WBI: MOV R0, #0AH KK: ADD A,#01H DA A

MOV P1,A HERE: AJMP HERE

END

TX0:

SJMP TX0

MOV A,#00H

2)单片机P1.0产生方波:查询 ORG 00H JMP MAIN ORG 0100H

MAIN: MOV TMOD ,#10H PP3: PP2: PP4: CPL P1.0 JMP PP4 MOV TH1 ,#0FFH MOV TL1,#06H SETB TR1

MOV TH1 ,#0FFH MOV TL1,#83H SETB TR1 SJMP PP

MOV SBUF,A

WAIR1: JBC TI,RX SJMP WAIR1 10、8255IO口扩展:

利用8255进行IO口扩展,读入按键信息 ORG 0

MOV DPTR,#7F03H MOV A,#90H PP:

MOVX @DPTR,A MOV DPTR,#7F00H

PP: JBC TF1,PP2

PP5: JBC TF1,PP6

ACALL DELAY

SJMP PP5

DJNZ R0, KK

PP6:

RETI

CPL P1.0 DELAY:

JMP PP3

MOV R7,#0FFH

END

DEL2:DJNZ R6,DEL2 5、D/A转换:利用DAC0832 进行D/A转换,

DJNZ R7,DEL1 产生三角波 RET

ORG 0

END START:MOV DPTR ,#7FFFH

STEP1:MOV A,#00H 2)定时:C语言中断 STEP2:MOVX @DPTR ,A

#include <reg51.h> INC A sbit P1_0=P1^0;

CJNE A,#0FFH,STEP2 void timer0(void) interrupt 1 STEP3:DEC A {

P1_0=!P1_0;

TH0=-(1000/256);

AJMP STEP1 TL0=-(1000%256) ; RET }

END void main(void)

{

8、串口通讯:单片机1 A机源程序:

TMOD=0x01; P1_0=0;

TH0=-(1000/256); TL0=-(1000%256); MOV TL1,#0F3H EA=1; SETB TR1

ET0=1; TR0=1;

MOV SCON,#50H do {}

MOV A, P1

while(1);

SWAP A } MOV SBUF,A

WAIR1:

定时器实验(PPT例子)

1)单片机P1.0产生方波 SJMP WAIR1

ORG 00H JMP MAIN SJMP RX

ORG 001BH JMP II1 MOV P1,A

LJMP TX

MAIN:MOV TMOD, #10H END

B机源程序:

MOV TH1, #0FFH

MOV TMOD,#20H MOV TH1,#0F3H MOV TL1,#0F3H SETB ET SETB TR1

MOV PCON,#80H

PP: SJMP PP

MOV SCON,#50H II1: MOV TH1 ,#0FFH RX:

JBC RI,NEXT1

MOV TL1 ,#83H SJMP RX

CPL P1.0 NEXT1: MOV A,SBUF

MOV P1,A

RETI

TX: CJNE A,#00H,TXF

单片机原理及应用期末考试必考知识点重点总结
单片机期末考试总计 第三篇

单片机概述:

【单片机期末考试总计】

单片机是微单片微型计算机的简称,微型计算机的一种。

它把中央处理器(CPU),随机存储器(RAM),只读存储器(ROM),定时器\计数器以及I\O接口,串并通信等接口电路的功能集成与一块电路芯片的微型计算机。

字长:在计算机中有一组二进制编码表示一个信息,这组编码称为计算机的字,组成字的位数称为“字长”,字长标志着精度,MCS-51是8位的微型计算机。

89c51 是8位(字长)单片机 (51系列为8位)

单片机硬件系统仍然依照体系结构:包括 CPU(进行运算、控制)、RAM(数据存储器)、ROM(程序存储器)、输入设备和输出设备、内部总线等。

由于一块尺寸有限的电路芯片实现多种功能,所以制作上要求单片机的高性能,结构简单,工作可靠稳定。

单片机软件系统包括监控程序,中断、控制、初始化等用户程序。

一般编程语言有汇编语言和C语言,都是通过编译以后得到机器语言(二进制代码)。

1.1单片机的半导体工艺

一种是HMOS工艺,高密度短沟道MOS工艺具有高速度、高密度的特点;

另一种是CHMOS工艺,互补金属氧化物的HMOS工艺,它兼有HMOS工艺的特点还具有CMOS的低功耗的特点。例如:8051的功耗是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口(串口、并口)、内部总线 和中断系统等。

工作过程框图如下:

运算器

组成:8位算术逻辑运算单元ALU(Arithmetic Logic Unit)、8位累加器A(Accumulator)、8位寄存器B、程序状态字寄存器PSW(Program Status Word)、8位暂存寄存器TMP1和TMP2等。

功能:完成算术运算和逻辑运算

控制器

组成:程序计数器PC、指令寄存器IR、指令译码器ID、堆栈指针SP、数据指针DPTR、定时控制逻辑和振荡器OSC等电路。

功能:CPU根据PC中的地址将欲执行指令的指令码从存储器中取出,存放在IR中,ID对IR中的指令码进行译码,定时控制逻辑在OSC配合下对ID译码后的信号进行分时,以产生执行本条指令所需的全部信号。

2.2存储器

MCS-51的存储器可分为程序存储器和数据存储器,又有片内和片外之分。

(1)程序存储器

一般将只读存储器(ROM)用做程序存储器。可寻址空间为64KB,用于存放用户程序、数据和表格等信息。MCS-51单片机按程序存储器可分为内部无ROM型(如8031)和内部有ROM型(如8051)两种, 连接时 引脚有区别。程序存储器结构如图所示:

EA

(2)数据存储器

一般将随机存储器(RAM)用做数据存储器。可寻址空间为64KB。MCS-51数据存储器可分为片内和片外两部分。片外RAM:最大范围:0000H~FFFFH,64KB;用指令MOVX访问。片内RAM:最大范围:00H~FFH,256B;用指令MOV访问。又分为两部分:低128B(00~7FH)为真正的RAM区,高128B(80~FFH)为特殊功能寄存器(SFR)区。如图所示。

2.3定时器/计数器(TL0, TH0, TL1和TH1)

MCS-51单片机中有两个16位的定时器/计数器T0和T1,它们由4个8位寄存器(TL0, TH0, TL1和TH1)组成,2个16位定时器/计数器是完全独立的。可以单独对这4个寄存器进行寻址,但不能把T0和T1当做16位寄存器来使用。

8051内部有两个16位可编程序的定时器/计数器,均为二进制加1计数器,分别命名为T0和T1。T0和T1均有定时器和计数器两种工作模式。在定时器模式下,T0和T1的计数脉冲可以由单片机时钟脉冲经12分频后提供。在计数器模式下,T0和T1的计数脉冲可以从P3.4和P3.5引脚上输入。对T0和T1的控制由定时器方式选择寄存器TMOD和定时器控制寄存器TCON完成

2.4中断系统

中断:指CPU暂停原程序执行,转而为外部设备服务(执行中断服务程序),并在服务完后返回到原程序执行的过程。

中断系统:指能够处理上述中断过程所需要的硬件电路。

中断源:指能产生中断请求信号的源泉。

8051可处理5个中断源(2个外部,3个内部)发出的中断请求,并可对其进行优先权处理。

外部中断的请求信号可以从P3.2, P3.3(即 INT 0 和 INT 1 )引脚上输入,有电平或边沿两种触发方式;内部中断源有3个,2个定时器/计数器中断源和1个串行口中断源。8051的中断系统主要由中断允许控制器IE和中断优先级控制器IP等电路组成。【单片机期末考试总计】

2.5MCS-51单片机外部引脚

8051单片机有40个引脚,分为端口线、电源线和控制线三类。

电源线 GND:接地引脚20。VCC:正电源引脚40。接+5V电源

2.6MCS-51单片机的工作方式:

MCS-51系列单片机的工作方式可分为:复位方式、程序执行方式、单片执行方式、掉电保护方式、节电工作方式和EPROM编程/校验方式。

复位电路有两种:上电自动复位和上电/按键手动复位,如图所示。

程序执行方式是单片机基本工作方式,可分为连续执行工作方式和单步执行工作方式。 节电工作方式是一种低功耗的工作方式,可分为空闲(等待)方式和掉电(停机)方式。是针对CHMOS类芯片而设计的,HMOS型单片机不能工作在节电方式,但它有一种掉电保护功能。

1.HMOS单片机的掉电保护

当VCC突然掉电时,单片机通过中断将必须保护的数据送入内部RAM,备用电源VPD可以维持内部RAM中的数据不丢失。

2.CHMOS单片机的节电方式

CHMOS型单片机是一种低功耗器件,正常工作时电流为11~22mA,空闲状态时为

1.7~5mA,掉电方式为5~50?A。因此,CHMOS型单片机特别适用于低功耗应用场合,它的空闲方式和掉电方式都是由电源控制寄存器PCON中相应的位来控制。

3.空闲工作方式:将IDL位置为1(用指令MOV PCON, #01H),则进入空闲工作方式,其内部控制电路如右图所示。此时,CPU进入空闲待机状态,中断系统、串行口、定时器/计数器,仍有时钟信号,仍继续工作。退出空闲状态有两种方法:一是中断退出,二是硬件复位退出。

4. 掉电工作方式:将PD置为1(用指令MOV PCON, #02H),可使单片机进入掉电工作方式。此时振荡器停振,只有片内的RAM和SFR中的数据保持不变,而包括中断系统在内的全部电路都将处于停止工作状态。退出掉电工作方式,只能采用硬件复位的方法。 欲使8051从掉电方式退出后继续执行掉电前的程序,则必须在掉电前预先把SFR中的内容保存到片内RAM中,并在掉电方式退出后恢复SFR掉电前的内容。

2.7单片机的时序

时序:CPU在执行指令时所需控制信号的时间顺序称为时序。时序是用定时单位来描述的,MCS-51的时序单位有四个,分别是时钟周期(节拍)、状态、机器周期和指令周期。 MCS-51的时序单位:

1. 时钟周期:又称为振荡周期、节拍(用P表示),定义为单片机提供时钟信号的振荡源(OSC)的周期。它是时序中的最小单位。

2. 状态(用S表示):单片机振荡脉冲经过二分频后即得到整个单片机工作系统的状态。一个状态有两个节拍,前半周期对应的节拍定义为P1,后半周期对应的节拍定义为P2。

3. 机器周期:通常将完成一个基本操作所需的时间称为机器周期。 MCS-51中规定一个机器周期包含12个时钟周期,即有6个状态,分别表示为S1~S6。若晶振为6MHz,则机器周期为2μs,若晶振为12MHz,则机器周期为1μs。

4. 指令周期:执行一条指令所需要的时间称为指令周期。它是时序中的最大单位。一个指令周期通常含有1~4个机器周期。指令所包含的机器周期数决定了指令的运算速度,机器周期数越少的指令,其执行速度越快。 以机器周期为单位,指令可分为单周期、双周期和四周期指令。

3.1单片机系统的工程设计

设计要求:

一、可靠性和稳定性是衡量单片机系统工程设计指标。

提高系统可靠性的几种基本方法包括:1.系统采用双机系统2.采用集散式控制系统3.进行软硬件滤波:几种常用的数字滤波方法包括:(1)中值滤波 (2)算术平均值滤波 (3)防脉冲干扰平均值滤波4.提高元器件的可靠性5.提高印制电路板的质量:设计是布线及接地要合理6.对供电电源采用抗干扰措施7.加强输入\输出通道的抗干扰性

二、系统自诊断功能

当系统正常运行的时候,定时对各工作模块进行监控,并对外界的情况作出快速应变处理。应能自己及时切换到后备装置投入运行或及时发出信号,以便手动操作。

三、操作维修方便

尽量降低对操作人员的专业知识要求,于,控制开关尽量少,操作顺序简便,数据输入与输出显示采用十进制表示,能有效地定位故障,以便进行维修和系统的推广。

四、性能/价格比

设计的时候尽量考虑花钱少,能用软件实现的应该采用软件实现。

设计方法:

一、总体设计:1.掌握工作原理2.机器和元器件的选择3.软硬件功能的划分:硬-提高工作速度,减少工作量,花钱多;软-花钱少,增加软件复杂性,降低系统工作速度

二、硬件设计任务1.掌握工作原理

三、软件设计1.系统定义2.软件结构3.程序设计

4.1模拟量输入通道的一般组成

模拟量输入通道一般由信号预处理、多路转换器、前置放大器、采样保持器、模/数转换器和接口逻辑电路等组成。其核心是模/数转换器。

4.2A/D转换器及技术指标:A/D转换器的作用是将模拟量转换为数字量,它是模拟量输入通道的核心部件,是模拟系统和计算机之间的接口。

分辨率:通常用数字量的位数n(字长)来表示,若n=8,满量程输入为5.12V,则LSB对应于模拟电压 。

转换时间:从发出转换命令信号到转换结束信号有效的时间间隔,即完成 n 位转换所需要的时间。 转换精度:绝对精度指满量程输出情况下模拟量输入电压的实际值与理想值之间的差值;相对精度指在满量程已校准的情况下,整个转换范围内任一数字量输出所对应的模拟量输入电压的实际值与理想值之间的最大差值。转换精度用LSB的分数值来表示。 线性误差:在满量程输入范围内,偏离理想转换特性的最大误差定义为线性误差。线性误差常用LSB的分数表示,如1/2LSB、1/4LSB等。 转换量程:所能转换的模拟量输入电压范围,如0~5V,0~10V,-5V~十5V等。

AJMP PINT1

ORG 2000H

MAIN: MOV R1,#DATA

SETB IT1

【单片机期末考试总计】

SETB EA

单片机期末总结 最完整版
单片机期末考试总计 第四篇

单片机期末复习总结

1. MCS-51单片机芯片包含哪些主要功能?

8051单片机是个完整的单片微型计算机。芯片内部包括下列主要功能部件:

1) 8位CPU;

2) 4KB的片内程序存储器ROM。可寻址64KB程序存储器和64KB外部数据存储器;

3) 128B内部RAM;

4) 21个SFR;

5) 4个8位并行I/O口(共32位I/O线);

6) 一个全双工的异步串行口;

7) 两个16位定时器/计数器;0

8) 5个中断源,两个中断优先级;

9) 内部时钟发生器。

2. MCS-51单片机的4个I/O口在使用上各有什么功能?

1)P0口:8位双向三态端口,外接上拉电阻时可作为通用I/O口线,也可在总线外扩时用作数据总线及低8位地址总线。

2)P1口:8位准双向I/O端口,作为通用I/O口。

3)P2口:8位准双向I/O端口,可作为通用I/O口,也可在总线外扩时用作高8位地址总线。

4)P3口:8位准双向I/O端口,可作为通用I/O口,除此之外,每个端口还有第二功能。实际应用中常使用P3口的第二功能。

P3的第二功能:

【注】:P0口必须接上拉电阻;

I/O口准双向:MCS-51单片机I/O口做输入之前要先输出1.这种输入之前要先输出

1的I/O口线叫做准双向I/O口,以区别真正的输入,输出的双向I/O口。

3. MCS-51单片机的存储器分为哪几个空间?是描述各空间作用?

8051存储器包括程序存储器和数据存储器,从逻辑结构上看,可以分为三个不同的空间:

1) 64KB片内片外统一编址的程序存储器地址空间,地址范围:0000H~FFFFH,对于8051单片机,其中地址0000H~0FFFH范围为4KB的片内ROM地址空间,1000H~FFFFH为片外ROM地址空间;

2)256B的内部数据存储器地址空间,地址范围为00H~FFH,对于8051单片机,内部RAM分为两部分,其中地址范围00H~7FH(共128B单元)为内部静态RAM的地址空间,80H~FFH为特殊功能寄存器的地址空间,21个特殊功能寄存器离散地分布在这个区域;对于8052系列单片机还有地址范围为80H~FFH的高128B的静态RAM。

3)64KB的外部数据存储器地址空间:地址范围为0000H~FFFFH,包括扩展I/O端口地址空间。

4.数据存储器

MCS-51基本型单片机内部数据存储器有256B的存储空间,地址为

00H~FFH;外部数据存储器的地址空间最大为64KB,编址为

0000H~FFFFH。

256B的内部存储器按功能划分为两部分:地址为00H~7FH的低128B的基本RAM区和地址为80H~FFH的高128B的特殊功能寄存器(SFR)区

基本RAM区分为工作寄存器区,位寻址区,用户RAM区

工作寄存区(00H~1FH):共分为4组,每组由

8个工作寄存器,编号R0~R7

位寻址区(20H~2FH):16个单元,既可以作

为普通RAM单元使用,有可以对单元中的

每一位进行位操作。

用户RAM区(30H~7FH):用于存放随机数

据及运算的中间结果。

程序状态字寄存器(PSW):RS1,RS0(PSW.4,PSW.3):工作寄存器组选择控制位。可

用软件对它们置1或清0,以选择当前工

作寄存器的组号。

堆栈指针寄存器SP:

堆栈只允许在其一端进行数据插入和数据删除操作的线性表。

PUSH,数据写入堆栈称为插入运算(入栈);POP,从堆栈中读出数据称为删除运算(出栈)。

堆栈的特点:后进先出 LIFO(Last-In Firt-Out)。

堆栈有两种类型:向上生长型,向下生长型。

进栈操作:先SP加1,后写入数据

出栈操作:先读出数据,后SP减1

MCS-51单片机复位后,SP的初值自动设为07H;

5.什么是振荡周期,时钟周期,机器周期和指令周期?如何计算机器周期的确切时间?

1) 振荡周期是指为单片机提供脉冲信号的振荡源的周期,是单片机最基本的时间单位。通常由外接晶振与内部电路来提供振荡脉冲信号,其频率记为fOSC,此频率的倒数即是振荡周期。

2) 振荡脉冲经过二分频后就是单片机的时钟信号,时钟信号的周期称为时钟周期,又定义为状态,用S表示。时钟周期是振荡周期的二倍。

3)机器周期是指令执行过程中完成某一个基本操作所需的时间。一个机器周期等于12个振荡周期。即TM?fOSC。

4)指令周期是指执行一条指令所需要的时间,根据指令不同,可包含1、2、4个机器周期。

常用符号说明:

单片机期末复习重点总结
单片机期末考试总计 第五篇

一、单片机:就是在一片半导体硅片上集成了中央处理单元、存储器、并行接口I/O、串行I/O口、定时器/计数器、终端系统、系统时钟电路及系统总线的微型计算机。 二、单片机的硬件结构: 8位微处理器、数据存储器(128B)、程序存储器、4个8位可编程并行I/O口、1个串行口、2个16位定时/计数器、1个看门狗、5个中断源和中断向量、特殊功能寄存器26个、低功耗节电模式、3个程序加密锁定位。 其图如下:

三、单片机引脚:单片机共有40个引脚;按其功能可分为3类:

? 电源及时钟引脚

? ?

控制引脚 I/O口引脚

四、单片机存储器结构

? 程序存储器 16位 ? 数据存储器 8位

? ?

特殊功能寄存器 位地址空间

五、四组并行I/O端口

1、P0口

1) P0口是一个双功能的8位并行口,字节地址在80H,位地址为80H—87H。 2) P0口特点: 地址/数据复用口和通用I/O口 ? ?

当P0口用作地址/数据复用口时,是一个真正的双向口,用作与外部存储器的连接,片外必须要接上拉电阻。

当P0口作为通用I/O口时,由于有高阻抗,所以在端口外要接上上拉电阻,它是一个准双向口。

2、P1口

1) P1口是单功能的I/O口,字节地址为90H,位地址为90H---97H. 2) P1口特点:

? 由于P1口内部有上拉电阻,没有高阻抗输入状态,所以不需要在片外接上拉电阻。

P1口“读引脚”输入时,必须先向锁存器写入。

? 3、P2口

1) P2口是一个双功能口,字节地址为A0H,位地址为A0H---A7H. 2) P2口特点:与P1口的一样。 4、P3口 略

六、时钟电路与时序

1、时钟电路设计图在书上35页 图2-13.

2、时钟周期:若时钟晶体的振荡频率为fosc,则时钟周期T=1/fosc。 3、机器周期:一个机器周期包括12个时钟周期。即:Tcy=12/fosc。 4、指令周期:单字节和双字节指令周期一般为单机器周期和双机器周期。 三字节指令周期都是双机器周期;乘、除指令周期4个机器周期。 七、复位操作和复位电路

1、复位电路设计在书上37页图2-18或图2-19或图2-20. 八、单片机最小系统设计如图

九、keilC的使用方法:

步骤: 1、点击桌面快捷键Uv4,打开软件

2、单击project出现下拉菜单,单击New uVison Project新建一个文件,

在弹出的窗口下方文件名随便写(自定义),并保存好。

3、在弹出来的窗口左边框里点atmel,在下拉菜单里选中at89s51,单击ok按钮。再点击yes。 4、按ctrl+N新建一个文本,保存。在弹出来的窗口下方文件名写好文

件名(文件名可以随便写,但必须要以.c为后缀),保存类型不要动。 5、在左方框右击Source Group1 在出现的下拉菜单中选中Add File……在出现的窗口中双击你刚才写好的文件名(这个文件名必须要以.C为后缀),添加后,关闭窗口。

6、在左方框右击Tar get1 在出现的下拉菜单中选中 Options for……,,在出现的窗口中点击上方的out put,选中复选框create HEX File,单

击OK。这样基可以编写程序了。

十、Proteus的使用方法:

步骤: 1、点击桌面ISIS快捷方式,打开软件。

2、保存。

3、单击左窗口P,在弹出的窗口中输入元件名,查找所需要的元件。 4、查找好元件后,按要求连接电路图,并保存好。

十一、中断的概念:单片机能及时地响应中断源提出的服务请求,并作出快速响应和及时处【单片机期末考试总计】

理。

十二、中断系统结构在书上88页图5-2. 十三、中断控制寄存器IE、IP

1、 IE

? EA:中断允许总开关控制位

EA=0,所有中断请求被屏蔽 EA=1,所有中断请求被放开 ?

ES: 串行口允许中断 ES=0,禁止串行口中断 ES=1,允许串行口中断

ET1: 定时器/计数器T1的中断允许位 ET1=0;禁止T1中断 ET1=1,允许T1中断

EX1: 外部中断1中断允许位 EX1=0,禁止外部中断1中断 EX1=1,允许外部中断1中断 ET0: 定时器/计数器T0中断允许位 ET0=0,禁止T0中断 ET0=1,允许T0中断

EX0: 外部中断0中断允许位 EX0=0,禁止外部中断0中断 EX0=1,允许外部中断0中断

2、 IP

? PS:串行口中断优先级

PS=1,高优先级

?

PS=0,低优先级

PT1:定时器T1中断优先级 PT1=1,高优先级 ?

PT1=0,低优先级

PX1:外部中断1中断优先级 PX1=1,高优先级 PX1=0,低优先级 ?

PT0:定时器T0中断优先级 PT0=1,高优先级 PT0=0,低优先级

?

?

?

?

? PX0:外部中断0中断优先级 PX0=1,高优先级 PX0=0,低优先级

十四、中断初始化设置

1、外部中断0 INT0设置:EA=1,IT0=1,EX0=1 2、外部中断1 INT1设置:EA=1,IT1=1,EX1=1 3、定时器T0:

? ? ? ?

方式0:TMOD=0x00,ET0=1,TR0=1,EA=1,TH0=0Xxx,TL0=0Xxx。 方式1:TMOD=0x01,ET0=1,TR0=1,EA=1, TH0=0Xxx,TL0=0Xxx。 方式0:TMOD=0X00,ET1=1,TR1=1,EA=1,TH1=0Xxx,TL1=0Xxx。 方式1:TMOD=0X10,ET1=1,TR1=1,EA=1,TH1=0Xxx,TL1=0Xxx。

4、 定时器T1:

十五、中断及定时器服务程序设计如下:

1、 定时器T0 方式1(方式0不要重新装载) #include<reg52.h> void main(void) { }

TMOD = 0x01; TH0=0x83; TL0=0x06; ET0 = 1; EA = 1; TR0 = 1; while(1);

void intsert0(void) interrupt 1 {

TH0=0x83; TL0=0x06; P0=0x00;

}

2、 定时器T1 方式1 #include<reg52.h> void main(void) { }

TMOD = 0x10; TH0=0x83; TL0=0x06; ET1 = 1; EA = 1; TR1 = 1; while(1);

void intsert0(void) interrupt 1 {

TH0=0x83; TL0=0x06; P0=0x00;

}

3.外部中断0

#include<reg51.h>

#define uchar unsigned char #define uint unsigned int Void main() { EA=1; IT0=1; EX0=1; While(1); }

4、外部中断1

#include<reg51.h>

#define uchar unsigned char #define uint unsigned int Void main() {

EA=1; IT1=1;

EX1=1; While(1);

十六、定时器/计数器的结构

1、 结构框图

2016仪器仪表检测专业应届生自荐信
单片机期末考试总计 第六篇

仪器仪表检测专业应届生自荐信,对于专业的求职时应该怎样写仪器仪表检测专业应届生自荐信范文阅读。

仪器仪表检测专业应届生自荐信

尊敬的领导:

您好!

非常感谢您在百忙之中抽出时间看我的自荐信。我是XX大学信息工程学院电子系学生,XX届应届毕业生。我的专业是仪器仪表检测。

在大学期间,我学习刻苦努力,成绩优异,先后五次获奖学金,基础扎实,实践能力强,学校安排的实习、课程设计均获得优异成绩。此外,我还擅长计算机和英语,已通过了计算机国家三级X考核和英语国家四级,将于20XX年XX月参加英语六级考试。同时,我对计算机进行了较为系统的学习,必修课包括:计算机文化基础,计算机软件基础,计算机硬件基础,计算机接口技术,计算机控制技术,并自学了C语言、VB、OFFICE和宏汇编。

学习理论知识之余,我也注重实践能力的培养。大一时我就参加了校电子科技协会。自大二起,我就在实验室帮助老师准备各种实验。经常参与实验室仪器的维护,对实验室的仪器比较熟悉,动手能力和实验能力都比较强,能开发单片机系统,熟悉DSP硬件,软件应用。

为培养自己各方面的能力,我先后担任过寝室长,学生会干部,XX班班长和检测专业班班长。我还积极参与策划社团活动,广泛建立人际关系,组织策划过一系列活动,深得老师同学好评。在任班长期间,在我和全班同学的共同努力下,我班先后获校文明班级、市文明班级称号,我本人也被评为校优秀大学生。具备了较强的组织能力和把理论运用与实际的能力。

踏实守信、真诚待人、处事热情、积极进取是我的座右铭,诚冀贵公司给我一个施展才华的机会,成为贵公司风雨同舟的一员,我必能为贵公司的发展助上一臂之力!

此致

敬礼!

自荐人:XXX

XXXX年XX月XX日

仪器仪表检测专业应届生自荐信

尊敬的领导:

您好!我的名字叫lXXX,我是xx大学信息工程学院电子系学生,xx届应届毕业生。我的专业是仪器仪表检测。

在大学期间,我学习刻苦努力,成绩优异,先后五次获奖学金,基础扎实,实践能力强,学校安排的实习、课程设计均获得优异成绩。此外,我还擅长计算机和英语,已通过了计算机国家三级A考核和英语国家四级。同时,我对计算机进行了较为系统的学习,必修课包括:计算机文化基础,计算机软件基础,计算机硬件基础,计算机接口技术,计算机控制技术,并自学了C语言、VB、OFFICE和宏汇编。学习理论知识之余,我也注重实践能力的培养。大一时我就参加了校电子科技协会。

自大二起,我就在实验室帮助老师准备各种实验。经常参与实验室仪器的维护,对实验室的仪器比较熟悉,动手能力和实验能力都比较强,能开发单片机系统,熟悉DSP硬件,软件应用。

为培养自己各方面的能力,我先后担任过寝室长,学生会干部,xx班班长和检测专业班班长。我还积极参与策划社团活动,广泛建立人际关系,组织策划过一系列活动,深得老师同学好评。在任班长期间,在我和全班同学的共同努力下,我班先后获校文明班级、市文明班级称号,我本人也被评为校优秀大学生。具备了较强的组织能力和把理论运用与实际的能力。

踏实守信、真诚待人、处事热情、积极进取是我的座右铭,诚冀贵公司给我一个施展才华的机会,成为贵公司风雨同舟的一员,我必能为贵公司的发展助上一臂之力!

此致

敬礼!

自荐人:

2016大学生毕业找工作面试自我介绍
单片机期末考试总计 第七篇

自我介绍可以写自己的性格、爱好,也可以说自己的优点和缺点。为了让别人更全面地了解你,不妨通过一两件事来介绍自己。本文是学习啦小编为大家整理的大学生毕业找工作面试自我介绍,仅供参考。大学生毕业找工作面试自我介绍##第1篇:

我是一个性格稳重,心理素质较好的人。做事踏实认真,热情主动,吃苦耐劳,并且敢于承担责任。平时喜欢和他人沟通,善于与人相处,具有良好的团结合作精神。

四年来,我一直怀着对本专业的热爱,认真学习专业知识。学习了电路分析,微机原理,C/C++编程,数字/模拟电子技术,单片机,DSP,电路CAD等等一系列与电子相关的课程;出于对嵌入式开发的爱好,我自学了许多嵌入式方面的知识,比如ARM嵌入式系统,Linux操作系统,LinuxC编程,uc/GUI等。

参加了西南大学创新基金项目,并担任主要队员,培养了团队合作意识,学到了一定的开发经验,并了解到了很多先进技术。

作为一名电子专业的大学应届毕业生,我所拥有的是年轻和知识。年轻虽然缺少经验,但是年轻也意味着热情和活力,我自信能凭自己的能力和学识在毕业以后的工作和生活中克服各种困难,不断实现自我的人生价值和追求的目标。大学生毕业找工作面试自我介绍##第2篇:

您好!我是XX大学XX学院XX专业毕业生,惠于学校浓厚的学习、创新氛围,熔融其中的我成为了一名复合型人才。

大学的四年使我思想和知识,心理都得到了进一步的成长。从入学以来,我立志要在大学四年里全面发展自己,从适应社会发展的角度提高个人素质。

将来真正能在本职工作上做出成绩,为母校争光。在学习上我勤奋严谨,在掌握了本专业知识的基础上,不忘拓展自己的知识面,对课外知识也有比较广泛的涉猎。我还很重视英语的学习,不断努力扩大词汇量,英语交际能力也有了长足的进步。

同时,为了全面提升个人素质,我积极参加各种活动,这些经历使我认识到团结合作的重要性,也学到了很多社交方面的知识,增加了阅历,相信这对我今后投身社会将起重要作用。现在虽存在着很多艰难和困苦,但我坚信大学生活给我的精神财富能够使我战胜它们。

“长风破浪会有时,直挂云帆济沧海”,希望贵公司能给我一个发展的平台,我会好好珍惜它,并全力以赴,为实现自己的人生价值而奋斗,为贵公司的发展贡献力量。大学生毕业找工作面试自我介绍##第3篇:

我是*级*专业的学生。大学四年生活,即将结束,一个新开始即将来到,等待我的是新的挑战。

大学四年是我思想、知识结构及心理、生长成熟的四年。在大学期间,我自己认真学习专业技能,所以我掌握了较强的专业知识,并把理论知识运用到实践中去,期末总评成绩名列年级前茅,获得优秀学生奖学金二等、三等各两次,荣获校级三好学生称号。

我所学专业是计算机,在熟练掌握各种基本软件的使用及硬件维护过程中,有独特的经验总结。顺利通过国家社会和劳动保障部高新技术办公软件应用模块资格高级操作员考试。同时,我发扬团队精神,帮助其他同学,把自己好的学习经验无私的介绍给其他同学,共同发展,共同进步。

在个人爱好的带引下,入校我便参加了校书画协会,由干事到副会长,这是对我的付出与努力的肯定。组织开展一系列活动丰富校园生活,被评选为优秀学生社团。所组织的跨校联谊活动,达到预期目的,受到师生首肯,个人被评为现场书画大赛优秀领队。静如处子,动如脱兔,181cm的身高和出众的球技,使我登上球场后,成为系篮球队主力小前锋,与队友一起挥汗,品味胜利。文武兼备,则是我大学生活的一重要感悟。此外,在担任班团支书和辅导员助理期间积极,为同学服务,表现出色,贡献卓越荣,获校级优秀学生干部称号。 去年,我以优异的成绩与表现,光荣地加入了中国共产党。

加入这个先进的团体,是我人生的一次升华。在保先教育中,我更是严格要求自己,带领身边同学,一起进步。曾获精神文明先进个人称号。在参加义务献血后,让我更加懂得珍惜生命,热爱生活。假期中,我根据专业特长,在电脑公司参加社会实践,这对我的经验积累起到了极其重要的作用。考取了机动车驾驶执照(C型)。

大学四年是我宝贵的一段人生经历,她使我不但掌握了专业知识,而且教会我做人的道理,现在即将离开学校,我一定会以我满腔激情来回报社会,以我的实际行动做出我的贡献!

大学生毕业找工作面试自我介绍相关文章:

1.毕业大学生银行面试自我介绍

2.大学求职自我介绍3篇

3.应届毕业生面试自我介绍范文3篇

4.大学生就业面试自我介绍3篇

5.2016年大学应届毕业生面试自我介绍范文

6.大学生求职面试自我介绍范文

7.大学生面试求职自我介绍范文3篇

2015单片机学习心得
单片机期末考试总计 第八篇

第1篇:单片机学习心得分享

学习使用单片机就是理解单片机硬件结构,以及内部资源的应用,在汇编或C语言中学会各种功能的初始化设置,以及实现各种功能的程序编制。

第一步:数字I/O的使用

使用按钮输入信号,发光二极管显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后,某发光二极管发亮,这就是数字电路中组合逻辑的功能,虽然很简单,但是可以学习一般的单片机编程思想,例如,必须设置很多寄存器对引脚进行初始化处理,才能使引脚具备有数字输入和输出输出功能。每使用单片机的一个功能,就要对控制该功能的寄存器进行设置,这就是单片机编程的特点,千万不要怕麻烦,所有的单片机都是这样

第二步:定时器的使用

学会定时器的使用,就可以用单片机实现时序电路,时序电路的功能是强大的,在工业、家用电气设备的控制中有很多应用,例如,可以用单片机实现一个具有一个按钮的楼道灯开关,该开关在按钮按下一次后,灯亮3分钟后自动灭,当按钮连续按下两次后,灯常亮不灭,当按钮按下时间超过2s,则灯灭。数字集成电路可以实现时序电路,可编程逻辑器件(PLD)可以实现时序电路,可编程控制器(PLC)也可以实现时序电路,但是只有单片机实现起来最简单,成本最低。

定时器的使用是非常重要的,逻辑加时间控制是单片机使用的基础。

第三步:中断

单片机的特点是一段程序反复执行,程序中的每个指令的执行都需要一定的执行时间,如果程序没有执行到某指令,则该指令的动作就不会发生,这样就会耽误很多快速发生的事情,例如,按钮按下时的下降沿。要使单片机在程序正常运行过程中,对快速动作做出反应,就必须使用单片机的中断功能,该功能就是在快速动作发生后,单片机中断正常运行的程序,处理快速发生的动作,处理完成后,在返回执行正常的程序。中断功能使用中的困难是需要精确地知道什么时候不允许中断发生(屏蔽中断)、什么时候允许中断发生(开中断),需要设置哪些寄存器才能使某种中断起作用,中断开始时,程序应该干什么,中断完成后,程序应该干什么等等。

中断学会后,就可以编制更复杂结构的程序,这样的程序可以干着一件事,监视着一件事,一旦监视的事情发生,就中断正在干的事情,处理监视的事情,当然也可以监视多个事情,形象的比喻,

中断功能使单片机具有吃着碗里的,看着锅里的功能。

以上三步学会,就相当于降龙十八掌武功,会了三掌了,可以勉强护身。

第四步:与PC机进行RS232通信

单片机都有USART接口,特别是MSP430系列中很多型号,都具有两个USART接口。USART接口不能直接与PC机的RS232接口连接,它们之间的逻辑电平不同,需要使用一个MAX3232芯片进行电平转换。

USART接口的使用是非常重要的,通过该接口,可以使单片机与PC机之间交换信息,虽然RS232通信并不先进,但是对于接口的学习是非常重要的。正确使用USART接口,需要学习通信协议,PC机的RS232接口编程等等知识。试想,单片机实验板上的数据显示在PC机监视器上,而PC机的键盘信号可以在单片机实验板上得到显示,将是多么有意思的事情啊!

第五步:学会A/D转换

MAP430单片机带有多通道12位A/D转换器,通过这些A/D转换器可以使单片机操作模拟量,显示和检测电压、电流等信号。学习时注意模拟地与数字地、参考电压、采样时间,转换速率,转换误差等概念。

使用A/D转换功能的简单的例子是设计一个电压表。

第六步:学会PCI、I2C接口和液晶显示器接口

这些接口的使用可以使单片机更容易连接外部设备,在扩展单片机功能方面非常重要。

第七步:学会比较、捕捉、PWM功能

这些功能可以使单片机能够控制电机,检测转速信号,实现电机调速器等控制起功能。

如果以上七步都学会,就可以设计一般的应用系统,相当于学会十招降龙十八掌,可以出手攻击了。

第八步:学习USB接口、TCP/IP接口、各种工业总线的硬件与软件设计

学习USB接口、TCP/IP接口、各种工业总线的硬件与软件设计是非常重要的,因为这是当前产品开发的发展方向。

到此为止,相当于学会15招降龙十八掌,但还不到打遍天下无敌手的境界。即使如此,也算是单片机大虾了。

第2篇:我的单片机学习心得

很多想学单片机的人问我的第一句话就是怎样才能学好单片机?对于这个问题我今天就我自己是如何开始学单片机,如何开始上手,如何开始熟练这个过程给大家讲讲。

先说说单片机,一般我们现在用的比较多的的MCS-51的单片机,它的资料比较多,用的人也很多,市场也很大。就我个人的体会怎么样才能更快的学会单片机这门课。单片机这门课是一项非常重视动手实践的科目,不能总是看书,但是学习它首先必须得看书,因为从书中你需要大概了解一下,单片机的各个功能寄存器,而说明白点,我们使用单片机就是用软件去控制单片机的各个功能寄存器,再说明白点,就是控制单片机那些管脚的电平什么时候输出高,什么时候输出低。由这些高低电平的变化来控制你的系统板,实现我们需要的各个功能。至于看书,只需大概了解单片机各管脚都是干什么的?能实现什么样的功能?第一次,第二次你可能看不明白,但这不要紧,因为还缺少实际的感观认识。所以我总是说,学单片机看书看两三天的就够了,看小说你一天能看五六本,看单片机你两三天看两三遍就够了,可以不用仔细的看。推荐一本书,就这一本就足够,书名是《新编MCS-51单片机应用设计》,是哈尔滨工业大学出版社出的的,作者是张毅刚。

大概了解一下书上的内容,然后实践,这是非常关键的,如果说学单片机你不实践那是不可能学会的,关于实践有两种方法你可以选择,一种方法:你自己花钱买一块单片机的学习板,不要求功能太全的,对于初学者来说你买功能非常多的那种板子,上面有很多东西你这辈子都用不着,我建议有流水灯、数码管、独立键盘、矩阵键盘、AD或DA(原理一样)、液晶、蜂鸣器,这就差不多了。如果上面我提到的这些,你能熟练应用,那可以说对于单片机方面的硬件你已经入门了,剩下的就是自己练习设计电路,不断的积累经验。只要过了第一关,后面的路就好走多了,万事开头难,大家可能都听过。方法二:你身边如果有单片机方面的高手,向他求助,让他帮你搭个简单的最小系统板。对于高手来说,做个单片机的最小系统板只需要一分钟的时间,而对于初学者可就难多了,因为只有对硬件了解了,才能熟练运用。而如果你身边没有这样的高手,又找不到可以帮助

你的人,那我劝你最好是自己买上一块,毕竟自己有一块要方便的多,以后做单片机类的小实验时都能用得上,还省事。

有了单片机学习板之后你就要多练习,最好是自己有台电脑,一天少看电影,少打游戏,把学习板和电脑连好,打开调试软件坐在电脑前,先学会怎么用调试软件,然后从最简单的流水灯实验做起,等你能让那八个流水灯按照你的意愿随意流动时你已经入门了,你会发现单片机是多么迷人的东西啊,太好玩了,这不是在学习知识,而是在玩,当你编写的程序按你的意愿实现时你比做什么事都开心,你会上瘾的,真的。做电子类的人真的会上瘾。然后让数码管亮起来,这两项会了后,你已经不能自拔了,你已经开始考虑你这辈子要走哪一行了。就是要这样练习,在写程序的时候你肯定会遇到很多问题,而这时你再去翻书找,或是问别人,当得到解答后你会记住一辈子的,知识必须用于现实生活中,解决实际问题,这样才能发挥它的作用,你自己好好想想,上了这么多年大学,天天上课,你在课堂上学到了什么?是不是为了期末考试而忙碌呢?考完得了90分,哈哈哈好高兴啊,下学期开学回来忘的一干二净,是不是?你学到什么了?但是我告诉你单片机一旦学会,永远不会忘了。另外我再说说用汇编和C语言编程的问题。很多同学大一二就开设了C语言的课,我也上过,我知道那时天天就是几乘几,几加几啊,求个阶乘啊。学完了有什么用?让你用C语言编单片机的程序你是不是就傻了?书上的东西我们必须要会运用。

单片机编程用C语言或汇编语言都可以,但是我建议用C语言比较好,如果原来有C语言的基础那学起来会更好,如果没有,也可以边学单片机边学C语言,C语言也挺简单,只是一门工具而已,我劝你最好学会,将来肯定用得着,要不你以后也得学,你一点汇编都不会根本无所谓,但你一点C语言都不会那你将来会吃苦头。汇编写程序代码效率高,但相对难度较大,而且很罗嗦,尤其是遇到算法方面的问题时,根本是麻烦的不得了,现在单片机的主频在不断的提高,我们完全不需要那么高效率的代码,因为有高频率的时钟,单片机的ROM也在不断的提高,足够装得下你用C语言写的任何代码,C语言的资料又多又好找,将来可移植性非常好,只需要变一个IO口写个温度传感器的程序在哪里都能用,所以我劝大家用C语言。

总结上面,只要你有信心,做事能坚持到底,有不成功不放弃的强烈意志,那学个单片机来说就是件非常容易的事。

步骤:

1。找本书大概了解一下单片机结构,大概了解就行。不用都看懂,又不让你出书的。(三天)

2。找学习板练习编写程序,学单片机就是练编程序,遇到不会的再问人或查书。(二十天)

3。自己网上找些小电路类的资料练习设计外围电路。焊好后自己调试,熟悉过程。(十天)

4。自己完全设计具有个人风格的电路,产品,……你已经是高手了……

看到了吗?下功夫一个多月你就能成为高手,我就讲这么多了,学不学得会,下不下得了功夫就看你的了。

我的单片机学习心得。

很多人说,学单片机最好先学汇编语言,以我的经验告诉大家,绝对没有这个必要,初学者一开始就直接用C语言为单片机编程,既省时间,学起来又容易,进步速度会很快。在刚开始学单片机的时候,千万不要为了解单片机内部结构而浪费时间,这样只能打击你的信心,当你学会编程后,自然一步步就掌握其内部结构了。

单片机的学习实践。

单片机提高重在实践,想要学好单片机,软件编程必不可少。但是熟悉硬件对于学好单片机的也是非常重要的。如何学习好硬件,动手实践是必不可少的。我们可以通过自己动手做一个自己的电子制作,通过完成它,以提高我的对一些芯片的了解和熟练运用它。这样我们就可以多一些了解芯片的结构。我相信,你完成了一个属于自己的电子制作,你的单片机水平就会有一个质的提高。

这就是我学习单片机的心得体会,希望给单片机的爱好者学好单片机有所帮助。

使用单片机就是理解单片机硬件结构,以及内部资源的应用,在汇编或C语言中学会各种功能的初始化设置,以及实现各种功能的程序编制。?

第3篇:学习单片机心得

学了一年多的单片机,对单片机也有了一个基础的了解。在这一年里,我学了DS18B20、128*64大液晶、数码管显示等。从最初的跑马灯,到整体融合,经历了一段时间。单片机只有P0,P1,P2,P3,如果想把很多功能合在一起的话,就得复用,或着用到扩展,但是那个扩展模块不好用,写起程序来会比较麻烦,其实复用好的话,基本IO口都够用!

学习的时候总是难免碰到一些问题!但是我的总结是:没关系,边做边想!或着讲瞎搞!不搞肯定不知道,搞了才会懂!过去的一些问题在现在看来都是小case,什么定时器赋值啊,定时器的使用类型(模式0,模式1,模式2),当时就自己在那里看书理解,一大堆的文字在那里,看了很久也不懂!不过后来我懂得了上网找视频教程!刚开始的时候也总是想为什么这么做,为什么这么做,为什么这么做,一堆的为什么。现在懂了,做多了,就觉得要这样做,要这样做,就是这么做的,没错!不会的时候想着,反正会弄懂的,多试试!

要相信熟能生巧,想想学习的时候,和现在的程度,不是在一个档次的!熟悉了操作,一些疑惑也会虽之解开!

我最初开始学单片机是因为我喜欢编程,我觉得编程是一件乐趣的事!或着说享受技术带来的快乐!我现在懂得了有各门各样的语言,C语言是其中一种,还有更底程的汇编语言,java之类的高级语言,这些我都很喜欢(

在学习的过程中遇到麻烦或着问题,已经习以为长了!遇到问题也不会焦虑,想的是该怎么解决!水平也是在不断解决问题中提高的,有这一点体会!其实初学单片机,碰到问题总是新的知识而已,因为单片机很简单,也不用很懂电路原理,知道什么时候给0,什么时候给1,其它的就交给硬件去处理。

我也不单单只想有关单片机的程序单片机功能简单,一直写单片机也会变得呆板的(这期间就一直写单片机的程序,不写其它思考性的编程),至少我是这么觉得。因为写单片机的程序一段时间后,我发现我的思路有点僵在单片机的思路上,自己想写一写其它的程序,不是单片机的,是C语言的一些有关数学计算(类似应用题的那种),写的时候却想的写单片机的感觉

,有点难以集中到现在要解决的问题!

其实单片机我觉得就是瞎搞(想着各种其怪的点子,把它实现出来),然后就是熟能生巧!也不要局限于那么一些模块,不止那些模快,多弄弄其它的。单片机,很好玩的!

第4篇:单片机学习心得

05年的时候,因为制作FM发射电路采用了BH1415的芯片,需要用到单片机控制,所以开始接触使用单片机,虽然以前读书时作为一门功课学过,不过也快丢荒了10年了,基本上都忘光了,也算是从头学起了吧。我当时是买了一块实验板,很简单的功能,比论坛实验板还要少功能,还有一个仿真器,也是比较简单的,SST芯片的。然后开始从大家都知道的流水灯写起,万事开头难,第一个程序基本上就抄人家的,翻查了一份快速入门的学习资料,写下第一个程序。然后,在仿真机是单步的看运行结果,从每一步执行,都硬件上反应出来的效果,很快,对单片机的运作有了一个非常感性的认识,这跟只看书然后自己想象运行是完全两码事。然后,是进一步的其它程序学习,一个月时间,基本上已经熟悉了51的各种硬件资源。把流水灯,数码管动态扫描,中断等等的学习了,然后就是写综合性的程序,也就是我发在论坛里的时钟。通过这个程序的编写,使自己的编程水平有了很大的飞跃。之后,就是逐步学习编写更多的程序,各种外围器件的控制等等,通过编写程序使自己不断的提高。在学过汇编之后,我又转到了C语言学习,因为以前没有学习过C语言,一切都很陌生,所以自己沿用了学习汇编的方法,大约花了3天功夫基本就对C语言有了初步的了解,然后就是尝试写上面所说的时钟,以汇编程序的思路作为参考,以C语言来编写,花了几天功夫完成了这一程序,也实现了从汇编编程为主到C编程为主的转变。然后,就是以C语言编写外围器件的控制程序,以此来熟悉C的编程风格,一直到现在,基本上就是C语言编程,汇编已经是作为调试程序的辅助。

下面我概括了几点我的学习经验和心得体会

1、万事开头难、要勇敢迈出第一步。开始的时候,不要老是给自己找借口,说KEIL不会建项目啦、没有实验板啦之类的。遇到困难要一件件攻克,不会建项目,就先学它,这方面网上教程很多,随便找找看一下,做几次就懂了。然后可以参考别的人程序,抄过来也无所谓,写一个最简单的,让它运行起来,先培养一下自己的感觉,知道写程序是怎么一回事,无论写大程序还是小程序,要做的工序不会差多少,总得建个项目,再配置一下项目,然后建个程序,加入项目中,再写代码、编译、生成HEX,刷进单片机中、运行。必须熟悉这一套工序。个人认为,一块学习板还是必要的,写好程序在上面运行一下看结果,学习效果会好很多,仿真器就看个人需要了。单片机是注重理论和实践的,光看书不动手,是学不会的。

2、知识点用到才学,不用的暂时丢一边。厚厚的一本书,看着人头都晕了,学了后面的,前面的估计也快忘光了,所以,最好结合实际程序,用到的时候才去看,不必说非要把书从第一页看起,看完它才来写程序。比如你写流水灯,完全就没必要看中断的知识,专心把流水灯学好就是了,这是把整本书化整为零,一小点一小点的啃。

3、程序不要光看不写,一定要自己写一次。最开始的时候,啥都不懂,可以抄人家的程序过来,看看每一句是干什么用的,达到什么目的,运行后有什么后果,看明白了之后,就要自己写一次,你会发现,原来看明白别人的程序很容易,但到自己写的时候却一句也写不出来,这就是差距……当你自己能写出来的时候,说明你就真的懂了……

4、必须学会掌握调试程序的方法。不少人写程序,把代码写好了,然后一运行,不是自己想要的结果,就晕了,然后跑到论坛上发个帖子,把程序一贴,问:为什么我的程序不能正常运行?然后就等别人来给自己分析。这是一种很不好的行为,应该自己学会发现问题和学会如何解决问题。这就需要学习调试程序的方法,比如KEIL里,可以下断点啦,查看寄存器内容等等,这些都是调试程序的手段,当你发现你写的程序运行结果和你想象中不一样的时候,你可以单步,也可以下断点,然后跟踪,查看各相关寄存器内容,看看程序运行过中是不是有什么偏差,找出影响结果的地方,改正过来。这一个过程非常重要,通过程序的排错,你可以学到的知识是书上得不到的。

5、找到解决问题思路比找到代码更重要。我们用单片机来控制周边器件,达到我们想到的目的,这是一个题目,而如何写出一个程序,来控制器件按你想要的结果去运作,这个就是解题的思路。要写程序,就得先找到解决问题的思路,你学会找出这个解题思路,比你找到代码更为重要。不少人很喜欢找人家的代码,有的人甚至有了代码就直接复制到自己的程序中,可以说,这不是一种学习的态度,无助于你编程水平的提高。我几乎不怎么看人家的代码,多数时候是看别人的思路,有方框图最好,没有的话文字说明也可以,要从代码中看出别人处理问题的思路,是相当困难的,特别是大型的程序,看起来是非常的累人,所以现在我也明白了,以前读书时说的程序流程图很重要,现在算是知道了。当你知道一个问题怎么去解决了,那么剩下的只是你安排代码去完成,这就已经不是什么问题了。举个例子:数码管动态扫描,没写过的初学者可能搞不清是怎么回事,其实,就是分时让每一时间段时只控制一只数码管显示数字,几只数码管轮流显示,由于速度很快,人眼的看起来是全部数码管都亮的。明白是这么一回事,事情就好办了,剩下的事情,无非是你安排让一只只数码管轮流显示出相应的数值。显示数字,然后延时一下,再下一只显示数字,延时,知道是这样,我们实际程序上只要做到这样就可以:往段口送段码,然后打开位选显示一只,延时一下,再关闭位选,再送出段码,再打开另一只位选。仅此而已。有了解决问题的思路,我们就能问题拆分开来,然后逐一的解决,如果动态扫描的原理都没懂,不知道如何做,那么这个程序是怎么也写不出来的。

6、开动脑筋,运用多种方法,不断优化自己的程序。想想用各种不同方法来实现同一功能。这是一个练习和提高的过程,一个问题,你解决了,那么你再想想,能不能换种写法,也可以实现同一功能,或者说,你写出来的代码,能不能再精简一点,让程序执行效率更高,这个过程,就是一个进步的过程。很多知识和经验的获得,并不是直接写在书让你看就可以得到的,需要自己去实践,开动脑筋,经验才能得到积累,编程水平才能有所提高。

7、看别人的代码,学习人家的思路。这个在学习初期是很有用,通过看别人的代码,特别是有多年编程经验的人写出的具有一定水平的代码,可以使自己编程水平得到迅速的提高,同时,也可以结合别人的编程手法,与自己的想法融合在一起,写出更高水平的代码,从中得到进步。但要注意,切忌将学习变成抄袭,更不是抄袭完了就认为自己学会了,这样做只会使你退步。

8、尝试编写一下综合应用的程序。从流水灯学起,到动态扫描,再到中断,那么,你可以试试写一下时钟这种综合性应用的程序,不要小看时钟,要写好它不是一件容易的事情,它包括了单片机大部分的知识,比如有按键(IO读取)、动态扫描(IO输出)、中断等,如何协调好各功能模块正常工作,才是编程者需要学习的地方,当你单独写一个功能的时候,比如按键读取,你可能感觉很容易,因为你的程序啥也不做,只是读按键。但把它和其它功能混合在一起,如何在整个程序运行中使每一部分都正常工作,这就不是写一个按键读取这么容易的事情,功能模块之间有可能会互相影响,比如你需要让数码管既能显示,又要去处理按键读取,怎么使这两部分都正常工作,这就是一个协调过程。当你有了这个处理协调能力,你就算是入门了。

9、着重于培养解决问题的能力,而不是具体看自己编写了多少代码或者做过什么。“学单片机重点在于学习解决问题的思路,而不是局限于具体的芯片类型和语言”这一直是我的座右铭,是我学单片机多年来感悟

出来的。经常看到有人说“你会驱动XX芯片,真牛啊”“你搞过XX项目,真厉害”之类的话,其实这是非常片面的,搞过XX芯片,搞过XX项目,只能说明你做过这一项目,它只是你的业绩,并不是代表能力就一定高。真正的能力应该是:“遇到没有解决过的问题或器件,能利用自己已学的知识,迅速找到解决问题的方法。”这个才是能力。写程序的过程就是一个创造的过程,几乎没有完全一样的项目,每次你遇上的几乎都不相同,所以你拥有的必须是你面对新项目时的创造能力,而不是标榜着你以往做过多少项目。当然,业绩也能从另一侧面反映你的经验和水平。

第5篇:个人对于51单片机的学习心得

本人也是通过学校安排的课程才接触到单片机的。

上课的时候倒是挺难挨的,觉得枯躁无味,经常逃课。倒是在后来自己临到考试的时候认真复习倒还兴趣增加不少(由此可见老师上课的启发兴趣能力有多强……)不过考试的成绩还真是一般般,单片机只是考了个及格,咳……

在这里讲个小插曲,我们学的是C51,后来有个什么凌阳公司来我们学校搞活动,所以我买了块凌阳,但是后来越学越没动力,可能是我领悟能力有限,不过有个老师跟我讲,学东西先从基础的东西学起,比如说51,它的应用最广泛,所以技术也就是最成熟的,资料也就是最多的,这对初学者来说无疑是方便的,而且你学一个比较偏的单片机,以后应用能用上就好,不能用上就浪费学习时间了。所以现在才重新买了一块开发板,很多东西都对上号了,就好学多了。

正如很多人说的那样,学单片机,先学汇编,再学C,我也是这样的,(因为老师上课就是讲汇编的,所以没办法,呵呵)因为这对以后熟悉单片机内部资源,计算周期是很有帮助的。不过汇编就是比较麻烦,换个芯片就都要重头来过,所以有局限性,不像C那样可以移植,修改的地方很少。对于汇编的学习还真是痛苦,我觉得这些东西最好是自己看,别人很难讲到你明白的,首先要熟悉那一百多条指令,说是一百多,其实有些是同个种类,压缩起来也不过就几十条,再说都是英文简写,就我那么点英文水平也看得明白,所以也不是什么难事,所以,先要搞定指令!指令搞定以后你也就能看一些基本的程序了,这样,对于兴趣的慢慢培养是大有好处的,谁都不想耗上一大段时间却什么都看不懂吧。接着就是看特殊寄存器及其功能,了解要利用到什么内部资源时要设置哪些特殊寄存器,要怎么设置,可不可以位寻址啊,0是什么1又是什么啊之类的。不一定要背下来,但是至少要有点印象有点了解,至少以后碰到的时候知道哪里可以查到。这些你可以直接搜索网上资源,有这方面的总结,“51特殊寄存器”,以后要查找和设置也就方便一点。这样你基本就可以看程序了!看程序的时候注意了,看的时候先看总体程序实现的功能是什么,是P口亮灯呢还是串行通信,还是中断还是定时(先从简单的程序入手,对应于每个知识点,P口亮灯,定时器,中断,串行);接着应该看流程图及每个子程序的定义,不看流程图看汇编就像看天书,一开始的时候。子程序名的跳转可以了解程序是怎么走的,由哪里跳到哪里。基本就是这样学汇编的了,一个学期,边上课边做实验,好像只是每个知识点只做了一个,基本就可以了解的了。

在这里又插一句,刚开始学的时候我们这些初学者经常会问些很白痴的,让已经入门的人喷血喷饭的问题。呵呵,这是必经之路,不过还是那句话,尽量先自己看书,看到真的不懂才去问别人,因为我始终觉得,提问和回答是一种互动的交流,而不是只是单向的,你也要先掌握些东西,别人再一点破就明白了,不要全靠别人!不然别人也会觉得你很烦的,这方面我很有经验,也受过不少白眼,不过,可以理解!

对于c语言编程,一开始自己还是有点畏惧的,因为c语言课程学得不好,不过后来在网上看到单片机用c语言跟用c编程序还是有区别的,单片机的比较简单一点,所以也抱着试试的心理学习。呵呵,后来自我感觉良好!(哈哈)c语言还在学习中,也只能暂时将目前的程度谈自己的感受,一开始看c程序搞了很久才明白什么是后缀是H的头文件,原来是编译器把所有的资源都分配的地址及代称,比如你在程序中用P1_0,TCON(定时器设置寄存器),实际是调用了一个地址。这是一个小的方面。最好先看一下专门写单片机编程的书籍,最好既有汇编又有c语言的,对比来学比较有效率。熟悉c语言的顺序结构,循环结构,条件结构各有什么语句,各怎么表达。暂时我也是按这样的顺序学习的,当然要多看程序,方法步骤跟汇编一样,还是要看流程图!

至于对汇编和c语言涉及的软件的学习,我觉得这些都比较容易掌握,上网下载个教程,按实例照着做就基本可以掌握,不要想一下子把所有功能都了解,基本的会用,其他比较特殊的功能以后自然会有机会用到,因为网上经常有些高手出来讲一些心得,到时看也不迟。现在看太多不熟练也容易忘记。东西总是等到用到了才比较有印象!

对了,等到书看到一定程度建议买块单片机学习板,之前也为了省钱想自己搭个最小系统要做什么再做什么,不过可能还是比较懒或是比较花时间,所以还是自己买了一块,因为一开始对硬件也不熟悉,什么都得上网查资料,做个跑马灯也要看要接多大电阻啊,要怎么连线啊之类的,倒不如买个现成的先熟悉程序再做硬件也不迟,那样反倒比较熟练。五六电子网站提供的单片机学习系统是您的最好选择。

基本上就写到这里了,本人的一些观点而已,欢迎讨论!

第6篇:AVR和PIC单片机学习心得总结

一、两种单片机工程文件编译成功的关键是工程文件名和存储目录必须是英文字母,绝对不能是汉字目录!否则就会出现编译错误。我就是使用了汉字目录“我的文档”在工程文件编译文件过程产生错误,百思不得其解,浪费了许多时间。

二、学AVR单片机感觉还是用AVRSTUDIO自带的GCC比较爽。一是因为AVRSTUDIO自带(不过还要自己安装WinAVR);二是因为WinAVR是自由软件不需要破解;三是现在用起来比以前要爽多了,以前还要自己编写makefile文件,现在只需在project的configuration中设置一下单片机使用晶振频率,剩下的就交给编译器;四是GCC函数库比较丰富,拿来直接用省的自己编写代码了。

三、PIC单片机用量好像比AVR单片机大一点,但低档PIC单片机的结构没有AVR单片机结构合理,尤其是在中断和存储器结构方面。PIC产生中断,中断入口就一个,程序设计者要想知道哪里产生了中断就要自己写代码查询各个中断标志寄存器置位了;还有PIC的存储器分好几个存储块,写程序要在几个块之间转换;AVR单片机就不会存在这个问题。

四、AVR单片机从软件开发到硬件开发非常便宜。软件免费而功能强大,编程仿真电路简单,网上购买便宜,自己也就可以制作。相对PIC单片机软硬件耗费就要大一些,本人开始学PIC就是因为pic单片机的编程器贵中途放弃,最后还是因为朋友学不会PIC单片机,就把他的编程器送给了我,我才得以继续学习PIC。

五、比起汇编来还是用:单片机C语言,比较容易,编写程序简单,程序可读性强,功能函数可以拿来使用。

六、说一说PIC单片机的优点:1、就是PIC单片机汇编命令要比AVR单片机少的多,要是实现个简单的功能用汇编语言感觉用PIC好;2、以前感觉PIC单片机的网上源程序要比AVR单片机好像要稍微多一些,不过现在感觉avr单片机的源程序也很多,并且进行了归纳。3、我不知道具体的数据就感觉来说PIC单片机的用量很大。

七、到底学哪种单片机好呢?我也不知道,个人感觉AVR好,可个人感觉人家PIC单片机偏偏卖的要多些。

以上就是我的一点学习体会,当然就本人认识而言,肯定有不对的,还望指正。

本文来源:http://www.guakaob.com/shiyongwendang/778405.html