- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理及系统课程设计报告
11 -
单片机原理及系统课程设计
专 业: 自动控制
班 级:
姓 名:
学 号:
指导教师:
评语:
平时(40)
修改(30)
报告(30)
总成绩
兰州交通大学自动化与电气工程学院
年 月 日
波形发生器
1 引言
本系统是基于STC89C51单片机的波形发生器。采用STC89C51单片机作为控制核心,外围采用数字/模拟转换电路(DAC0832)和按键等。通过按键控制可产生方波、三角波、正弦波和锯齿波。其设计简单、性能优良,具有一定的实用性。文中简要介绍了DAC0832数模转换器的结构原理和使用方法,STC89C51的基础理论,着重介绍了如何利用单片机控制D/A转换器产生上述信号的硬件电路和软件编程。
2 设计方案及原理
2.1设计原理及元件选型
(1)设计原理
该设计设计一个低频信号发生器,我们采用的是AT89C51 单片机用软件实现信号的输出。该单片机是一个微型计算机,包括中央处理器CPU,RAM,ROM、I/O 接口电路、定时计数器、串行通讯等,是波形设计的核心。该信号发生器原理框图如图1,总体原理为:利用AT89C51 单片机构造低频信号发生器,可产生正弦波,方波,三角波,锯齿波四种波形,通过汇编语言对单片机的编程即可产生相应的波形信号,并可以通过键盘进行各种功能的转换和信号频率的控制,当输出的数字信号通过数模转换成模拟信号也就得到所需要的信号波形,通过运算放大器的放大输出波形,同时让显示器显示输出的波形信息。
通过P1口和开关K0-K3相连接来控制各个波形的输出。能根据k0-k4键状态进行波形切换,当某一按键按下时,输出相对应的波形。
(2) 元件选型
单片机AT89C51系统,DAC0832一片,PC机一台,运算放大器
2.2设计方案
总体方框图:
图1 总体设计功能图
(2)设计思路
利用中断,当5个开关中有任意一个闭合时,跳转至中断程序,在中断程序中判断是哪一个按键闭合,跳转至相应的程序,执行输出波形的操作,每输出一个点之后,判断按键是否断开,如果依旧闭合,则继续输出,如果已经断开,则结束中断程序。
3 硬件设计
3.1硬件原理图
波形发生器的硬件原理图如图2所示:
图2 波形发生器的硬件原理图
3.1硬件连线图
图3 硬件连线图
4 软件设计
4.1主程序如下:
ORG 0000H
LJMP MAIN
ORG 1000H
MAIN:
JNB P1.0,IR0 ;如果K0键闭合,则跳转至IR0输出锯齿波
JNB P1.1,IR1 ;如果K1键闭合,则跳转至IR1输出三角波
JNB P1.2,IR2 ;如果K2键闭合,则跳转至IR2输出方波
JNB P1.3,IR3 ;如果K3键闭合,则跳转至IR3输出正弦波
AJMP MAIN
4.2锯齿波的产生过程
锯齿波的实现过程是首先定义一个初值然后进行加法操作,加的步数的多少则根据要求的频率来进行。然后加到某个数之后就再重新设置为初值,再重复执行刚刚的操作,如此循环下去。
锯齿波发生流程图图4所示:
图4 锯齿波发生流程图
锯齿波函数图像如附录图5所示:
4.3 三角波的产生过程
三角波的实现是设置一个初值,当加到某个值的时候,执行减一操作,减到初值时,再加一。
三角波发生流程图图6所示:
图6 三角波发生流程图
三角波函数图像如附录图7所示:
?4.4 方波的产生过程
方波的实现只需开始的时候设置一个初值然后直接输出这个值就行了,输出一段时间后,然后再重新置一个数据,然后再输出这个数据一段时间,但是此时的时间一定要等于前面那段时间。这样才是一个方波,如果两个时间不相同,那就相当于一个脉冲波了。
方波发生流程图如图8所示:
图8 方波发生流程图
方波函数图像如图9所示:
4.5正弦波的产生过程
正弦波的实现需要查表,每查一次表,输出一个数值,之后查下一个数值继续输出,当一个波形的256个数值全部输出之后,从头开始继续输出。
正弦波发生流程图如图10所示:
图10 正弦波发生流程图
正弦波函数图像如图11所示:
5 总结
经过将近一周的单片机课程设计,终于完成了我的波形发生器的设计,基本达到设计要求,从心底里来说,还是很高兴的,毕竟这次设计把仿真做了出来。但高兴之余不得不深思呀!
在本次设计的过程中,我发现很多的问题,虽然以前还做过这样的设计但这次设计真的让我长
文档评论(0)