单片机课程设计多功能信号发生器设计

上传人:枫** 文档编号:431924567 上传时间:2023-02-19 格式:DOC 页数:19 大小:790.51KB
返回 下载 相关 举报
单片机课程设计多功能信号发生器设计_第1页
第1页 / 共19页
单片机课程设计多功能信号发生器设计_第2页
第2页 / 共19页
单片机课程设计多功能信号发生器设计_第3页
第3页 / 共19页
单片机课程设计多功能信号发生器设计_第4页
第4页 / 共19页
单片机课程设计多功能信号发生器设计_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《单片机课程设计多功能信号发生器设计》由会员分享,可在线阅读,更多相关《单片机课程设计多功能信号发生器设计(19页珍藏版)》请在金锄头文库上搜索。

1、多功能信号发生器 中文摘要随着人类社会的不断向前发展,科学技术也在一步一步地发生着天翻地覆的变换。而不管是在科教还是在科研方面,要想获得一个系统电参数的数值或特征,都必须在具有一定的电信号的作用下才能表现出来。为此,信号发生器成为了一种必然,成为了学术界的一种必需。 多功能信号发生器是一种低频信号发生器,其基本波形主要是正弦波,三角波和方波。用单片机来产生这些基本信号是现在教学中一种基本措施,同时又能训练同学的动手动脑能力。单片机是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器,体积小,成本低,功能强,广泛应用于智能产业和工业自动化上,其中数C8051系列最为典型。 本次

2、单片机课程设计的基本目的就是训练我们的思考动手能力,让我们能更深入的了解单片机的使用及特点。而多功能信号发生器作为一种用途广泛且重要的器具,对本次试验来说无疑是一种针对性强的设计。在这次设计中着重介绍了中断程序的实现原理,如何实现液晶显示的功能及对基本信号的产生的编程过程,从而更加熟练编程的细节及注意事项。关键词: 单片机 中断服务程序 多功能信号发生器 液晶显示器 1 设计任务描述1.1 设计题目:多功能信号发生器1.2 设计要求1.2.1 设计目的:单片机程序设计的目的是使学生通过这一环节,增强对单片机汇编语言的熟练程度。1.2.2 基本要求: 1)能够产生正弦信号、方波信号和三角波信号

3、2)输出三种波形能够转换1.2.3发挥部分: 1)能够改变波形的幅值 2)能够用液晶显示器显示出来2 设计思路根据本次单片机设计的基本要求,此次设计的多功能信号发生器主要功能是能够在产生正弦信号、方波信号和三角波信号三种波形输出的同时还能实现三种波形之间的相互转换。通过汇编语言将三种波形生成的程序串接在一起,在依靠中断按键,控制波形的转换。在此设计基础上同时还添加了改变信号的幅值和能在信号转换同时还可以在液晶显示器上显示相应波形的拼写的附加功能。 设计的思路:第一步:所需要的信号的生成,分别编写出方波,正弦波,三角波三种常见的波形的程序;第二步:不同信号之间的相互的转换,程序中的比较指令是能够

4、实现转换的中心环节,再利用中断服务程序中的外部中断六(key3)来实现三种波形之间灵活的相互转换;第三步:幅值的变换,利用按键中断七(key4)来实现波形中的正弦波幅值的变化;第四步:波形的形式显示,在波形生成的同时在液晶显示器上显示波形当前形式的拼写。 3 流程图开始初始化三角波正弦波方波输出三角波输出正弦波输出方波显示波形中断返回4各部分波形设计及参数计算:在这里我将分别对两个方块作详细的称述:4.1 多种波形设计 4.1.1正弦波 如图4-14.1.2三角波 如图4-24.1.3方波 如图4-34.1.4锯齿波 如图4-4 图4-1 图4-2正弦波流程图 三角波流程图 图4-3 图4-4

5、方波流程图 锯齿波流程图 4.2参数计算 4.2.1正弦波参数计算由于单片机是12位电压输出数/模转换器,所以将其分为两部分,高四位用来调节幅度,低八位用来显示正弦波形,由Vi/VREF=VD/FF可知VD正弦变化则Vi正弦变化,令VD=FF/2*(sinx+1),一个正弦周期取181个点,最后加一个点129判断一个周期是否执行完,所以可得每点间隔为23.14/1810.04,所以可以算出正弦波数值表,如下:sintab:DB 128,132,137,141,146,150,154,159,163,167 DB 171,176,180,184,188,191,195,199,203,206 D

6、B 210,213,216,219,222,225,228,231,233,236 DB 238,240,242,244,246,247,249,250,251,252 DB 253,254,254,255,255,255,255,255,254,254 DB 253,252,251,250,249,247,246,244,242,240 DB 238,236,233,231,228,225,222,219,216,213 DB 210,206,203,198,195,192,188,184,180,176 DB 172,167,163,159,155,150,146,141,137,133

7、DB 128,124,119,115,111,106,102,97,93,89,85 DB 81,77,73,69,65,61,57,54,50,47,43,40,37 DB 34,31,28,25,23,20,18,16,14,12,10,9,7 DB 6,5,4,3,2,2,1,1,1,1,1,2,2,3,4,5,6 DB 7,9,10,12,14,16,18,20,23,25,28,30,33,36 DB 40,43,46,50,53,57,60,64,68,72,76,80,84 DB 88,93,97,101,106,110,114,119,123,128,1294.2.2 LCD显

8、示器的参数计算LCD显示数值就是将所要显示字母的ASCII码值填入表中:zhengxianbodata:DB 2EH,7AH,68H,65H,6EH,67H,78H,69H,61H,6EH,62H,6FHsanjiaobodata:DB 2EH,73H,61H,6EH,6AH,69H,61H,6FH,62H,6FHfangbodata:DB 2EH, 66H,61H,6EH,67H,62H,6FHjuchibodata:DB 2EH, 6aH,75H,63H,68H,69h,62H,6FH5工作过程分析5.1正弦波: 若R7等于4,则LCD显示程序显示“zhengxianbo”,LED显示完后

9、再查正弦波波形表,将所查得的数据进行DA转换并输出正弦波,按下key3可以调节幅值,将表最后一个数据定为129用来判断正弦波一个周期的数据是否调用完,若调用完则让此程序循环执行。5.2三角波: 若R7等于1,则LCD显示程序显示“sanjiaobo”, 显示完后将00送到DAC0L再逐次加1送到DAC0L待到低位值增到FF时,给DAC0H加1,依次循环,直至DAC0的值为FFF,锯齿波最高点的值为FFF,再用同样的方法让DAC0的值从最大值FFF减到000,以此循环则显示三角波。5.3方波: 若R7等于2,则LCD显示程序显示 “fangbo”, 显示完后将FF送到DAC0L,将F送到DAC0

10、H,再调用延时程序,待延时程序执行完将00送到DAC0L,将0送到DAC0H,再调用延时程序,以此循环,则示波器上输出方波。5.4锯齿波: 若R7等于3,则LCD显示程序显示“juchibo”,显示完后将00送到DAC0L再逐次加1送到DAC0L待到低位值增到FF时,给DAC0H加1,依次循环,直至DAC0的值为FFF,锯齿波最高点的值为FFF,再循环执行上述过程。6元器件清单器件名称器件型号器件数量计算机1波形发生器GDS-10221单片机C8051f0201表6-17 主要元器件介绍7.1 计算机:用于编写源程序7.2示波器:用于显示各种波形7.3单片机:如果按功能划分,它由8个部件组成,

11、即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、I/O口(P0口、P1口、P2口、P3口)、串行口、定时器/计数器、中断系统及特殊功能寄存器(SFR)的集中控制方式。各功能部件的介绍:1、数据存储器(RAM):片内为128个字节单元,片外最多可扩展至64K字节。2、程序存储器(ROM/EPROM):ROM为4K,片外最多可扩展至64K。3、中断系统:具有5个中断源,2级中断优先权。4、定时器/计数器:2个16位的定时器/计数器,具有四种工作方式。5、串行口:1个全双工的串行口,具有四种工作方式。6、特殊功能寄存器(SFR)共有21个,用于对片内各功能模块进行管理、

12、监控、监视。7、微处理器:为8位CPU,且内含一个1位CPU(位处理器),不仅可处理字节数据,还可以进行位变量的处理。8、四个8位双向并行的I/O端口,每个端口都包括一个锁存器、一个输出驱动器和一个输入缓冲器。这四个端口的功能不完全相同。 小结在这次设计中,我超额完成了这次任务,作好了多功能信号发生器,能够输出正弦波,三角波,方波,锯齿波;各种波形之间可以相互转换;也可以调节幅值;可以用LCD显示出来,我很高兴,同时也感谢老师和同学的帮助。回忆起这次课程设计,至今我仍然感触颇多。我的题目是多功能信号发生器,刚刚看到这个题目时感到非常难,无从下手,没有一个具体的设计思路,最后,我制定了这样的计划

13、:先查阅相关资料,再进行方案论证,源程序设计,最后再写设计报告,进行答辩。总体思路有了,但实现起来还是很难,只设计一个简单的方波子程序我就遇到了问题。还有每个程序作好后,调试时也遇到了许多困难,比如:正弦波调试没错误就是不出波形。每个程序思路都不同,发现有些无法组合,我们不得不放弃一些已经作好的程序,从头做起。其中我遇到了很多问题:比如再用中断六进行转换时跳的很快,加了延时好像也不太好使。但是我从不知道做什么,到不知怎么做,到后来的不知怎么完善程序,一个一个问题不断地出现,但值得高兴的是我们一起克服了。虽然在这次课程设计中我们所设计的程序仍有很多漏洞,。还有一些没解决的问题,但我们已经很满足了,至少我们努力了。通过课程设计我收获很多,不仅对这个课程有了更深的理解,而且也学会了团队精神的重要性,个人的能力是有限的,团结才能有力量,我们都尽自己所能来完成这次课程设计。通过这次课程设计,我懂得了理论与实际结合是很必要的。只有理论知识是远远不够的,只有把所学的理论知识与实际结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考能力。在设计的过程中,虽然我们遇到了重重困难,但我们都一一把困难克服了。可贵的是,我们在设计过程中发现了自己的

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号