单片机系统扩展_练习题

单片机系统扩展_练习题

一、填空题

1. 8051单片机扩展I/O口时占用片外存储器的地址。

2. 8051单片机寻址外设端口时用寻址方式。

3. 8051单片机PSEN控制存储器读操作。

4. 8051 单片机访问片外存储器时利用信号锁存来自口的低八位地址信号。

5. 12根地址线可选个存储单元,32KB存储单元需要根地址线。

6. 欲增加8KB×8位的RAM区,请问选用Intel 2114(1KB×4位)需购片;若改用Intel 6116(2KB×8位)需购片,若改用Intel 6264 (1KB×8位)需购片。7.74LS138是具有3个输入端的译码器芯片,其输出作为片选信号时,最多可以选中块芯片。

8.片选方式通常有3种形式:、、

二、简答题

1.简述单片机并行扩展外部存储器时三总线连接的基本原则。

2.什么是全译码?什么是部分译码?什么是线选法?有什么特点?

3.画出利用线选法,用3 片2764A 扩展24K×8 位EPROM 的电路图。分析每个芯片的地址范围。

4.采用2114芯片在8031片外扩展1 KB数据存储器,并分析地址范围。

5.采用2764和6264芯片在8031片外分别扩展24 KB程序存储器和数据存储器。

单片机考试复习题及答案

选择题 1、主频为12MHz的单片机他的机器周期为(c)。 A、1/12微秒 B、0.5微秒 C、1微秒 D、2微秒 2、MCS-51系列单片机是属于(C)体系结构。 A、冯诺依曼 B、普林斯顿 C、哈佛 D、图灵 3、定时器/计数器工作方式0为(A)。 A、13位定时/计数方式 B、16位定时/计数方式 C、8位可自动装入计数初值方式 D、2个8位方式 6、MCS-51单片机每个机器周期都要进行中断查询,查询的是(A)。 A、中断标志位 B、中断允许控制位 C、中断优先级控制位 D、外部中断触发方式控制位 7、当外部中断被设置为下降沿触发时,对触发信号的要求是高、低电平的持续时间均应大于(B)。 A、1个机器周期 B、2个机器周期 C、4个机器周期 D、8个机器周期 8、在下列寄存器中,与定时器/计数器无关的是(C)。scon是控制寄存器 A、TCON B、TMOD C、SCON D、IE 9、若欲将T0设置为定时器方式2、T1设置为计数器方式1,T0、T1均采用软件启/停控制,则方式寄存器TMOD的方式控制字为(B)。 A、00100101 B、01010010 C、10101101 C、1101101010 10、当晶振频率为6MHz、定时/计数器工作于方式1,最大定时时间为(D)。 A、8.192ms B、16.384ms C、65.53ms D、131.072 11、当晶振频率为6MHz,定时/计数器T0工作于定时器方式2,若要求定时值为0.2ms,则定时初值为(A)。 A、156 B、56 C、100 D、200 12、设MCS-51单片机的晶振频率为12MHz,定时器作计数器使用时,其最高的输入计数频率为(C)。 A、2MHz B、1MHz C、500KHz D、250KHz 13、利用下列(D)关键字可以改变工作寄存器组。 A、interrupt B、sfr C、while D、using 14、(D)是c语言提供的合法的数据类型关键字。 A、Float B、signed C、integer D、Char 15、12MHz晶振的单片机在定时器工作方式下,定时器中断记一个数所用的定时时间是(A)。 A、1us B、2us C、4us D、8us 16、8051单片机的定时器/计数器工作方式1是(B)。 A、8位计数器结构 B、16位计数器结构 C、13位计数器结构 D、2个8位计数器结构 17线反转法识别有效按键时,如果读入的列线全为1,则说明(A)。 A、没有键被按下 B、有一个案件被按下 C、有多个按键被按下 D、以上说法都不对、 18、利用下列(D)关键字可以改变寄存器组。 A、interrupt B、sfr C、while D、using 19、支持写入单片机或仿真调试的目标程序的文件格式是(D)

单片机外部RA扩展

单片机外部RAM扩展模块 MCS-51系列单片机外部RAM为64K,在一些特殊场合下,远不能满足需要,本文就AT89C51讨论MCS-51系列单片机大容量RAM的扩 展方法。 首先介绍128K随机读取RAM HM628128。HM628128 是32脚双列直插式128K静态随机读取RAM,它具有容 量大、功耗低、价格便宜、集成度高、速度快、设计和 使用方便等特点。如若在系统中加入掉电保护电路,保 护数据有很高的可靠性,可以和EEPROM相媲美。 技术特性: (1)最大存取时间为120ns; (2)典型选通功耗75mW;典型未选通功耗10uW; (3)使用单一5V电源供电; (4)全静态存储器,不需要时钟及时序选通信号; (5)周期时间与存取时间相等; (6)采用三态输出电路,数据输入和输出端公用; 图6 HM628128外部引脚(7)所有输入和输出引脚均与TTL电平直接兼 容; (8)有两个片选端,适合于低功耗使用,即为了保存信息,用电池作为后备电源。保存信息的最低电源电压Vcc=2V。 引脚安排及功能表: 图6是HM628128的外部引脚排列图,各引脚名称及功用分别如下: A0~A16是17条地址线;I/O0~I/O7是8条双向数据线;CS1是片选1,低电平有效,CS2是片选2,高电平有效;WR是写控制线,当CS1为低电平,CS2为高电平时,WR的上升沿将I/O0~I/O7上的数据写到A0~A16选中的存储单元中;OE是读出允许端,低电平有效。 HM628128的功能表如表3所示。 WR CS1 CS2 OE 工作方式 X H X X未选中 X X L X未选中 H L H H 输出禁止 H L H L 读 L L H H 写 其中,H表示高电平,L表示低电平,X表示任意状态由于AT89C51直接外部RAM容量为64K,地址线为16条,其中低8位地址和数据分时复用,因此需要外部地址锁存器和ALE锁存信号来锁存低8位地址。又由于AT89C51的外部数据和外设地址通用,若扩展外设必然占用数据地址。因此本系统采用P2.7(A15)口来区分数据和外设:当P2.7(A15)口为高电平时,

单片机期末复习 问答题及答案

1、80C51 的外部中断有哪两种触发方式?它们对触发脉冲或电平有什么要求? (1)电平触发方式:CPU在每个机器周期的S5P2期间采样外部中断引脚的输人电平。若为低电平,便置IEl(IEO)为“1”,申请中断;若外部中断引脚为高电平,则IEl(IEO)清零。 (2)边沿触发方式:CPU在每个机器周期的S5P2期间采样外部中断请求引脚的输人电平。如果在相继的两个机器周期采样过程中,一个机器周期采样到外部中断请求为高电平,接着下一个机器周期采样到外部中断请求为低电平,则使IEl(IEO)置1,申请中断;否则,IEl(1E0)置0。 2、单片机怎样管理中断?怎样开放和禁止中断?怎样设置优先级? (1)由中断源提出中断请求,由中断控制允许控制决定是否响应中断,如果允许响应中断,则CPU按设定好的优先级的顺序响应中断。如果是同一优先级的中断,则按单片机内部的自然优先级顺序(外部中断0→定时器0中断→外部中断l→定时器1中断→串行接口中断)响应中断。 CPU响应中断请求后,就立即转入执行中断服务程序。保护断点、寻找中断源、中断处理、中断返回,程序返回断点处继续执行。(2)由中断允许寄存器IE控制开放和禁止中断。欲开放某一中断,则应先开放总中断允许(EA置1),然后开放相应中断的中断允许(相应位置1);若要要禁止中断,则EA置O即可。 (3)由中断优先级控制寄存器IP控制中断优先级,相应位置1,则设为高级中断,置0则为低级。其中:PS为串行中断优先级,PTl(0)为定时中断1(0)优先级,PXl(0)外部中断1(0)优先级。 3、写出下列特殊功能寄存器的名称 TCON :定时器控制寄存器 TMOD :定时器/计数器方式控制寄存器 SCON :串行口控制寄存器 PSW :程序状态字(标志寄存器) IE :中断允许控制寄存器

单片机系统扩展

第六章单片机系统扩展 通常情况下,采用MCS-51单片机的最小系统只能用于一些很简单的应用场合,此情况下直接使用单片机内部程序存储器、数据存储器、定时功能、中断功能,I/O端口;使得应用系统的成本降低。但在许多应用场合,仅靠单片机的内部资源不能满足要求,因此,系统扩展是单片机应用系统硬件设计中最常遇到的问题。 在很多复杂的应用情况下,单片机内的RAM ,ROM 和 I/O接口数量有限,不够使用,这种情况下就需要进行扩展。因此单片机的系统扩展主要是指外接数据存贮器、程序存贮器或I/O接口等,以满足应用系统的需要。 6.1 单片机应用系统 按照单片机系统扩展与系统配置状况,单片机应用系统可以分为最小应用系统、最小功耗系统、典型应用系统等。 最小应用系统,是指能维持单片机运行的最简单配置的系统。这种系统成本低廉、结构简单,常用来构成简单的控制系统,如开关状态的输入/输出控制等。对于片内有ROM/EPROM 的单片机,其最小应用系统即为配有晶振、复位电路和电源的单个单片机。对于片内无ROM/EPROM的单片机,其最小系统除了外部配置晶振、复位电路和电源外,还应当外接EPROM 或EEPROM作为程序存储器用。最小应用系统的功能取决于单片机芯片的技术水平。 单片机的最小功耗应用系统是指能正常运行而又功耗力求最小的单片机系统。 单片机的典型应用系统是指单片机要完成工业测控功能所必须具备的硬件结构系统。 6.1.1 8051/8751最小应用系统 MCS-51系列单片机的特点就是体积小,功能全,系统结构紧凑,硬件设计灵活。对于简单的应用,最小系统即能满足要求。 8051/8751是片内有ROM/EPROM的单片机,因此,用这些芯片构成的最小系统简单、可靠。 图6-1 8051/8751最小应用系统 用8051/8751单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,如图6-1所示。由于集成度的限制,最小应用系统只能用作一些小型的控制单元。其应用特点: (1)有可供用户使用的大量I/O口线。因没有外部存储器扩展,这时EA接高电平,P0、P1、P2、P3都可作用户I/O口使用。

51单片机外部ram扩展c程序及硬件结构

c程序 #include #include #define uchar unsigned char #define uint unsigned int int n,m; void main() { unsigned int i; while(1) { for(i=0x0000;i<=0x7fff;i++) { XBYTE[i]=n;//写入ram } for(i=0x7fff;i>0x0000;i--) { m=XBYTE[i];//读外部存储器 } }

} 62256外部ram芯片 相关知识: XBYTE是一个地址指针(可当成一个数组名或数组的首地址),它在文件absacc.h中由系统定义,指向外部RAM(包括I/O口)的0000H单元,XBYTE后面的中括号[ ]0x2000H 是指数组首地址0000H的偏移地址,即用XBYTE[0x2000]可访问偏移地址为0x2000的I/O端口。 这个主要是在用C51的P0,P2口做外部扩展时使用,其中XBYTE [0x0002],P2口对应于地址高位,P0口对应于地址低位。一般P2口用于控制信号,P0口作为数据通道。 比如:P2.7接WR,P2.6接RD,P2.5接CS,那么就可

以确定个外部RAM的一个地址,想往外部RAM的一个地址写一个字节时,地址可以定为XBYTE [0x4000],其中WR,CS为低,RD为高,那就是高位的4,当然其余的可以根据情况自己定,然后通过 XBYTE [0x4000] = 57; 这赋值语句,就可以把57写到外部RAM的0x4000处了,此地址对应一个字节。 XBYTE 的作用,可以用来定义绝对地址,是P0口和P2口的,其中P2口对应的是高位,P0口对应的是低位 如XBYTE[0x1234] = 0x56; 则等价于 mov dptr,#1234h mov @dptr,#56h 谢谢大家

单片机程序存储空间和数据存储空间详解

创作编号: GB8878185555334563BT9125XW 创作者:凤呜大王* 单片机程序程序存储空间(ROM)和数据存储空间(RAM)详解 问题:STC89C52RC单片机:8K字节程序存储空间,512字节数据存储空间,内带2K 字节EEPROM存储空间;它们分别存的是什么? 8K的程序存储空间是存储代码,也就是你写的程序生成的HEX文件的,相当于电脑系统的C盘。 512字节相当于内存,存储空间存储变量,像u8 x,y,z,u32 a之类的临时变量掉电后数据丢失。 2K eeprom相当于电脑系统的硬盘,数据写入后掉电不丢失。主要是单片机在运行的过程中写入数据或者读取数据。像设置的闹铃值,设置好了就不用每次都去设置了,保存在单片机里面,即使掉电了,设置的数据也不会丢失,只需单片机上电再读取就好了。 单片机原理及系统结构 在此先详细分析51单片的存储器结构和寻址方法,再分析片外存储器的扩展,最后给出设计原理并分析系统结构。

图一:存储空间分布 51单片机存储器结构分析 8051单片机的存储器在物理结构上分为程序存储器空间和数据存储器空间,共有4个存储空间:片内程序存储器、片外程序存储器以及片内数据存储器、片外数据存储器空间。 这种程序存储和数据存储分开的结构形式被称为哈佛结构。MCS-51使用哈弗结构,它的程序空间和数据空间是分开编址的,即各自有各自的地址空间,互不重叠。所以即使地址一样,但因为分开编址,所以依然要说哪一个空间内的某地址。而ARM (甚至是x86)这种冯诺依曼结构的MCU/CPU,它的地址空间是统一并且连续的,代码存储器/RAM/CPU寄存器,甚至PC机的显存,都是统一编址的,只是不同功能的存储器占据不同的地址块,各自为政。 MCS-51单片机存储器的配置特点 ①内部集成了4K的程序存储器ROM; ②内部具有256B的数据存储器RAM(用户空间+SFR空间); ③可以外接64K的程序存储器ROM和数据存储器RAM。 从物理结构的角度讲,51单片机的存储系统可以分为四个存储空间:既片内ROM,RAM和片外ROM、RAM。 从逻辑结构上看(既编程的角度),可以分为三个不同的空间: (1)片内、片外统一编址的64KB的程序存储器地址空间:0000H~FFFFH(用16位地址);,其中0000H~0FFFH为片内4KB的ROM地址空间,1000H~FFFFH为

单片机复习题(附答案、)

单片机复习题(仅供参考) 任务一 1.十进制数126对应的十六进制可表示为 D 。 A.8F B.8E C.FE D.7E 2.二进制数110010010对应的十六进制数可表示为 A 。 A.192H B.C90H C.1A2H D.CA0H 3.计算机内部的数据之所以用二进制的形式表示,主要是 B 。 A.为了编程方便B.由于受器件的物理性能限制 C.为了通用性D.为了提高运算速度 4.计算机主要的组成成分为 B 。 A.CPU 、内存、I/O口B.CPU 、键盘、显示器 C.主机、外部设备D.以上都是 5.CPU主要的组成成分为 C 。 A.运算器、控制器B.加法器、寄存器 C.运算器、寄存器D.运算器、指令译码器 6.以下不是构成单片机的部件D A.微处理器B.存储器C.I/O接口电路D.打印机7.89C51的CPU是 C 的单片机 A.16 B.4 C.8 D.准16 8.AT89C51单片机的字长是 C 位。 A.32 B.16 C. 8 D. 4 9.程序计数器PC用来 B 。

A.存放指令B.存放下一条的指令地址 C.存放正在执行的指令地址D.存放上一条的指令地址 10.当标志寄存器PSW的RS0和RS1分别为0和1时,系统选用的工作寄存 器组为 C 。 A.组1 B.组3 C.组2 D.组0 11.进位标志Cy在 C 中。 A.累加器B.算术逻辑运算单元ALU C.程序状态字寄存器PSW D.PC中 12.指令和程序是以 C 形式存放在程序存储器中。 A.源程序B.汇编程序C.二进制编码D.BCD码13.单片机应用程序一般存放在 B 。 A.RAM B.ROM C.CPU D.寄存器 14.51单片机中专用寄存器( B )用来存放下一条待执行的指令地址。 A.ACC B.PC C.PSW D.DPTR 15.AT89C51单片机有片内的ROM容量 A A.4KB B. 8KB C. 00H-1FH D.20-2FH 16.89C51片内的Ram共有B 字节。 A.128 B.256 C.4K D.64K 17.89C51内部RAM中,可以进行位寻址的内部空间 B 。 A.00H~2FH B.20H~2FH C.00H~FFH D.20H~FFH 18.89C51单片机即可位寻址又可字节寻址的单元是 A 。 A.20H B.30H C.00H D.70H

详细分析MCS-51单片机内部数据存储器RAM

详细分析MCS-51单片机内部数据存储器RAM 8051单片机的内部RAM共有256个单元,通常把这256个单元按其功能划分为两部分:低128单元(单元地址00H~7FH)和高128单元(单元地址80H~FFH)。如图所示为低128单元的配置图。 寄存器区 8051共有4组寄存器,每组8个寄存单元(各为8),各组都以R0~R7作寄存单元编号。寄存器常用于存放操作数中间结果等。由于它们的功能及使用不作预先规定,因此称之为通用寄存器,有时也叫工作寄存器。4组通用寄存器占据内部RAM的00H~1FH单元地址。 在任一时刻,CPU只能使用其中的一组寄存器,并且把正在使用的那组寄存器称之为当前寄存器组。到底是哪一组,由程序状态字寄存器PSW中RS1、RS0位的状态组合来决定。通用寄存器为CPU提供了就近存储数据的便利,有利于提高单片机的运算速度。此外,使用通用寄存器还能提高程序编制的灵活性,因此,在单片机的应用编程中应充分利用这些寄存器,以简化程序设计,提高程序运行速度。 位寻址区 内部RAM的20H~2FH单元,既可作为一般RAM单元使用,进行字节操作,也可以对单元中每一位进行位操作,因此把该区称之为位寻址区。位寻址区共有16个RAM单元,计128位,地址为00H~7FH。MCS-51具有布尔处理机功能,这个位寻址区可以构成布尔处理机的存储空间。这种位寻址能力是MCS-51的一个重要特点。 用户RAM区 在内部RAM低128单元中,通用寄存器占去32个单元,位寻址区占去16个单元,剩下80个单元,这就是供用户使用的一般RAM区,其单元地址为30H~7FH。对用户RAM 区的使用没有任何规定或限制,但在一般应用中常把堆栈开辟在此区中。 内部数据存储器高128单元

单片机练习题答案汇总

单片机练习题答案 一、填空题 1、若单片机振荡脉冲频率为6MHz时,一个机器周期为______2μs________。 2、AT89C51单片机的XTAL1和XTAL2引脚是___外接晶振或时钟__引脚。 3、定时器/计数器的工作方式3是指的将定时器/计数器T0 拆成两个独立的8位计数器。 4、若由程序设定RS1、RS0=01,则工作寄存器R0~R7的直接地址为__08~0FH____。 5、写出完成相应功能的汇编指令:将立即数11H送到R2____ MOV R2,#11H ____、使ACC.2置位____ SETB ACC.2__、使累加器的最低2位清零___ ANL A,#0FCH ___。 6、A/D转换的作用是将__模拟____量转为数字量。ADC0809是__8___位的A/D转换芯片。 7、8051的堆栈区一般开辟在用户RAM区的地址为30H~7FH。 8、所谓寻址,其实质就是__如何确定操作数的单元地址问题_。 9、若单片机振荡脉冲频率为12MHz时,一个机器周期为____1μs ______。 10、定时器中断请求发生在__计数溢出的时候_____。 11、中断响应时间是指__从中断请求发生直到被响应去执行中断服务程序所需的时间____。 12、通过CPU对I/O状态的测试,只有I/O已准备好时才能进行I/O传送,这种传送方 式称为____程序查询方式___。 13、在中断服务程序中现场保护和现场恢复期间,中断系统应处在__关中断__状态。 14、8051单片机的内部硬件结构包括了:中央处理器(CPU)、数据存储器(RAM)、程序存储器、和2个16位定时/计数器以及并行I/O口、串行口、中断控制系统、时钟电路、 位处理器等部件,这些部件通过内部总线相连接。 15、MCS-51的堆栈只可设置在RAM的地址为30H~7FH,堆栈寄存器sp是8位寄存器。 16、MCS-51单片机的P0~P4口均是并行I/O口,其中的P0口和P2口除了可以进行数据的输入、输出外,通常还用来构建系统的数据总线和地址总线,在P0~P4口中,P0为真正的双相口,P1—P3为准双向口;P3口具有第二引脚功能。 17、若LED为共阳极接法(即负逻辑控制),则字符3的八段代码值(a->dot)应当为__0D__H。 18、MCS-51片内20H~2FH范围内的数据存储器,既可以__字节__寻址又可以位寻址。 19、AT89C51单片机有___2___级中断,___5___个中断源。 20、MCS-51系列单片机的典型芯片型号分别为_____8031或8051_____、_____ AT89C 51或AT89C52_____、_____ AT89S51或AT89S52____。

单片机程序的设计

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

单片机练习试题附答案及解析

第一、二章单片机概述与结构 一、填空题 1.单片机复位后,SP、PC和I/O口的内容分别为07H\000H\FFH 。 2.单片机有四个工作寄存器区,由PSW状态字中的RS1和RS0两位的状态来决定。单片机复位后,若执行SETB RS0指令,此时只能使用 1 区的工作寄存器,地址范围是08H---0FH 。 3.51单片机驱动能力最强的并行端口为P0端口。 4.51单片机PC的长度为16位,SP的长度为___8____位,DPTR的长度为_16__位。 5.访问51单片机程序存储器地址空间、片内数据存储器地址、片外数据存储器地址的指令分别为__movc_____,MOV和_movx______。 6.若A中的内容为63H,那么P标志位的值为1 。 7.当扩展外部存储器或I/O口时,P2口用作高八位地址总线。 8.51单片机内部RAM区有 4 个工作寄存器区。 9.51单片机内部RAM区有128 个位地址。 10.外部中断1()的中断入口地址为0013 ;定时器1的中断入口地址为001B 。 11.51单片机有 4 个并行I/O口,P0~P3是准双向口,所以由输出转输入时必须先写入 1 。 12.51单片机的堆栈建立在内部RAM 内开辟的区域。 二、选择题 1.访问片外部数据存储器时,不起作用的信号是(C)。 A./RD B./WE C./PSEN D.ALE 2.51单片机P0口用作输出时,应外接(A )。 A.上拉电阻B.二极管C.三极管D.下拉电阻 3.进位标志CY在( C )中。 A.累加器B.算逻运算部件ALU C.程序状态字寄存器PSW D.DPTR 4.堆栈数据的进出原则是(D )。 A.先进先出B.进入不出C.后进后出D.先进后出 5.51单片机系统中,若晶振频率为6MHz,一个机器周期等于(D )μs。 A.1.5 B.3 C.1 D.2 6.在家用电器中使用单片机应属于微计算机的( B )。 A.辅助设计应用B.测量、控制应用C.数值计算应用D.数据处理应用7.PC的值是(C )。

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

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

单片机测试题含答案

1、单片机应用程序一般存放在( B ) A、RAM B、ROM C、寄存器 D、CPU 2.在单片机中,通常将一些中间计算结果放在( A )中 A、累加器 B、控制器 C、程序存储器 D、数据存储器 3.89C51单片机有片内ROM容量( A) A 4K B B. 8KB C. 128B D. 256B 4、CPU主要的组成部部分为( A) A、运算器、控制器 B、加法器、寄存器 C、运算器、寄存器 D、运算器、指令译码器 5.INTEL 8051 CPU是(C )位的单片机 A、16 B、4 C、8 D、准16 6.CPU由___运算器__和控制器构成。 1、PC存放__下一条要执行的指令的16位地址__,具有_ 自动加一_特性。在8051中决定程序执行顺序的是PC还是DPTR?是PC它是_16__位?(是,不是)不是SFG? 2、PSW用于存放__指令执行后的有关状态____,在8051中PSW是__8___ 位,当8051执行94H+4BH后,PSW的CY、AC、OV、P的值是多少?CY=0、AC=0、OV=0、P=1 3、什么是堆栈?8051的堆栈设在何处?哪个寄存器是堆栈指针?堆栈存取数据的原则是什么? 答:1)堆栈是在内RAM区专门开辟出来的进行数据存取的一块连续的存储区域。2) 设在07H上。3)SP 4)先进后出 4.单片机的堆栈指针SP始终是( B ) A、指示堆栈底 B、指示堆栈顶 C、指示堆栈地址 D、指示堆栈长度 5、进位标志CY在(C)中 A、累加器 B、算逻运算部件ALU C、程序状态字寄存PSW D、DPTR 6、. 8031单片机中的SP和PC分别是( C)的寄存器。 A.8位和8位 B.16位和16位 C.8位和16位 D.16位和8位 7、DPTR是什么寄存器?它的作用是什么?它由哪几个特殊功能寄存器组成? 答:数据指针DPTR是16位的专用寄存器。作为对外部数据存储器进行寻址的地址指针。由两个8位的寄存器DPH和DPL构成 1、8051单片机的内部RAM可以分为几个不同的区域?各区的地址范围及其特点? 答:4个区域。工作寄存器区00H-1FH 由32个单元组成,共4个区,可以通过设置PSW 中的RS1和RS0选择不同的工作寄存器。 位寻址区20H-2FH 这16个RAM单元可以按位操作,也可以按字节操作数据 缓冲区30H-7FH 这些单元只能按字节寻址 SFR区80H-FFH 特殊功能寄存器中地址可以被8整除的,可以按位寻址,特殊功能寄存器记录了单片机工作状态及工作方式 2.为了使10H—17H作为工作寄存器使用,应该采用什么办法实现?写出相关指令。CPU 复位后,R0---R7的单元地址是多少?

MCS-51单片机存储器结构

MCS-51单片机在物理结构上有四个存储空间: 1、片内程序存储器 2、片外程序存储器 3、片内数据存储器 4、片外数据存储器 但在逻辑上,即从用户的角度上,8051单片机有三个存储空间: 1、片内外统一编址的64K的程序存储器地址空间(MOVC) 2、256B的片内数据存储器的地址空间(MOV) 3、以及64K片外数据存储器的地址空间(MOVX) 在访问三个不同的逻辑空间时,应采用不同形式的指令(具体我们在后面的指令系统学习时将会讲解),以产生不同的存储器空间的选通信号。 程序内存ROM 寻址范围:0000H ~ FFFFH 容量64KB EA = 1,寻址内部ROM;EA = 0,寻址外部ROM 地址长度:16位 作用:存放程序及程序运行时所需的常数。 七个具有特殊含义的单元是: 0000H ——系统复位,PC指向此处; 0003H ——外部中断0入口 000BH —— T0溢出中断入口

0013H ——外中断1入口 001BH —— T1溢出中断入口 0023H ——串口中断入口 002BH —— T2溢出中断入口 内部数据存储器RAM 物理上分为两大区:00H ~ 7FH即128B内RAM 和SFR区。 作用:作数据缓冲器用。 下图是8051单片机存储器的空间结构图 程序存储器 一个微处理器能够聪明地执行某种任务,除了它们强大的硬件外,还需要它们运行的软件,其实微处理器并不聪明,它们只是完全按照人们预先编写的程序而执行之。那么设

计人员编写的程序就存放在微处理器的程序存储器中,俗称只读程序存储器(ROM)。程序相当于给微处理器处理问题的一系列命令。其实程序和数据一样,都是由机器码组成的代码串。只是程序代码则存放于程序存储器中。 MCS-51具有64kB程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息。对于内部无ROM的8031单片机,它的程序存储器必须外接,空间地址为64kB,此时单片机的端必须接地。强制CPU从外部程序存储器读取程序。对于内部有ROM的8051等单片机,正常运行时,则需接高电平,使CPU先从内部的程序存储中读取程序,当PC值超过内部ROM的容量时,才会转向外部的程序存储器读取程序。 当=1时,程序从片内ROM开始执行,当PC值超过片内ROM容量时会自动转向外部ROM空间。 当=0时,程序从外部存储器开始执行,例如前面提到的片内无ROM的8031单片机,在实际应用中就要把8031的引脚接为低电平。 8051片内有4kB的程序存储单元,其地址为0000H—0FFFH,单片机启动复位后,程序计数器的内容为0000H,所以系统将从0000H单元开始执行程序。但在程序存储中有些特殊的单元,这在使用中应加以注意: 其中一组特殊是0000H—0002H单元,系统复位后,PC为0000H,单片机从0000H 单元开始执行程序,如果程序不是从0000H单元开始,则应在这三个单元中存放一条无条件转移指令,让CPU直接去执行用户指定的程序。 另一组特殊单元是0003H—002AH,这40个单元各有用途,它们被均匀地分为五段,它们的定义如下: 0003H—000AH 外部中断0中断地址区。 000BH—0012H 定时/计数器0中断地址区。

单片机-分支程序设计教案

一、复习上次课内容 1、什么是标识符? 答:标识符是程序员选择的名字,用来标识常量、变量、过程、段名等。 2、什么是伪指令? 答:注释性的,没有对应的机器码,不令计算机做任何操作,不产生目标程序,不影响程序的执行。。 二、讲授新课 4.3分支程序设计 在很多实际问题中,都需要根据不同的情况进行不同的处理。这种思想体现在程序设计中,就是根据不同条件而转到不同的程序段去执行, 所示。 这就构成了分支程序。分支程序的结构有两种,如图4.2 图4.2(a)结构使用条件转移指令来实现分支,当给出的条件成立时,执行程序段A,否则执行程序段B。 图4.2 (b) 结构使用散转指令JMP来实现多分支转移,它首先将分支程序按序号的值来实现分支转移。 分支程序的特点是改变程序的执行顺序,跳过一些指令,去执行另外一些指令。应注意:对每一个分支都要单独编写一段程序,每一分支的开始地址赋给一个标号。

在编写分支程序时,关键是如何判断分支的条件。在MCS-51系列单片机中可以直接用来判断分支条件的指令并不多,只有累加器为零(或不为零)、比较条件转移指令CJNE 等,MCS-51单片机还提供了位条件转移指令,如JC ,JB 等。把这些指令结合在一起使用,就可以完成各种各样的条件判断。 【例4-5】设补码X 放在内部RAM30H 单元中,函数Y 与X 有如下的关系 式: 试编写程序,根据X 的值求出Y ,并放回原单元。 解 取出X 后先做取值范围的判断,用累加器A 状态转移指令判断X 是否为0,用位状态转移指令判断X 是大于0还是小于0。程序流程图如图4.3所示。 程序如下: MOV A ,30H JZ ZER0 JNB ACC.7,PLUS

单片机练习题(含答案)

1.单片机还可称为(微控制器)。 2. 单片机与普通计算机的不同之处在于其将(CPU)、(存储器)、和(I/O接口电路)三部分集成于一块芯片上。 3. MCS-51系列单片机芯片间主要差别是什么主要差别在于片内是否带有程序存储器 4. 在家用电器中使用单片机应属于微计算机的(B) A)辅助设计应用(B)测量、控制应用(C)数值计算应用(D)数据处理应用 5. MCS-51单片机的引脚EA接高电平和接低电平时各有何种功能 接高电平,则使用片内程序存储器,否则使用片外程序存储器。 6. 什么是机器周期一个机器周期的时序是如何来划分的如果采用12MHz晶振,一个机器周期为多长时间1个机器周期等于12个时钟振荡周期,而时钟振荡周期即晶振频率的倒数。如果采用12MHz晶振,一个机器周期为1us。 ! 7.存储器的空间里,有5个单元是特殊的,这5个单元对应MCS-51单片机5个中断源的中断入口地址,请写出这些单元的地址以及对应的中断源。 8.判断下列说法是否正确:(A)8031的CPU是由RAM和EPROM所组成。错 (B)区分片外程序存储器和片外数据存储器的最可靠的方法是看其位于地址范围的低端还是高端。错 (C)在MCS-51中,为使准双向的I/O口工作在输入方式,必须保证它被事先预置为1。对( (D)PC可以看成是程序存储器的地址指针。对 9. 8051 单片机复位后,R4所对应的存储单元的地址为(04H),因上电时PSW=(00H)。这时当前的工作寄存器区是(0)组工作寄存器区。 10.判断以下有关PC和DPTR的结论是否正确 (A) DPTR是可以访问的,而PC不能访问。对 (B) 它们都是16位的寄存器。对 (C) 它们都具有加“1”的功能。错 (D) DPTR可以分为2个8位的寄存器使用,但PC不能。对 11.内部RAM中,哪些单元可作为工作寄存器区,哪些单元可以进行位寻址写出其地址范围。答:字节地址为00H-1FH的单元可以作为工作寄存器区;字节地址为20H-2FH的单元可以进行位寻址。 … 12.使用8031单片机时,需将EA引脚接(低)电平,因为其片内无(程序)存储器。 13. (A)程序计数器PC不能为用户编程时直接使用,因为它没有地址。对 (B)内部RAM的位寻址区,只能供位寻址使用,而不能供字节寻址使用。错 (C)8031共有21个特殊功能寄存器,它们的位都是可用软件设置的,因此,是可以进行位寻址的。错 的值是(当前正在执行指令的下一条指令的地址)

单片机并口扩展

单片机IO口扩展技术 2010-05-09 18:13 0 引言 在单片机家族的众多成员中,MCS-51系列单片机以其优越的性能、成熟的技术、高可靠性和高性价比,占领了工业测控和自动化工程应用的主要市场,并成为国内单片机应用领域中的主流机型。 MCS-51单片机的并行口有P0、P1、P2和P3,由于P0口是地址/数据总线口,P2口是高8位地址线,P3口具有第二功能,这样,真正可以作为双向I/O口应用的就只有P1口了。这在大多数应用中是不够的,因此,大部分MCS-51单片机应用系统设计都不可避免的需要对P0口进行扩展。 由于MCS-51单片机的外部RAM和I/O口是统一编址的,因此,可以把单片机外部64K字节RAM空间的一部分作为扩展外围I/O口的地址空间。这样,单片机就可以像访问外部RAM存储器单元那样访问外部的P0口接口芯片,以对P0口进行读/写操作。用于P0口扩展的专用芯片很多。如8255可编程并行P0口扩展芯片、8155可编程并行P0口扩展芯片

等。本文重点介绍采用具有三态缓冲的74HC244芯片和输出带锁存的74HC377芯片对P0口进行的并行扩展的具体方法。 1 输入接口的扩展 MCS-51单片机的数据总线是一种公用总线,不能被独占使用,这就要求接在上面的芯片必须具备“三态”功能,因此扩展输入接口实际上就是要找一个能够用于控制且具备三 态输出的芯片。以便在输入设备被选通时,它能使输入设备的数据线和单片机的数据总线直接接通;而当输入设备没有被选通时,它又能隔离数据源和数据总线(即三态缓冲器为高阻抗状态)。 1.1 74HC2244芯片的功能 如果输入的数据可以保持比较长的时间(比如键盘),简单输入接口扩展通常使用的典型芯片为74HC244,由该芯片可构成三态数据缓冲器。74HC244芯片的引脚排列如图1所示。

单片机存储器类型介绍

单片机存储器类型详解 分为两大类RAM和ROM,每一类下面又有很多子类: RAM:SRAM SSRAM DRAM SDRAM ROM:MASK ROM OTP ROM PROM EPROM EEPROM FLASH Memory RAM:Random Access Memory随机访问存储器 存储单元的内容可按需随意取出或存入,这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。它的特点就是是易挥发性(volatile),即掉电失忆。我们常说的电脑内存就是RAM的。 ROM:Read Only Memory只读存储器 ROM 通常指固化存储器(一次写入,反复读取),它的特点与RAM相反。 RAM和ROM的分析对比: 1、我们通常可以这样认为,RAM是单片机的数据存储器,这里的数据包括内部数据存储器(用户RAM区,可位寻址区和工作组寄存器)和特殊功能寄存器SFR,或是电脑的内存和缓存,它们掉电后数据就消失了(非易失性存储器除外,比如某些数字电位器就是非易失性的)。 ROM是单片机的程序存储器,有些单片机可能还包括数据存储器,这里的数据指的是要保存下来的数据,即单片机掉电后仍然存在的数据,比如采集到的最终信号数据等。而RAM 这个数据存储器只是在单片机运行时,起一个暂存数据的作用,比如对采集的数据做一些处理运算,这样就产生中间量,然后通过RAM暂时存取中间量,最终的结果要放到ROM的数据存储器中。如下图所示:

2、ROM在正常工作状态下只能从中读取数据,不能快速的随时修改或重新写入数据。它的优点是电路结构简单,而且在断电以后数据不会丢失。缺点是只适用于存储那些固定数据的场合。 RAM与ROM的根本区别是RAM在正常工作状态下就可以随时向存储器里写入数据或从中读取数据。 SRAM:Static RAM静态随机访问存储器 它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。不像DRAM内存那样需要刷新电路,每隔一段时间,固定要对DRAM刷新充电一次,否则内部的数据即会消失,因此SRAM具有较高的性能,但是SRAM也有它的缺点,即它的集成度较低,相同容量的DRAM内存可以设计为较小的体积,但是SRAM却需要很大的体积,所以在主板上SRAM存储器要占用一部分面积。 优点:速度快,不必配合内存刷新电路,可提高整体的工作效率。 缺点:集成度低,功耗较大,相同的容量体积较大,而且价格较高,少量用于关键性系统以提高效率。 DRAM:Dynamic RAM动态随机访问存储器 DRAM 只能将数据保持很短的时间。为了保持数据,DRAM使用电容存储,所以必须隔一段时间刷新(refresh)一次,如果存储单元没有被刷新,存储的信息就会丢失。 既然内存是用来存放当前正在使用的(即执行中)的数据和程序,那么它是怎么工作的呢? 我们平常所提到的计算机的内存指的是动态内存(即DRAM),动态内存中所谓的“动态”,

单片机基础练习题及答案

单片机基础(第3版) 计算机基础知识第1章 (一)填空题的补码+100。十进制数1.十进制数14对应的二进制数表示为(1110B),十六进制数表示为(0EH)-100的补码为(9CH),)。为(64H4)倍。 2.在一个非零的无符号二进制整数的末尾加两个0后,形成一个新的无符号二进制整数,则新数是原数的(-51。带符号二进制数转换成十进制数是()3.8位无符号二进制数能表示的最大十进制数是(255)。。4.可以将各种不同类型数据转换为计算机能处理的形式并输送到计算机中去的设备统称为(输入设备)84)。码是十六进制数5.已知字符D的ASCII44,则字符T的ASCII码是十进制数(,则表示该存储器共有(655360)个存储单元。6.若某存储器容量为640KB。Word)(Byte)7.在计算机中,二进制数的单位从小到大依次为(位)、(字节)和和((字),对应的英文名称分别是(bit)、00100100),A⊕B=()8.。设二进制数A=,B=01110110,则逻辑运算A∨B=(),A∧B=(,机器数的真,机器数的真值是(+157或+89)-115)011011109.机器数的真值是(+110),机器数01011001的真值是(值是(+206或-50)。(二)单项选择题 1. 用8位二进制补码数所能表示的十进制数范围是(D)B(-127 ~ +127 )-128 ~ +128(A)(D(C)-127 ~ +128 )-128 ~ +127下列等式中,正确的是(B)2. 1 MB = 1024×1024 B)1 KB = 1024×1024 B (B(A)()(C1 KB = 1024 M B D)1 MB = 1024 B C)3. 程序与软件的区别是((A()程序小而软件大 B)程序便宜 而软件昂贵(D(C)软件包括程序)程序包括软件 4. )存储器中,每个存储单元都被赋予惟一的编号,这个编号称为(A)容量)列号(DA()地址(B)字节(C ()B)256 (C128 255 (A)85. 位二进制数所能表示的最大无符号数是(B)127D) (B)6. 下列4个无符号数中,最小的数是((37(八进制)B)(A)(二进制) (十六进制)D)2475(C)(十进制)()码最小的是(B7. 下列字符中,ASCII (A)a (B)A (C)x (D)X 8. 下列字符中,ASCII码最大的是(C) (A)a (B)A (C)x (D)X 9. 有一个数152,它与十六进制数6A相等,那么该数是(B) )十六进制数D()十进制数C()八进制数B()二进制数A(. 单片机的硬件结构第 80C512章 (一)填空题)的内容入栈,以进行断点保护。调用返回时再进行出栈操作,把保护的断点1.通过堆栈实现子程序调用,首先要把(PC)送回(PC。)和芯片外跨接的(石英晶体振荡器反相器单片机的时钟电路包括两部分内容,即芯片内的(高增益反相放大器2.80C51。若调高单片机的晶振频率,则单片机的机器周期会变(短)。晶振)与(两个微调电容),通用寄存器07H3.通常单片机有两种复位操作,即(上电复位)和(手动复位)。复位后,PC值为(0000H),SP)值为(07H)到(。的当前寄存器组为(第0)组,该组寄存器的地址范围是从(00H))个振)个拍节,一个拍节为( 1状态周期又可划分为(24.80C51单片机中,一个机器周期包含(6) 个状态周期,一个)个振荡脉冲周期。12荡脉冲周期。因此,一个机器周期应包含(DPH)和(DPL),5.80C51中惟一一个可供用户使用的16位寄存器是(DPTR)它可拆分为两个8位寄存器使用,。名称分别为(PC为16位,因此程序存储器地址空间是(64 KB) 6.单片机程序存储器的寻址范围由PC的位数决定。80C51的。(二)单项选择题 1. 下列概念叙述正确的是(D)80C51中共有5个中断源,因此在芯片上相应地有5个中断请求输入引脚(A)B)特殊的存取

相关文档
最新文档