


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章单片机硬件结构测试1、AT89S51单片机都集成了哪些功能部件?答: AT89S51 单片机的片内都集成了如下功能部件:(1) 1个8位微处理器 (CPU);(2) 数据存储器(128B RAM单元;(3) 4KB Flash 程序存储器 (ROM);(4) 4 个 8 位可编程并行 I/O 口 (P0 口、P1 口、P2 口、P3 口);(5) 1 个全双工串行口 ;(6) 2 个 16 位定时器 /计数器;1 个看门狗定时器 ;(8) 一个中断系统 ,5 个中断源,5 个中断向量、 2 个优先级 ;(9) 26 个特殊功能寄存器 CSFR)2、AT89S51 单片机存储器的结构特点?
2、答:80C51单片机采用将数据存储器和程序存储器分开,分别寻址的结构,称为Harvard结构。在 物理上有四个存储器空间:片内程序存储器 , 片外程序存储器 , 片内数据存储器和片外数 据存储 器。在逻辑上有三个存储器空间:片内外统一的64KB程序空间,128B片内数据空间,64KB片外 数据空 间。访问格式:访问片内RAM采用MOX格式,访问片外RA咏用MOV>格式。单片机内部程序存储器是(4KB的Flash存储器),地址范围是(0000H) (OFFFH);数据存储 器是 (128B的RAM)地址范围是(00H) (7FH)。3、 程序存储器可外扩至 (64K) B, 地址范围是 (
3、0000H) (FFFFH), 通过引脚 (EA 非), 区分访问的 片内,片外存储器。如何区分?如何区分 :当EA脚为高电平时,单片机读片内程序存储器(41(字节Flash)中的内容,但在PC值超 过OFFFH (即超出4K字节地址范围)时,将自动转向读外部程序存储器内 C1000H-FFFFH)的程序;当EA脚为低电平时, 单片机只对外部程序存储器的地址为 会片内的4K字节的Flash程序存储器4、 程序存储器中 5 个中断入口地址分别是多少?0000H? FFFFH中的内容 进行读操作,单片机不理中断源外部中断 0定时器 / 计数器 TO外部中断 1定时器 / 计数器 T1串行口中断中断
4、入口地址0003HOOOBH0013HOO1BH0023H5、 数据存储器可外扩至 (64K) B, 地址范围是 (0000H) (FFFFH), 访问片外数据存储 器时,地址 使用(DPTR)和(Ri)表示。6> AT89S51 的 4个并行 I/O ,分别是 (PO)、 作用简单描述他们的特点。(Pl )、( P2)、( P3)。从电路特点,驱动能力,作用:( 2) P0 口既可作地址、数据分时复用总线口,这时是个真正的双向I/O 口;又可作通 用I/O 口,但这时是个准双向 I/O 口,由于内部无上拉电阻,需要外接上拉电阻。P1 口是一个标准的 8 位准双向井行 I/O 口,内部接
5、有上拉电阻,无需外接上拉电 阻。P2 口既可作高 8 位地址输出,也可作通用I/O 口,内部接有上拉电阻,无需外接上拉电阻?P3 口是一个双功能口,其第一功能作通用I/O 口,是一个 8 位的准双向输入或输 出口,内部接有上拉电阻,无需外接上技电阻;其第二功能为变异功能,其每位都有具体的 功能定 义。P0 口每位可驱动 8个LSTTL输入,而Pl、P2、P3 口的每一位的驱动能力,只有P0 的一 半,任何一个口想要获得较大的驱动能力,只能采用低电平输出。7、单片机最小系统包括哪些基本电路?分别可以使用什么方法实现?时钟电路:一种是内部时钟方式,通过晶振频率的高低控制另一种是外部时钟方式,用现成
6、的外部振荡器产生脉冲信号 复位电路:复位电路采用上电自动复位和按钮复位两种方式8、时钟周期,机器周期和指令周期的关系 答:一个机器周期包括 12 个时钟周期。指令周期是执行一条指令所需的时间。单字节指令需要一个机器周期,双字节位2 个机 器周期,复杂指令则需要多个机器周期。第三章测试1、把片外RAM 6000H单元数据送到片内 RAM 50H单元中MOV DPTR, #6000H MOVX A, DPTRMOV 50H, A2、若有一表 :ORG 3000HDB OOH, 01H, 04H, 09H, 10H, 19H, 24H, 31H, 40H, 51H 请通过查找表指令将表中的第 7 个
7、元素的值送值累加器 R1ORG 0000HMAIN:MOV DPTR, #DBMOV A, #6MOVC A, ?A+DPTRMOV R4, ARETDB OOH, 01H, 04H, 09H, 10H, 19H, 24H, 31H, 40H, 51H3、 请使用两种方法将累加器A和寄存器R3中的内容互换(1) XCH A, ?R3(2) MOV RO, AMOV A, R3MOV R3, RO(3) PUSH AccPUSH R3POP AccPOP R34、请使用指令完成以下要求,未涉及位的内容不能改变:(1) 将 ACC. 2, ACC. 6, ACC. 7 清 0 ANL A, #10
8、011101(2) 将 ACC. 4, ACC. 5 置 1ORL A, #18H第 5 章-中断测试1、AT89S51中断源有几个?入口地址分别是多少?中断源中断入口地址外部中断 00003H定时器 /计数器 TOOOOBH外部中断 10013H定时器 /计数器 T1001BH2、与AT89S5仲断相关的寄存器有哪些?分别是什么作用?定时器控制寄存器 TCON用于选择外部中断 0或 1 ,并且选择外部中断的请求触发方式 ( 跳沿触发或者电平触发 ) 中断允许寄存器 IE用于开中断或关中断中断优先寄存器 IP可控制和改变中断源的优先级串行通信控制寄存器一 SCON氐2位所存串行口的发送中断和接
9、收中断请求标志TI和RI 3、各个中断的触发方式是什么?对应的撤销方式是什么?IT仁O,电平触发方式,引脚上低电平有效,并把IE1置“1” o转向中断服务程序时,由硬件自动把 IE1 清“0”。IT1=1, 跳沿触发方式,加到引脚上的外部中断请求输入信号电平从高到氐的负跳变有效,并把IE1 置“1”。转向中断服务程序时,由硬件自动把 IE1 清“0”1. 定时器 /计数器中断请求的撤销硬件会自动把中断请求标志位仃FO或TF1)清0,自动撤销。2. 外部中断请求的撤销(1) 跳沿方式外部中断请求的撤销 包括两项:中断标志位清 0和外中断信号的撤销。 中断标志位清 0是在中断响应后由硬件自动完成的
10、。 外中断请求信号的撤销,由于跳沿信号过后也就消失了,自动撤销。(2) 电平方式外部中断请求的撤销电平方式外中断请求的撤销,其中中断 请求标志自动撤销, 但中断请求信号的氐电平可能继 续存在,为此,除了标志位清“0”之外,还需在中断响应后把中断请求信号输入引脚从氐电平强制改变为高电平(3) 串行口中断请求的撤销响应串行口的中断后,CPU无法知道是接收中断还是发送中断,还需测试这两个中断标志位,以判定是接收操作还是发送操作,然后才清除。所以串行口中断请求的撤销只能使用软件的方法,在中断服务程序中进行,即用如下指令 在中断服务程序中对串行口中断标志位进行清除:CLR TI;清 TI 标志位4、设计
11、中断程序时由主程序和中断服务子程序两部分构成,主程序的作用?中断服务子程 序作用?请写出含有外部中断 0 和外部中断 1主程序结构和中断服务子程序的结构。 主程序:设置中断源的入口地址、进行中断的初始化子程序:完成中断需要执行的内容INT:CLR EA执行内容SETB EARETI5、请写出由外部中断 1控制的单个发光二极管闪烁5次(连在 P1.5 上)的程序# include <reg51. h>sbit dl=P 5;void delay(x)uchar t;while(x-) for (t=0;t<120;t+);)void inti() interrupt 2 EA=
12、0;for (i=0;i<=10;i+)dl=dl;delay(100);)EA=1;)main ()dl=l;IT1=1;EX1=1;EA 二 1;while (1);第六章测试1、定时器的启动方式有几种?分别由哪个引脚决定?两种:1.只受定时器控制寄存器TCON中的运行控制位 TRx的控制(即由单片机内部决定)2. 由内部和引脚 INTO (P3. 4) 、INTI (P3. 5) 决定是执行1还是2取决于GATE (门空位),当GATE=O行1, GATE=1执行2定时2、定时器的4种工作方式分别有什么特点?若系统时钟为12MHz,请问,4种工作方式最长分别是多少? ( 写出计算表
13、达式 )方式 0:为 13位定时器 /计数器方式 1:为 16位定时器 /计数器方式 2: 8 位的常数自动重新装载的定时器 / 计数器方式3 :仅适用于TO,此时TO分成两个8位计数器,T1停止计数4 种方式最长定时位:初值二 2"13- (t*12*1O"6) /12 最长时间位 (2?O) *1O" (-6)3、当 TO(P3.4) 引脚发生负跳变时,作为 PLO 引脚产生方波的启动信号。开始从 P1.O 脚上 输出 个周期为 1ms 的方波。#include<reg51. h>#include<intrins. h>#define
14、uchar unsigned char#define uint unsigned intuchar t=O;sbit pl=P1AO;void main ()TMOD=Ox26;THO=OxFF;TLO=OxFF;TH1=(65536-5OOOO)/256;TL1=(65536-5OOOO)%256;EA=1;TRO=1;ETO=1;Pl=O;FO 二 O;while (1) if (FO=l) TRI。; ET1=1; void timerl() interrupt 3pl=pl ;void timer() interrupt 1TRO=O;FO 二 1;4、 时钟频率是12MHz,写岀采用
15、方式1,在Pl. 5引脚输岀周期为2s的方波程序。#include<reg51. h>#include<intrins. h>#define uint unsigned int#define uchar unsigned charuchar Timer=O;sbit pl=P1A5;uchar code table = (OxCO, OxF9, OxA4, OXBO, OX99, OX92, OX82, OXF8, OX8O, OX9O);void main ()uchar i 二 9;TMOD=0x10;TH1=(65536-10000)/256;TL1=(65536
16、-10000)%256;EA=1;ET1=1;TR1=1;Pl 二 1;while (1)if (T imer=100)Timer=0;P2=P2;P1=AP1; void timerl() interrupt 3 TH1=(65536-10000)/256;TL1=(65536-10000)%256;Timer;第七章测试1、单片机AT89S51串行口传数据的帧格式是一个起始位(0),8个数据位,1位停止位组成,请画岀发送字符B的帧格式。当串行口每分钟发送1800个字符时,波特率是多少?起始位DODID2D3D4D5D6D7停止位1800*60=108000bit/s2、若晶体振荡器为11.
17、0952Hz,串口工作在方式1,波特率为4800bit/s,写岀用T1作为波 特率发生器的方式控制字和计数初值。选用T1的工作方式2, SMOD=0.X=256- (fosc* (SM0D+D) / (384*波特率)=3、使用串行口发送中断服务子程序完成以下功能:(1)发送字符'x' ; (2)点亮发光二极管#include<reg51. h>Sbit LED=P 6;Void INT() interrupt 4if (T I)TI=0;SBUF=' X'LED=0;4、使用串行口接收中断服务子程序完成以下功能(1) 接收字符; (2) 发光二极管
18、 (P1.6) 闪烁一次Void INT () interrupt 4If (RI)RI=0;P0=SUBF;LED=1;DELAY ();LED=0;DELAY ();LED=1;第十一章测试1、 D/A芯片的衡量指标?n位的转换芯片,其分辨率是多少?指标:分辨率、建立时间、转换精度。分辨率:输出电压满刻度 /2"n2、DAC0832的Vref=5V,输入数字量为 0x80时,输岀 Vn是多少?V0二|- B* (Vref/256)|二2. 5V B 二 0x803、 A/D转换芯片的衡量指标是什么? ADC0809是几位的转换芯片,其分辨率是多少?(1) 转换时间和转换速率(2)
19、 分辨率:输岀电压满刻度/2八8ADC0809是 8位转换芯片(3) 转换精度4、DAC0832的连接方式有几种?请写岀单缓冲方式下的三角波、阶梯波、方波程序,设地址为 OxFFFEo有三种:单缓冲、双缓冲、直通方式。三角波:#include<reg51. h>include vabsacc. h>define DAC0832 XBYTEQXFFFE#define uchar unsigned char#define uint unsigned intvoid delay_ms(uint s)uchar t;while (s-)for (t=0;tv120;t+);void
20、main ()( uchar flag=0;uchar i;while (1)if (flag=0) i+ ;DAC0832二 i; delay_ms(1);if(i=0xff)flag=l;elsei ;DAC0832 i;delay_ms(1); if (i=0)flag 二 0;方波:#include<reg51. h>include vabsacc. h>define DAC0832 XBYTEQXFFFE#define uchar unsigned char #define uint unsigned int void delay_ms(uint s)uchar t
21、; while (s-)for (t=0;tv120;t+);void main ()while (1) DAC0832 Oxff; delay_ms(100);DAC0832 2; delay_ms(110);阶梯波:Void main ()Uchar f 二 0;i 二0;While (1)DAC0832 f; delayms (); i+; if(i<10) f=f+10;elsef=0;i 二 0;0X7FFB.5、若DAC0809芯片对其IN3通道数据转换后送至内部RAM的30H单元。IN3通道地址为(1) 采用查询的方式,EOC与单片机P1.5连接(2) 采用中断的方式。in
22、clude8 个发光二极双向来回的流水灯:1、在keil中编写程序实现以下功能,将P2 口接8只LED,实现来回流水灯效果。<reg51. h>include vintrins. h>void delay(int a);void main ()( int i;P2=0x01;while (1)/ 向左循环点亮 LEDfor(i=0; iv7; i+)P2=_crol_(P2, 1) ;/ 左移一位,点亮下一位 LED delay(100);/ 向右循环点亮 LEDfor (i=0; iv7; i+)P2=_cror_(P2, 1) ; / 右移一位 , 点亮上一位 LED d
23、elay(100);/ 延时函数,延时 a 毫秒void delay(int a)int x, y;for(x=a;x>0;x-)for(y=110;y>0;y-);题 2:ORG 1000HTAB1 EQU 1234HTAB2 EQU 3000HDB “MAIN”DW TABL TAB2, 70H请画岀从1000H开始的存储单元的内容? 将内部RAM中的45H单元的高4位清0,低4为置1。实验:通过开关控制 管的点亮,熄灭。( 预习题 )2、 按下开关 K1, 8 个发光二极管点亮与熄灭循环交替3、按下开关K2,前4个发光二极管与后 4个发光二极管交替点亮KI、K2分别由外部中断
24、 TOT1 引入。#include<reg51. h> #include<intrins. h> #define uchar unsigned char #define uint unsigned int uchar flag=3;void delay(uchar n) uchar i, j;i=n; while (i-) for(j=0;j<120;j+);void main ()uchar a;EA= 1;ITO=1;EXO=1;EXI=1;IT1=1;P2=0x01;while (1)if(flag=0)£ _, £ AaAAE10?l?
25、LED delay(1000);P2=_crol_(P2, 1) ; / 000A0?I? delay (1000);)if (flag=l)P2=0XF0; delay(1000); P2 二 OxOf; delay(1000);)void intO() interrupt 0flag=0;void inti () interrupt 2flag 。 ;实验内容:按键控制流水灯 (8 只 LED)1、初始状态:D1D8轮流点亮2、 当按下按键 SKEY1时(使用INTO),停止轮换,LEDOLED与LED5? LED7交换点亮一次3、 当按下按键SKEY2时(使用INT1), 8只灯全亮全灭
26、一次,再轮流点亮D1D8 #include<reg51. h>#include<intrins. h> #define uchar unsigned char#define uint unsigned int void delay(uchar n) uchar j, i;j=n;while(j-)for (i=0;i<120;i+);void main ()EA=1;EXO=1;ITO=1;EX1=1;IT1=1;P2=0x01; delay(1000);while (1)P2=_crol_(P2, 1); delay(1000);void intO() inte
27、rrupt 0 delay(1000); P2=0x0f; delay(1000);P2=0xf0;delay(1000);P2=0X01;delay(1000);void inti() interrupt 2P2=0XFF; delay(1000);P2=0X00;delay(1000);P2=0X01;delay(1000);实验内容:按键声光报警实验和蜂利用外部硬件中断 (使用 INTO), 按键 skeyl, 按下一次产生一次外部中断,使得发光二极管 鸣器的鸣响次数和计数器的数值一致。计数范围是110。#include<reg51. h>#include<math.
28、h>#define uchar unsigned chardefine uint usigned intsbit speak 二 P l;sbit display=P2;uchar a 二 0;uchar code table = (0xC0, 0xF9, 0xA4, OXBO, 0X99, 0X92, 0X82, 0XF8, 0X80, 0X90);void delay(uchar n)uchar i, j;i=n;while(i-)for(j=0;j<120;j+);void main ()EA=1;EXO=1;IT0=l;speak。;P2=table0;P0=0;while
29、 (1);uchar i;a+;if(a=9)a=l;P0=0;P2=tablea;P0=P0+pow(2, al);for(i=0;i<a;i+)(speak=ypeak;delay(1000);实验:通过开关控制数码管的显示(使用汇编语言、C语言完成)按下“计数”按键时,中断程序累加计数,通过数码管显示; 按下“清零”按键时,数码管清零;#include<reg51. h>#include<intrins. h>#define uchar unsigned char#define uint unsigned int sbit kl=P3 6;sbit 11=P
30、3 4;uint i;uchar code DSY_C0DE = (0xC0, 0xF9, 0xA4, 0XB0, 0X99, 0X92, 0X82, 0XF8, 0X80, 0X90); void DeleayMS(uint x)uchar t;while(x-) for(t=0;t<120;t+);void main ()EA 二 1;EXO。;ITO。;11=1 ;P0二 Pl 二 P2 二 OXFCO;while while(kl=0) / 有键按下吗? (kl=0 ?) 11=0;i=0;P0=P>P2=0XC0; while(ikl); 等待按键放开void intO O () interrupt 0i+ ;if(i<10)PO=DSY_CODEi%10;P1=DSY_CODEO, P2=DSY_CODEO;if(i =10&&i 100)PO=DSY_CODEi%10, P>DSY_CODEi%100/10, P2=DSY_C0DE0; i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江苏扬州历年中考作文题与审题指导(2006-2023)
- 保时捷应聘测试题及答案
- 2024年纺织品检验员学习方法试题及答案
- 张衡传教学课件
- 服装与实际穿着体验的结合试题及答案
- 病原检测面试题目及答案
- 安全测试面试题目及答案
- 商业美术设计师市场推广试题及答案
- 2024年纺织品检验员考试亮点试题及答案
- 提升考试水平的国际商业美术设计师试题及答案
- 小学数学《分数除法》50道计算题包含答案
- 仿制药与原研药竞争分析
- 脑洞大开背后的创新思维学习通超星期末考试答案章节答案2024年
- 科傻平差软件说明指导书
- 临时聘用司机合同范本
- ipo上市商业计划书
- 抖音短陪跑合同范本
- HJ 636-2012 水质 总氮的测定 碱性过硫酸钾消解紫外分光光度法
- 山东省青岛市市北区2023-2024学年七年级下学期英语期末考试试题
- 现代风险导向审计在天衡会计师事务所的应用研究
- 拔牙技巧必成高手
评论
0/150
提交评论