第一章(较易)
填空:
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、占用资源少