任务二 制作多功能函数信号发生器(练习)-《单片机技术及应用》(高教版第四版) 同步精品课堂

2025-08-25
| 2份
| 11页
| 56人阅读
| 0人下载

内容正文:

制作多功能函数信号发生器 一、名词解释 1. 多功能函数信号发生器 2. DAC0832 的访问地址 二、单项选择题 1. 制作多功能函数信号发生器搭接电路时,不需要使用的模块是( ) A. 单片机最小系统模块 B. 独立按键模块 C. 温度传感器模块 D. D/A 转换模块 2. 在编程时,定义 DAC0832 的访问地址用到的语句是( ) A. #define DAC0832 XBYTE 0X7FFF B. #define uchar unsigned char C. #define uint unsigned int D. #include "reg51.h" 3. 多功能函数信号发生器的按键分别对应产生( ) A. 正弦波. 三角波. 梯形波 B. 正弦波. 方波. 锯齿波 C. 余弦波. 方波. 锯齿波 D. 正弦波. 方波. 三角波 4. 在编程中,正弦波数据表存储在( )数组中。 A. THREE_DATA B. FANGBO_DATA C. SIN_DATA D. 以上都不是 5. 锯齿波发生函数中,DAC0832 输出的值是( ) A. 固定值 B. 从 0 到 255 递增 C. 从 255 到 0 递减 D. 随机值 6. 方波发生函数中,DAC0832 交替输出的值是( ) A. 0 和 1 B. 128 和 255 C. 0 和 255 D. 以上都不是 7. 编程时,新建的工程文件扩展名是( ) A..C B..uV2 C..HEX D..DSN 8. 编程时,新建的 C51 源程序文件扩展名是( ) A..C B..uV2 C..HEX D..DSN 9. 在键盘扫描函数中,当 “正弦波” 按键按下时,返回的键值是( ) A. 0 B. 1 C. 2 D. 3 10. 若要改变多功能函数信号发生器中正弦波的幅度,可通过( )方式实现。 A. 改变正弦波数据表的值 B. 改变延时函数的延时时间 C. 改变按键的连接方式 D. 以上都不对 三、 判断题 1. 在多功能函数信号发生器的锯齿波发生函数中,DAC0832 输出值从 255 到 0 递减。( ) 2. 在编程中,正弦波发生函数和锯齿波发生函数的代码结构完全相同。( ) 3. 方波发生函数中,DAC0832 只输出高电平。( ) 4. 编程时,定义的 “uchar” 和 “uint” 是用于定义 DAC0832 的访问地址。( ) 5. 在键盘扫描函数中,没有进行按键消抖处理。( ) 四、简答题 1. 简述制作多功能函数信号发生器的步骤。 2. 说明正弦波发生函数的工作原理。 3. 阐述键盘扫描函数的作用和工作过程。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $$ 制作多功能函数信号发生器 一、名词解释 1. 多功能函数信号发生器 【答案】能产生正弦波. 方波和锯齿波的设备,通过设置 3 个按键,按下 “正弦波” 键输出正弦波,按下 “方波” 键输出方波,按下 “锯齿波” 键输出锯齿波。 2. DAC0832 的访问地址 【答案】在编程中,使用类似 “#define DAC0832 XBYTE 0X7FFF” 语句定义的地址,其中 P2.7 为 CS 片选信号,用于对 DAC0832 进行访问操作。 二、单项选择题 1. 制作多功能函数信号发生器搭接电路时,不需要使用的模块是( ) A. 单片机最小系统模块 B. 独立按键模块 C. 温度传感器模块 D. D/A 转换模块 【答案】C 【解析】制作多功能函数信号发生器,根据电路原理图,需要使用单片机最小系统模块. 独立按键模块和 D/A 转换模块,不需要温度传感器模块,所以选 C。 2. 在编程时,定义 DAC0832 的访问地址用到的语句是( ) A. #define DAC0832 XBYTE 0X7FFF B. #define uchar unsigned char C. #define uint unsigned int D. #include "reg51.h" 【答案】A 【解析】定义 DAC0832 的访问地址的语句是 “#define DAC0832 XBYTE 0X7FFF”,所以选 A。 3. 多功能函数信号发生器的按键分别对应产生( ) A. 正弦波. 三角波. 梯形波 B. 正弦波. 方波. 锯齿波 C. 余弦波. 方波. 锯齿波 D. 正弦波. 方波. 三角波 【答案】B 【解析】设置 3 个按键,按下 “正弦波” 键输出正弦波,按下 “方波” 键输出方波,按下 “锯齿波” 键输出锯齿波,所以选 B。 4. 在编程中,正弦波数据表存储在( )数组中。 A. THREE_DATA B. FANGBO_DATA C. SIN_DATA D. 以上都不是 【答案】C 【解析】从代码可知,正弦波数据表存储在 “SIN_DATA” 数组中,所以选 C。 5. 锯齿波发生函数中,DAC0832 输出的值是( ) A. 固定值 B. 从 0 到 255 递增 C. 从 255 到 0 递减 D. 随机值 【答案】B 【解析】在锯齿波发生函数中,“for (ii = 0; ii < 256; ii++) {DAC0832 = ii++;}” 表明 DAC0832 输出的值从 0 到 255 递增,所以选 B。 6. 方波发生函数中,DAC0832 交替输出的值是( ) A. 0 和 1 B. 128 和 255 C. 0 和 255 D. 以上都不是 【答案】C 【解析】方波发生函数中,“DAC0832 = 255;” 和 “DAC0832 = 0;” 表明 DAC0832 交替输出 0 和 255,所以选 C。 7. 编程时,新建的工程文件扩展名是( ) A..C B..uV2 C..HEX D..DSN 【答案】B 【解析】启动 Keil uVision2,新建的工程文件名为 “多功能函数信号发生器.uV2”,扩展名是.uV2,所以选 B。 8. 编程时,新建的 C51 源程序文件扩展名是( ) A..C B..uV2 C..HEX D..DSN 【答案】A 【解析】新建的 C51 源程序文件名为 “多功能函数信号发生器.C”,扩展名是.C,所以选 A。 9. 在键盘扫描函数中,当 “正弦波” 按键按下时,返回的键值是( ) A. 0 B. 1 C. 2 D. 3 【答案】B 【解析】在键盘扫描函数中,当 “SIN == 0”(即 “正弦波” 按键按下)时,返回的键值 “kvalue = 1”,所以选 B。 10. 若要改变多功能函数信号发生器中正弦波的幅度,可通过( )方式实现。 A. 改变正弦波数据表的值 B. 改变延时函数的延时时间 C. 改变按键的连接方式 D. 以上都不对 【答案】A 【解析】正弦波数据表的值决定了输出正弦波的幅度,改变其值就能改变正弦波幅度;延时函数主要影响频率;改变按键连接方式与正弦波幅度无关,所以选 A。 三、判断题 1. 在多功能函数信号发生器的锯齿波发生函数中,DAC0832 输出值从 255 到 0 递减。( ) 【答案】× 【解析】在锯齿波发生函数中,“for (ii = 0; ii < 256; ii++) {DAC0832 = ii++;}” 表明 DAC0832 输出的值从 0 到 255 递增,并非从 255 到 0 递减,所以该说法错误。 2. 在编程中,正弦波发生函数和锯齿波发生函数的代码结构完全相同。( ) 【答案】× 【解析】正弦波发生函数是从正弦波数据表中取值输出,而锯齿波发生函数是输出从 0 到 255 递增的值,代码结构不同,所以该说法错误。 3. 方波发生函数中,DAC0832 只输出高电平。( ) 【答案】× 【解析】方波发生函数中,DAC0832 交替输出高电平(255)和低电平(0),并非只输出高电平,所以该说法错误。 4. 编程时,定义的 “uchar” 和 “uint” 是用于定义 DAC0832 的访问地址。( ) 【答案】× 【解析】“#define uchar unsigned char” 和 “#define uint unsigned int” 是用于定义无符号字符型和无符号整型,并非用于定义 DAC0832 的访问地址,所以该说法错误。 5. 在键盘扫描函数中,没有进行按键消抖处理。( ) 【答案】× 【解析】在键盘扫描函数中,当检测到按键按下时,使用 “DELAY (10);” 进行了延时消抖处理,所以该说法错误。 四、简答题 1. 简述制作多功能函数信号发生器的步骤。 【答案】制作多功能函数信号发生器的步骤如下: 1  搭接电路:根据多功能函数信号发生器电路原理图,使用单片机最小系统模块. 独立按键模块和 D/A 转换模块进行搭接。 2  绘制程序流程图。 3  编程:启动 Keil uVision2,新建工程文件 “多功能函数信号发生器.uV2”;新建 C51 源程序文件 “多功能函数信号发生器.C”,根据程序流程图补充代码;编译程序,生成 HEX 文件。 4  仿真调试程序:按照与任务一相同的方法进行仿真调试,参考多功能函数信号发生器仿真电路图。 5  下载程序,验证功能。 2. 说明正弦波发生函数的工作原理。 【答案】正弦波发生函数的工作原理是通过一个无限循环,在循环内部使用 “for” 循环遍历正弦波数据表 “SIN_DATA”。每次循环中,将数据表中的值赋给 DAC0832 进行输出,并进行一定的延时操作。同时,不断检测按键状态,如果有按键按下(P1 != 0xff),则跳出循环。 3. 阐述键盘扫描函数的作用和工作过程。 【答案】键盘扫描函数的作用是检测多功能函数信号发生器的按键状态,并返回相应的键值。工作过程如下:依次检测 “正弦波”“锯齿波”“方波” 三个按键是否按下。当检测到某个按键按下时,先进行延时消抖处理,再次确认按键是否仍然按下。如果确认按下,则等待按键松开,并返回对应的键值(“正弦波” 按键对应键值 1,“锯齿波” 按键对应键值 2,“方波” 按键对应键值 3)。如果没有按键按下,则返回键值 0。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $$

资源预览图

任务二 制作多功能函数信号发生器(练习)-《单片机技术及应用》(高教版第四版) 同步精品课堂
1
任务二 制作多功能函数信号发生器(练习)-《单片机技术及应用》(高教版第四版) 同步精品课堂
2
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。