proteus信号发生器课程设计.docx
《proteus信号发生器课程设计.docx》由会员分享,可在线阅读,更多相关《proteus信号发生器课程设计.docx(15页珍藏版)》请在冰豆网上搜索。
proteus信号发生器课程设计
Proteus课程考核
姓名:
李亚斌
学号:
201014110206
专业:
电子信息科学与技术
题目:
信号发生器
学校:
湘南学院
设计日期:
2013年11月
成绩:
指导教师:
段凌飞
2013年11月
摘要
随着信息技术的高速发展,单片机在生活以及工业生产中担任着越来越重要的角色,因而掌握好单片机的知识对我们信息专业的学生来说非常重要。
本文介绍一种用AT89C52单片机接一个数模转换器构成的单片机波形发生器,可产生较清晰的方波、三角波、锯齿波和正弦波4种波形信号,用示波器可以显示输出的波形,波形的周期可用程序改变,并可根据需要选择单极性输出或双极性输出,信号的周期则通过一个电位器可以调节,可以输出集中频率的波形,本设计电路具有线路简单、结构紧凑、性能优越等特点。
关键词:
信号发生器 AT89C52单片机 ADC0808
目录
引言-------------------------------------------------------------------------------------------------------------5
绪论-------------------------------------------------------------------------------------------------------------5
第1章系统设计内容---------------------------------------------------------------------------------6
1.1系统设计依据-------------------------------------------------------------------------------------------6
1.2设计任务和要求-------------------------------------------------------6
第2章硬件设计--------------------------------------------------------------------------------------6
2.1单片机控制原理----------------------------------------------------------------------------------------6
2.1.1AT89C51单片机--------------------------------------------------------------------------------6
2.1.2DAC0832芯片----------------------------------------------------------------------------------------7
2.2信号发生器的原理--------------------------------------------------------------------------------------7
2.2.1原理及电路总框-------------------------------------------------------------------------------------8
第3章软件设计----------------------------------------------------------------------------------------8
3.1程序设计--------------------------------------------------------------------------------------------------8
3.1.1系统流程图-------------------------------------------------------------------------------------------8
3.2程序代码-------------------------------------------------------------9
第4章系统调试--------------------------------------------------------19
第5章总结------------------------------------------------------------19
参考文献-----------------------------------------------------------------20
附录一仿真图----------------------------------------------------------21
·引言
随着信息技术的飞鼠发展,单片机技术作为计算机技术的一个分支,广泛地应用于工业控制,智能仪器仪表,机电一体化产品,家用电器等各个领域。
成为现代化电子系统中最重要的智能化工具。
因而掌握一定的单片机技术对与工科类的学生来说十分重要。
信号发生器应用广泛,种类繁多,性能各异,分类也不尽一致。
按照频率范围分类可以分为:
超低频信号发生器、低频信号发生器、视频信号发生器、高频波形发生器、甚高频波形发生器和超高频信号发生器。
按照输出波形分类可以分为:
正弦信号发生器和非正弦信号发生器,非正弦信号发生器又包括:
脉冲信号发生器,函数信号发生器、扫频信号发生器、数字序列波形发生器、图形信号发生器、噪声信号发生器等。
按照信号发生器性能指标可以分为一般信号发生器和标准信号发生器。
前者指对输出信号的频率、幅度的准确度和稳定度以及波形失真等要求不高的一类信号发生器。
后者是指其输出信号的频率、幅度、调制系数等在一定范围内连续可调,并且读数准确、稳定、屏蔽良好的中、高档信号发生器。
·绪论
信号发生器是一种常用的信号源,广泛应用于科学研究、生产实践和教学实验等领域。
特别是在通信系统的科研实验中,常常需要用到多种不同频率和相位的信号,如正弦波、三角波、方波和锯齿波等,因此多功能信号发生器应用十分广泛。
在数字化时代的今天,经典的由模拟电路组成的信号发生器已经渐渐远离了人们,取而代之的是电路简洁、功能多样、功耗低的数字电路。
在以后的时间里,将会有越来越多的数字化的信号发生器运用在各种科学技术领域和工程实践中,给人们的日常生活带来更多的便利。
本文是做基于单片机的信号发生器的设计,将采用编程的方法来实现三角波、锯齿波方波、正弦波的发生。
根据设计的要求,对各种波形的频率和幅度进行程序的编写,并将所写程序装入单片机的程序存储器中。
在程序运行中,当接收到来自外界的命令,需要输出某种波形时再调用相应的中断服务子程序和波形发生程序,经电路的数/模转换器和运算放大器处理后,从信号发生器的输出端口输出
第1章系统设计内容
1.1系统设计依据
数字信号可以通过数/模转换器转换成模拟信号,因此可通过产生数字信号再转换成模拟信号的方法来获得所需要的波形。
AT89C52单片机本身就是一个完整的微型计算机,具有组成微型计算机的各部分部件:
中央处理器CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以及串行通讯接口等,只要将AT89C52再配置键盘及其接口、数模转换及波形输出、指示灯及其接口等三部分,即可构成所需的波形发生器,其信号发生器构成原理框图如图所示。
[2]
图1.1原理图
1.2设计任务和要求
设计一个信号发生器
要求:
(1)设计出硬件电路;
(2)设计出软件编程方法,并写出源代码;
(3)用proteus进行仿真;
第2章硬件设计
2.1.1AT89C51单片机
单片机(SCM)是单片微型计算机(SingleChipMicrocomputer)的简称。
它是把中央处理器CPU、随机存储器RAM、只读存储器ROM、I/O接口电路、定时/计数器以及输入输出适配器都集成在一块芯片上,构成一个完整的微型计算机。
它的最大优点是体积小,可放在仪表内部。
但存储量小,输入输出适配器简单,功能较低。
目前,单片机在民用和工业测控领域得到最广泛的应用,早已深深地融入人们的生活中。
简单的说,用单片机系统来设计抢答器,实现两组的抢答时间即使是相差几微秒,也可分辨出哪组优先答题。
P0端口(P0.0-P0.7):
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1端口(P1.0-P1.7):
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高电平,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2端口(P2.0-P2.7):
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3端口(P3.0-P3.7):
P3口管脚是一个带有内部上拉电阻的8位的双向I/O端口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入端时,由于外部下拉为低电平,P3口将输出电流(ILL)。
2.1.2DAC0832芯片
DAC0832是8分辨率的D/A转换集成芯片。
与微处理器完全兼容。
这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。
D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。
2.2信号发生器的原理
AT89C52单片机本身就是一个完整的微型计算机,具有组成微型计算机的各部分部件:
中央处理器CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以及串行通讯接口等,只要将AT89C52再配置键盘及其接口、数模转换及波形输出、指示灯及其接口等三部分,即可构成所需的波形发生器,其信号发生器构成原理框图如图所示。
[2]
图2.2.1原理图
2.2.1原理及电路总框图
图2.2.2信号发生器总原理图
第3章软件设计
3.1程序设计
3.1.1系统流程图
3.2程序代码
SQU_KBITP3.4
SAW_KBITP3.5
TRI_KBITP3.6
SIN_KBITP3.7
SQU_LBITP1.0
SAW_LBITP1.1
TRI_LBITP1.2
SIN_LBITP1.3
ORG00H
START:
MOVP1,#0FFH;将P1初始化为0FFH
MOVP2,#0FFH
MOVP3,#0FFH
MOVDPTR,#SIN_TAB;将DPTR指向正弦数据表头
MAIN:
MOVP0,#00H;将P0初始化为00H
JNBSQU_K,S1;检测方波选择端SQU_K,若SQU_K=0,程序转向S1
SETBSQU_L;将SQU_L置1
JNBSAW_K,S2
SETBSAW_L
JNBTRI_K,S3
SETBTRI_L
JNBSIN_K,S4
SETBSIN_L
SJMPMAIN
S1:
CLRSQU_L;清除SQU_L
LCALLSQUARE;调方波子程序
SJMPMAIN
S2:
CLRSAW_L
LCALLSAWTOOTH;调锯齿波子程序
SJMPMAIN
S3:
CLRTRI_L
LCALLTRIANG
SJMPMAIN;调三角波子程序
S4:
CLRSIN_L
LCALLSINWAVE;调正弦波子程序
SQUARE:
MOVR0,#00H
J11:
MOVP0,#0FFH;P0口输出0FFH
MOVP2,#0FFH
MOVA,P2;读P2口状态
CPLA;取反
MOVR3,A
L11:
DECR3
CJNER3,#255,L11;比较若R3不等于255,转向L11
INCR0
CJNER0,#254,J11;比较若R3不等于254,转向J11
MOVR0,#00H;R0清0
J12:
MOVP0,#00H;P0口输出00H
MOVP2,#0FFH
MOVA,P2
CPLA
MOVR3,A
L12:
DECR3
CJNER3,#255,L12;比较若R3不等于255,转向L12
INCR0
CJNER0,#254,J12;比较若R0不等于254,转向J12
MOVR0,#00H
RET
SAWTOOTH:
CLRA
MOVR7,A
J21:
MOVP0,R7;P0口输出00H
MOVP2,#0FFH
MOVA,P2
CPLA
MOVR3,A
L21:
DECR3
CJNER3,#255,L21
INCR7
CJNER7,#255,J21
RET
TRIANG:
MOVR7,#00H
J31:
MOVP0,R7
MOVP2,#0FFH
MOVA,P2
CPLA
MOVR3,A
L31:
DECR3
CJNER3,#255,L31
INCR7
CJNER7,#255,J31
J32:
MOVP0,R7
MOVP2,#0FFH
MOVA,P2
CPLA
MOVR3,A
L32:
DECR3
CJNER3,#255,L32
DECR7
DECR7
CJNER7,#00,J32
RET
SINWAVE:
MOVR0,#00H;R0指向正弦数据表头
K41:
MOVA,R0
MOVCA,@A+DPTR;查表
MOVP0,A;输出数据
INCR0
MOVP2,#0FFH
MOVA,P2
CPLA
MOVR3,A
L41:
DECR3
CJNER3,#255,L41
CJNER0,#92,K41
K42:
DECR0
MOVA,R0
MOVCA,@A+DPTR
MOVP0,A
MOVP2,#0FFH
MOVA,P2
CPLA
MOVR3,A
L42:
DECR3
CJNER3,#255,L42
CJNER0,#0,K42
RET
SIN_TAB:
DB0,0,0,0,1,1,2,3,4,5,6,8,9,11
DB13,15,17,19,22,24,27,30,33,36,39
DB42,46,49,53,56,60,64,68,72,76,80
DB84,88,92,97,101,105,110,114,119,123
DB128,132,136,141,145,150,154,158,163
DB167,171,175,179,183,187,191,195,199
DB202,206,209,213,216,219,222,225,228
DB231,233,236,238,240,242,244,246,247,249
DB250,251,252,253,254,255,255,255
END
第4章系统调试
本系统由单片机、显示接口电路,波形转换(D/A)电路和电源等四部分构成。
图4.1硬件原理方框图
第5章结论
课程设计锻炼同学们独立动手能力,发现问题,解决问题的重要环节。
对于同学们能力的提高具有很大的作用。
一方面他能帮助同学们巩固学过的知识,另一方面又能帮助我们学到一些新的知识。
因此,它是非常有意义的。
在刚拿到这个题目的时候,脑袋里还是一塌糊涂,根本还不知道到底该如何动手,但在老师的精心指导下。
发现他并不是之前想象的那么难。
很多大的问题把它化解成小问题,再把小问题逐个解决后,大的问题也就没有了。
其中还发现一个很大的问题:
就是很难将书本上的东西灵活地运用到这里面来,自己的动手能力还有待提高。
这次课程设计终于顺利完成了,在设计中遇到了很多问题,这在平时的学习当中是没有法相的,比如数模转换器的应用以及它的附加电路,平时就没有和足以到。
这次的课程设计业相当于对自己学过的知识进行了一次比较全面的总结于检查,他涉及到很多方面的知识,如:
电路,汇编语言,单片机等,对学生的动手能力要求比较高。
最后我要对在这次课程设计中的指导老师表示感谢同时也对所有帮助过我的同学们表示衷心的感谢!
参考文献资料
[1]罗印升.《单片微机原理与应用》.机械工业出版社2012.
[2]康华光.《电子技术基础(模拟部分)》.第四版高等教育出版社1999.
[3]喻宗泉.《单片机原理与应用技术》.西安电子科技大学出版社2005.
[4]万光毅.《单片机实验与实践教程》.北京航天航空大学出版社2003.
[5]张俊谟.《单片机初级教程》.北京航天航空大学出版社2000.
附录一
proteus单片机模拟仿真运行
1正弦波的仿真
正弦波仿真图
2方波的仿真
方波仿真图
3锯齿波的仿真
锯齿波仿真图
4三角波的仿真
三角波仿真图