《单片机原理----C51编程及Proteus仿真习题答案 (金宁治)第1--10章.docx》由会员分享,可在线阅读,更多相关《单片机原理----C51编程及Proteus仿真习题答案 (金宁治)第1--10章.docx(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机原理一C51编程及Proteus仿真 习题答案思考题及习题1一、填空L微型计算机由CPU、存储器、I/O 口三个必要的功能部件组成,各个功能部件 之间数据总线、地址总线、控制总线等三类总线连接成为整体。2 .单片机是将CPU、ROM、RAM、I/O 口和中断系统、定时/计数器等功能模 块集成到一块硅片上的芯片级微型计算机系统。3 .当今国际上大都采用MCU或者EMCU来代替“单片机” 一词。二、简答:1 .单片机的编程语言总体上有哪三大类?它们各有什么特点?答:单片机的编程语言总体上可以分为三大种类:机器语言、汇编语言和高级语言。(1)机器语言是一种直接面向机器、唯一能被计算机直接识别和
2、执行的计算机语言。它 是一串由“(F和”1”组成的二进制代码。目标程序的执行速度快,占用内存少,运行效率高, 但它不易理解和记忆,编写、阅读、修改和调试都很麻烦。(2)汇编语言是用助记符表示指令的语言,目的是使指令便于书写、识别和记忆。汇编 语言实质上是机器语言的符号表示,即汇编指令和机器指令一一对应,故这种计算机语言也 是面向机器的语言,用汇编语言编写的程序要比与其等效的高级语言程序,具有更高的目标 代码转换效率,占用内存资源少,运行速度快;虽然引入了简单的指令助记符,但是汇编语 言在使用上仍然比高级语言困难得多;汇编语言还缺乏良好的通用性和可移植性。(3) C语言是当代应用最为广泛、影响最
3、为深远的主流高级编程语言之一。用C语言编 写的C源程序(*.c)可读性强,易学易理解,编程效率高,尤其具备汇编源程序所不具备的良 好通用性和可移植性;同时它还支持结构化程序设计及其自动化集成开发工具/环境,这使 得程序员能够集中时间和精力去从事对于他们来说更为重要的创造性劳动,从而显著提高了 程序的质量和工作的效率。2 .单片机的主要特点是什么?答:(1)集成度高,易于扩展;(2)面向应用,突出控制;(3)可靠性高,适应性强;(4) 性价比高,易于嵌入。3 .51内核的主流单片机产品有哪几种?它们各有什么特点?答:(DMCS-51系列单片机分为基本型和增强型两大子系列:51子系列和52子系列,
4、 以芯片型号的最末位数字作为标志。51子系列主要有8031、8051、8751三种机型。它们的指令系统与芯片引脚完全兼容, 仅片内程序存储器有所不同:8031片内没有程序存储器;8051的片内程序存储器是4KB的 掩膜ROM; 8751内部含有4KB的EPROMo 51子系列单片机的主要特性如下:8位CPU, 含布尔处理器;片内自带振荡器,最高时钟频率为12MHz; 4KB的程序存储器;128字节 的数据存储器;128个用户位寻址空间;21个字节特殊功能寄存器;4个8位并行I/O接口; 2个16位定时/计数器;具有2个优先级的5个中断源;1个全双工串行口; 111条指令,含 乘/除法指令;采用
5、单一+5V电源供电。52子系列主要有8032、8052、8752三种机型。52子系列与51子系列的不同之处在于:片内数据存储器增至256字节,特殊功能寄存 器增至26个;片内程序存储器增至8KB (不包括8032); 3个16位定时器/计数器,6个中 断源;其它性能均与51子系列相同。(2) AT89系列单片机也分为51和52两个子系列,每个子系列都有4种型号。AT89LS元中。程序如下:#include xdata unsigned char bufferl10 _at_ 0x2000;data unsigned char buffer210 _at_ 0x40void main(void)
6、(unsigned char i;for(i=0; i10; i+) buffer2i = buffer li;)5.向单片机片内RAM的0x30地址开始连续写入0x01-0x40o#include unsigned char data *ram_adr;void main()(ram_adr = 0x30;for(int i=0; i64; i+) (*ram_adr = i+1;ram_adr +;)#include sbitPl_l=PlAl;sbit P0_4 =P。八4; void main(void) (Pl_l = 1;while(l)(if(Pl_l = 1)P0_4 = 0;
7、) else6 .将51单片机的Pl.l引脚输入电平取反后,在P0.4引脚输出。初始化,PL1作为输入,必须先输出高电平非零表示真,如果为真那么执行下面循环体的语句读取PL1,如果PL1输入高电平VCC给P0_4赋值0,引脚P0.4就能输出低电平GND否那么P1.1输入为低电平GNDP0_4=l; 给P0_4赋值1,引脚P0.4就能输出高电平VCC)7 .单片机P1 状态分别送入P0、P2和P3。#include /包含单片机寄存器的头文件void main(void)(Pl =Oxff; while(l) (PO = P1;将Pl口状态送入PO口P2 = P1;将P2口状态送入PO口P3 =
8、 P1;将P3口状态送入P0口)8.采用字符循环移位指令实现单片机P3 口流水灯功能。#include #include void main(void) (P3 = Oxfe;/初始化 P3 口为 1111 1110B;while(l) (P3 = crol_(P3,l); 将P3的二进制位循环左移1位 delay();)void delay(void)(unsigned char i, j;for(i=0; i250; i+)for(j=0; j200 ;j+);)思考题及习题6一、填空1. STC89C52RC的外部中断0的中断标志位为IEC ,中断向量为0003H ; T1中断的 中断标
9、志位为TF1 ,中断向量为001BH ;串行口中断的中断标志位为TI、RL ,中断向 量为0023H :当中断获得响应后,相应中断标志被硬件自动清零,但其中中断标志I、 RL必须由软件清零。2.STC89c52RC单片机有上个中断源,中断源可编程为-个中断优先级,能实现_4_ 中断嵌套。3 .定时器方式。是13位定时/计数器,方式1是16位定时/计数器,定时器方式2是 上位定时/计数器,又称作.自动重装一方式。4 .定时器方式0的最大定时时间是8192 us,定时器方式1的最大定时时间是 65536jis,定时器方式2最大定时时间是5 .定时器T1在方式0、1、2 时可作为串行口方式1、3的波
10、特率发生器。6 .定时器/计数器Tx(x = O, 1)用作计数器模式时,外部输入的计数脉冲的最高频率为系 统时钟频率的247 .定时器/计数器Tx(x = OJ)用作定时器模式时,其计数脉冲由_系统时钟信号12分频 后提供,定时时间与定时器初值有关。8 .STC89c52RC单片机的晶振为6MHz,假设利用定时器T1的方式1定时2ms,贝l(THl) 二 FCH , (TL1)= 18H 。9 . STC89c52RC的串行异步通信口为全双工(单工/半双工/全双工)。10 .串行通信波特率的单位是 bit/s.。二、简答1.中断响应需要满足哪些条件?答:一个中断源的中断请求被响应,必须满足以
11、下条件:(1)总中断允许开关接通,即IE寄存器中的中断总允许位EA=1。(2)该中断源发出中断请求,即该中断源对应的中断请求标志为“1”。(3)该中断源的中断允许位二1,即该中断被允许。(4)无同级或更高级中断正在被服务。2.STC89c52RC单片机响应外部中断的典型时间是多少?在哪些情况下,CPU将推迟 对外部中断请求的响应?答:在一个单一中断的系统里,AT89s51单片机对外部中断请求的响应时间总是在3 8个机器周期之间。在下述三种情况下,AT89S51将推迟对外部中断请求的响应:(1)AT89s52正在处理同级或更高优先级的中断。(2)所查询的机器周期不是当前正在执行指令的最后一个机器
12、周期。(3)正在执行的指令是RETI或是访问IE或IP的指令。如果存在上述三种情况之一,AT89S52将丢弃中断查询结果,将推迟对外部中断请求 的响应。3.定时器/计数器Tl、T0的工作方式2有什么特点?适用于哪些应用场合?答:方式2为初值自动装入的8位定时器/计数器,克服了在循环定时或循环计数应用 时就存在用指令反复装入计数初值影响定时精度的问题。4.STC89c52RC单片机的串行口有几种工作方式?有几种帧格式?各种工作方式的波 特率如何确定?答:有4种工作方式:方式0、方式1、方式2、方式3;有3种帧格式,方式2和3具有相同的帧格式;方式。的发送和接收都以Tose/ 12为固定波特率;方
13、式1的波特率=2SMOD/32x定时器T1的溢出率;方式2的波特率=2SMOD/64 x晟;方式3的波特率=2SMOD/32x定时器T1的溢出率。三、编程1 .假设STC89c52RC单片机系统晶振为12MHz,利用定时器TO在PL0引脚上产生周期 为4ms的方波输出,编写程序。晶振12MHz对应的机器周期为1那,周期4ms的方波,每次计时时间为2ms,计数值 为 lms/l|is = 2000 o#include sbitPl_O = PlAO;void main()(TMOD = 0x01;THO = (65536-2000) / 256;TLO = (65536-2000)%256;EA
14、= 1;ET0= 1;TR0= 1;while(l)void timerO_FUN() interrupt 1Pl。=Pl 0;THO = (65536-2000) / 256;TLO = (65536-2000)%256;2 .利用定时/计数器T1产生定时时钟,由Pl 口控制8个指示灯。编写程序,使8个指 示灯依次闪动,闪动频率是1次/秒。#include #include char i = 100;char temp;void main()TMOD = 0xl0;TH1 = (65536-5000) / 256;TL1 = (65536-5000)%256;EA = 1;ET1 = 1;T
15、RI = 1;temp = Oxfe;Pl = temp;while(l)void timer0_FUN() interrupt 3TH1= (65536-5000)/256;TLl=(65536-5000)%256;i;if(i E5 引脚。2 .当单片机应用系统中RAM和ROM地址重叠时,是否会发生数据冲突,为什么?答:虽然扩展RAM和扩展ROM类似,由P0 口分时复用为8B数据总线和低8B地址 总线,P2 提供高8B地址总线,但是片外RAM的读和写操作分别由无、丽引脚控制, 片外ROM的读操作由西函引脚控制。因此,当RAM和ROM的地址重叠时,不会发生 数据冲突。3 .单片机与I/O设备
16、的数据传送方式有哪几种?答:无条件传送、查询状态传送、中断方式传送、直接存储器存取(DMA)方式。二、设计1. STC89C52RC 扩展 4kB EPROMo 要求:片外 EPROM 的地址范围为 BOOOH-BFFFHo 绘制STC89c52RC与片外EPROM的硬件连接图。30 _VccVCCXTAL1P0.0/AD0P0.1/AD1XTAL2P0.27AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7RSTEA/VPPPSENP1.0fT2P1.1JT2EXALEPl.2P3.0/RxDPl.3 Pl.4Pl.5 .P3.1/TxDPl.6P3.2/
17、INT0Pl.7P3.3/iNTlP3.4/T0P2.0/A8P3.5/T1P2.1/A9P3 6/WRP2 2/A10P3.7/RDP2 3/AUVSSP2 4/A12P2 5/A13P2.6/A14P2.7/A1519主3:80C512040102亘 77 7? 7?GND1OEVCCLED1Q1D2Q2D3Q3D4Q4D5Q5D6Q6D7Q7D8Q3GND74LS373歪OE/VPPA0A1A2A3A4A5A6A7A8A9A10AllGNDVCCQ0 Q1 Q2 Q3 Q4 Q5 Q6 Q72732(注:图中片选信号接P2.6引脚,其他不变)2.STC89c52RC扩展8kBRAM。要求
18、:片外RAM的地址范围为COOOH-DFFFH。绘制 STC89C52RC片外RAM的硬件连接图。929ToVCC nn n/a rnXTAL1XTAL2RST EA/VPP PSENALEP3.0/RxDP3. IfTxD P3.2/iNT0P3.3/INT1P3.4/T0P3.5/T1 P3.6/WRP3.7/RDrU.U/AUU P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7Pl 0/T2Pl.irT2EXPl.2 Pl.3 Pl.4 Pl.5Pl.6Pl.7P2.0/A8P2.1/A9P2.2/A10 P2.
19、3/A11 D9 AiK 1 0VSSP2.5/A13P2.6/A14P2.7/A1580C51VDD2040NC1074LS37314GND6264DQ0DQ1DQ2DQ3DQ4DQ5DQ6DQ7CE? CE2 WEOEA0A1A2A3A4A5A6A7A8A9A10AllA122 T V T7 75 逅 19GND 1t.zzid2 24? IT 23 X20. 王 c 22OEVCCLED1Q1D2Q2D3Q3D4Q4D5Q5D6Q6D7Q7D8Q8GNDIi思考题及习题8一、填空题:1 .利用DACO832产生两路同步模拟输出,那么须将其置于双缓冲工作方式。2 .对于电流输出型的D/A转
20、换器,为了得到电压输出,应使用运算放大器构建流控电 压源电路。3 .假设单片机发送给8位D/A转换器0832的数字量为65H,基准电压为5V,那么D/A转换 器的输出电压为1.98V。4 .假设A/D转换器0809的基准电压为5V,输入的模拟信号为2.5V时,A/D转换后的数 字量是7FH。二、简答题:1 . D/A转换器的主要性能指标都有哪些?设某DAC为二进制12位,满量程输出电压 为5V,试问它的分辨率是多少?答:主要性能指标有:分辨率、建立时间、转换精度等;12 位 D/A 转换分辨率:1 LSB = 5V/4096 二 L22mV。2 .分析A/D转换器产生量化误差的原因,一个8位的
21、A/D转换器,当输入电压为。 5V时,其最大的量化误差是多少?答:量化误差是把连续的模拟量转换为离散的数字量时必然存在的,是不可防止的。例 如,8位ADC,单极性输入。5V,数字量为。255,它能分辨的最小输入信号是 = 5V / 256 = 20mV,如4.985.00V输入对应的数字均为255,这是不可防止的。3 .简述DAC0832芯片的输入寄存器和DAC寄存器二级缓冲的原理。答:DAC0832内部共有两级8位寄存器。第一级为8位输入寄存器,用于存放单片机送来的数字量,使得该数字量得到缓冲和锁存,由LE1(即Ml = l时)加以控制;第二级为8位DAC寄存器。用于存放待转换的数字量,由面
22、控制(即M3=l时)。两级寄存器可以分别单独控制,从而形成二级缓冲式的工作方式。根据两个寄存器工作 状态不同,DAC0832可以工作在三种工作方式:直通方式、单缓冲方式、双缓冲方式。4 .为什么要消除按键的机械抖动?消除按键机械抖动的方法有几种?分别加以说明。答:按键开关过程的机械抖动可能会将一次按键动作误认为屡次按键操作,从而产生错 误的控制动作,因此为了确保单片机对一次按键动作只确认一次按键有效,必须消除抖动的 影响。两种去抖动方法:(1) 一种是用软件延时来消除按键抖动,基本思想:1 在检测到有键按下时,该键所对应的行线为低电平;2 执行一段延时10ms的子程序后,确认该行线电平是否仍为
23、低电平;3 如果仍为低电平,那么确认该行确实有键按下;4 当按键松开时,行线的低电平变为高电平;执行一段延时10ms的子程序后,检测该行线为高电平,说明按键确实已经松开。(2)另一种去除按键抖动的方法是采用专用的键盘/显示器接口芯片,这类芯片中都有自 动去抖动的硬件电路。5 .说明矩阵式键盘按键按下的识别原理?答:矩阵式键盘的每个按键连接一条行线和一条列线。行线通过上拉电阻接+5V,每根 行、列线连接单片机的一个I/O引脚。键盘矩阵中无键按下时,行线处于高电平状态;当有键按下时,行线电平状态将由与此 行线相连的列线的电平决定。列线的电平如果为低,那么行线电平为低;列线的电平如果为高,那么行线的
24、电平也为高, 这一点是识别矩阵式键盘是否有按键按下的关键所在。由于矩阵式键盘中行、列线为多键共用,各按键均影响该键所在行和列的电平,因此各 按键彼此将相互发生影响,所以必须将行、列线信号配合,才能确定闭合键的位置。识别矩阵键盘有无键被按下,可分两步进行:第1步,首先识别键盘有无键按下;第2 步,如有键被按下,识别出具体的键号。6 .写出共阴极LED显示数字“6”的段码?答:显示数字“6需点亮数码管中的acdefg这六个二极管,因为是共阴极数码管,因 此对应位位1,断码为01111101,转换为十六进制是0x7d。7 .独立式按键与矩阵式按键有哪些相同点和不同点?答:独立式键盘特点各键相互独立,
25、每个按键各接一条I/O 口线,通过检测I/O输入线 的电平状态,易判断哪个按键被按下。矩阵式(也称行列式)键盘用于按键数目较多的场合, 由行线和列线组成,按键位于行、列交叉点上,在按键数目较多场合,矩阵式键盘要比独立 式键盘节省较多I/O 口线。8 .简述数码管静态显示和动态显示的区别在哪里,各自有哪些优点和缺点。答:(1)静态显示方式无论多少位LED数码管,都同时处于显示状态。优点:静态显示方式显示无闪烁,亮度较高,软件控制较易。缺点:静态显示方式占用I/O 口端口线较多。(2)动态显示方式每一时刻,只有1位位选线有效;每隔一定时间逐位轮流点亮各数码管(扫描方式)。动 态显示实质:是以执行程
26、序时间来换取I/O端口减少。思考题及习题91 .说明单总线的结构?它支持哪几种基本的数据传送模式?答:单总线即只有一根数据线,系统中的数据交换、控制都由这根线完成。设备(主机 或从机)通过一个漏极开路或三态端口连至该数据线,以允许设备在不发送数据时能够释放 总线,而让其他设备使用总线。单总线通常要求外接一个约为4.7k Q的上拉电阻,这样,当 总线闲置时,其状态为高电平。单总线器件内部设置有寄生供电电路(Parasite Power Circuit) o当单总线处于高电平时, 一方面通过二极管VD向芯片供电,另方面对内部电容C(约8OOpF)充电;当单总线处于低 电平时,二极管截止,内部电容C
27、向芯片供电。由于电容C的容量有限,因此要求单总线 能间隔地提供高电平以能不断地向内部电容C充电、维持器件的正常工作。单总线适用于单主机系统,能够控制一个或多个从机设备。主机可以是微控制器,从机 可以是单总线器件,它们之间的数据交换只通过一条信号线。当只有一个从机设备时,系统 可按单节点系统操作;当有多个从设务时,系统那么按多节点系统操作。2 .说明SPI总线的结构及特点?答:SPI总线是Motorola公司推出的三线同步接口,同步串行3线方式进行通信:一条 时钟线SCK, 一条数据输入线MOSL 一条数据输出线MISO。后来对其改进,增加了一条 从器件使能信号(片选信号),由主器件控制。SPI
28、主耍特点有: 可以同时发出和接收串行数据; 可以当作主机或从机工作; 提供频率可编程时钟; 发送结束中断标志; 写冲突保护; 总线竞争保护等。3说明12c总线的结构特点? 12c总线的启动信号和停止信号如何产生?答:12c总线只有两根信号线,一根是双向的数据SDA,另一种是双向时钟线SCL。I2C 总线支持所有的NMOS、CMOS、12c工艺制造的器件,所有连接到12c总线上的设备的串 行数据线都接到总线的SDA线上,而所有设备的时钟均连接到总线的SCL上。12c总线规定,SCL线为高电平器件,向SDA线上送一个由高到低的电平,表示启动 信号;在SCL线为高电平器件,向SDA线上送一个由低到高
29、的电平,表示停止信号。4.比照三种总线的工作原理,说明其不同之处,并各列举几种工程应用实例。答:单总线采用单根信号线,既传输时钟又传输数据,而且数据传输是双向的,具有节 省I/O 口线、资源结构简单、本钱低廉、便于总线扩展和维护等诸多优点。单总线芯片不仅 可以方便地组建基于单总线的微型局域网,而且由于其引脚极少,容易与微处理器等其他器 件接口,在PCB板的布线过程中也较为简单,干扰小、而且省电,因此也广泛应用于各类 电子设备中,如设备的安全密码、设备属性登记与标识、设备的温度监控、电源电压监视、 外部事件记录、实时时钟等。SPI总线允许单片机与多个厂家生产的带有标准SPI接口的外围设备直接连接
30、,以串行 方式交换信息。它是一种高速、全双工、同步通讯总线,一般应用于E2PROM,实时时钟、 A/D转换器、D/A转换器等器件上。I2c用于连接微处理器及其外设。它是具备多主机系统所需的包括总线裁决和高低速设 备同步等功能的高性能串行总线,是近年来应用较多的串行总线。目前许多接口芯片也采用 了 12c总线接口,如存储器AT24C系列E2PROM器件、LED驱动器SAA1064等。思考题及习题1011 .单片机应用系统通常包含哪些组成局部?答:单片机应用系统的组成结构如图10-1所示。该系统以单片机作为控制核心,通过 模拟量接口(A/D接口、D/A接口)、开关量输入/输出接口、人机界面(按键、
31、显示等)以及通 信接口、存储器等外围电路或设备,实现系统与外界之间信息的交换。12 . A/D接口如何处理不同类型的外部模拟量?答:A/D接口负责将系统外部的模拟形式的物理量,如温度、电压等模拟信号,转换为 数字量送至单片机的I/O 口。 对于非电气类信号,通常需要各式各样的传感器,将待测 量的不用类型的模拟量转换为模拟电信号,再送入A/D转换器; 弱电气信号一般经过简 单的信号调理即可,如电压信号进行电阻分压或运放构成的电压调整,又如电流信号通过采 样电阻转换为电压信号等; 对于大功率电气信号,为了实现强电与弱电之间的隔离,必 须引入隔离型的电压/电流传感器,将强电信号转换为可以接受的弱电信
32、号。13 .单片机应用系统的设计方法或开发流程通常包含哪几个主要阶段?答:单片机应用系统的设计方法或开发流程通常包含方案设计、硬件设计、软件设计以 及系统测试等几个主要阶段。需要补充说明的是,上述的各个开发阶段并不是各自孤立的, 在实际操作中往往存在各个开发阶段相互交叉、并行处理、反复修改的过程。14 .简述单片机的主要选型原那么。答:单片机的选型原那么是: 尽量选择货源稳定、用户广泛、技术成熟的主流系列产 品; 所选产品的性能/体积比、性能/价格比要高,以适应嵌入式应用的基本需求;片 上资源的配置既要留有一定的功能冗余,又要防止过多的功能闲置,以获得最合理的芯片资 源利用率以及最优的系统整体
33、性价比。15 .简述独立式按键的检测方法。答:独立式按键的检测方法有:查询方式:每个按键分别与一根口线相连,并在程 序空闲时间,利用循环结构依次查询各个口线对应的按键状态; 中断方式:通过按下按 键的方式发出外部中断请求,而如果按键的数量多于外部中断源的数量,那么需按照外部中断 源的数量对按键先进行分组与逻辑“与”,再连接至各个外部中断申请脉冲端,并在中断服 务函数中查询究竟是哪个按键按下之后,再转移至相应的按键处理程序。16 .多位七段式数码管显示需要采用哪些解决方案?答:对于多位七段式数码管显示,可以采用以下三种解决方案:利用缓冲/锁存器、I/O专用芯片扩展并行I/O 口;动态显示方式:利
34、用“视觉残留”原理,多位数码管公用 一个“段码” 口,并在“位码” 口的控制下按照一定的时间间隔依次显示,这显著降低了对 并行口数量的需求;串行口级联扩展:利用串行口方式0+移位输出寄存器级联的方式, 可以扩展多个并行输出口,但其数据发送需经“并-串-并两次转换,故要显示的位数越多, 数据传输的延迟就会越长。17 .简述单片机应用系统程序设计的基本思想或流程。答:软件(程序)设计的基本思想是:为了使用计算机求解某一问题或者完成某一特定功 能,就要首先对问题或特定功能进行分析,确定适合的算法和步骤,然后选择合适的指令, 按一定的顺序排列起来,最后就构成了求解某一问题或者实现特定功能的程序。18
35、.单片机应用程序中,主函数通常需要具有什么功能?或者包含哪些程序模块?答:主函数通常包含各种初始化函数。这些初始化函数主要负责完成系统初始化、数据 初始化等。系统初始化包括系统时钟初始化、I/O 口初始化、定时/计数器初始化、中断系统 初始化等,而数据初始化包括自定义常量与变量中数据类型、存储类型的定义以及赋初始值 等。在主函数的末尾处通常放置一个无限循环的程序段。这个循环结构体可以是空循环,也 可以用于循环执行按键扫描、显示输出、数据接收等。尤其是在含有中断服务函数的应用程 序中,它还用于循环等待中断。和AT89LV机型可以在更低的电压(2.7V)和更宽的电压范围(2.7V6.0V)下工作。
36、随着Atmel 公司宣布停产AT89C51/52芯片,近年来AT89C51/2已逐渐被AT89S51/2所取代。AT89s51/2 相对于AT89c51/2在性能上有了较大提升,而价格基本不变,甚至比AT89c51/2更低。AT89s51/2单片机与MCS-51系列单片机的指令和引脚完全兼容,其新增或增强的主要 功能和特性如下:片内带振荡器,最高时钟频率可达33MHz; 4/8KB的Flash程序存储器, 可擦写次数达1000次以上;128/256字节的数据存储器,26/32个字节特殊功能寄存器;新 增在系统/在线编程(ISP)功能,无需专用编程器/仿真器,直接通过串行即可改写Flash程 序
37、存储器内的用户代码;集成双数据指针DPTRO、DPTR1,数据操作更加快捷方便;14位 的看门狗定时器;低功耗电源管理模式。3 3) STC89系列单片机是宏晶科技生产的8位微控制器,保存了传统51单片机的所有特 性,其指令集完全兼容传统51单片机。内置64K字节的FLASH用户应用程序空间;支持 ISP (在系统编程)和IAP (在应用编程),ISP允许用户在无需从开发系统中移除单片机的情况 下下载新的代码,IAP指的是在应用程序运行时向FLASH存储器写入非易失性数据;片上 集成512/1280字节的数据空间以满足多个领域的应用需求;12时钟/机器周期(12T)模式或6 时钟/机器周期(6
38、T)模式可以按需自由配置。此外,该系列产品还包含附加的I/O 口 P4 口、4 个外部中断源、定时器T2以及看门狗定时器、低功耗管理模式等等。4 .简述STC89系列单片机的资源配置。答:STC89系列单片机的主要配置如下: 增强型51内核CPU,可运行于1217单倍速模式或617双倍速模式,指令代码完全 兼容传统51单片机; 工作电压范围:5.5-3.3V (STC89C 子系列)/ 3.6-2.0V (STC89LE 子系列); 工作频率范围:040MHz,在617双倍速模式下相当于传统51单片机的。80MHz, 理论上最高工作频率可达48MHz; 片上集成4K/8K/13K/16K/32
39、K/64K字节的FLASH用户应用程序空间; ISP (在系统可编程)/ IAP (在应用可编程),无需专用编程器,无需专用仿真器,可 通过串行口直接下载用户应用程序; 片上集成512/1280字节的RAM存储空间; 4个8位的双向I/O 口 P0P3,并附带1个P4 口,通用I/O 口最多可达35/39个; 8个中断源,分为4个中断响应优先级; 4路外部中断源,支持下降沿或低电平触发方式; 3个16位的定时/计数器,其中定时器T2是带有可编程时钟输出的加/减计数器; 增强型通用异步串行口人内),具有硬件地址识别、框架错误检测功能,并自带 波特率发生器; 1个15位的看门狗定时器,带有8位的时
40、钟预定标器; 2种低功耗电源管理模式:空闲模式、掉电模式,掉电模式可由外部中断源唤醒; 工作温度范围:-4085c(工业级)、075(商业级); 封装类型:PDIP-40、PQFP-44、LQFP-44、PLCC-44。5.简述单片机的开展趋势。答:(1) CPU的开展:单片机的早期产品只能处理8位数据,如今带有16位CPU的单 片机已经非常普遍,某些产品如STM32系列单片机的数据处理能力已经到达了 32位。CPU 的运行速度越来越快:时钟频率提高;引入多级流水线技术;减少振荡周期数/ 机器周期也可以提高指令的执行速度。(2)存储器的开展:片内集成存取速度更快的Flash ROM已成为当今单
41、片机产品市场的 主流开展趋势,Flash存储器的内置容量逐渐被扩充。(3)1/0 口数量和功能:对于通用单片机,并行I/O 口的数量增多,可以提供假设干种串行 I/O HI,增强了并行驱动能力。(4)片上资源的增加:除了包含传统51单片机的中断系统、定时/计数器、UART串行 口之外,还可能有A/D转换器、PWM模块以及SCI、SPI、CAN串行总线接口等等。(5)开发方式的进步:目前主流单片机产品均有各自配套的C编译器,尤其是C51语言 已经成为了 51单片机的通用编程语言。用户可以利用C51语言和Keil C51软件开发工具/ 环境,实现高效快捷的51单片机应用程序开发,如编辑、编译、调试
42、以及烧写等。在程序 下载/烧写方面,越来越多的产品支持在系统编程(ISP)和在应用中编程(IAP)技术。(6)低电压低功耗:目前很多单片机产品均可采用较宽范围的电压供电,通常其CPU 内核工作于1.52.5V,外围I/O 口工作于35V;同时它们还支持低功耗运行模式,可以 按需控制CPU进入、退出空闲或者掉电状态。思考题及习题2一、填空4 .程序状态字寄存器PSW的CY位代表 进位标志位,AC位代表 辅助进位标志位, 0V位代表 溢出标志位,P位代表 奇偶校验位。5 .执行3CH和F6H两个有符号数相加的指令后,累加器(A) = 32H , CY=J, AC =L, 0V =0, P=J。6
43、.程序计数器PC的位数是6位,因此它可对64KB的程序存储器进行寻址。7 .堆栈操作遵循的原那么是先入后出。8 .如果堆栈指针SP指向30H单元,那么在执行一次入栈指令和两次出栈指令后,(SP)= 2FH o9 . 8051的机器周期等于12个时钟振荡周期。10 . 8051的晶振频率为24MHz,那么一个机器周期为2”。11 . 8051的晶振频率为12MHz,那么ALE引脚的输出频率为2MHz。12 .复位后,堆栈指针SP的内容为07H ,程序计数器PC指向程序存储器的地址为 0000H , P0P3 口的状态为FFH 。13 .在RST引脚持续加上个机器周期以上的高电平,系统才能可靠复位
44、。14 .微型计算机的存储器有两种基本结构:一种是将程序和数据合用为一个存储器空间, 称为普利斯顿结构;另一种是将程序存储器和数据存储器截然分开,称为哈佛结构。15 .当STC89C52RC的启引脚接高电平时,优先寻址片内ROM的0000H1FFFH单 元;而当地址范围超出低B之外时,自动转向访问片外ROM从2000H开始编址的存 储单元,且最多可以扩展的片外存储容量为56KB。16 .复位后,自动选择第2组工作寄存器组,堆栈指针SP指向该组的工作寄存器R7。17 .如果选择第_L组工作寄存器组,那么需要设置状态位RS1RS0为“01”,当前工作寄 存器R0-R7的地址为08H0FH。18 .
45、片内RAM的20H2FH单元为位寻址区,这一区域包含2幺个可寻址位。19 .位寻址区中20H单元D7位的位地址表示为0H_。20 . 8051有4个8位双向并行I/O 口,其中唯一的单功能口为P1 口。21 .当用作通用输出口时、P0 口只能输出 0、高阻态 两种状态,因而P0 口的各个 引脚需要外接 上拉电阻使用,否那么无法输出高电平。22 .作为通用输入口使用时,P0P3 口在读引脚操作前应先设置为输入线,即向其输出 锁存器写1 ,否那么无法从其引脚上获得外部的高电平。二、简答:1 . STC89C52RC单片机片内都集成了哪些功能部件? 答:P() PI P2 P3 P4P() PI P2 P3 P4XTAL2 XTALIRST ALE2 .程序计数器PC中存放的是什么内容?执行一条顺序指令后,PC的值将如何变化?答:程序计数器PC中存放的是下一条要执行的指令地址。从存储器中取出一条指令后, PC的值自动加1,指向下一条将要取出指令的地址或当前指令后续字节的地址。3 .结合图2-5分别简述一次入