单片机 2
- 格式:doc
- 大小:120.29 KB
- 文档页数:7
8、已知程序执行前有A=01H,SP=42H,(41H)=FFH,(42H)=FFH。
下述程序执行后:POP DPHPOP DPLMOV DPTR,#3000HRL AMOV B,AMOVC A,@A+DPTRPUSH AMOV A,BINC AMOVC A,@A+DPTRPUSH ARETORG 3000HDB 10H,80H,30H,80H,50 H,80H请问:A= 80H ,SP= 42H,(41H)= 30H ,(42H)= 80H 。
9、在存储器扩展中,无论是线选法还是译码法,最终都是为了扩展芯片的片选端提供信号。
10、在MCS-51中,PC和DPTR都用于提供地址,但PC是为了访问程序存储器提供地址,而DPTR是为访问数据存储器提供地址。
11、16KB RAM存储器的首地址若为3000H,则末地址为 6FFF H。
二.选择题(每题2分,共16分)1、8051与8751的区别是:A、内部数据存储但也数目的不同B、内部程序存储器的类型不同C、内部数据存储器的类型不同D、内部的寄存器的数目不同2、判断以下有关PC和DPTR的结论是否正确?A、DPTR是可以访问的,而PC不能访问。
对B、它们都是8位的存储器错C、它们都有加1的功能。
错D、DPTR可以分为两个8位的寄存器使用,但PC不能。
对3、PC的值是A、当前正在执行指令的前一条指令的地址B、当前正在执行指令的下一条指令的地址C、当前正在执行指令的地址D、控制器中指令寄存器的地址4、判断下列说法是否正确A、 8031共有21个特殊功能寄存器,它们的位都是可以用软件设置的,因此,是可以进行位寻址的。
错B、内部RAM的位寻址区,只能供位寻址使用,而不能供字节寻址使用。
错C、程序计数器PC不能为用户编程时直接使用,因为它没有地址。
对5、下列说法错误的是:A、各中断发出的中断请求信号,都会标记在MCS -51系统的IE寄存器中。
B、各中断发出的中断请求信号,都会标记在MCS -51系统的TCON与SCON寄存器中。
第二章1. 程序状态字寄存器PSW各位的定义是什么?PSW是一个8位寄存器,用于寄存当前指令执行后的某些状态,即反映指令执行结果的一些特征信息。
Cy(PSW.7):即PSW的D7位,进位/借位标志。
AC(PSW.6):即PSW的D6位,辅助进位标志。
F0(PSW.5)及F1(PSE.1):即PSW的D5位、D1位,用户标志位。
RS1及RS0(PSW.4及PSW.3):即PSW的D4位、D3位,寄存器组选择控制位。
OV(PSW.2):即PSW的D2位,溢出标志。
2. 8051存储器结构的主要特点是什么?程序存储器和数据存储器各有何不同?8051单片机的存储器结构与一般微机存储器的配置方法不同,一般微机把程序和数据共存同一存储空间,各存储单元对应惟一的地址。
而MCS-51的存储器把程序和数据的存储空间严格区分开。
数据存储器用于存放程序运算的中间结果、状态标志位等。
程序存储器用于存放已编制好的程序及程序中用到的常数。
3.8051单片机内部RAM可分为几个区?各区的主要作用是什么?内部数据存储器分为高、低128B两大部分。
低128B为RAM区,地址空间为00H~7FH,可分为:寄存器区、位寻址区、堆栈及数据存储区。
存放程序运算的中间结果、状态标志位等。
高128B为特殊功能寄存器(SFR)区,地址空间为80H~FFH,其中仅有21个字节单元是有定义的。
4. 在访问外部ROM或RAM时,P0和P2口各用来传送什么信号?P0口为什么要采用片外地址锁存器?P0口传送地址低八位后可复用数据线,所以,P0口要采用片外地址锁存器。
P2口传送地址高八位。
5.8051单片机有几种复位方法?复位后,CPU从程序存储器的哪一个单元开始执行程序?8051的复位电路包括上电复位电路和按键(外部)复位电路.0000H6. 什么是时钟周期?什么是机器周期?什么是指令周期?当振荡频率为12MHz时,一个机器周期为多少微秒?时钟周期:也称振荡周期,即振荡器的振荡频率fosc的倒数,是时序中最小的时间单位。
单片机种类比较(二)引言概述:本文将继续对单片机种类进行比较,着重介绍各种单片机的性能和特点,以及其适用的不同应用场景。
通过对比分析,读者可以更好地了解各类单片机的优缺点,从而选择合适的单片机作为项目开发的核心。
正文内容:I. PIC单片机系列A. MCU结构和性能特点1. 器件数量2. 性能指标3. 系统集成度B. 开发环境和工具支持1. 编程语言2. 开发软件3. 仿真和调试工具C. 应用场景和案例分析1. 家电控制系统2. 工业自动化3. 智能车辆II. ARM单片机系列A. 架构和性能特点1. 强大的处理能力2. 丰富的硬件资源3. 低功耗设计B. 开发环境和工具支持1. 嵌入式操作系统2. 集成开发环境3. 高级调试工具C. 应用场景和案例分析1. 智能家居系统2. 工业控制设备3. 移动设备III. AVR单片机系列A. MCU结构和性能特点1. 整合度和效能2. 低功耗设计3. 高性能B. 开发环境和工具支持1. 编程语言2. 开发软件3. 仿真和调试工具C. 应用场景和案例分析1. 家居安防系统2. 电子交互设备3. 通信设备IV. MSP430单片机系列A. 架构和性能特点1. 超低功耗设计2. 高性能和高可靠性3. 器件多样化B. 开发环境和工具支持1. 编程语言2. 开发软件3. 仿真和调试工具C. 应用场景和案例分析1. 传感器网络2. 医疗设备3. 能源管理V. 8051单片机系列A. MCU结构和性能特点1. 体积小2. 低功耗设计3. 成本低廉B. 开发环境和工具支持1. 编程语言2. 开发软件3. 仿真和调试工具C. 应用场景和案例分析1. 智能卡2. 家用电子设备3. 电子游戏总结:综上所述,本文对五种常见的单片机系列进行了比较,包括PIC、ARM、AVR、MSP430和8051系列。
每个系列根据其结构、性能、开发环境、应用场景等方面进行了详细描述和分析。
读者可以根据项目要求和需求,选择最适合自己的单片机作为项目的核心。
单片机1. (一)选择题50道1.51单片机芯片是双列直插式封装的,有(C)个引脚 [单选题] *A、24B、30C、40(正确答案)D、502. 一个机器周期等于()个振荡周期。
[单选题] *A、2B、4C、8D、12(正确答案)3. 单片机中,程序状态字CY、OV、P分别为()。
[单选题] *A、进位、溢出、奇偶标志位B、溢出、进位、奇偶标志位C、进位、溢出、A累加器1的奇偶标志位(正确答案)D、奇偶标志位、进位、溢出位4. 在单片机应用系统中,LED数码管显示电路通常有()显示方式。
[单选题] *A、静态B、动态C、静态和动态(正确答案)D、查询5. 启动定时器0开始计数的指令是使TCON的() [单选题] *A、TF0位置1B、TR0位置1(正确答案)C、TR0位置0D、TR1位置06. 单片机中断允许寄存器中的定时器T1允许或禁止控制位是()。
[单选题] *A、ET0B、ET1(正确答案)C、EX0D、EX17. 在串行通信中,数据传输沿两个方向,但需要分时进行传输的是()传输模式。
[单选题] *A、单工B、半双工(正确答案)C、全双工8. 提高单片机的晶振频率,则机器周期() [单选题] *A、不变B、变长C、变短(正确答案)D、不定9. C51编译器中不支持的存储模式是() [单选题] *A、Xdata(正确答案)B、SmallC、CompactD、Large10. 以下不是构成单片机的部件() [单选题] *A、微处理器B、存储器C、I/O接口D、打印机(正确答案)11. 单片机中断允许寄存器中的串行中断允许或禁止控制位是()。
[单选题] *A、ET0B、ET1C、ES(正确答案)D、EA12. D/A转换器所使用的数字量位数越多,则它的转换精度() [单选题] *A、越高(正确答案)B、越低C、不变D、不定13. 共阴极数码管是将所有发光二极管的( )连接在一起,数码管的动态显示是利用发光二极管的(),让人感觉数码管是同时点亮。
硬件电路参考如下:程序参考如下:#pragma sfr#pragma interrupt INTP0 LED_INTP0 /* 定义使用INTP0中断,中断函数名LED_INTP0*/ #pragma di /*禁止使用中断功能声明*/#pragma ei /*允许使用中断功能声明*//*数码管编码数组*/unsigned char LED_light[10]={0x30,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x3F}; unsigned char j=0; /*按键次数变量*/void hdinit() /*硬件初始化*/{PM1=0; /*P1口输出数码管字型码,所以设置为输出*/PU1=0XFF; /*由于P1口直接驱动数码管显示,为增大驱动,设置为内部上拉*/PM12.0=0; /*P12.0口线要作为中断多功能,设置为输出和内部上拉 */PU12.0=1;PIF0=0; /*中断请求标志,没有中断请求*/PMK0=0; /*中断屏蔽标志,允许中断*/PPR0=1; /*中断优先级,低优先级*/EGP.0=1; /*与EGN组合,上升沿有效*/EGN.0=0;}void main (void){DI(); /*首先做准备,禁止中断*/IMS=0XCC;IXS=0X00;hdinit();EI(); /*准备完成,允许中断*/while(1){ /*啥也不干,就等待中断,仅是在这个实验中使用中断,实际不是这样/*}}__interrupt void LED_INTP0() /*中断函数*/{ P1= LED_light[j]; /*P1赋值,数码管显示相应数值*/j++; /*按键次数加一*/if(j==10) /*如果按键次数达到十次,按键计数归0*/{j=0;} }思考: 如果用两位数码管,从0—99循环计数又该怎样设计硬件和软件呢?。
一、填空题:1、当MCS-51引脚ALE有效时,表示从P0口稳定地送出了低8位地址。
2、MCS-51的堆栈是软件填写堆栈指针临时在片内数据存储器内开辟的区域。
3、当使用8751且EA=1,程序存储器地址小于 1000H 时,访问的是片内ROM。
4、MCS-51系统中,当PSEN信号有效时,表示CPU要从外部程序存储器读取信息。
5、MCS-51有4组工作寄存器,它们的地址范围是 00H~1FH 。
6、MCS-51片内20H~2FH范围内的数据存储器,既可以字节寻址又可以位寻址。
7、PSW中RS1 RS0=10时,R2的地址为 12H 。
8、PSW中RS1 RS0=11时,R2的地址为 1AH 。
9、单片机系统复位后,(PSW)=00H,因此片内RAM寄存区的当前寄存器是第 0 组,8个寄存器的单元地址为 00H ~ 07H 。
10、PC复位后为 0000H 。
11、一个机器周期= 12 个振荡周期= 6 个时钟周期。
12、PC的内容为将要执行的的指令地址。
13、在MCS-51单片机中,如果采用6MHz晶振,1个机器周期为 2us 。
14、内部RAM中,位地址为30H的位,该位所在字节的字节地址为 26H 。
15、若A中的内容为63H,那么,P标志位的值为 0 。
16、8051单片机复位后,R4所对应的存储单元的地址为 04H ,因上电时PSW=00H 。
这时当前的工作寄存器区是第 0 工作寄存器区。
17、使用8031芯片时,需将/EA引脚接低电平,因为其片内无程序存储器。
18、片内RAM低128个单元划分为哪3个主要部分:工作寄存器区、位寻址区和用户RAM区。
19、通过堆栈操作实现子程序调用,首先就要把 PC 的内容入栈,以进行断点保护。
调用返回时,再进行出栈保护,把保护的断点送回到 PC 。
20、MCS-51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为MCS-51的PC是16位的,因此其寻址的范围为 64 KB。
单片机定时器方式2的工作原理
单片机定时器方式2的工作原理如下:
在定时器方式2中,定时器/计数器被配置为一个16位的定时器模式。
当定时器/计数器的计数达到最大值(对于8051单片机,最大值为65535)时,计数器会自动回滚到0,并产生一个溢出事件。
当定时器/计数器溢出时,定时器/计数器的输出比较寄存器将被立即加载到输出比较寄存器中。
这意味着在溢出发生后,输出比较寄存器的值将立即被复制到输出比较寄存器中,并产生一个中断请求。
在定时器方式2中,输出比较寄存器的值可以通过编程来设置。
当输出比较寄存器的值被设置后,定时器/计数器的当前计数值将与输出比较寄存器的
值进行比较。
如果定时器/计数器的计数值小于输出比较寄存器的值,则定
时器/计数器的计数值将递增,直到定时器/计数器的计数值等于输出比较寄存器的值。
当定时器/计数器的计数值等于输出比较寄存器的值时,输出比较寄存器的
值将被复制到输出比较寄存器中,并产生一个中断请求。
此时,定时器/计
数器的计数值将被清零,并重新开始计数。
因此,通过设置输出比较寄存器的值,可以控制定时器/计数器的计数值何时达到溢出值,从而控制定时器的定时时间。
电子秒表设计朱仁帅滨江学院电子工程系通信工程专业一.引言在现代通信系统中,电子秒表设计电路是最重要最基本的电路。
对于精确计数来说,虽然可以采用普通机械秒表,但远不如电子秒表精确度高。
所以在许多测量中电子秒表正逐渐取代普通机械秒表。
电子秒表工作过程就是从零开始,精确计数的过程。
实现计数的方法很多,而目前由于各种计数器的发展和更新,电子秒表得到广泛的应用。
数字电子秒表具有显示直观、读取方便、精度高等优点,在计时中广泛使用。
本设计用单片机组成数字电子秒表,力求结构简单、精度高为目标。
本系统采用C52系列单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合硬件电路如电源电路,晶振电路,复位电路,显示电路,以及一些按键电路等来设计计时器,将软、硬件有机地结合起来。
其中软件系统采用汇编语言编写程序,硬件系统利用PROTEUS强大的功能来实现,简单切易于观察,在仿真中就可以观察到实际的工作状态。
硬件电路图按照图1.1进行设计:二、主要研究内容:STC89C52 单片机控制器复位电路开关电路LCD显示图1.1 数字秒表硬件电路基本原理图本设计利用STC89C52单片机的定时器/计数器定时和计数的原理,使其能精确计时。
利用中断系统使其能实现开始暂停的功能。
根据要求知道秒表设计主要实现的功能是计时和显示。
因此设置了两个按键和LCD显示时间,两个按键分别是开始、停止和复位按键。
利用这两个建来实现秒表的全部功能,而LCD 则能显示最多4.59.99秒的计时。
电路原理图设计最基本的要求是正确性,其次是布局合理,最后在正确性和布局合理的前提下力求美观。
本设计中,LCD显示的数据存放在内存单元31H-33H中。
其中31H存放分钟变量,32H存放秒钟变量,33H存放10ms计数值,即存放毫秒位数据,每一地址单元内均为十进制BCD码。
由于采用软件动态扫描实现数据显示功能,显示用十进制BCD码数据的对应段码存放在ROM表中。
显示时,先取出31H -33H某一地址中的数据,然后查得对应的显示位,并从P1口输出,就能显示该地址单元的数据值。
计时通过1INT中断完成,定时溢出中断周期为1ms,当溢出中断后向CPU 发出溢出中断请求,每发出一次中断请求就对毫秒计数单元进行加一,达到10次就对十毫秒位进行加一,依次类推,直到4.59.99秒重新复位。
再看按键的处理。
这两个键可以采用中断的方法,也可以采用扫描的方法来识别。
复位键主要功能在于数值复位,对于时间的要求不是很严格。
而开始和停止键则是用于对时间的锁定,需要比较准确的控制。
因此可以对复位按键采取扫描的方式。
而对开始和停止键采用外部中断的方式。
设计中包括硬件电路的设计和系统程序的设计。
其硬件电路主要有主控制器,显示电路和回零、启动、查看、停表电路等。
主控制器采用单片机STC89C52,显示电路采用LCD显示计时时间,两个按键均采用触点式按键。
三、设计的方法及步骤:1、硬件设计本系统中,硬件电路主要有电源电路,晶振电路,复位电路,显示电路,以及一些按键电路等。
1.单片机简介本系统设计采用C52系列单片机。
STC89C52是一种带4K 字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器。
该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容(由于在微机原理中学过C-51的具体知识,这里不再详细说明)。
由于将多功能8位CPU 和闪烁存储器组合在单个芯片中,STC89C52是一种高效的微控制器。
2.电源电路电源电路是系统最基本的部分,任何电路都离不开电源部分,由于三端集成稳压器件所组成的稳压电源线路简单,性能稳定,工作可靠,调整方便,已逐渐取代分立元件,在生产中被广泛采用,由于是小系统,我们采用7809电源提供+5V 稳压电压。
3.晶体振荡电路MCS--51单片机内部的振荡电路是一个高增益反相放大器,引线 XTAL1和XTAL2分别为反向振荡放大器的输入及内部时钟工作电路的输入和来自反向振荡器的输出,该反向放大器可以配置为片内振荡器。
这里,我们选用52单片机12MHZ 的内部振荡方式,电路如下:电容器C1,C2起稳定振荡频率,快速起振的作用,C1和C2可在20-100PF 之间取,这里取30P ,接线时要使晶体振荡器X1尽可能接近单片机。
XTAL218XTAL1199U1X1CRYSTALC122PFC222PF C3图2 晶体振荡电路4.复位电路采用上电+按键复位电路,上电后,由于电容充电,使RST 持续一段高电平时间。
当单片机已在运行之中时,按下复位键也能使用使RST 持续一段时间的高电平,从而实现上电加开关复位的操作。
这不仅能使单片机复位,而且还能使单片机的外围芯片也同时复位。
当程序出现错误时,可以随时使电路复位。
电路图如下:图3 复位电路5.显示电路显示电路既可以选用液晶显示器,也可以选用数码管显示。
我们采用的是液晶显示电路来计时。
电路图如下所示:图4 显示电路6.键盘电路在按键电路中,我们可以在I/O 口上直接接按键,或者通过I/O 口设计一个键盘,然后通过键盘扫描程序判断是否有键按下等。
键盘扫描电路节省I/O 口,但编程有些复杂,在这里,由于我们所用的按键较少,且系统是一个小系统,有足够的I/O 口可以使用,为了使程序简化,我们采用按键电路,用部分P3口做开关,P3.3为开始停止,P3.4为清零,用外部中断INT1开始,另外用软件法消除抖动。
电路图如下所示: 54P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T 01416P3.5/T 115P2.7/A1528P2.6/A14图5 键盘电路硬件主电路图设计用proteus 画出其硬件主电路图如下:665544XTAL218XTAL119ALE 30EA31PSEN 29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51X1CRYSTALC122PFC222PF C31nFR1100D 714D 613D 512D 411D 310D 29D 18D 07E 6R W 5R S 4V S S 1V D D 2V E E3LCD1LM016L234567891RP110K图6 硬件主电路2.软件设计4.1软件设计概述在软件设计中,一般采用模块化的程序设计方法,它具有明显的优点。
把一个多功能的复杂的程序划分为若干个简单的、功能单一的程序模块,有利于程序的设计和调试,有利于程序的优化和分工,提高了程序的阅读性和可靠性,使程序的结构层次一目了然。
应用系统的程序由包含多个模块的主程序和各种子程序组成。
各程序模块都要完成一个明确的任务,实现某个具体的功能,在具体需要时调用相应的模块即可。
功能描述:用LCD1602液晶显示"秒表",显示时间为0.00.00—4.59.99秒,每秒自动加1;一个"开始""暂停"键,一个"清零"键。
4.2主程序流程图这里采用顺序结构,通过对按键的扫描,判断要实现什么功能。
如下所示:四、结果及讨论:1、按下INT1管脚的开关时,显示数据,如下图所示665544XTAL218XTAL119ALE 30EA31PSEN 29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51X1CRYSTALC122PFC222PF C31nFR1100D 714D 613D 512D 411D 310D 29D 18D 07E 6R W 5R S 4V S S1V D D 2V E E3LCD1LM016L234567891RP110K赋初始开LCD160复位键P3.3是查看键P3.3是否否是是否否是查看键P3.4是否LCD2、按下T0管脚的开关时,数据清零,如下图所示665544XTAL218XTAL119ALE 30EA31PSEN 29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51X1CRYSTALC122PFC222PF C31nFR1100D 714D 613D 512D 411D 310D 29D 18D 07E 6R W 5R S 4V S S 1V D D 2V E E3LCD1LM016L234567891RP110K以上电子秒表的设计只是其在实验方面的应用,根据实验原理,设计合理、获得准确的实验结果。
同时,实验的创新改造过程中可以做到节约大量的耗材、费用、节省宝贵的时间。