文档介绍:中文摘要
随着人类社会的不断向前发展,科学技术也在一步一步地发生着天翻地覆的变换。而不管是在科教还是在科研方面,要想获得一个系统电参数的数值或特征,都必须在具有一定的电信号的作用下才能表现出来。为此,信号发生器成为了一种必然,成为了学术界的一种必需。
多功能信号发生器是一种低频信号发生器,其基本波形主要是正弦波,三角波和方波。用单片机来产生这些基本信号是现在教学中一种基本措施,同时又能训练同学的动手动脑能力。单片机是集CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器,体积小,成本低,功能强,广泛应用于智能产业和工业自动化上,其中数C8051系列最为典型。
本次单片机课程设计的基本目的就是训练我们的思考动手能力,让我们能更深入的了解单片机的使用及特点。而多功能信号发生器作为一种用途广泛且重要的器具,对本次试验来说无疑是一种针对性强的设计。在这次设计中着重介绍了中断程序的实现原理,如何实现液晶显示的功能及对基本信号的产生的编程过程,从而更加熟练编程的细节及注意事项。
关键词: 单片机中断服务程序多功能信号发生器液晶显示器
设计任务描述
设计题目:多功能信号发生器
设计要求
设计目的:
单片机程序设计的目的是使学生通过这一环节,增强对单片机汇编语言的熟练程度。
基本要求:
1)能够产生正弦信号、方波信号和三角波信号
2)输出三种波形能够转换
:
1)能够改变波形的幅值
2)能够用液晶显示器显示出来
设计思路
根据本次单片机设计的基本要求,此次设计的多功能信号发生器主要功能是能够在产生正弦信号、方波信号和三角波信号三种波形输出的同时还能实现三种波形之间的相互转换。通过汇编语言将三种波形生成的程序串接在一起,在依靠中断按键,控制波形的转换。在此设计基础上同时还添加了改变信号的幅值和能在信号转换同时还可以在液晶显示器上显示相应波形的拼写的附加功能。
设计的思路:
第一步:所需要的信号的生成,分别编写出方波,正弦波,三角波三种常见的波形的程序;
第二步:不同信号之间的相互的转换,程序中的比较指令是能够实现转换的中心环节,再利用中断服务程序中的外部中断六(key3)来实现三种波形之间灵活的相互转换;
第三步:幅值的变换,利用按键中断七(key4)来实现波形中的正弦波幅值的变化;
第四步:波形的形式显示,在波形生成的同时在液晶显示器上显示波形当前形式的拼写。
3 流程图
开始
初始化
三角波
正弦波
方波
输出三角波
输出正弦波
输出方波
显示波形
中断返回
4各部分波形设计及参数计算:
在这里我将分别对两个方块作详细的称述:
多种波形设计
-1
-2
-3
-4
图4-1 图4-2
正弦波流程图三角波流程图
图4-3 图4-4
方波流程图锯齿波流程图
由于单片机是12位电压输出数/模转换器,所以将其分为两部分,高四位用来调节幅度,低八位用来显示正弦波形,由Vi/VREF=VD/FF可知VD正弦变化则Vi正弦变化,令VD=FF/2*(sinx+1),一个正弦周期取181个点,最后加一个点129判断一个周期是否执行完,所以可得每点间隔为2×≈,所以可以算出正弦波数值表,如下:
sintab:DB 128,132,137,141,146,150,154,159,163,167
DB 171,176,180,184,188,191,195,199,203,206
DB 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
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