多功能信号发生器课程设计Word文档格式.docx

上传人:b****1 文档编号:840249 上传时间:2023-04-29 格式:DOCX 页数:25 大小:111.69KB
下载 相关 举报
多功能信号发生器课程设计Word文档格式.docx_第1页
第1页 / 共25页
多功能信号发生器课程设计Word文档格式.docx_第2页
第2页 / 共25页
多功能信号发生器课程设计Word文档格式.docx_第3页
第3页 / 共25页
多功能信号发生器课程设计Word文档格式.docx_第4页
第4页 / 共25页
多功能信号发生器课程设计Word文档格式.docx_第5页
第5页 / 共25页
多功能信号发生器课程设计Word文档格式.docx_第6页
第6页 / 共25页
多功能信号发生器课程设计Word文档格式.docx_第7页
第7页 / 共25页
多功能信号发生器课程设计Word文档格式.docx_第8页
第8页 / 共25页
多功能信号发生器课程设计Word文档格式.docx_第9页
第9页 / 共25页
多功能信号发生器课程设计Word文档格式.docx_第10页
第10页 / 共25页
多功能信号发生器课程设计Word文档格式.docx_第11页
第11页 / 共25页
多功能信号发生器课程设计Word文档格式.docx_第12页
第12页 / 共25页
多功能信号发生器课程设计Word文档格式.docx_第13页
第13页 / 共25页
多功能信号发生器课程设计Word文档格式.docx_第14页
第14页 / 共25页
多功能信号发生器课程设计Word文档格式.docx_第15页
第15页 / 共25页
多功能信号发生器课程设计Word文档格式.docx_第16页
第16页 / 共25页
多功能信号发生器课程设计Word文档格式.docx_第17页
第17页 / 共25页
多功能信号发生器课程设计Word文档格式.docx_第18页
第18页 / 共25页
多功能信号发生器课程设计Word文档格式.docx_第19页
第19页 / 共25页
多功能信号发生器课程设计Word文档格式.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

多功能信号发生器课程设计Word文档格式.docx

《多功能信号发生器课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《多功能信号发生器课程设计Word文档格式.docx(25页珍藏版)》请在冰点文库上搜索。

多功能信号发生器课程设计Word文档格式.docx

第四步:

波形的形式显示,在波形生成的同时在液晶显示器上显示波形当前形式的拼写。

3流程图

4各部分波形设计及参数计算:

在这里我将分别对两个方块作详细的称述:

4.1多种波形设计

4.1.1正弦波如图4-1

4.1.2三角波如图4-2

4.1.3方波如图4-3

4.1.4锯齿波如图4-4

图4-1图4-2

正弦波流程图三角波流程图

图4-3图4-4

方波流程图锯齿波流程图

4.2参数计算

4.2.1正弦波参数计算

由于单片机是12位电压输出数/模转换器,所以将其分为两部分,高四位用来调节幅度,低八位用来显示正弦波形,由Vi/VREF=VD/FF可知VD正弦变化则Vi正弦变化,令VD=FF/2*(sinx+1),一个正弦周期取181个点,最后加一个点129判断一个周期是否执行完,所以可得每点间隔为2×

3.14/181≈0.04,所以可以算出正弦波数值表,如下:

sintab:

DB128,132,137,141,146,150,154,159,163,167

DB171,176,180,184,188,191,195,199,203,206

DB210,213,216,219,222,225,228,231,233,236

DB238,240,242,244,246,247,249,250,251,252

DB253,254,254,255,255,255,255,255,254,254

DB253,252,251,250,249,247,246,244,242,240

DB238,236,233,231,228,225,222,219,216,213

DB210,206,203,198,195,192,188,184,180,176

DB172,167,163,159,155,150,146,141,137,133

DB128,124,119,115,111,106,102,97,93,89,85

DB81,77,73,69,65,61,57,54,50,47,43,40,37

DB34,31,28,25,23,20,18,16,14,12,10,9,7

DB6,5,4,3,2,2,1,1,1,1,1,2,2,3,4,5,6

DB7,9,10,12,14,16,18,20,23,25,28,30,33,36

DB40,43,46,50,53,57,60,64,68,72,76,80,84

DB88,93,97,101,106,110,114,119,123,128,129

4.2.2LCD显示器的参数计算

LCD显示数值就是将所要显示字母的ASCII码值填入表中:

zhengxianbodata:

DB2EH,7AH,68H,65H,6EH,67H,78H,69H,61H,6EH,62H,6FH

sanjiaobodata:

DB2EH,73H,61H,6EH,6AH,69H,61H,6FH,62H,6FH

fangbodata:

DB2EH,66H,61H,6EH,67H,62H,6FH

juchibodata:

DB2EH,6aH,75H,63H,68H,69h,62H,6FH

5工作过程分析

5.1正弦波:

若R7等于4,则LCD显示程序显示“zhengxianbo”,LED显示完后再查正弦波波形表,将所查得的数据进行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送到DAC0H,再调用延时程序,待延时程序执行完将00送到DAC0L,将0送到DAC0H,再调用延时程序,以此循环,则示波器上输出方波。

5.4锯齿波:

若R7等于3,则LCD显示程序显示“juchibo”,显示完后将00送到DAC0L再逐次加1送到DAC0L待到低位值增到FF时,给DAC0H加1,依次循环,直至DAC0的值为FFF,锯齿波最高点的值为FFF,再循环执行上述过程。

6元器件清单

器件名称

器件型号

器件数量

计算机

1

波形发生器

GDS-1022

单片机

C8051f020

表6-1

7主要元器件介绍

7.1计算机:

用于编写源程序

7.2示波器:

用于显示各种波形

7.3单片机:

如果按功能划分,它由8个部件组成,即微处理器(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个,用于对片内各功能模块进行管理、监控、监视。

7、微处理器:

为8位CPU,且内含一个1位CPU(位处理器),不仅可处理字节数据,还可以进行位变量的处理。

8、四个8位双向并行的I/O端口,每个端口都包括一个锁存器、一个输出驱动器和一个输入缓冲器。

这四个端口的功能不完全相同。

小结

在这次设计中,我超额完成了这次任务,作好了多功能信号发生器,能够输出正弦波,三角波,方波,锯齿波;

各种波形之间可以相互转换;

也可以调节幅值;

可以用LCD显示出来,我很高兴,同时也感谢老师和同学的帮助。

回忆起这次课程设计,至今我仍然感触颇多。

我的题目是多功能信号发生器,刚刚看到这个题目时感到非常难,无从下手,没有一个具体的设计思路,最后,我制定了这样的计划:

先查阅相关资料,再进行方案论证,源程序设计,最后再写设计报告,进行答辩。

总体思路有了,但实现起来还是很难,只设计一个简单的方波子程序我就遇到了问题。

还有每个程序作好后,调试时也遇到了许多困难,比如:

正弦波调试没错误就是不出波形。

每个程序思路都不同,发现有些无法组合,我们不得不放弃一些已经作好的程序,从头做起。

其中我遇到了很多问题:

比如再用中断六进行转换时跳的很快,加了延时好像也不太好使。

但是我从不知道做什么,到不知怎么做,到后来的不知怎么完善程序,一个一个问题不断地出现,但值得高兴的是我们一起克服了。

虽然在这次课程设计中我们所设计的程序仍有很多漏洞,。

还有一些没解决的问题,但我们已经很满足了,至少我们努力了。

通过课程设计我收获很多,不仅对这个课程有了更深的理解,而且也学会了团队精神的重要性,个人的能力是有限的,团结才能有力量,我们都尽自己所能来完成这次课程设计。

通过这次课程设计,我懂得了理论与实际结合是很必要的。

只有理论知识是远远不够的,只有把所学的理论知识与实际结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考能力。

在设计的过程中,虽然我们遇到了重重困难,但我们都一一把困难克服了。

可贵的是,我们在设计过程中发现了自己的不足,对前面学过的知识理解的不够深刻,掌握的不够牢固。

通过这次课程设计,我们相当于把前面所学过的知识又重新温故了一遍。

善于总结,也是学习能力的一种体现。

每次完成一个程序,都应随时总结,找到自己的不足,这样一来所设计的程序才能逐步提高。

  生活就是这样,汗水预示着结果也见证着收获。

有些事情并不是因为它难而使我们不能做,而是因为我们不去做而使它看起来很难,就像是这次课程设计,刚开始看起来很难,但当我们真正做的时候一步一步也走过来了,所以我相信,没有什么我们做不到的,只要我们肯为此而付出努力!

致谢

关于课程设计的学习,我深深体会到了同学之间团结互助的重要性。

在此,我要特别对帮助我的老师表示感谢。

在刚开始时,我们拿到这个课程设计,真的是一头雾水。

时间过得真快,转眼间,两周的程序设计课程就要结束了。

短短的两周之内,我有很多都不知道从何开始,是老师的耐心指导帮我明确了方向,是同学的相互帮助给我作了导航,让我们知道了课程设计的基本步骤,开始着手设计。

每天,老师都会帮助我们解答一些我们想不明白的问题。

在老师的悉心指导下,我们的源程序终于做完了。

本来以为一切都快结束了,没想到在真正参透,调试时,问题百出,让我们都失去了信心,这时候,老师给予我们无私的帮助,教育我们要有耐心,慢慢检查,并告诉我们,不是每个人都能一次就把源程序设计好,一个完整的源程序总是在不断的修改过程中,一点一滴的完善的。

在我们的努力和老师的帮助下,我们终于把源程序给完善了。

面对完善后的源程序,我们就开始写论文。

最后一刻,我们终于成功的完成了。

真的很感谢老师们,是他们使我们尝到了成功的喜悦。

在这次课程设计中我们不仅完成了老师交给的各项任务,还增加了很多知识。

对单片机这门课程也有了更深的了解和更大的兴趣,使我们的知识更加巩固和完善了。

另外,我要感谢我亲爱的同学们。

是他们一直陪在我身边,和我并肩奋斗,使我有信心完成自己的工作。

虽然这一周遇到了很多的困难,但感觉仍然是快乐的,当我的源程序设计出来时,觉得非常有成就感,可以说这次的成绩不只属于我自己,更多属于老师和同学的帮助。

程序属于大家共同合作的结果,没有你们就没有这样一个完整的课程设计,我也尝不到这份成功的喜悦。

最后,我要再次感谢老师和那些给予我帮助的同学们,是你们让我顺利完成了课程设计,增长了许多实践的经验,更体验到了大家团结互助的温暖。

真的很感谢你们,希望在以后的生活中,大家能事事顺心,希望我们这个大家庭永远温暖如春。

参考文献

[1]张俊谟.SoC单片机原理与应用——基于C8051系列.北京:

北京航空航天大学出版社,2007.5

[2]周立功.单片机实验与实践.北京:

北京航空航天大学出版社,2004.8

[3]袁启昌,王宏宇.单片机应用实训教程.北京:

科学出版社,2006.2

[4]张迎辉,贡雪梅.单片机实训教程.北京:

北京大学出版社,2005.9

附录

A1总流程图

图六

总流程图

A2源程序

多功能信号发生器的程序如下:

$include(c8051f020.inc)

org00h

ljmpmain

org0093h

ljmpintt6_isr

org009bh

ljmpintt7_isr

org100h

int6_init:

orleie2,#30h

movp3if,#00h

setbea

ret

intt6_isr:

movp3if,#3fh

djnzr7,z

movr7,#4

lcalldelay1

z:

reti

intt7_isr:

movp3if,#00h

movr5,#03h

reti

main:

movwdtcn,#0deh

movwdtcn,#0adh

movxbr2,#40h;

打开交叉开关

movref0cn,#03h;

DA转换初始化

movdac0cn,#80h

movR7,#1

movr5,#15

clrea

lcallint6_init

Q1:

CJNER7,#1,Q2

lcallrepzhengxianbo

lcallzhengxianbo

ljmpQ1

Q2:

CJNER7,#02,Q3

lcallrepsanjiaobo

lcallsanjiaobo

ljmpQ2

Q3:

CJNER7,#03,Q4

lcallrepfangbo

lcallfangbo

ljmpQ3

Q4:

CJNER7,#04,Q1

lcallrepjuchibo

lcalljuchibo

ljmpQ4

zhengxianbo:

//正弦波

movdptr,#sintab

zloop0:

clra

movca,@a+dptr

cjnea,#129,zloop1

ajmpzhengxianbo

zloop1:

movb,r5

mulab

movdac0l,a

movdac0h,b

incdptr

CJNER7,#01H,DD1

ljmpzloop0

DD1:

RET

sanjiaobo:

//三角波

sloop1:

mov30h,#00h

mov31h,#00h

sloop2:

mova,30h

adda,#05h

movdac0l,a

mov30h,a

jncsloop4

mova,31h

inca

mov31h,a

cjnea,#05h,sloop3

ljmpsloop5

sloop3:

mova,31h

ajmpsloop2

sloop4:

movdac0h,a

CJNER7,#02,DD2

sloop5:

mov30h,#0ffh

mov31h,#04h

sloop6:

mova,30h

clrcy

subba,#05h

jncsloop8

deca

cjnea,#0ffh,sloop7

ljmpsloop2

sloop7:

movdac0h,a

ajmpsloop6

sloop8:

DD2:

ret

fangbo:

//方波

movdac0cn,#80h

movdac0l,#0ffh

movdac0h,#0fh

lcalldelay

CJNER7,#03,floop0

movdac0l,#00h

movdac0h,#0h

ljmpfangbo

floop0:

ret

delay:

movr0,#10

de1:

movr1,#10

de2:

movr2,#10

djnzr2,$

djnzr1,de2

djnzr0,de1

juchibo:

//锯齿波

jloop0:

mov30h,#00h

mov31h,#00h

jloop1:

movA,30h

addA,#01h

mov30h,A

movdac0l,A

jncjloop3

movA,31h

incA

mov31h,A

cjneA,#10h,jloop2

ljmpjloop1

jloop2:

movdac0h,A

ajmpjloop1

jloop3:

movA,31h

CJNER7,#04,jloop4

ajmpjloop1

jloop4:

repzhengxianbo:

LCALLDELAY2

LCALLLCD_Init

MOVDPTR,#zhengxianbodata

MOVR3,#0CH

Line1:

CLRA

MOVCA,@A+DPTR

INCDPTR

MOVP7,A

MOVP6,#05H

MOVP6,#04H

LCALLDELAY

DJNZR3,Line1

MOVP7,#0C0H

MOVP6,#01H

MOVP6,#0H

SYSCLK_Init:

MOVOSCICN,#05H

PORT_Init:

MOVXBR0,A

MOVP74OUT,#0F0H

LCD_Init:

MOVP7,#38H

MOVP7,#0EH

MOVP7,#06H

MOVP7,#01H

MOVP6,#00H

repsanjiaobo:

MOVDPTR,#sanjiaobodata

MOVR3,#0AH

Line2:

DJNZR3,Line2

repfangbo:

MOVDPTR,#fangbodata

MOVR3,#07H

Line3:

MOV

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2