三江学院AVR单片机复习题.docx
- 文档编号:8301546
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:13
- 大小:292.23KB
三江学院AVR单片机复习题.docx
《三江学院AVR单片机复习题.docx》由会员分享,可在线阅读,更多相关《三江学院AVR单片机复习题.docx(13页珍藏版)》请在冰豆网上搜索。
三江学院AVR单片机复习题
AVR单片机复习题
第一章概述
填空:
1.组成单片机的五大组成部件是:
运算器、CPU、控制器、存储器、输入接口、输出接口五大部分。
2.单片机是把微型电脑的所有部分集成在一块芯片上。
3.单片机的内部部件是通过总线相连的,一般计算机的总线有三类:
数据总线、地址总线和控制总线。
问答:
1.什么是ISP技术,采用ISP技术的单片机有什么优点?
2.说明单片机的RAM,FlashROM,EEPROM用途和特点?
3.单片机主要应用在哪些领域?
做什么用途?
第二章ATmega16芯片资源
填空:
1.ATmega16包含16kbFlashROM,1kbRAM和512字节的EEPROM。
2.FlashROM支持用户多次擦除和写入代码,可以实现于1万次的写入。
3.单片机的数据存储器包含RAM和EEPROM两大部分,其中EEPROM是RAM的补充。
4.ATmeag16中含有512字节的EEPROM。
它的擦写次数是大于10万次,具有掉电后不丢失数据、通过系统程序可以随机修改。
5.ATmeag16的PDIP封装共有40引脚,其中共有32个I/O口线。
6.ATmega16deTQFP封装共有44引脚,其中共有32个I/O口线。
7.ATmega16的数据存储器中共有32个8位通用工作寄存器,有6个寄存器可以合并成为3个16位的寄存器。
8.在ATmega16的通用寄存器组中,有3个16位的寄存器。
名称分别为:
X寄存器、Y寄存器、Z寄存器。
9.ATmega16的中间向量表在FlashROM的最前端,中断的向量地址越小、中断的优先级越高。
10.ATmega16的工作电压是2.7~5.5V,所能使用的最高晶振频率为16MHZ。
11.ATmega16可以使用内部晶振,晶振频率为1M、2M、4M、8M赫兹。
12.ATmega16PDIP封装的AVCC引脚作用是片内AD的电源输入引脚。
13.ATmega16PDIP封装的AREF引脚作用是片内AD的参考电压。
14.ATmega16PDIP封装的引脚XTAL1、XTAL2,作用是片内反向放大器的输入终端。
15.ATmega16PDIP封装的复位引脚名称是RESET。
当在该引脚上出现一个大于1.5us的低电平,单片机复位。
16.ATmega16配置系统时钟的熔丝位共有5个位,名称分别是。
17.ATmega16单片机必须有稳定的时钟才能可靠运行,其获取时钟信号的方法有:
RC振荡器、陶瓷振荡器、晶体振荡器。
问答:
1.ATmega16单片机有哪些内部资源?
使用什么样工作电源?
工作电源的电压是多少?
最高能使用多高的晶体频率?
2.AVR系列单片机的Flash存储器、SRAM存储器、EEPROM存储器各作什么用途?
3.AVR系列的单片机由哪些部分组成?
4.AVR复位方式有哪几种?
5.AVR单片机系统的2个常用时钟系统是如何组成的?
其作用是什么?
6.说明AVR单片机通用寄存器的作用和功能?
7.说明AVR单片机I/O口寄存器的作用和功能?
8.AVR单片机的SRAM存储器和EEPROM存储器有何区别?
其用途各是什么?
9.ATmega16的数据存储器的地址空间是如何分布的?
10.说明堆栈指针寄存器SP的作用?
AVR单片机的堆栈是如何工作的?
11.AVR上电后,一旦外部把AVR的RESET引脚拉低,使AVR进入复位状态,接下来的变化如何?
第六章I/O接口及应用
填空:
1.通过一条输入指令可以一次读取8个引脚的状态,称为并行输入。
ATmega16有四个8位的并行I/O口,每一个接口的控制由三个特定的寄存器决定,对于A口这三个特定的寄存器为A口数据方向寄存器、A口数据寄存器和A口上拉电阻允许寄存器。
2.DDRA=0x7e,表示
PORTA=0x7e,表示。
3.AVR单片机每组I/O都配置了3个8位的寄存器,分别是DDRX,PORTX,PINX。
4.AVR单片机的DDRX寄存器的作用是控制I/O口的输入输出方式,PORTX寄存器的作用是当I/O输入时,是否使用上拉电阻,内部输出时,设置I/O口输出电阻。
5.DDRX的值设为1时,I/O口输出,设为0时,I/O口输入。
6.共阳数码管的公共级接VCC且每段的电压为GND时,数码管点亮。
7.共阴数码管的公共级接GND且每段的电压为VCC时,数码管点亮。
8.单片机初始化时,I/O口的状态是输入状态,不使用内部的上拉电阻。
9.DDRX的值设为1时,I/O口输出。
10.DDRX的值设为0时,I/O口输入。
11.数码管动态显示的缺点是占用资源多。
12.数码管动态显示的优点是占用资源少。
问答:
1.C口的设置如图所示,试说明C口的设置情况,并指出生成程序后PORTC、DDRC以及PINC的值。
2.ATmega16单片机有哪些I/O接口?
3.AVR单片机I/O口3个寄存器的名称和作用是什么?
当I/O口用于输入和输出时,如何设置这3个寄存器?
4.简述状态寄存器SREG各控制位的作用?
5.配置I/O端口时,每个端口引脚有几个寄存器?
每个寄存器位分别控制什么?
解:
有三个8位寄存器DDRxn,PORTxn,PINxn
PORTxn配置位输入时,若PORTxn为1,上拉电阻使能;若PORTxn为0,则不带上拉电阻。
PORTxn配置为输出时,若PORTxn为1,则引脚输出高电平;若PORTxn为0,则引脚输出低电平。
不管DDRxn内容是什么,向PINxn写1,就会使PORTxn值在0,1之间来回变化。
6.ATmega16有几组I/O端口,每组端口有几位?
四组端口:
PA,PB,PC,PD;每组端口均为8位。
7.AVR最小系统包括哪几个部分?
包括时钟电路,复位电路,按键电路,显示电路
8.按需求配置下列端口
a)将PA口配置成输出,且输出值为0x05:
DDRA=0Xff;PORTA=0x05;
b)将PD口配置成不带上拉输入:
DDRD=0x00;PORTD=0x00;i=PINC;
c)将PC口配成不带上拉输入
DDRC=0x00;PORTC=0Xff;I=PINC;
分析与编程
1、编写用PA口控制的彩灯控制程序,并使彩灯移动方向向右。
2、阅读下列程序并分析
/***************************题目一***************************/
#include
#include
voidmain(){
unsignedcharposition=0;
PORTA=0xff;
DDRA=0xff;//将PA口工作设置为输出方式
while
(1){
PORTA=~(a< if(++position)position=0; delay_ms(1000);//延时1s } } A.程序中position变量的作用是? 答: 选择哪一位的发光二极管点亮。 B.说明程序功能。 答: 循环点亮实现流水灯。 /********************题目二**********************/ #include #include flashcharled_7[16]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,,0x5E,0x79,0x71}; bitpoint_on=0; voidmain(void){ chari=0; PORTA=0xFF; DDRA=0xFF;//PA口工作为输出方式 while (1){ for(i=0;i<=15;i++){ PORTA=led_7[i];//发送数码管段选 if(point_on)PORTA|=0x80; delay_ms(1000); } point_on=~point_on;//小数点闪烁 } } 说明程序功能: 数码管静态显示0~F,每个字符显示1s,小数点间隔点亮。 第七章外部中断及应用 填空: 1.ATmega16中共含有21个中断源,其中有一个中断源是不可屏蔽中断,名称为向量号为1。 2.单片机相应中断A的条件是: 全局中断允许标示AND中断A允许标示AND中断A标示 3.ATmega16中共含有3个外部中断,名称为INT0、INT1、INT2。 4.MCUCR寄存器是MCU控制寄存器,用于设置INT0和INT1的中断触发方式。 5.GICR寄存器是用中断控制寄存器,用于设置外部中断的中断允许位。 6.GIFR寄存器是通用中断标示寄存器,用于设置外部中断的中断允许位。 当有满足中断条件的事件出现时,对应的中断标志位为1。 7.中断标志位的清楚方法是对其写1。 8.全局中断使能位是SREG寄存器中的第7位即1位。 9.“中断”在单片机中是一个十分重要的概念,单片机产生中断的条件一是___________;二是________________。 10.#pragmainterrupt_handlerext_int0_isr: 10这句话中的10是什么中断(TC0溢出中断)。 11.#pragmainterrupt_handlerext_int0_isr: 10这句话中的10是(中断向量号)。 问答: 1.在AVR中,中断断点和中断现场保护是如何实现的? 2.AVR相应中断是有条件的,说出这些条件是什么? 3.ATmega16有哪些中断源? 各有什么特点? 4.AVR的外部中断有哪几种触发方式? 各适合哪些应用场合? 5.简述AVR中断相应的全过程。 在此过程中,硬件完成了哪些工作? 软件完成了哪些工作? 6.ATmega16单片机有几个外部中断,有几种触发方式? 7.如图所示,试说明INT1的设置情况,并比较两种模式的设置对中断的影响。 8.根据要求对有关寄存器进行正确设置。 a)外部中断0开放,中断请求信号上升沿有效。 b)外部中断1开放,中断请求信号下降沿有效。 c)外部中断2开放,中断请求信号上升沿有效。 程序分析 1.编写一程序,当INT1中断时,改变ATmega16的PA口状态。 2.阅读下列程序并分析 /*****************************题目一*************************************/ #include charled_7[16]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,,0x5E,0x79,0x71}; charcounter; #pragmainterrupt_handlerext_int0_isr: 2//语句中2是: 外部中断0的中断向量号 voidext_int0_isr(void){ if(++counter>=16)counter=0; } voidmain(void){ PORTA=0xFF; DDRA=0xFF; GICR|=0xC0;//允许INT0,INT1中断 MCUCR=0x0A;//INT0,INT1下降沿触发 GIFR=0xC0;//清楚INT0,INT1中断标示位 counter=0; #asm("sei")//使能全局中断 while (1){ PORTA=led_7[counter];//显示计数单元 } } 说明程序功能: 一个8段数码管显示0~F16个十六进制的数字,当系统上电时,显示0,当按1次按键,显示数字加1,依次类推,当第15次按键时,显示”F”,第16次按键时,显示又从0开始,当按键按下,显示数值加1。 第八章定时器/计数器 填空: 1.ATmega16共有三个定时器,分别是T/C0、T/C1、T/C2。 其中16位的定时器是T/C1,8位的定时器是T/C0、T/C2。 2.ATmega16共有2个8位的定时器计数器,名称是T/C0、T/C2,1个16位的定时器,名称是T/C1。 3.TCNT0是定时器0的计数寄存器,作用是对定时器0的脉冲计数。 4.OCR0是定时器0的输出比较寄存器,作用是存放定时器0的比较匹配值。 5.T/C0的计数时钟源可以来自内部时钟和外部时钟两种。 6.T/C0的计数时钟源的选择由TCCR0中的CS02,CS01,CS00三个位确定。 7.T/C0工作在普通模式时,初值由TCNT0设置,满值255。 8.T/C0工作在CTC模式时,初值为0,满值为OCR0设置。 9.T/C0工作在快速PWM模式时,初值为0,满值0XFF在正向比较匹配输出模式下,当TCNT0与OCR0比较匹配时,清零OC0;当TCNT0从0xFF到0x00时,置为OC0。 10.T/C0工作在相位修正PWM模式时,初值为0,满值0xFF在正相比较匹配输出模式下,当TCNT0的计数值与OCR0的值比较匹配时,清零OC0;当TCNT0的值与OCR0相同时,置为0C0。 11.定时器0的计数寄存器是TCNT0。 12.定时器0的比较匹配寄存器是OCR0。 13.AVR的8位定时器、计数器有4种工作方式。 14.ATmega16有3个定时、计数器。 “计数”指的是对外部事件进行统计;“定时”指的是输入脉冲频率稳定,计数器所记录数值代表时间概念。 15.ATmega16有3个定时/计数器,其中T/C0具有计数、定时和PWM功能;T/C1具有计数、定时、输入捕获和PWM功能,T/C2具有定时和PWM功能,但不能进行计数。 问答: 1.AVR的8位定时/计数器有几种工作方式,每种工作方式的基本用途是什么? 2.AVR的定时/计数器的计数脉冲源有哪些种类和方式,预分频器的作用是什么? 3.AVR的定时/计数器配置的比较寄存器的作用是什么? 4.AVR八位定时/计数器有几种工作方式,分别是什么? 5.简述CTC模式定时器的工作过程? 6.简述普通模式下定时器的工作过程? 分析与设计: 1、T/C0的设置如图所示,试说明所设置的功能。 2、T/C2的设置如图所示,试说明所设置的功能。 3、使用定时/计数器0的内部时钟源,产生1毫秒的定时中断,并利用定时产生1秒的定时信号,每秒钟是PA.5的状态改变一次。 4、用定时/计数器0记录外部脉冲的个数。 5、/******************************题目一*****************************************************/ #include charauc_SinParam[128]={128,134,140,147,153, 159,165,171,177,182,188,193,199,204, 209,213,218,222,226,230,234,237,240, 243,245,248,250,251,253,254,254,255, 255,255,254,254,253,251,250,248,245, 243,240,237,234,230,226,222,218,213, 209,204,199,193,188,182,177,171,165, 159,153,147,140,134,128,122,116,109, 103,97,91,85,79,74,68,63,57,52,47,43, 38,34,30,26,22,19,16,13,11,8,6,5,3,2, 2,1,1,1,2,2,3,5,6,8,11,13,16,19,22,26, 30,34,38,43,47,52,57,63,68,74,79,85,91, 97,103,109,116,122,128};//数组中的内容为128点正弦波样本值 charx_SW=8,x_LUT=0; #pragmainterrupt_handlertimer0_ovf_isr: 10//T/C0溢出中断服务 voidtimer0_ovf_isr(void){ x_LUT+=x_SW;//新样点指针 if(x_LUT>127)x_LUT-=128;//样点指针调整 OCR0=auc_SinParam[x_LUT];//采样点指针到比较匹配寄存器 } voidmain(void){ DDRB=0x08;//PB3输出方式,作为OC0输出PWM波 TCCR0=0x69; OCR0=128; TIMSK=0x01;//使能T/C0溢出中断 SREG|=0x80;//使能全局中断 while (1){ {}; } } 程序功能: 用T/C0的快速PWM模式产生频率为1KHZ的正弦波。 第十章模拟量输入 填空: 1.ATmega16中嵌入了一个8路10位逐次比较的A/D转换电路。 其中“8路”是指8路可选的单端输入通道;“10位”是指10位精度的逐次逼近型ADC模块。 2.欲使用ATmega16组成一个电压测量装置,在硬件组成上需使用____________________; 在软件上须进行_____________________和__________________________________。 分析: ADC的设置如图所示,试说明所设置的功能。 第十二章串行通信 填空: 1.在异步串行通信中,一帧数据是由起始位、数据位、奇偶校验位、终止位所组成。 2.ATmega16的USART支持全双工同步和异步通信模式,支持5~9个数据位和1~2停止位的数据格式,并提供硬件支持的奇偶校验功能,其时钟发生器产生串行通信的时钟,ATmega16的USART三个独立的中断: TX发送结束中断,TX发送数据寄存器空中断,以及RX接收结束中断 问答: 1.简述ATmega16的USART异步通信的数据帧的结构,说明数据帧中各个位的含义和作用。 2.简述ATmega16的USART的硬件结构,以及发送和接受数据的过程。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 三江 学院 AVR 单片机 复习题