专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

AVR单片机考试题及答案

作者:佚名   来源:本站原创   点击数:  更新时间:2012年01月06日   【字体:
第一章(较易)

填空:

1. 单片机的基本组成结构包括: CPU         、    程序存储器      、    数据寄存器      、  输入,输出接口        五大部分。

2. 哈佛结构是指,计算机由五大部分构成,五大部分分别是:   运算器       、         控制器 、          存储器、     输入设备     输出设备

3. ATmega16包含 16KB         程序存储器,   1KB       数据存储器和 512字节         的EEPROM。

4. ATMEL公司生产的单片机以三大系列为主,分别是:  tinyAVR         、    megaAVR       、   XMEGA       

5. ATMEL公司生产的TinyAVR是属于   低挡        单片机。、

6. ATMEL公司生产的megaAVR是属于    中档       单片机。

7. ATMEL公司生产的XMEGA是属于     高档      单片机。

选择:

1. ATMEL公司生产的单片机以三大系列为主,其中TinyAVR是属于(  A    )

A、低档单片机                           B、中档单片机

C、高档单片机                           D、 普通单片机   

2. ATMEL公司生产的单片机以三大系列为主,其中megaAVR是属于(  B    )

A、低档单片机                           B、中档单片机

C、高档单片机                           D、 普通单片机   

3. ATMEL公司生产的单片机以三大系列为主,其中XMEGA是属于(    C  )

A、低档单片机                           B、中档单片机

C、高档单片机                           D、 普通单片机   

4.   单片机的基本组成结构包括:CPU、程序存储器、          、输入接口、输出接口五大部分(  B     )

A、EEPROM                           B、数据存储器

    C、ROM                               D、 堆栈

第二章()

填空:

1. 单片机的三总线结构是指: 数据总线         、  地址总线        、   控制总线       。

2. ATmega16包含  16KB        FLASH ROM,  1KB        RAM和   512字节       的EEPROM。

3. FLASH ROM支持用户   多次擦除和写入代码       ,可以实现  大于1万次        的   写入       (填读写或写入)。

4. 单片机的数据存储器包含  RAM      和   EEPROM        两大部分,其中            是   EEPROM是RAM       的补充。

5. ATmega16中含有   512字节        的EEPROM。它的擦写次数是 大于10万次   , 具有  掉电后不丢失数据   、  通过系统程序可以随机修改        。

6. ATmega16的DIP封装共有   40       引脚,其中共有  32个    I/O 口线。

7. ATmega16的数据存储器中共有  32个8位        通用工作寄存器 ,有    6个      寄存器可以合并 成为3个 16位的寄存器。

8. 在ATmega16的通用寄存器组中,有    3个      16位的寄存器。名称分别为:  X寄存器  、  Y寄存器        、  Z寄存器        。

9. ATmega16的中断向量表在FLASH ROM的  最前端    ,中断的向量地址   越小       ,中断的优先级越  高        。

10. ATmega16的工作电压是  4.5~5.5V         , 所能使用的最高晶振频率为    16MHZ       。

11. ATmega16可以使用内部晶振,晶振频率为  1M        、   2M       、   4M        、     8M       赫兹。

12. ATmega16共有    40      引脚,其中   第10引脚        为VCC,   第31引        脚为GND。

13. ATmega16的AVCC引脚是  30引脚        ,作用是   片内AD的电源输入引脚        

14. ATmega16的AREF引脚是  32引脚        ,作用是   片内AD的参考电压  。

15. ATmega16的   第11,第31引脚是GND  13和12引脚是XTAL1.XTAL2,作用是片内反向放大器的输入终端

16. ATmega16的复位引脚是  9引脚      ,名称是  RESET   。 当在该引脚上出现一个     大于1.5us的低      电平,单片机复位。

17. AVR的指令长度为  16位     称为一字, PC指针为  13位      ,FLASH存储器是  8KB     字。 AVR  不能      扩展外部程序存储器,这是因为   程序寄存器满足片内8K字节的Flash程序存储器空间直接寻址的需要

18. ATmega16配置系统时钟的熔丝位共有   5个      位,名称分别是   CKOPT   、  CKSEL{3:0}

选择:

1. 单片机的三总线结构是指:数据总线、地址总线和_(  A   )

 A、控制总线                           B、采集总线

C、接收总线                           D、 发送总线   

2. 单片机的三总线结构是指:控制总线、地址总线和_(  D   )

 A、发送总线                          B、采集总线

C、接收总线                           D、数据总线  

3. ATmega16的DIP封装共有          引脚,其中共有           I/O 口线(  A   )

A、40、32                           B、40、8

C、32、4                            D、40、4

4. ATmega16的数据存储器中共有 32 个通用工作寄存器 ,有          个寄存器可以合并 成为_个 16位的寄存器。( C    )

A、4、2                           B、6、2

C、6、3                           D、8、4

5. #pragma interrupt_handler ext_int0_isr :10  这句话中的10是什么中断( A    )

A、TC0溢出中断                           B、TC0比较匹配中断 

C、TC1溢出中断                           D、TC1比较匹配中断

6. #pragma interrupt_handler ext_int0_isr :10  这句话中的10是(  B   )

A、中断地址                             B、中断向量号 

C、计数10次                            D、中断函数

7.   ATmega16的AVCC引脚是          ,作用是片内AD的电源输入引脚 (   C  )

A、10                           B、13 

C、30                            D、21

判断:

1.ATmega16的中断向量表在FLASH ROM的 最前端 ,中断的向量地址越小,中断的优先级越高。(  对)

2.ATmega16的中断向量表在FLASH ROM的 最后端 ,中断的向量地址越大,中断的优先级越高。(  错   )

3.ATmega16的中断向量表在FLASH ROM的 最前端 ,中断的向量地址越大,中断的优先级越低。(  对   )

第六章 (中等)

填空:

1. AVR单片机每组I/O都配置了  3个      8位的寄存器,分别是  DDRx PORTx.PINx

2. AVR单片机的DDRX寄存器的作用是  控制I/O口的输入输出方式PORTX寄存器的作用是  当I/O输入时,是否使用上拉电阻,内部输出时,内部输出时,设置I/O口输出电平 

3. DDRX的值设为  1        时,I/O口输出,设为  0        时,I/O口输入。

4. 共阳数码管的公共级接  VCC        且每段的电压为   5       时,数码管点亮。

5. 共阴数码管的公共级接   GND       且每段的电压为  0        时,数码管点亮。

6. 单片机初始化时,I/O口的状态是   输入状态,不使用内部的上拉电阻  。

选择

1.数码管静态显示的特点是显示稳定,显示亮度高,_______________(  C    )

A、硬件复杂                          B、程序复杂

C、程序简单                          D、硬件简单

判断:

1. 数码管静态显示的优点是显示稳定,显示亮度高,程序简单。(  对    )

2. 数码管动态显示的优点是显示稳定,显示亮度高,程序简单。(   错   )

3. 数码管动态显示的优点是占用的硬件资源小,耗电量小。(   对   )

4. 数码管动态显示的缺点是稳定性差,程序设计复杂,MCU负担重。( 对     )

5. 数码管静态显示的缺点是占用硬件资源多,耗电量大。(  对    )

6. 数码管静态显示的缺点是稳定性差,程序设计复杂,MCU负担重。( 错     )

7. 数码管动态显示的缺点是占用硬件资源多,耗电量大。(  错    )。

/***************************题目1**************************************/

程序分析:(重要!建议一格2分)

#include <iom16v.h>                      语句功能:添加#include <iom16v.h>使程序可以使用特殊功能寄存器

#include <delay.h>

Void main()

{

 Unsigned char position=0;

 PORTA=0xff;                        

 DDRA=0xff;                         语句功能:将PA口工作设置为输出方式  While(1)

 {

  PORTA= ~(a<<position);                 语句功能:将a左移position位

  If (++position>=8) position=0;

  Delay_ms(1000);                      语句功能:延时1S

}

}

1. 程序中position变量的作用是?(1 分)     答:选择哪一位的发光二极管点亮

2. 说明程序功能。(1分)                 答:循环点亮实现流水灯

/***************************题目2**************************************/

#include <mega16.h>

#include <delay.h>

flash char led_7[16]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,

                      0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};

bit point_on = 0;

void main(void)

{

char i = 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。小数点间隔点亮

/***************************题目2**************************************/

第七章 (重点!!比重大!!)

填空:

1. ATmega16中共含有  21个        中断源,其中有一个中断源是不可屏蔽中断,名称为            向量号为   1       .

2. 单片机相应中断A的条件是: 响应A中断:全局中断允许标示AND中断A允许标示AND中断A标示         

3. ATmega16中共含有  3个外部中断 ,名称为    INTO       、   INT1         、     INT2       。

4. MCUCR寄存器是  MCU控制寄存器         ,用于设置  INTO和INT1的中断触发方式        。

5. GICR寄存器是   用中断控制寄存器        ,用于设置  外部中断的中断允许位         。

6. GIFR寄存器是  通用中断标示寄存器         ,用于设置  外部中断的中断允许位         。当有满足中断条件的事件出现时,对应的中断标志位为   1         。

7. 中断标志位的清除方法是 对其  写1         

8. 全局中断使能位是   SREG        寄存器中的 第   7       位 即   I       位。

判断:

1. 清除中断标志位的方法是对其写0.(  错    )

2. 清除中断标志位的方法是对其写1.(   对   )

3. 外部中断的中断标志位会由硬件自动清0.(  对    )

4. 外部中断的中断标志位不会由硬件自动清0.(  错    )

5. 全局中断使能位是  SREG 寄存器中的 第7位 即 I位。( 对     )

6. 全局中断使能位是  SREG 寄存器中的 第8位 。(  错    )

7. 全局中断使能位是  SREG 寄存器中的 第7位 即 F位。(   错   )

程序分析:

/***************************题目1**************************************/

#include <iom16v.h>

char led_7[16]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,

                      0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};

char counter;

#pragma interrupt_handler ext_int0_isr :2     语句中2是:外部中断O的中断向量号 

void ext_int0_isr(void)

{

if (++counter>=16) counter = 0;

}

void main(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**************************************/
第八章(重点!!分值重!)

填空:

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. ATmega16共有三个定时器,分别是  T/C1        、  T/C1        、   T/C2       。

4. TCNT0是定时器   0       的  计数        寄存器 ,作用是 对定时器0的脉冲计数         。

5. OCR0是定时器   0       的  输出比较        寄存器 ,作用是  存放定时器0的比较匹配值         。

6. T/C0的计数时钟源可以来自  内部时钟        和   外部时钟         两种。

7. T/C0的计数时钟源的选择由  TCCRO        中的   CS02,CS01,CS00       三个位确定。

8. T/C0工作在普通模式时,初值   由TCNTO设置         ,满值   255       。

9. T/C0工作在CTC模式时,初值   为0         ,满值  为OCRO设置        。

10. T/C0工作在快速PWM模式时,初值  为0           ,满值 OXFF         在正向比较匹配输出模式下,当 TCNT0与OCRO比较匹配         时,清零OC0;当          TCNTO从OXFF到OXOO时,置为OC0 。

11. T/C0工作在相位修正PWM模式时,初值  为0           ,满值  OXFF        在正向比较匹配输出模式下,当 TCNT0的计数值与OCRO的值比较匹配时         ,清零OC0;当  TCNTO的值与OCRO相同时        ,置为OC0 。

选择:

1.定时器0快速PWM模式的频率是(  A    )

A、f=fclk /256N                         B、f=fclk /510N  

C、f=fclk /2N(OCR0+1)                   D、f=fclk /2N(满-初+1) 

2.定时器0相位PWM模式的频率是(  B    )

A、f=fclk /256N                         B、f=fclk /510N  

C、f=fclk /2N(OCR0+1)                   D、f=fclk /2N(满-初+1)

3.定时器0普通模式的频率是(  D    )

A、f=fclk /256N                         B、f=fclk /510N  

C、f=fclk /2N(OCR0+1)                   D、f=fclk /2N(满-初+1)

4.定时器0的CTC模式的频率是(  C    )

A、f=fclk /256N                         B、f=fclk /510N  

C、f=fclk /2N(OCR0+1)                   D、f=fclk /2N(满-初+1)

判断:

1. 定时器0的计数寄存器是TCNT0,比较匹配寄存器是OCR0。( 对     )

2. 定时器1的计数寄存器是TCNT1,比较匹配寄存器是OCR1。(  错    )

3. 定时器0的计数寄存器是TCNT0,比较匹配寄存器是OCR1。(  错    )

4. 定时器1的计数寄存器是TCNT1A,TCNT1B。(  对    )

5. 当TCNT0的值和OCR0的值匹配时,提出比较匹配中断。(  对    )

6. 当TCNT0的值和OCR0的值匹配时,提出溢出中断。(  错    )

7. PWM方波的参数有频率、占空比和相位,其中相位和占空比是主要参数。(  错    )

8. PWM方波的参数有频率、占空比和相位,其中频率和占空比是主要参数。(  对    )

9. PWM方波的参数有频率、占空比和相位,其中相位和频率是主要参数。(   错   )

10. 定时器可以有两个时钟来源,一个是外部时钟,一个是内部时钟。(  对    )

11. 定时器做内部时钟来源时,N的取值只有1。(  错    )

12. 定时器做外部时钟来源时,N的取值只有1。(  对    )

13. 定时器做内部时钟来源时,N的取值有1,2,4,8。(  对    )

14. 定时器做外部时钟来源时,N的取值有1,2,4,8。(  错    )



程序分析:

/***************************题目1**************************************/

#include <mega16.h>

char auc_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点正弦波样本值

char x_SW = 8,X_LUT = 0;

// T/C0 溢出中断服务

#pragma interrupt_handler timer0_ovf_isr:10

void timer0_ovf_isr(void)

{

X_LUT += x_SW; // 语句功能:新样点指针

if (X_LUT > 127) X_LUT -= 128; // 语句功能:样点指针调整 
OCR0 = auc_SinParam[X_LUT]; // 语句功能:采样点指针到比较匹配寄存器

}

void main(void)

{

   DDRB=0x08; // 语句功能:PB3输出方式,作为OCO输出PWM波

TCCR0=0x69;

OCR0=128;

TIMSK=0x01; // 语句功能:使能T/C0溢出中断    SREG|=0x80; // 语句功能:使能全局中断

while (1)

     {};

}

程序功能:用TC0的快速PWM模式产生频率为1KHZ 的正弦波

/***************************题目1**************************************/

补充题:

1. ATmega16包含          程序存储器,         数据存储器( D   )。

A.16kb  512字节              B. 1KB   16KB

C.  512字节  1KB              D.16KB   1KB

1. ATmega16包含           数据存储器和          的EEPROM。(  A  )

A.1kb  512字节              B. 1KB   16KB

C.  512字节  1KB              D.16KB   1KB

1. 单片机的数据存储器包含         和         两大部分。( C   )

A.ROM  RAM                  B.EEPROM  CPU

C.  RAM   EEPROM             D.ROM      CPU

1.T/C0工作在普通模式时,初值             ,满值         。( B   )

A.为0    为255                   B. 由TCNT0设定  为255

C.  由OCR0设置    255             D.0      由OCR0设置

2. T/C0工作在CTC模式时,初值         ,满值                 。( D   )

A.为0    为255                   B. 由TCNT0设定  为255

C.  由OCR0设置    255             D.0      由OCR0设置

3.T/C0工作在快速PWM模式时,初值        ,满值       ( A   )

A.为0    为255                   B. 由TCNT0设定  为255

C.  由OCR0设置    255             D.0      由OCR0设置

4.T/C0工作在相位修正PWM模式时,初值           ,满值        。( A   )

A.为0    为255                   B. 由TCNT0设定  为255

C.  由OCR0设置    255             D.0      由OCR0设置

5. 定时器0的计数寄存器是         ( A   )

A.TCNT0                          B. OCR0

C.  TCCR0                          D.TIMSK

6. 定时器0的比较匹配寄存器是         (  B  )

A.TCNT0                          B. OCR0

C.  TCCR0                          D.TIMSK

7.定时器做外部时钟来源时,N的取值有               (  A  )

A.1                          B. 2

C. 4                           D.以上皆是 

8. AVR的8位定时器/计数器有       种工作方式( C   )

A.1                          B. 2

C. 4                           D.8 

9共阳数码管的公共级接        且每段的电压为          时,数码管点亮(  D  )

A.GND  VCC                          B. GND  CPU

C. VCC   CPU                          D.VCC  GND

1. 数码管静态显示的缺点是_______________( D   )

A、硬件复杂                          B、程序复杂

C、程序简单                          D、占用资源多

2. 数码管静态显示的优点是_______________( C   )

A、硬件复杂                          B、程序复杂

C、程序简单                          D、占用资源多

3.DDRX的值设为     时,I/O口输出。(  B  )

A、0                          B、1

C、2                          D、3

4.DDRX的值设为     时,I/O口输入。( A   )

A、0                          B、1

C、2                          D、3

5. 数码管动态显示的缺点是_______________( D   )

A、硬件复杂                          B、程序复杂

C、硬件简单                          D、占用资源多

5. 数码管动态显示的优点是_______________(  D  )

A、硬件复杂                          B、程序复杂

C、硬件简单                          D、占用资源少
关闭窗口

相关文章