单片机 期末复习

单片机 期末复习
单片机 期末复习

《单片机原理与接口技术》期末复习

《单片机原理与接口技术》课程是一门在当今计算机领域中发展较快,用途十分广泛的计算机专业应用性技术课程。在教学过程中,要按照教学大纲规定,对于凡是在课程中要求掌握的知识点,均要求同学能够全面、深入地掌握所学内容,并能够举一反三,熟练解决相关问题。要求同学掌握的内容也是课程考试的主要内容。对于同学要理解的知识点,为课程的一般内容,要求同学能够理解所学习的内容,对所涉及的内容能够进行简单的分析和判断。对于本课程的次要内容要求学员能够加以了解,在这部分内容中所涉及的都是一些基本概念和简单叙述,知道了就行,没有进一步深入和拓展的要求。

各章节的具体要求为:

第一章单片机基础知识

本章为了解内容。

了解:单片机的概念,单片机的特点、发展概况及应用领域,典型单片机系列的基本情况。注意相关概念之间的联系和区别。

掌握内容

MCS-51单片机指令的寻址方式

掌握指令的7种寻址方式的作用以及不同寻址方式所查询的存储空间及范围,对于常用的指令,能够给出指令的寻址方式。

1. 寄存器寻址方式

寄存器寻址方式的寻址范围包括:

① 寄存器寻址的主要对象是通用寄存器,共有四组共32个通用寄存器,但寄存器寻址只能使用当前寄存器组,因此指令中的寄存器名称只能是R0~R7。在使用本指令前,有时需通过对PSW中RS1、RS0位的状态设置,来进行当前寄存器组的选择。

② 部分专用寄存器。例如累加器A、B寄存器对以及数据指针DPTR等。

2. 直接寻址方式

指令中操作数直接以单元地址的形式给出,就称之为直接寻址。

例如指令: MOV A, 3AH

3. 寄存器间接寻址方式

寄存器寻址方式,寄存器中存放的是操作数,而寄存器间接寻址方式,寄存器中存放的则是操作数的地址,即操作数是通过寄存器间接得到的,因此称之为寄存器间接寻址。如 MOV @R0,#100H

4. 立即寻址方式

所谓立即寻址就是操作数在指令中直接给出。为了与直接寻址指令中的直接地址相区别,在立即数前面加“#”标志。MOV R0,#100H

5. 变址寻址方式

变址寻址是为了访问程序存储器中的数据表格。MCS-51的变址寻址是以

DPTR或PC作基址寄存器,以累加器A作变址寄存器,并以两者内容相加形成的

16?位地址作为操作数地址,以达到访问数据表格的目的。注意A 中的数为无符

号数。例如:

JMP @A+DPTR

MOVC A,@A+PC

MOVC A,@A+DPTR

这种寻址方式特别适用于查表。DPTR为16位字宽,可指向64KB的任何单

元;@A+PC可指向以PC当前值为起始地址的256B单元。

6. 位寻址方式

MCS-51有位处理功能,可以对数据位进行操作,因此就有相应的位寻址方式。位寻址指令中可以直接使用位地址。位寻址是一种直接寻址方式,由指令给出直接位地址。

例如:

SETB 20H ;1 20H位

MOV 32H, C ;进位位C→32H位

ORL C, 5AH ;C | 5AH位→C

7. 相对寻址方式

相对寻址方式是为解决程序转移而专门设置的,为转移指令所采用。在相对寻址的转移指令中,给出了地址偏移量(在MCS-51指令系统中以“rel”表示),把PC的当前值加上偏移量就构成了程序转移的目的地址。但这里的PC

当前值是指执行完该转移指令后的PC值,即转移指令的PC值加上它的字节数。因此转移的目的地址可用如下公式表示:

目的地址=转移指令地址+转移指令字节数+rel

偏移量rel是一个带符号的8位二进制补码数。所能表示的数的范围是

-128~+127,因此相对转移是以转移指令所在地址为基点,向前最大可转移(127

+转移指令字节数)个单元地址,向后最大可转移(128-转移指令字节数)个

单元地址。

例如执行指令:

JC rel ;设rel=75H, Cy=1

这是一条以Cy为条件的转移指令。因为JC rel指令是2B指令,当程序取

出指令的第2个字节时,PC的当前值已是原PC+2,由于Cy=1,所以程序转

向PC+75H单元去执行。

练习题:

1. MOV ACC, 30H ;目的操作数寻址方式为:; 源操作数寻址方式为:

2. MOV R7, #16 ;目的操作数寻址方式为:; 源操作数寻址方式为:

3. MOV B, @R0 ;目的操作数寻址方式为:; 源操作数寻址方式为:

4. MOV C, 20H.3 ;目的操作数寻址方式为:; 源操作数寻址方式为:

5. INC P1 ;操作数P1寻址方式为:

6. MOVC A, @A+DPTR ;源操作数寻址方式为:;操作对象为

7. MOVX A, @ DPTR ;源操作数寻址方式为:;操作对象为

8. JBC P1.0, NEXT ;操作数NEXT寻址方式为:;操作对象为

(P1.0引脚、P1.0锁存器位)。

1. ___直接__,直接

2. ___寄存器__,立即数

3. ___寄存器__,寄存器间接

4. ___ 寄存器__,直接

5. 直接

6. ___ ,变址, ROM

7. ___ 寄存器间接,RAM

8. ___ 相对__,I/O锁存器

第二章增强型MCS-51单片机

本章介绍的是MCS-51单片机的内部器件结构,包括运算电路结构、控制电路结构和存储器结构等,它们是集成在一个芯片上的单片机硬件资源,构成了一个简单的计算机系统,因此在学习中应当从计算机系统的观点出发进行理解。这一章节是学习单片机的基础,也是学习《单片机技术》课程的重点章节。

掌握内容

单片机系统结构

单片机是由运算器、控制器、存储器、输入设备以及输出设备共五个基本部分组成的。单片机是把包括运算器、控制器、少量的存储器、最基本的输入输出口电路、串行口电路、中断和定时电路等都集成在一个尺寸有限的芯片上。

通过对MCS-51单片机的系统逻辑结构图的学习来掌握单片机的内部系统结构。

MCS-51单片机芯片内部逻辑结构

通过MCS-51单片机内部的逻辑结构图掌握单片机内部的逻辑结构及各个部件的功能与特点。即:

中央处理器(CPU)、内部数据存储器、内部程序存储器、定时器/计数器、并行I/O口、串行口、中断控制系统、时钟电路、位处理器、总线。

MCS-51单片机的内部存储器

MCS-51单片机芯片内部有数据存储器和程序存储器两类存储器,即所谓的内部RAM和内部ROM。同学重点要掌握内部数据存储器的结构、用途、地址分配和使用特点。

一是内部数据存储器的低128单元,它包括了寄存器区、位寻址区、用户RAM区,要掌握这些单元的地址分配、作用等。

二是内部数据存储器高128单元,这是为专用寄存器提供的,地址范围为80H~FFH。所谓专用寄存器是区别于通用寄存器而言的,即这些寄存器的功能或用途已作了专门的规定,用于存放单片机相应部件的控制命令、状态或数据等。在这些专用寄存器中,重点要掌握以下寄存器的使用:

程序计数器、累加器A、B寄存器、程序状态字(PSW)、数据指针(DPTR)。

MCS-51的堆栈操作:堆栈是计算机的重要概念,要掌握以下几方面:

1. 堆栈的功用

2. 堆栈的设置

3. 堆栈指示器

4. 堆栈使用方式

内部程序存储器

80C51芯片内有4K ROM存储单元,其地址为0000H~0FFFH,这就是我们所说的内部程序存储器(或简称“内部ROM”)。无论是片内或是片外存储器(对于无片内ROM的单片机),在程序存储器中有一组特殊的保留单元0000H~002AH,使用时应特别注意。

系统的启动单元:0000H~0002H

五个中断源的中断地址区:0003H~002AH

0003H~000AH 外部中断0中断地址区

000BH~0012H 定时器/计数器0中断地址区

0013H~001AH 外部中断1中断地址区

001BH~0022H 定时器/计数器1中断地址区

0023H~002AH 串行中断地址区

中断响应后,系统能按中断种类,自动转到各中断区的首地址去执行程序。因此在中断地址区中本应存放中断服务程序。但通常情况下,8个单元难以存下一个完整的中断服务程序,因此一般也是从中断地址区首地址开始存放一条无条件转移指令,以便中断响应后,通过中断地址区,再转到中断服务程序的实际入口地址去。 MCS-51单片机系统的存储器结构特点

单片机的存储器结构有两个重要的特点:一是把数据存储器和程序存储器截然分开,二是存储器有内外之分。总的来说,由芯片内存储器和芯片外扩展存储器构成了单片机应用系统的整个存储器系统。

其结构和存储空间分配如书图2-9所示。对于这一节,要掌握MCS-51单片机的四个物理空间(片内RAM、片内ROM、片外RAM、片外ROM),三个独立的逻辑空间(片内RAM空间:00H~FFH、片内外统一编址的ROM空间:0000H~FFFFH、片外RAM空间:0000H~FFFFH)的概念。

MCS-51单片机并行输入/输出口电路

单片机芯片内还有一项重要内容就是并行I/O口电路。MCS-51共有四个8位的并行双向I/O口,分别记作P0、P1、P2、P3,实际上它们已被归入专用寄存器之列。这四个口除了按字节寻址之外,还可以按位寻址,四个口合在一起共有32位。

在单片机中,口是一个集数据输入缓冲、数据输出驱动及锁存等多项功能于一体的I/O电路。MCS-51的四个口在电路结构上是基本相同的,但它们又各具特点,因此在功能和使用上各口之间有一定的差异。在学习中必须要掌握各个口的用途。

需要说明的是,虽然在大纲中将MCS-51单片机的引脚内容列为了解内容,这只是说,同学们不必去死记引脚的顺序及部分引脚的定义,但是,对于一些重要的引脚的功能和使用方法还是要求同学掌握的,如数据引脚和地址引脚P0口和P2口以及控制信号:如RD、WR、PSEN、EA等。

理解内容

MCS-51单片机时钟电路与时序

时钟电路用于产生单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。而时序所研究的则是指令执行中各信号之间的相互时间关系。

要理解时钟电路的产生与作用,能根据外部所加入的晶体的振荡频率计算时序的定时单位。

1. MCS-51的常见外部晶体的振荡频率范围:1.2MHz~12MHz,

2. MCS-51时序的定时单位共有4个,依次是:拍节、状态、机器周期和指令周期。

第三章 MCS-51单片机指令系统与汇编语言程序设计

本章介绍的是单片机的指令系统,包括指令的寻址方式、指令分类介绍。这一章节是单片机指令系统的学习基础。

掌握内容

掌握常用指令的使用,理解一般指令的使用:对于常用指令,要掌握指令格式,了解指令的用途,并能正确选择指令进行简单程序的编制。

常用指令一般包括:

数据传送类指令(29条)

算术运算类指令(24条)

逻辑运算及移位类指令(24条)

控制转移类指令(17条)

位操作类指令(17条)

例题:

1. 说明下列指令中源操作数采用的寻址方式。

MOV R5,R7 答案:寄存器寻址方式

MOV A,55H 直接寻址方式

MOV A,#55H 立即寻址方式

JMP @A+DPTR 变址寻址方式

MOV 30H,C 位寻址方式

MOV A,@R0 间接寻址方式

MOVX A,@R0 间接寻址方式

掌握内容

汇编语言的特点及其语句格式

1. 汇编语言的特点

汇编语言有如下特点:

① 助记符指令和机器指令一一对应,所以用汇编语言编写的程序效率高,占用存储空间小,运行速度快,因此汇编语言能编写出最优化的程序。

② 使用汇编语言编程比使用高级语言困难。因为汇编语言是面向计算机的,汇编语言的程序设计人员必须对计算机硬件有相当深入的了解。

③ 汇编语言能直接访问存储器及接口电路,也能处理中断,因此汇编语言程序能直接管理和控制硬件设备。

④ 汇编语言缺乏通用性,程序不易移植,各种计算机都有自己的汇编语言,不同计算机的汇编语言之间不能通用。

2. 汇编语言的语句格式

MCS-51汇编语言的语句格式表示如下:

〔<标号>〕:<操作码>〔<操作数>〕;〔<注释>〕

即一条汇编语句是由标号、操作码、操作数和注释四个部分所组成,其中方括号括起来的是可选择部分,可有可无,视需要而定。

编程:通过本章的学习,同学应能够正确使用指令系统中的常用指令,按照MCS-51单片机汇编语言指令格式设计一些简单的程序,如:

无符号16位以内数据的加、减、乘、除及二转十、十转二、ASCII转换、数据的片内片外传送等简单程序。

第四章单片机的中断、定时系统与串行口

理解中断概念、MCS-51单片机芯片中断结构及中断响应过程,掌握中断初始化步骤、外中断服务程序编写;理解MCS-51定时/计数器结构、工作方式及用途,掌握定时/计数器初始化步骤、定时中断服务程序编写;了解通讯概念、种类及特征,理解MCS-51串行通讯口结构、工作方式;掌握串行通信口初始化步骤、串行通讯服务程序编写。

本章知识点:中断概念(中断源、中断标志、中断优先级及控制)、中断响应条件及过程、中断入口地址、中断服务程序结构;定时/计数器结构、工作方式、定时/计数器初始化;串行通讯概念、串行通信口结构、串行通信波特率选择及初始化;对机通讯硬件结构及控制。

中断是一项重要的计算机技术,采用中断技术可以使多项任务共享一个资源,所以中断技术实质上就是一种资源共享技术。

掌握内容

*中断源

MCS-51是一个多中断源的单片机,以8OC51为例,有三类共五个中断源,分别是外部中断两个,定时中断两个和串行中断一个。

1.外中断

外中断是由外部原因引起的,共有两个中断源,即外部中断0和外部中断1。它们的中断请求信号分别由引脚INT0和INT1引人。

外部中断请求有两种信号方式,即电平方式和脉冲方式.可通过有关控制位进行定义。

2.定时中断

定时中断是为满足定时或计数的需要而设置的。为此在单片机芯片内部有两个定时器/计数器,以对其中的计数结构进行计数的方法,来实现定时或计数功能。当计数结构发生计数溢出时,即表明定时时间到或计数值已满,这时就以计数溢出信号作为中断请求,去置位一个溢出标志位,作为单片机接受中断请

求的标志。由于这种中断请求是在单片机芯片内部发生的,因此无需在芯片上设置引人端。

3.串行中断

串行中断是为串行数据传送的需要而设置的。每当串行口接收或发送完一组串行数据时,就产生一个中断请求。因为串行中断请求也是在单片机芯片内部自动发生的,所以同样不需在芯片上设置引人端。

*中断控制

这里所说的中断控制是指提供给用户使用的中断控制手段,实际上就是一些专用寄存器。在MCS-51单片机中,用于此目的的控制寄存器共有四个,即定时器控制寄存器、中断允许控制寄存器、中断优先控制寄存器以及串行口控制寄存器。

1.定时器控制寄存器(TCON)

该寄存器用于保存外部中断请求和以及定时器的计数溢出。寄存器地址88H,位地址8FH~88H。

2.中断允许控制寄存器(IE)

寄存器地址A8H,位地址AFH~A8H

3.中断优先级控制寄存器(IP)

MCS-51的中断优先级控制只定义了高、低两个优先级。各中断源的优先级由优先寄存器(IP)进行设定。IP寄存器地址B8H,位地址为BFH~B8H 中断响应

中断响应就是对中断源提出的中断请求的接受,是在中断查询之后进行的,当查询到有效的中断请求时,紧接着就进行中断响应。中断响应的主要内容是由硬件自动生成一条长调用指令LCALL。其格式为LCALL addr16,这里的

addr16就是程序存储器中断区中相应中断的人口地址。在MCS-51单片机中,这些入口地址已由系统设定。

例如,对于外部中断0的响应,产生的长调用指令为:

LCALL 0003H

生成LCALL指令后,紧接着就由CPU执行。首先将程序计数器PC的内容压入堆栈以保护断点,再将中断入口地址装人PC,使程序执行转向相应的中断区入口地址。但由于各中断区只有8个单元。一般情况下难以安排下一个完整的中断服务程序。因此通常总是在各中断区入口地址处放置一条无条件转移指令,使程序执行转向在其它地址存放的中断服务程序。

中断返回

MCS-51单片机的定时器/计数器,分别称定时器/计数器0和定时器/计数器1。它们都是十六位加法计数结构。

1.计数功能

所谓计数是指对外部事件进行计数。外部事件的发生以输入脉冲表示.因此计数功能的实质就是对外来脉冲进行计数。MCS-51芯片有T0(P34)和T1(P3。)两个信号引脚,分别是这两个计数器的计数输人端。外部输入的脉冲在负跳变时有效,进行计数器加1(加法计数)。

2.定时功能

定时功能也是通过计数器的计数来实现的,不过此时的计数脉冲来自单片机的内部,即每个机器周期产生一个计数脉冲。也就是每个机器周期计数器加1。由于一个机器周期等于 12个振荡脉冲周期,因此计数额率为振荡频率的 1/12。

*定时器/计数器的控制寄存器

与定时器八十数器应用有关的控制寄存器有:

1.定时器控制寄存器(TCON)

2.工作方式控制寄存器(TMOD)

3.中断允许控制寄存器(IE)

MCS-51的定时器/计数器共有四种工作方式

1.定时工作方式0

2.定时工作方式1

3.定时工作方式2

4.定时工作方式3

理解内容

定时器/计数器的综合应用,串行口的工作方式

十进制调数

第六章数字信号输入/输出接口电路

在本章的学习过程中,应掌握单片机的扩展方法,即利用存储器地址分配原理扩展包括存储器、I/O口的方法。理解一些常用的扩展器件,如程序存储器、数据存储器、常用的TTL器件、LED、键盘以及常用的专用器件8255的工作原理,了解串行接口的扩展原理及应用。

在理解典型单片机芯片I/O口结构(传统弱上拉准双向输入/输出、OD输出、互补推挽输出以及高阻输入)、特点,以及常见输入/输出方式基础上,掌握扩展单片机芯片I/O引脚方式,以及常见I/O扩展芯片的功能、引脚排列,能构建结构合理、性能稳定可靠的输入、输出接口电路;理解LED显示器件结构,掌握静态、动态LED显示驱动程序编写要领;了解按键结构及特征,掌握键盘接口电路驱动程序的编写要领;掌握单片机芯片与继电器、光耦的连接方式。

本章知识点:单片机I/O口结构;输入/输出方式及电路;I/O扩展芯片(各类D型触发器、8255专用I/O扩展芯片);LED显示器件及显示驱动电路;键盘接口电路及其驱动程序;单片机与继电器接口电路。

掌握内容

1.单片机扩展中的地址译码技术

线选法

线选法一般用于扩展少量的片外存储器和I/O接口芯片。所谓线选法通常是将单片机的高8位地址线A8~A15中的某几根与外部接口芯片的选通端一

一相连,当该地址线为“0”时(对于“0”选通有效的外部芯片而言),与该地址线相连接的外部芯片被选通。

全地址译码法对于一些要求外部RAM容量较大、外扩芯片数量较多的应用系统,需要的片选信号往往多于单片机可利用的高位地址线,因而,就无法使用线选法来扩展外围芯片了。这时,常常采用全地址译码法来进行。所谓全地址译码法,是通过译码电路对单片机可利用的高位地址线进行译码,以得到较多的片选信号。

2.存储器扩展

存储器是单片机系统中使用最多的外扩芯片,对MCS-51单片机而言,由于程序存储器与数据存储器空间在物理空间上的各自独立性,使得两者的扩展方法略有不同。

程序存储器(EPROM)扩展

数据存储器(RAM)扩展

3.单片机应用系统中的 I/O口扩展技术

4、8255A可编程并行I/O扩展接口

5、键盘、显示接口

6、光电耦合器件和继电器接口电路

由B 口依次输出只有一个为低电平的扫描码

PC4~PC7输出8255B 芯片地址:

A 口:8800H

B 口:8801H

C 口:8802H 控制口:8803H

第七章单片机应用系统设计

在本章的学习过程中,应主要了解并初步掌握单片机应用系统的设计,即如

何规划单片机应用系统软、硬件之间的关系,如何合理地选择外部扩展器件,合理地分配单片机资源等。 了解内容

1.单片机应用系统的构成:是指以单片机为核心,通过扩展相关的外围电路所构成的用于测量外界物理信号并控制相应器件工作的硬件系统,以及能对硬件系统进行合理操作与控制的应用程序。两者的结合使得应用系统能完成某些特定的功能。

2.单片机应用系统范围:包括了工业过程控制系统、数据采集系统、智能仪器仪表以及其它采用单片机控制的电子设备。

3.单片机应用系统设计特点:一个重要特点是硬件设计与程序设计基本上是同步进行的,软件与硬件之间有着密切的联系。因此,一名优秀的单片机应用系统设计者,必须对单片机的软、硬件有较全面的了解和掌握。

4.基本单片机应用系统的硬件构成:分析其硬件结构,主要是由信号输人通道、基本单片机系统、人机对话通道以及信号输出控制通道等几部分组成的,根据单片机测控系统使用场合的不同,对这几部分的要求可能有繁有简,由此,可以将包含有以上各部分的单片机测控系统视为一个典型的单片机应用系统。

5. 软件可靠性设计

?例如,当程序计数器PC“走飞”可能会导致下列情况的发生:

(1)PC“飞”跳过部分程序段。如果跳过的部分正好是接收输入数据程序段,

则将造成随后的数据处理不正常。

(2) 拆分多字节指令,即将一条指令的操作数部分当作指令码执行。如果这一

“指令码”属于多字节指令,又继续拆分下一指令,即把下一指令的操作码作为操作数处理。

(3) 跳到数据区,把数据当指令

2. 防止PC“走飞”对系统影响的措施

1) 指令冗余

2) 软件看门狗

3) 软件陷阱:

NOP

NOP

LJMP ERR

部分习题:

1.MCS-52单片机有片内ROM容量 8KB

2.计算机的系统总线有地址总线、控制总线和数据总线

3.MCS-52单片机的位寻址区位于内部RAM的(20H—2FH )单元。

4.通常、单片机上电复位时PC=0000H SP=07H。

5.MCS-51单片机访问外部存储器时,利用_ALE信号锁存来自P0口的低8位地址信号。

6.MCS-52单片机的最小时序定时单位是拍节

7.MCS—52单片机的复位信号是高电平有效。

8.若MCS-52单片机使用晶振频率为12MHz时,其复位持续时间应该超过2μs。

9.定时器/计数器工作方式1是16位计数结构。

10.标准型MCS-51单片机有 5个中断源,可分为2个中断优先级。上电复位时外部中断0 中断源的最高。

11.用串行口扩展并行口时,串行接口的工作方式应选为方式0。

12.计算机能识别的语言是机器语言

13.能反映程序运行状态或反映运算结果的一些特征寄存器是PSW

14.各中断源发出的中断请求信号,都会记在MCS-52系统中的TCON

15.AT89S52单片机片内RAM的地址空间为00H~FFH。

16.AT89S52单片机访问片外ROM是以PSEN作为读选通信号。

17.算术运算类指令一般影响标志位。

18.CPU每取一条指令,立即使程序计数器PC自动加1。

19.所谓的单片机,就是将CPU、存储器、定时计数器、中断功能以及I/O设备等主要功能部件都集成在一块超大规模集成电路的微型计算机。

20.位变量的值可以是1(true)或0(false)。

21.当向堆栈压入一个字节的数据后,SP中的内容加1。

22.特殊功能寄存器不可以用间接寻址方式寻址。

23.同一时间同一级别的多中断请求,系统将按默认优先级别响应。

24.MCS-52单片机片内共有256字节单元的RAM。

25.I/O编址技术有统一编址和独立编址两种。

26.在CPU内部,反映程序运行状态或反映运算结果的一些特征寄存器是PSW

27.要用传送指令访问MCS-51片外RAM,它的指令操作码助记符应是MOVX

28.指令AJMP的跳转范围是2KB

29.要使MCS-51能够响应定时器T1中断,串行接口中断,它的中断允许寄存器IE的内

容应是98H

30.各中断源发出的中断请求信号,都会记在MCS-51系统中的TCON

31.CPU寻址外设端口地址的方法有两种,一种是统一编址,还有一种是独立编址

32.下列四条叙述中,有错误的一条是

33.(A)16根地址线的寻址空间可达1MB

34.(B)内存储器的存储单元是按字节编址的

35.(C)CPU中用于存放地址的寄存器称为地址寄存器

36.(D)地址总线上传送的只能是地址信息

37.MCS-51外扩一个8255时,需占用4个个端口地址

38.用MCS-51串行口扩展并行I/O口时,串行口工作方式应选择方式0

39.某种存储器芯片是8KB*4/片,那么它的地址线根数是14根

40.已知单片机的晶振频率为12MHZ,那么机器周期为1μs 。

41. MCS-52有 8 个中断源,有 4 个中断优先级,优先级由软件填写特殊功能

寄存器 IP ,IPH 加以选择。

42.外部中断请求信号有低电平触发和下降沿触发两种触发方式。

43.计算机的系统总线有地址总线、控制总线和数据总线。

44.通常、单片机上电复位时PC= 0000H ,SP= 07H ,PSW= 00H 。

45.MCS-52单片机访问外部存储器时,利用 ALE 信号锁存来自 P0 口的低8位地址

信号。

46.MCS-52单片机89S52中有 3 个 16 位的定时/计数器。

47. MCS-51外扩I/O口与外RAM是统一编址的。

48.我们所说道计算机实质上是计算机的硬件系统与软件系统的总称

简答:

1、AT89S52内部四个并行I/O口各有什么异同?作用是什么?

答:AT89S52单片机共有四个8位双向并行的I/O端口,每个端口都包括一个锁存器、一个

输出驱动器和一个输入缓冲器,但这四个端口的功能不全相同。

P0口既可作一般I/O端口使用,又可作地址/数据总线使用;

P1口是一个准双向并行口,作通用并行I/O口使用;

P2口可作为通用I/O使用外,还可在CPU访问外部存储器时作高八位地址线使用;

P3口是一个多功能口,除具有准双向I/O功能外,还具有第二功能。

2、AT89S52最大能扩展多少容量ROM、RAM? 并行扩展存储器,片选方式有哪几种?各有什么特点?

答:AT89S52能扩展64KB ROM(包括片内ROM)和64KB外RAM(包括扩展I/O口)。并行扩展存储器,产生片选信号的方式有线选法和译码法两种。

线选法是将高位地址线直接连到存储器芯片的片选端。其优点是连接简单,缺点是芯片的地址空间相互之间可能不连续,存储空间得不到充分利用,存在地址重叠现象。线选法适用于扩展存储容量较小的场合。

译码法是通过译码器将高位地址线转换为片选信号,2条地址线能译成4种片选信号等。译码法与线选法比较,硬件电路稍微复杂,需要使用译码器,但可充分利用存储空间,全译码还可避免地址重叠现象。

3、MCS-51单片机的时钟周期与振荡周期之间有什么关系?一个机器周期的时序

如何划分?

答:时钟周期是单片机最基本的时间单位。机器周期则是完成某一个规定操作

所需的时间。一个机器周期为6个时钟周期,共12个振荡周期性,依次表示

为S1P1、S1P2、……S6P1、S6P2。

4、MCS-51内部四个并行I/O口各有什么异同?作用是什么?

答:MCS-51单片机共有四个8位双向并行的I/O端口,每个端口都包括一个锁

存器、一个输出驱动器和一个输入缓冲器。但这四个端口的功能不全相同,P0

口既可作一般I/O端口使用,又可作地址/数据总线使用;P1口是一个准双向并

行口,作通用并行I/O口使用;P2口除了可作为通用I/O使用外,还可在CPU

访问外部存储器时作高八位地址线使用;P3口是一个多功能口除具有准双向I/O

功能外,还具有第二功能。

5、简述MCS-51单片机的中断响应过程。

答:CPU在每个机器周期的S5P2期间顺序采样每个中断源,在下一个机器周

期S6区间按优先级顺序查询中断标志,如查询到某个中断定标志为1,将在

接下来的机器周期S1期间按优先级进行中断处理,中断系统通过硬件自动将

相应的中断矢量地址装入PC ,以便进入相应的中断服务程序。一旦响应中断,CPU 首先置位相应的中断“优先级触发器”,然后由硬件执行一条长调用指令,把当前的PC 值压入堆栈,以保护断点,再将相应的中断服务的入口地址送入PC ,于是CPU 接着从中断服务程序的入口处开始执行。对于有些中断源,CPU 在响应中断后会自动清除中断标志。

6、8051定时器的门控制信号GATE 设置为1时,定时器如何启动?

当GATE 为1时,引脚受到0INT 信号的影响。当0INT 为1时且使TR0为1时,定时器才能起动

3、AT89S52引脚ALE 、PSEN 和WR 、RD 作用?

答:ALE 低字节地址锁存信号,当系统扩展时ALE 的下降沿将P0口输出的低8位地址锁存到地址锁存器中,以实现低字节地址和数据的分时复用。

PESN 外部ROM 读选通信号,低电平有效。 WR 外部RAM 写选通信号,低电平有效。 RD 外部RAM 读选通信号,低电平有效。 (每点1.5分)

4、在CPU 外扩程序存储器中,地址锁存器的作用?

答:当CPU 访问外部程序存储器时,16位的程序计数器指针PC 的低8位地址来自于P0口,高8位来自于P2口。

由于P0口同时又作为由外部程序存储器读取的8位指令代码的数据总线,因此为了保证CPU 访问外部程序存储器期间提供给外部程序存储器的16位地址不变,必须将由P0口输出的低8位地址码进行锁存。

单片机产品开发流程12.

详细的单片机开发流程 一、项目评估: 出初步技术开发方案,据此出预算,包括可能的开发成本、样机成本、开发耗时、样机制造耗时、利润空间等,然后根据开发项目的性质和细节评估风险,以决定项目是否落实资金上马。 二、项目实施: 1、设计电原理图: 在做这一步时要考虑单片机的资源分配和将来的软件框架、制定好各种通讯协议, 尽量避免出现当板子做好后, 即使把软件优化到极限仍不能满足项目要求的情况, 还要计算各元件的参数、各芯片间的时序配合, 有时候还需要考虑外壳结构、元件供货、生产成本等因素, 还可能需要做必要的试验以验证一些具体的实 现方法。设计中每一步骤出现的失误都会在下一步骤引起连锁反应, 所以对一些没有把握的技术难点应尽量去核实。 2、设计印刷电路板(PCB 图: 完成电原理图设计后, 根据技术方案的需要设计 PCB 图, 这一步需要考虑机械结构、装配过程、外壳尺寸细节、所有要用到的元器件的精确三维尺寸、不同制 版厂的加工精度、散热、电磁兼容性等等, 为最终完成这一步常常需要几十次回 头修改电原理图。 3、把 PCB 图发往制版厂做板: 将加工要求尽可能详细的写下来与 PCB 图文件一起发电邮给工厂,并保持沟通,及时解决加工中出现的一些相关问题。 4、定购开发系统和元件:

要考虑到开发过程中的可能的损耗, 供货厂商的最小订货量、商业信誉、价格、服务等, 具体工作包括整理购货清单、联系各供货厂商、比较技术参数、下定单、跑银行汇款、传真汇款底单、催货等等。 5、装配样机: PCB板拿到后开始样机装配,设计中的错漏会在装配过程开始显现,尽量去补救。 6、样机调试: 样机初步装好就可以开始调试, 当然需要有软件才能调, 有人说单片机的软件不是编出来而是调出来的, 所以这个过程需要用到电烙铁、刻刀、不同参数的元件、各种调试和仿真软件、样机的模拟工作环境等。常常会因为设计阶段的疏忽而不得不对样机动手术, 等整个调试终于完成之后, 往往样机的板子已经面目全非。 7、整理数据: 到了这一步, 项目开发的大部分工作都已经完成了, 这时候需要将样机研发过程中得到的重要数据记录保存下来,比如更新电原理图里的元件参数、 PCB 元件库里的三维模型, 还要记录暴露出来的设计上的失误、分析失误的原因、采用的补救方案等等。 8、 V1.1 如果项目进入生产阶段或确有需要, 可以根据修正后的技术方案按以上各个步骤重做一台完善的 V1.1版样机。 9、编写设备文档 包括编写产品说明书、拍摄外观图片等, 如果设备需要和电脑通讯, 还得写好与电脑的接口标准和通讯协议说明。

单片机原理及应用 设计报告

单片机设计报告 编写:HUBU2015级通信工程xmx 2017年5月23日 一、设计的目的与要求 利用8*8LED点阵动态显示汉字的字样。采用STC89C52单片机作为整个控制搭电路的核心,并编制软件程序,实现汉字的显示。通过此设计来巩固单片机硬件系统的设计及软件系统的编程,通过设计将平时所学知识付诸实践,提高动手能力。 1、设计一个8*8点阵LED电子显示屏。 2、要求在目测条件下LED显示屏各点亮度均匀、充足,可显示一个“大”字。 二、总体方案设计 2.1 硬件电路的总体设计 1、设计总体框图 硬件电路的设计框图如图1所示。硬件电路结构由8个部分组成:时钟电路、复位电路、按键接口电路、电源电路、点阵显示阳极电路、点阵显示阴极电路和8*8点阵显示电路。 2、工作原理 由于是8*8点阵屏设计,需要端口16个,可采用静态显示模式,用P0口控制行,P1口控制列,通过软件编程,即可实现汉字的显示。

3、元器件清单 2.2系统软件的设计 软件程序主要由开始、初始化、主程序、字库和延时子程序组成。 三、系统硬件电路的具体设计 3.1 时钟电路 STC89C52单片机内部的振荡电路是一个高增益反向放大器,引线X1和X2分别是放大器的输入端和输出端。单片机内部虽然有振荡电路,但要形成时钟,外部还需附加电路。STC89C52的时钟产生方式有两种:内部时钟电方式和外部时钟方式。由于外部时钟方式用于多片单片机组成的系统中,所以此处选用内部时钟方式。

内部时钟方式:利用其内部的振荡电路在X1和X2引线上外接定时元件,内部振荡电路产生自激振荡。最常用的是在 X1和X2之间接晶体振荡器与电路构成稳定的自激振荡器,如图4所示电路所示为单片机最常用的时钟振荡电路的接法,其中晶振可选用振荡频率为12MHz的石英晶体,电容器一般选择30PF 左右 3.2 复位电路 单片机在启动运行时需要复位,使CPU以及其他功能部件处于一个确定的初始状态,并从这个状态开始工作。另外,在单片机工作过程中,如果出现死机时,也必须对单片机进行复位,使其重新开始工作。本设计中采用按键复位电路,上电瞬间,RC电路充电,RST引线端出现正脉冲,只要RST端保持10ms以上的高电平,就能使单片机有效地复位。其中R1选择10KΩ左右的电阻,电容器一般选择10μF。 3.3显示电路的设计 本次设计中采用8*8点阵LED显示器,简称LED点阵板或LED矩阵板。它是以发光二极管为像素,按照行与列的顺序排列起来,用集成工艺制成的显示器件。有单色和双色之分,这种显示器有共阳极接法和共阴极接法两种。设计中用到的是“列共阳,行共阴”,即“列用高电平控制,行用低电平控制”。图中画

快速入门单片机汇编语言

快速入门单片机汇编语言 简要: 单片机有通用型和专用型之分。专用型是厂家为固定程序的执行专门开发研制的一种单片机,其程序不可更改。通用型单片机是常用的一种供学习或自主编制程序的单片机,其程序需要自己写入,可更改。单片机根据其基本操作处理位数不同可以分为:1位、4位、8位、16、32位单片机。 正文: 在此我们主要讲解美国ATMEL公司的89C51单片机。 一、89C51单片机PDIP(双列直插式)封装引脚图: 其引脚功能如下: P0口(p0.0—p0.7):为双向三态口,可以作为输入/输出口。但在实际应用中通常作为地址/数据总线口,即为低8位地址/数据总线分时复用。低8位地址在ALE信号的负跳变锁存到外部地址锁存器中,而高8位地址由P2口输出。 P1口(p1.0—p1.7):其每一位都能作为可编程的输入或输出线。 P2口(p2.0—p2.7):每一位也都可作为输入或输出线用,当扩展系统外设时,可作为扩展系统的地址总线高8位,与P0口一起组成16位地址总线。对89c51单片机来说,P2口一般只作为地址总线使用,而不作为I/O线直接与外设相连。 P3口(p3.0—p3.7):其为双功能口,作为第一功能使用时,其功能与P1口相同。当

作为第二功能使用时,每一位功能如下表所示。 P3口第二功能 Rst\Vpd:上电复位端和掉电保护端。 XTAL1(xtal2):外接晶振一脚,分别接晶振的一端。 Gnd:电源地。 Vcc:电源正级,接+5V。

PROG\ALE:地址锁存控制端 PSEN:片外程序存储器读选通信号输出端,低电平有效。 EA\vpp:访问外部程序储存器控制信号,低电平有效。当EA为高电平时访问片内存储器,若超出范围则自动访问外部程序存储器。当EA为低电平时只访问外部程序存储器。 二、常用指令及其格式介绍: 1、指令格式: [标号:]操作码 [ 目的操作数][,操作源][;注释] 例如:LOOP:ADD A,#0FFH ;(A)←(A)+FFH 2、常用符号: Ri和Rn:R表示工作寄存器,i表示1和0,n表示0~7。 rel:相对地址、地址偏移量,主要用于无条件相对短转移指令和条件转移指令。 #data:包含于指令中的8位立即数。 #data16:包含于指令中的16位立即数。 addr16:16位目的地址。 direct:直接寻址的地址。

单片机原理及系统设计课程设计大纲

《单片机原理及系统设计》课程设计大纲 一、目的 本课程设计是在学习先修课程《单片机原理与系统设计》之后,为加强对学生系统设计和应用能力的培养而开设的综合设计训练环节。本课程设计应结合《单片机原理与系统设计》课程的基础理论,重点强调实际应用技能训练,包括单片机系统设计的软件和硬件两部分。其课程设计任务是使学生通过应用单片机系统设计的基本理论,基本知识与基本技能,掌握单片机应用系统各主要环节的设计、调试方法,初步掌握并具备应用单片机进行设备技术改造和产品开发的能力,培养学生的创新意识,提高学生的动手能力和分析问题、解决问题的能力。 二、课程设计的要求和过程管理 设计步骤的规范不但可以培养学生科学的工作方法和作风,而且还能有效地减少错误,提高工作效率。因此必须严格执行良好的实验步骤规范(包括上机操作规范)。本课程设计的基本步骤是: 1.问题分析及解决方案框架确定 充分地分析和理解问题本身,弄清要求做什么(What to do?)。在确定解决方案框架过程中(How to do?),综合考虑系统功能,考虑怎样使系统结构清晰、合理、简单和易于调试。最后确定每个模块的选择及设计方案。 2.详细设计 确定各个模块与单片机的接口方法,分配好单片机的资源,在此基础上进行程序设计。 3.上机调试

选择自己熟悉的单片机开发环境,或者利用实验室现有资源,检查、调试、验证自己所做系统设计的正确性。 4.完成课程设计报告 本课程设计共一周(5天),时间安排为: (1)下达设计任务书,熟悉设计系统任务和要求;查阅设计资料; (2)系统软、硬件总体设计; (3)设计电原理图, 系统硬件调试; (4)编写软件,系统软件调试; (5)完成课程设计报告并参加课程设计检查; (6)封面格式如下页所示。 (7)论文内容要求如下。 1)引言 2)设计方案及原理 3)硬件设计 4)软件设计 5)总结 6)参考文献 7)附录 三、考核评估 课程设计一结束即评定成绩。重点考核以下几个方面的内容:设计内容完成情况(系统软、硬件设计)占总成绩的60%;课程设计报告完成情况占总成绩的20%;平时设计认真,独立思考完成情况占总成绩10%;课程设计宣讲、答辩占总成绩的10%。 优秀:设计认真、准确,设计思想新颖,有一定的独到之处,打印书写工整,电路设计合理,程序设计思路清晰,有较强的独立思考和创新能力,独立思考

单片机程序设计方法总结.doc

单片机程序设计方法总结 程序设计是单片机开发最重要的工作程序设计就是利用单片机的指令系统根据应用系统即目标产品的要求编写单片机的应用程序其实我们前面已经开始这样做过了这一课我们不是讲如何来设计具体的程序而是教您设计单片机程序的基本方法不过在讲解之前还是有必要先了解一下单片机的程序设计语言这里的语言与我们通常理解的语言是有区别的它指的是为开发单片机而设计的程序语言如果 您没有学过程序设计可能不太明白我给大家简单解释一下您知道微软的VB VC 吗VB VC 就是为 某些工程应用而设计的计算机程序语言通俗地讲它是一种设计工具只不过这种工具是用来设计计 算机程序的要想设计单片机的程序当然也要有这样一种工具说设计语言更确切些单片机的设计 语言基本上有三类: 1 .完全面向机器的机器语言 机器语言就是能被单片机直接识别和执行的语言计算机能识别什么以前我们讲过--是数字0 或1 所以机器语言就是用一连串的0 或1 来表示的数字比如MOV A 40H 用机器语言来表示就是 11100101 0100000 很显然用机器语言来编写单片机的程序不太方便也不好记忆我们必须想办法 用更好的语言来编写单片机的程序于是就有了专门为单片机开发而设计的语言 2. 汇编语言 汇编语言也叫符号化语言它使用助记符来代替二进制的0 和1 比如刚才的MOV A40H 就是汇编语言 指令显然用汇编语言写成的程序比机器语言好学也好记所以单片机的指令普遍采用汇编指令来编写 用汇编语言写成的程序我们就叫它源程序或源代码可是计算机不能识别和执行用汇编语言写成的程 序啊怎么办当然有办法我们可以通过翻译把源代码译成机器语言这个过程就叫做汇编,汇编工作现在 都是由计算机借助汇编程序自动完成的不过在很早以前它是靠手工来做的. 值得注意的是:汇编语言也是面向机器的,它仍是一种低级语言每一类计算机都有它自己的汇 编语言比如51 系列有它的汇编语言;PIC 系列也有它的汇编语言微机也有它自己的汇编语言它 们的指令系统是各不相同的也就是说不同的单片机有不同的指令系统它们之间是不通用的,这就

快速入门单片机汇编语言

快速入门单片机汇编语 言 文档编制序号:[KKIDT-LLE0828-LLETD298-POI08]

快速入门单片机汇编语言 简要: 单片机有通用型和专用型之分。专用型是厂家为固定程序的执行专门开发研制的一种单片机,其程序不可更改。通用型单片机是常用的一种供学习或自主编制程序的单片机,其程序需要自己写入,可更改。单片机根据其基本操作处理位数不同可以分为:1位、4位、8位、16、32位单片机。 正文: 在此我们主要讲解美国ATMEL公司的89C51单片机。 一、89C51单片机PDIP(双列直插式)封装引脚图: 其引脚功能如下: P0口(—):为双向三态口,可以作为输入/输出口。但在实际应用中通常作为地址/数据总线口,即为低8位地址/数据总线分时复用。低8位地址在ALE信号的负跳变锁存到外部地址锁存器中,而高8位地址由P2口输出。 P1口(—):其每一位都能作为可编程的输入或输出线。 P2口(—):每一位也都可作为输入或输出线用,当扩展系统外设时,可作为扩展系统的地址总线高8位,与P0口一起组成16位地址总线。对89c51单片机来说,P2口一般只作为地址总线使用,而不作为I/O线直接与外设相连。 P3口(—):其为双功能口,作为第一功能使用时,其功能与P1口相同。当作为第二功能使用时,每一位功能如下表所示。 P3口第二功能

Rst\Vpd:上电复位端和掉电保护端。 XTAL1(xtal2):外接晶振一脚,分别接晶振的一端。 Gnd:电源地。 Vcc:电源正级,接+5V。 PROG\ALE:地址锁存控制端 PSEN:片外程序存储器读选通信号输出端,低电平有效。 EA\vpp:访问外部程序储存器控制信号,低电平有效。当EA为高电平时访问片内存储器,若超出范围则自动访问外部程序存储器。当EA为低电平时只访问外部程序存储器。 二、常用指令及其格式介绍: 1、指令格式: [标号:]操作码 [ 目的操作数][,操作源][;注释] 例如:LOOP:ADD A,#0FFH ;(A)←(A)+FFH 2、常用符号: Ri和Rn:R表示工作寄存器,i表示1和0,n表示0~7。 rel:相对地址、地址偏移量,主要用于无条件相对短转移指令和条件转移指令。 #data:包含于指令中的8位立即数。 #data16:包含于指令中的16位立即数。

单片机入门不难------谈PIC系列

单片机入门不难------谈PIC系列 单片机入门不难------谈PIC系列 作者:佚名来源:不详录入:Admin更新时间:2008-7-2716:27:15点击数:3 【字体:】 单片机入门不难------谈PIC系列(转自矿石收音机论坛---崂山) 坛子里的老兄小弟,如果你已经多次想进单片机之门而未入,如果你有很多空闲时间想打发,如果你玩收音机感到疲劳想换个口味,如果。。。 那就听小弟我白话白话,反正我们这些老大难也没有什么重要的事情做。。。。 闲言少许,话说人间事物的学习,不外两类:一类入门易,精通难比如矿石机,再比如练书法谁都会写两下,可写好却不是一朝一夕的事儿。另一类则入门难精通易,比如超外差收音机,学会需要各种放大、振荡、反馈、混频、中频、统调等等,但是一旦你学会,做出一个高质量的收音机,确也不是难事。单片机属于后者,所以无论如何,你得用些时间,学习一些新名词并理解,甚至还得花一些小钱。但是,一旦你掌握,其乐趣也像收音机一样,很有吸引力的。本故事说给一点也不懂计算机,甚至数字电路的引引道。一般入门应该有保障。 改为:本故事说给懂电工、电子、逻辑电路的老家伙和半老家伙,如果对电子一窍不通人讲那我劝你也别瞎子点灯了,要是边讲基础边讲pic这书就不知唱到何年何月啦。 单片机不同于收音机,收音机的任务最终就是听好声音一个,单片机可以做很多事情,要你来安排它的工作。安排它就先的认识它,熟悉它 请看图1 这个8条腿的小螃蟹就是我们的第一顿饭,只要把它吃下去,以后的大餐就好办了。 第1、8条腿接电源+5V和地线。头两条腿是螃蟹钳子,好吃的很。现在剩下了6条腿 第2、3条腿使用时外接一个晶振的东西我们接一个4MHz的。 第4条腿是复位脚,是一个信号输入脚。单片机正常运行时接高电平。当有一个低电平脉冲输入到这个脚时单片机就复位。所谓复位就是单片机内部所有的工作部件统统回到规定的状态,程序也复位到头一句上开始逐条运行。例如,你设计的一个报警锁定的LED红灯亮后,当需要解除报警时,用一个按钮给这个脚瞬时接地一下,相当于给它一个夫脉冲,系统就复位了,led灯就熄灭了,程序从头开始。 以上5个脚,几乎所有单片机都有,包括世界上最复杂的,和世界比较简单的单片机

单片机原理及应用综合性实验报告

单片机原理及应用综合性实验报告 姓名:学号 班级: 指导教师:

单片机原理及应用实验报告实验项目名称:键盘、数码管显示综合实验 实验日期:2014.12.22 实验成绩: 实验评定标准:

一、实验目的 1.通过实验,掌握单片机在输入输出口线不够用时,怎样扩展接口的方法来支 持8位LED显示和16键盘集成实现。 2.熟悉8255、8279等芯片性能;掌握其编程方法。 3.掌握键盘子程序调试方法,掌握按一个键并将键值显示出来的编程方法,这 是诊断硬件、测试硬件、产品开发、软件编程必须掌握的方法。 二、实验器材 PC机一台以及Keil、Proteus软件 表1 以8155为扩展方式的器件表 表2 实验原理图元件清单表

三、实验内容 (一)基本内容 1.编写并调试出一个键盘实验子程序 2.用子程序调用方法,分别调用键盘子程序和显示子程序,将按一个键的键值, 在数码管上显示出来。 3.通过8155芯片的扩展功能,建立描述线与数据线同步功能,如图3.1。 图3.1 键盘显示器原理图

图3.2 数码管管脚及电路连接图 (二)扩展内容 模拟控制以红、绿、黄3个发光二极管表示交通信号灯。还有有两位数码倒计时显示。 具体要求: 上电红灯亮并且数码管倒计时30秒,最后5秒黄灯闪烁,倒计时完毕,绿灯亮并且数码管倒计时60秒,最后5秒黄灯闪烁,如此循环。 四、实验步骤 (一)仿真实验过程: 1. 打开Keil 程序,执行菜单命令“Project ”à“New Project ”创建“键盘数码 管显示综合实验”项目,并选择单片机型号为AT89C52.BUS 。 GND a b c d e f g dp g f e d c b a (a)

单片机C语言快速入门学

单片机c语言入门学 相信很多爱好电子的朋友,对单片机这个词应该都不会陌生了吧。不过有些朋友可能只听说他叫单片机,他的全称是什么也许并不太清楚, 更不用说他的英文全称和简称了。单片机是一块在集成电路芯片上集成了一台有一定规模的微型计算机。简称为:单片微型计算机或单片机 (Single Chip Computer)。单片机的应用到处可见,应用领域广泛,主要应用在智能仪表、实时控制、通信、家电等方面。不过这一切都没 什么关系,因为我(当然也包括任何人)都是从不知道转变成知道的,再转变成精通的。现在我只想把我学习单片机的经历,详细地讲叙给大 家听听,可能有些大虾会笑话我,想:那么简单的东西还在这里卖弄。但是你错了,我只是把我个人学习的经历讲述一遍而已,仅仅对那些想 学习单片机,但又找不到好方法或者途径的朋友,提供一个帮助,使他们在学习过程中,尽量少走些弯路而已! 首先,你必须有学习单片机的热情,不是说今天去图书馆看了一个下午关于单片机的书,而明天玩上半天,后天就不知道那个本书在讲什 么东西了。还是先说说我吧,我从大二的第一个学期期末的时候才开始接触单片机,但在这之前,正如上面所说的:我知道有种芯片叫单片机, 但是具体长成什么样子,却一点也不知道!看到这里很多朋友一定会忍不住发笑。嘿嘿,你可千万别笑,有些大四毕业的人也同样不知道单片 机长成什么样子呢!而我对单片机的痴迷更是常人所不能想象的地步,大二的期末考试,我全放弃了复习,每当室友拿着书在埋头复习的时候, 我却捧着自己从图书馆借的单片机书在那看,虽然有很多不懂,但是我还是坚持了下来,当时我就想过,为了单片机值不值得我这样去付出, 或许这也是在一些三流学校的好处吧,考试挂科后,明年开学交上几十元一门的补考费,应该大部分都能过了。于是,我横下一条心,坚持看 我的单片机书和资料。 当你明白了单片机是这么一回事的时候,显而易见的问题出来了:我要选择那种语言为单片机编写程序呢?这个问题,困扰了我好久。具 体选择C51还是A51呢?汇编在我们大二之前并没有开过课,虽然看着人家的讲解,很容易明白单片机的每一时刻的具体工作情况,但是一合上 书或者资料,自己却什么也不知道了,根本不用说自己写程序了。于是,我最终还是决定学C51,毕竟C51和我们课上讲的C语言,有些类似, 编程的思想可以说是相通的。而且C51还有更大的优点就是编写大程序时的优越性更不言而喻,当然在那时,我并没有想的那么深远,C51的特 点,还是在后来的实践过程中,渐渐体会到的!朋友如果你选择了C51,那么请继续往下看,如果你选择了A51,那么你可以不要看了!因为下面讲 的全是C方面的,完全在浪费你的时间! 呵呵 ^_^ 第二,既然你想学好单片机,你必须得舍得花钱,如果不买些芯片回来自己动手焊焊拆拆的(但是在后期会介绍给大家一个很好用的硬件 仿真软件,并不需要你用实验板和仿真器了,直接在你的PC上完成,但是软件毕竟是软件,从某个特定的意义上来说是并不能代替硬件的),即使 你每天捧着本书,把那本书翻烂,也永远学不会单片机的!刚接触单片机的朋友,看了资料,

高手讲解PIC单片机:单片机的入门就是这么简单

高手讲解PIC单片机:单片机的入门就是这么简单 单片机入门不难,这是几年前的一篇老文章,讲得通俗易懂,分享给初学者。 这个8条腿的小螃蟹就是我们的第一顿饭,只要把它吃下去,以后的大餐就好办了。 第1、8条腿接电源+5V 和地线。头两条腿是螃蟹钳子,好吃的很。现在剩下了6 条腿 第2、3条腿使用时外接一个晶振的东西我们接一个4 MHz的。 第4条腿是复位脚,是一个信号输入脚。单片机正常运行时接高电平。当有一个低电平脉冲输入到这个脚时单片机就复位。所谓复位就是单片机内部所有的工作部件统统回到规定的状态,程序也复位到头一句上开始逐条运行。例如,你设计的一个报警锁定的LED红灯亮后,当需要解除报警时,用一个按钮给这个脚瞬时接地一下,相当于给它一个夫脉冲,系统就复位了,led灯就熄灭了,程序从头开始。 以上5个脚,几乎所有单片机都有,包括世界上最复杂的,和世界比较简单的单片机-----PIC12CE519 轮到第几条腿啦?奥,是第5条腿,这条叫单片机的I/O 脚。就是输入输出脚。你可通过程序动态地控制它作为输入或输出,作为输出时可以程序控制它的输出电平为高1或低0。所以,他的工作状态有四种:输入0,输入1,输出0,输出1,剩下的两条腿和第5脚功能一个样。 上边我们已经把8条腿消化掉了,其实我们要弄明白的也就3只腿,我们再简单一些,先整明白两条腿,即GP0,GP1.这两条腿低级一点的用法,可以控制继电器,LED灯,高级一些的用法可以进行I2C总线,RS232总线的通信,作为扩展输入可以模拟出来A/D转换器(6--7bit),可以测量一个电阻的粗略值。作为输出也可以直接推动扬声器奏出音乐。这是后话暂且不提。 现在要控制使用这两只腿,我这个三脚猫功夫的说书的不得不讲一下软件了,要想讲明白软件又不得不涉及到单片机的内部结构。那位说啦,你可别提这软件和结构了,以前俺就

单片机基于C语言的编程程序

#include #include #define uchar unsigned char #define uint unsigned int sbit RED_ZHU = P0^0;//对应L1LED 代表主道路红灯sbit YELLOW_ZHU = P0^1;//对应L2LED 代表主道路黄灯sbit GREEN_ZHU = P0^2;//对应L3LED 代表主道路绿灯 sbit RED_ZHI = P0^4;//对应L4LED 代表支道路绿灯sbit YELLOW_ZHI = P0^5;//对应L5LED 代表支道路绿灯sbit GREEN_ZHI = P0^6;//对应L6LED 代表支道路绿灯 /********************************************************* 500ms延时函数 晶振:11.0592MHz *********************************************************/ void delay(unsigned char j) { unsigned char k; unsigned int i; for(;j>0;j--) { for(i=1250;i>0;i--) { for(k=180;k>0;k--); } } } /********************************************************* 主函数 *********************************************************/ main() { uchar t; P0=0xff; P3=0xff; RED_ZHU=0; //第一个状态 RED_ZHI=0; delay(10);

从单片机初学者迈向单片机工程师

这个我从eehome贴过来的。写的非常的好。我们用学单片机不要停在演示的基础上。只能让单片机完成局部事。这样我们永远不会走出流水灯地狱!!! 学习单片机也已经有几年了,藉此机会和大家聊一下我学习过程中的一些经历和想法吧。也感谢一线工人提供了这个机会。希望大家有什么好的想法和建议都直接跟帖说出来。毕竟只有交流才能够碰撞出火花来^_^。 。“卖弄”也好,“吹嘘”也罢,我只是想认真的写写我这一路走来历经的总总,把其中值得注意,以及经验的地方写出来,权当是我对自己的一个总结吧。而作为看官的你,如果看到了我的错误,还请一定指正,这样对我以及其它读者都有帮助,而至于你如果从中能够收获到些许,那便是我最大的欣慰了。姑妄言之,姑妄听之。如果有啥好的想法和建议一定要说出来。 几年前,和众多初学者一样,我接触到了单片机,立刻被其神奇的功能所吸引,从此不能自拔。很多个日夜就这样陪伴着它度过了。期间也遇到过非常多的问题,也一度被这些问题所困惑……等到回过头来,看到自己曾经走过的路,唏嘘不已。经常混迹于论坛里,也看到了很多初学者发的求助帖子,看到他们走在自己曾走过的弯路上,忽然想到了自己的那段日子,心里竟然莫名的冲动,凡此总总,我总是尽自己所能去回帖。很多时候,都想写一点什么东西出来,希望对广大的初学者有一点点帮助。但总是不知从何处写起。今天借一线工人的台,唱一唱我的戏 一路学习过来的过程中,帮助最大之一无疑来自于网络了。很多时候,通过网络,我们都可以获取到所需要的学习资料。但是,随着我们学习的深入,我们会慢慢发现,网络提供的东西是有限度的,好像大部分的资料都差不多,或者说是适合大部分的初学者所需,而当我们想更进一步提高时,却发现能够获取到的资料越来越少,相信各位也会有同感,铺天盖地的单片机资料中大部分不是流水灯就是LED,液晶,而且也只是仅仅作功能性的演示。于是有些人选择了放弃,或者是转移到其他兴趣上面去了,而只有少部分人选择了继续摸索下去,结合市面上的书籍,然后在网络上锲而不舍的搜集资料,再从牛人的只言片语中去体会,不断动手实践,慢慢的,也摸索出来了自己的一条路子。当然这个过程必然是艰辛的,而他学会了之后也不会在网络上轻易分享自己的学习成果。如此恶性循环下去,也就不难理解为什么初级的学习资料满天飞,而深入一点的学习资料却很少的原因了。相较于其他领域,单片机技术的封锁更加容易。尽管已经问世了很多年了,有价值的资料还是相当的欠缺,大部分的资料都是止于入门阶段或者是简单的演示实验。但是在实际工程应用中却是另外一回事。有能力的高手无暇或者是不愿公开自己的学习经验。 很多时候,我也很困惑,看到国外爱好者毫不保留的在网络上发布自己的作品,我忽然感觉到一丝丝的悲哀。也许,我们真的该转变一下思路了,帮助别人,其实也是在帮助自己。啰啰嗦嗦的说了这么多,相信大家能够明白说的是什么意思。在接下来的一段日子里,我将会结合电子工程师之家举办的主题周活动写一点自己的想法。尽可能从实用的角度去讲述。希望能够帮助更多的初学者更上一层楼。而关于这个主题周的最大主题我想了这样的一个名字“从单片机初学者迈向单片机工程师”。名字挺大挺响亮,给我的压力也挺大的,但我会努力,争取使这样的一系列文章能够带给大家一点帮助,而不是看后大跌眼镜。这样的一系列文章主要的对象是初学者,以及想从初学者更进一步提高的读者。而至于老手,以及那些牛XX的人,希望能够给我们这些初学者更多的一些指点哈~@_@ 我们首先来看第一章节

单片机原理及应用与C51程序设计(第三版)第2章作业

习题 1.MCS-51单片机由哪几个部分组成? 答:MCS-51单片机主要由以下部分组成的:时钟电路、中央处理器(CPU)、存储器系统(RAM和ROM)、定时/计数器、并行接口、串行接口、中断系统及一些特殊功能寄存器(SFR)。 2.MCS-51的标志寄存器有多少位,各位的含义是什么? 答:MCS-51的标志寄存器PSW有8位; 6 5 D 4 D 3 2 1 0 C 0 R S1 R S0 V 含义如下: C(PSW.7):进位或借位标志位。 AC(PSW.6):辅助进位或借位可标志位。 F0(PSW.5):用户标志位。是系统预留给用户自己定义的标志位。 RS1、RS0(PSW.4、PSW.3):寄存器组选择位。可用软件置位或清零,用于从四组工作寄存器中选定当前的工作寄存器组。 OV(PSW.2):溢出标志位。在加法或减法运算时,如运算的结果超出8位二进制数的范围,则OV置1,标志溢出,否则OV清零。 P(PSW.0):奇偶标志位。用于记录指令执行后累加器A中1的个数的奇偶性。若累加器A中1的个数为奇数,则P置位,若累加器A中1的个数为偶数,则P 清零。 其中PSW.1未定义,可供用户使用。 3.在8051的存储器结构中,内部数据存储器可分为几个区域?各有什么特点? 答:片内数据存储器按功能可以分成以下几个部分:工作寄存器组区、位寻址区、一般RAM区和特殊功能寄存器区,其中还包含堆栈区。工作寄存器组区,00H~1FH单元,可用R0~R7等8个寄存器访问;位寻址区,20H~2FH单元,可按位方式访问;一般RAM区,30H~7FH单元;堆栈区,可从08到7F单元;特殊功能寄存器区位于80H~FFH单元。 4.什么是堆栈?说明MCS-51单片机的堆栈处理过程。 答:堆栈是按先入后出、后入先出的原则进行管理的一段存储区域。CS-51单片机的堆栈是向上生长型的,存入数据是从地址低端向高端延伸,取出数据是从地址高端向低端延伸。入栈和出栈数据是以字节为单位的。入栈时,SP指针的内容先自动加1,然后再把数据存入到SP指针指向的单元;出栈时,先把SP指针指向单元的数据取出,然后再把SP指针的内容自动减1。 5.简述内部ROM的工作寄存器组情况,系统默认是第几组?

STM32单片机快速入门V1.0概要

STM32 单片机快速入门 王志杰 2010年 5月 15日 目录 1 集成开发环境 (IDE ...................................................................................................................3 1.1 IAR 集成开发环境 ...............................................................................................................3 1.2 KEIL集成开发环 境 (20) 1.3 TrueSTUDIO集成开发环 境 (41) 2 附 录 ...........................................................................................................................................

.....54 2.1 源代码 main.c (54) 1集成开发环境(IDE 1.1IAR 集成开发环境 1.1.1安装 IAR 可从 IAR 网站上下载软件。 https://www.360docs.net/doc/671516369.html, 下载安装,如下图所示:运行 IAR ,界面如下所示:

STM32

单片机快速入门 1.1.2创建一个工程 选择 File>New>Workspace STM32单片机快速入门新建一个 project ,选择

超易单片机入门(小学生都能看得懂的PIC教程)

超易单片机入门(学单片机一定要看) ( 向作者致敬!) 一. 话说人间事物的学习,不外两类:一类入门易精通难,比如矿石机,再比如练书法谁都会写两下,可写好却不是一朝一夕的事儿。另一类则入门难精通易,比如超外差收音机,学会需要各种放大、振荡、反馈、混频、中频、统调等等,但是一旦你学会,做出一个高质量的收音机,确也不是难事。单片机属于后者,所以无论如何,你得用些时间,学习一些新名词并理解,甚至还得花一些小钱。但是,一旦你掌握,其乐趣也像收音机一样,很有吸引力的。 单片机不同于收音机,收音机的任务最终就是听好声音一个,单片机可以做很多事情,要你来安排它的工作。安排它就先的认识它,熟悉它。大家自己查看一下单片机的外形,不妨将它看成是一个8条腿的小螃蟹,这个8条腿的小螃蟹就是我们的第一顿饭,只要把它吃下去,以后的大餐就好办了。 第1、8条腿接电源 +5V和地线。头两条腿是螃蟹钳子,好吃的很。现在已经剩下6条腿了。 第2、3条腿使用时外接一个叫作晶振的东西,我们接一个4MHz的晶振(这还不知道?还是看一下:单片机之路(https://www.360docs.net/doc/671516369.html,)里面对晶振的介绍吧)。 第4条腿是复位脚,是一个信号输入脚。单片机正常运行时接高电平。当有一个低电平脉冲输入到这个脚时单片机就复位。所谓复位就是单片机内部所有的工作部件统统回到规定的状态,程序也复位到头一句上开始逐条运行。例如,你设计的一个报警锁定的LED红灯亮后,当需要解除报警时,用一个按钮给这个脚瞬时接地一下,相当于给它一个夫脉冲,系统就复位了,led灯就熄灭了,程序从头开始。 以上5个脚,几乎所有单片机都有,包括世界上最复杂的,和世界比较简单的单片机-PIC12CE519。 轮到底几条腿啦?奥,是第5条腿,这条叫单片机的I/O脚。就是输入输出脚。你可通过程序动态地控制它作为输入或输出,作为输出时可以程序控制它的

教你如何用C++写单片机程序

教你如何用C++写单片机程序 关键词:C++ 面向对象单片机 从大一就开始学习单片机,学51,A VR编程都使用C语言的风格,即面向过程,只要能画出程序流程图,程序基本就born了。我热衷于编程,尤其是C++,当时想有没有一天,C++的类和对象也能出现在单片机中? 历经世事沧桑,事到如今,我终于有机会,和大家一起学习使用真正面向对象的C++来控制单片机。目前单片机编译器大部分只支持C语言,C++还不够普及,但我们有理由相信,有着更先进的面向对象的理念,有更加平易近人的类和继承,C++必将取代C,成为单片机程序的主流。试看将来环球单片机,必是C++的世界! 下面大家跟着我来一起学习怎么用C++给单片机编程序!本文要求大家玩过A VR单片机,有过C语言编程经验,而且要对VC6.0开发环境有一定了解。 必备软件:VC6.0(用于编辑源程序),WinA VR(用于生成Makefile,支持A VR系列单片机),Proteus(用于仿真调试)。 首先,你的电脑上要装有VC6.0,进入后选菜单【file】---【new】新建工程,如图1选择Makefile工程,输入工程名称,路径,点确定。 图1_新建工程 一路OK建好工程,界面如图2。这个工程是专门写makefile脚本的,你如果学A VR单片机使用avr-gcc那应该对makefile有一定了解,如果想多了解一点详见https://www.360docs.net/doc/671516369.html,/view/974566.html?wtp=tt(呵呵,百度百科)。 你还需要安装WINA VR,这是个免费软件,网上很多资源,这个软件很容易安装,一路Next 就可以啦!为了使用方便,我的WINAVR安装到了C盘根目录下的WINA VR文件夹。安装好后,可以直接用它来编辑源代码,今天我就不讲它的使用方法了,只讲怎么生成makefile。自我感觉用熟悉的VC6.0环境编写程序心情很愉快,大家还是跟我一起来,打造

【单片机原理与应用】课程教学总体设计

高等职业技术教育 《单片机原理与应用》课程教学总体设计 课程名称:《单片机原理与应用》课程编码:051071 适用专业:电气自动化技术 学时数:84其中:理论教学学时:54课内实训学时:30制定人:审核人: 一、课程基本信息 二、教学设计 (一)学习基础分析 (二)学习目标 (三)教学内容(含作业设计) (四)教学方法 三、考核与评价 (一)考核方式及成绩评定标准 (二)学习效果评价 四、其他 (一)参考教材、讲义、设备、网络等教学 资源 (二)其它需要说明事项 机电工程系 2008年8月18日

一、课程基本信息 1.课程名称:单片机原理与应用 2.课程类别:专业核心课 3.课程编码:051071 4.学时:84学时(理论教学54学时,课内实训30学时) 5.适应专业:电气自动化技术专业、电力系统设备及自动化方向专业 二、教学设计 (一)学习基础分析 高等数学、物理基础知识; 已经掌握电工技术、电子技术、低压电气设备、电机拖动技术、传感器技术、自动控制原理等相关内容与技能。 (二)学习目标 1.正确理解、学会使用MCS-51单片机。 2.理解并掌握MCS-51单片机的硬件结构和原理。 3.熟练使用MCS-51单片机的指令。 4.掌握MCS-51单片机的中断和定时系统。 5. 熟悉MCS-51单片机的系统扩展原理及方法。 6. 能熟练的应用MCS-51单片机指令编写简单的单片机程序。 7. 能跟据控制要求设计单片机控制系统,进行系统软硬件调试。 8.熟悉MCS-51单片机的开发环境。 (三)教学内容(含作业设计) 模块一:公共基础模块 教学内容实训与作业设计 ●微型计算机基础; ●单片机概述; ●计算机的数制与编码;●微型计算机的组成; ●单片机的主要特点; ●数制及其转换; ●作业1:通过搜集各种资料简述你所了解的微型计算机的应用领域; ●作业2:与同学们讨论:同一般的微型计算机相比,单片机具有哪些主要特点?应用在哪里?

STM8单片机入门快速教程

STM8单片机入门快速教程 一、前言 因个人在学习STM8时遇到许多困惑,所以编译一个 STM8快速入门教程,望能为初学者提供一些帮助。二、STM8使用的编译软件和下载软件 STM8有对应库函数,但我用的是IAR编译软件,是直 接操作寄存器,所以就不对库函数多少什么。IAR是最 近一两年才支持STM8编译的,所以软件嘚找好,注册 机嘚选对。下载软件我是用现成的“轩微科技STM8编 程下载器”淘宝要60多一个。因操作寄存器所以要具 备几个文档,具体我配带在文件里面了。编程用的头文 件是#include 或#include , 根据型号而定,有的型号不一样定义的地址会不一样 的。 三、IO的输出、输入 每个单片机我想最重要懂的应该是它怎么输出高低电平还怎么输入。STM8管脚分三级流水控制。分别有方向寄存器、控制寄存器、还有输出/输入寄存器。 方向寄存器:是控制IO口成输出还是输入状态 控制寄存器:有两个,是控制IO口以什么模式输出或输入 因为高级单片机有很多种输出模式,比如上拉 输入,推挽输出等....。

输出/输入寄存器:其分别有单独的输出寄存器和输入寄存器,输出寄存器给其高低电平就输出高低电平 (条件是配置为输出状态时)。输入寄存器无 论是在输出还是输入模式都可读取IO的高低 电平状态。 其具体设置可下面: DDR CR1 CR2 引脚设置 0 0 0 悬浮输入 0 0 1 上拉输入 0 1 0 中断悬浮输入 0 1 1 中断上拉输入 1 0 0 开漏输出 1 1 0 推挽输出 1 X 1 输出(最快速度为10MHZ)

从单片机初学者迈向单片机工程师_完整.doc

目录: KEY篇第一章----按键程序编写的基础 KEY篇第二章----基于状态转移的独立按键程序设计 LED篇第三章—模块化编程初识 LED篇第四章----渐明渐暗的灯 LED篇第五章----多任务环境下的数码管编程设计 我们用学单片机不要停在演示的基础上。只能让单片机完成局部事。这样我们永远不会走出流水灯地狱! !! 学习单片机也已经有几年了,藉此机会和大家聊一下我学习过程中的一些经历和想法吧。也感谢一线工人提供了这个机会。希望大家有什么好的想法和建议都直接跟帖说出来。毕竟只有交流才能够碰撞出火花来 几年前,和众多初学者一样,我接触到了单片机,立刻被其神奇的功能所吸引,从此不能自拔。很多个日夜就这样陪伴着它度过了。 期间也遇到过非常多的问题,也一度被这些问题所困惑……等到回过头来, 看到自己曾经走过的路,唏嘘不已。经常混迹于论坛里,也看到了很多初学者发的求助帖子,看到他们走在自己曾走过的弯路上,忽然想到了自己的那段日子,心里竟然莫名的冲动,凡此总总,我总是尽自己所能去回帖。很多时候,都想写一点什么东西出来,希望对广大的初学者有一点点帮助。但总是不知从何处写起。今天借一线工人的台,唱一唱我的戏。卖弄”也好,吹嘘”也罢,我只是想认真的写写我这一路 走来历经的总总,把其中值得注意,以及经验的地方写出来,权当是我对自己的一个总结吧。而作为看官的你,如果看到了我的错误,还请一定指正,这样对我以及其它读者都有帮助,而至于你如果从中能够收获到些许,那便是我最大的欣慰了。姑妄言之,姑妄听之。如果有啥好的想法和建议一定要说出来。 一路学习过来的过程中,帮助最大之一无疑来自于网络了。很多时候,通过网络,我们都可以获取到所需要的学习资料。但是,随着我们学习的深入,我们会慢慢发现,网络提供的东西是有限度的,好像大部分的资料都差不多,或者说是适合大部分的初学者所需,而当我们想更进一步提高时,却发现能够获取到的资料越来越少,相信各位也会有同感,铺天盖地的单片机资料中大部分不是流水灯就是 LED,液晶, 而且也只是仅仅作功能性的演示。于是有些人选择了放弃,或者是转移到其他兴趣上面去了,而只有少部分人选择了继续摸索下去,结合市面上的书籍,然后在网络上锲而不舍的搜集资料,再从牛人的只言片语中去体会,不断动手实践,慢慢的,也摸索出来了自己的一条路子。当然这个过程必然是艰辛的,而他学会了之后也不会在网络上轻易分享自己的学习成果。如此恶性循环下去,也就不难理解为什么初级的学习资料满天飞,而深入一点的学习资料却很少的原因了。相较于其他领域,单片机技术的封锁更加容易。尽管已经问世了很多年了,有价值的资料还是相当的欠缺,大部分的资料都是止于入门阶段或者是简单的演示实验。但是在实际工程应用中却是另外一回事。有能力的高手无暇或者是不愿公开自己的学习经验。 很多时候,我也很困惑,看到国外爱好者毫不保留的在网络上发布自己的作品,我忽然感觉到一丝丝的悲哀。也许,我们真的该转变一下思路了,帮助别人,其实也是在帮助自己。啰啰嗦嗦的说了这么多,相信大家能够明白说的是什么意思。在接下来的一段日子里,我将会结合电子工程师之家举办的主题周活动写一点自己的想法。尽可能从实用的角度去讲述。希望能够帮助更多的初学者更上一层楼。而关于这个主题周的最大主题我想了这样的一个名字从单片机初学者迈向单片机工程师”。名字挺大挺响亮,给我的 压力也挺大的,但我会努力,争取使这样的一系列文章能够带给大家一点帮助,而不是看后大跌眼镜。这样的一系列文章主要的对象是初学者,以及想从初学者更进一步提高的读者。而至于老手,以及那些牛XX 的人,希望能够给我们这些初学者更多的一些指点哈?@_@ 我们首先来看第一章节

相关文档
最新文档