- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
电子设计实验报告——“简易正弦波发生器”设计、调试报告
《“简易正弦波发生器”设计、调试报告》
第五组成员:
葛跃凯 3005204337 05级电信四
宋 怡 3005204349 05级电信四
韩 瑜 3005204308 05级电信三
一.设计目标1.频率可调,分辨率为1Hz2.频率由LED数码管显示并可按位置数3.输出幅度:1Vp-p(1k ohm)4.提高部分:即可能拓展频率范围(低端和高端),采用数字超取样技术,附带跟踪滤波器
二.所用元器件1.微控制器:AT89C512.数模转换器:DAC08323.显示元件:LED数码管4.输入元件:按键开关5.开关电容滤波器:MAX293
三. 完成情况
1.软件自己独立完成,并用PROTEUS仿真成功,频率范围1HZ--2000HZ (可以得到设定频率的正弦波,通过控制按键,可以改变小数点的位置以及数值,从而改变频率的显示值).
2.硬件部分全部搭接完成,包括数码管内部构造的测试,印制板连线的关系,三极管类型的选择以及上拉电阻的阻值计算,熟悉各芯片引脚的功能并准确连接,整个电路的焊接。
3.调试部分还没有进行彻底,数码管有显示,但是按键按下后数值没有改变.
四.系统总体描述及系统框图
单片机产生时钟信号和数据信号,控制LED的位选和段选,单片机向D/A 输入数据,转换成模拟信号后有跟踪滤波器输出所需频率的正弦波,频率选择关系由时钟信号控制.频率可有按键置数并由LED 显示. 设置四个按键的功能分别是左移、右移、增加、减少。
系统框图如下:
Max293的截止频率 与输入时钟信号成正比例关系,如果使时钟信号与输出频率保持一定关系,就可以保证输出频率与时钟信号频率相同,达到跟踪滤波的效果。
六. 调试流程软件部分调试过程如下:
1.常数及变量的设定
输出管脚设定:
P0:8位正弦信号离散幅度值输出端,经上拉电阻后与dac0832连接。
P2:8为段选信号输出端,与4个led数码管相连。
P1:p1^0~p1^3为位选信号,分别控制四个led数码管,数码管从左向右看是个,十,百,千。P1^4是max293时钟信号输出端。
输入管脚设定:
P3:p3^0~p3^4为按键信号输入端
其他:在程序中设定了数组uchar data datal[4],用来存储显示在数码管上的个,十,百,千位上的数字,而且使用十进制表示,所以每个元素的取值范围是0~9.认为这个数组是这个程序的关键。显示函数,键盘扫描函数都使用了这个数组,而且输出频率值也是由这个数组决定的。应该说正是这个数组决定了整个程序的设计方法。
改进过程:
(1).define max_cl p1^4是错误的。p1^4不能使用define定义。正确的写法是使用sbit:
sbit max_cl=P1^4;
(2).开始时将数组datal[4]的类型定为code,但是程序总是出错。后来才发现code类型在程序中是不能被改变的,而datal在程序中是随着按键信号不断变化的,所以肯定是错误的。把它定义为data就可以了。
.
2延迟子函数的设计
延迟子函数是从参考资料1中找到的,延迟大约在1ms左右,不过并不准确。
3显示子函数设计
基本设计思想:利用单片机对四个led数码管同时控制其段选是不切实际的,没有4×8=32的管脚对其进行控制。最好的方法是将数码管的控制同一段的管脚相连,这样段选只需要8个管脚,再加入四个管脚输出位选信号,利用人的视觉暂留效应分时选通四个数码管,一共使用12个管脚。至于输出信号的过程如下:首先从datal[]取出某位应该显示的数字,然后用这个数字查段选表,从段选输出位输出的电平信号,位选是用循环逐次读取位选表的值。
最早的程序设计如下:
void display(void)
{
uchar k;
for(l=0;l500;l++)
for(k=0;k4;k++)
{disdata=seg[datal[k]]; /*disdata为数码管段选输出端*/
Bit=scan[k];/*bit为数码管位选输出端*/
if(k==flag)
dp=1;
delay(1);
Bit=0xFF; /*一个都不选,防止显示混乱,不过还可以修改*/
}
}
其中有两个错误
第一个错误是for(l=0;l500;l++) 这个语句是从参考资料1中看到的。在运行程序时发现在输出频率较高时程序对按键的反应很慢,长时间按键才能看见显示屏上数字的变化,
您可能关注的文档
- 深圳市高等职业技术学校.doc
- 背光照明用冷阴极荧光灯的技术发展.pdf
- LED照明全方位渗透 应用前景看好.doc
- 台灯专用LED照明参考设计.pdf
- 常见矿物--地质找矿必备.doc
- 中和应泰.pdf
- 河南省地调院作业指导书.doc
- 一剑倾城(精简).ppt
- 国立高雄师范大学执行.doc
- 大功率LED驱动器设计.pdf
- 黑龙江华安工业(集团)公司2024年招聘应届高校毕业生88人高频难、易错点100题模拟试题附带答案题.docx
- 14-技工《纺织技术》专业教学计划和教学大纲2025-12-19 .pdf
- 幼儿园行政管理岗岗位竞聘.pptx
- 2025年水产用复合预混料项目可行性研究报告.docx
- 黑牡丹(集团)股份有限公司春季招聘24人高频100题难、易错点模拟试题附带答案内部题库附答案【实用】.docx
- 10-8 生物技术的安全性与伦理问题-2025年高考生物一轮复习(新高考版.pdf
- 黑牡丹(集团)股份有限公司完整版校园招聘公开引进高层次人才笔试(共100题)答案附答案【综合题】.docx
- 黑龙江华安工业(集团)公司2023-2024年应届高校毕业生招聘高频考题难模拟试题(共100题)附带.docx
- 黄陵县矿业集团有限责任公司2024年招聘172人公开引进高层次人才笔试参考题库(共100题)答案王牌.docx
- 黄陵县矿业集团有限责任公司2023-2024年招聘应届高校毕业生88人高频难、易错点100题模拟试题.docx
文档评论(0)