声光节拍器1.docx
- 文档编号:4134082
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:10
- 大小:301.23KB
声光节拍器1.docx
《声光节拍器1.docx》由会员分享,可在线阅读,更多相关《声光节拍器1.docx(10页珍藏版)》请在冰豆网上搜索。
声光节拍器1
计算机辅助设计综合实习实习报告
摘要:
本文主要介绍了借助EDA技术进行声光节拍器的设计过程,包括了利用protel99se设计PCB图,利用keilc51编写单片机程序,利用proteus进行电路仿真。
侧重于利用protel99se设计PCB的介绍。
实习的性质与目的
1、课程性质:
计算机辅助设计是电子信息类各专业本科生的必修课。
计算机辅助设计技术范畴包含电子系统设计和开发的全过程,可分为系统级、电路级和物理级。
2、实习目的:
借助现代EDA技术进行系统电路设计,侧重于综合应用所学知识,设计较为复杂的功能电路或小型电子系统,培养学生的现代电路设计与综合应用的能力,提高电路设计水平,培养现代电子系统设计能力和创新研究能力。
实习教学的基本要求
给出实习课题任务要求,学生通过阅读资料、选择方案、设计电路、编程仿真、性能指标测试、撰写报告等过程,培养学生综合运用所学知识解决实际问题的能力和创新研究能力。
需要熟练掌握常用电子系统设计工具protel99se。
实习主题:
声光节拍器的设计。
要求每隔1分钟发出一次红色闪光和响声。
实习内容及过程:
一、方案选择和电路设计
根据题目要求,选用单片机设计电路系统能较轻松和准确地实现,这里采用的单片机是常用的at89c51(实际用的是stc89c52,支持一下国产对不对,况且stc的更好用)。
电路图如图1所示:
图1
二、 利用keilc51编写单片机程序
已经有了电路图,接下来就要编写程序并进行仿真,从而确定各元件的参数。
声光节拍器的程序流程如图2所示:
图2
Keilc51是常用的单片机编程软件,现用于编写一个应用于at89c51的程序。
程序如下:
#include
#defineuintunsignedint
sbitled=P1^0;
sbitspeak=P1^1;
delay(uintn) //延时函数,利用定时器延时50ms
{
uinti;
for(i=0;i TH0=(65536-50000) /256; TL0=(65536-50000) % 256; TR0=1; while(TF0==0){ }; TF0=0; } } voidmain() { led=1; speak=0;//初始化,led不亮,speak不响 TMOD=0x01; //定时器0在工作方式1 while (1){ delay(1180); //延时约1分钟 P1=~P1; delay(20); //led亮1s,同时spead响1s P1=~P1; } } 编译结果如图3所示: 图3 三、利用proteus进行电路图仿真 Proteus是适合于单片机电路仿真的软件,现用于对声光节拍器电路仿真。 通过仿真可以确定各元件的参数,并对程序进行修正。 经过多次测试,终于确定了元件的参数。 电路图及仿真过程如图4所示: 图4 ·四、利用protel99se画出PCB图 1、电路原理图设计 新建工程,然后新建原理图文件,打开原理图就可以设计原理图了。 画原理图之前,先添加所需要的元件库。 利用设计管理器可以方便地添加元件库,一般常用的是“MiscellaneousDevices.ddb”库和“ProtelDos”库。 在画原理图时,放置元件的方法是,选择目标元件所在的元件库,然后从它下面的具体元件列表框中选择目标元件,点击place按钮,将目标元件拖到图纸中,并放置在所需要的位置。 点击“place”之后,放置元件之前,按下“tab”键,就会弹出元件属性对话框,可以编辑元件的属性,其中元件封装和元件标号是必须编辑的。 放置好元件之后,就可以连线了,protel99se提供了多种连线方式,可以通过空格键进行切换。 连好线,原理图就设计好了。 2、编辑新元件 尽管protel99se内置的元件库已经相当丰富,但有时还是无法从这些元件库中找到想要的元件,这时就需要自行建立新的元件及元件库了。 现在需要建立单片机at xml: namespaceprefix=st1/>89c51这个元件,方法如下: 在当前设计管理器环境下,执行“File/new”,选择“SchematicLibraryDocument”,就创建了一个新元件库文档,把文档名改为“89c51”。 双击打开进入元件库编辑界面,执行“Place/Rectangle”,拖动鼠标绘制一个直角矩形,大小为25*13格,执行“Place/Pins”,在矩形周围画40个引脚,用空格键可以旋转方向。 双击引脚,逐一编辑各引脚属性。 执行“Tools/RenameComponent”,在对话框中把元件名称改为“89c51”,然后保存。 在原理图设计界面把此元件装载到元件库中,就可以取用“89c51”元件了,编辑好的元件如图5所示: 图5 3、ERC检查 在原理图设计界面下,执行“Tools/ERC”可以生成ERC表,用于检查电路图是否有问题,可以根据ERC表修正原理图中的错误。 原理图的最终设计如图6: 图6 4、生成网络表 ERC检查无误后,执行“Design/CreateNetlist”,选择网络表类型,生成网络表。 5、建立PCB文件,装载网络表 执行“File/New”,选择“PCBDocument”,则建立了一个PCB文件,双击打开PCB编辑器,添加所需要的封装库。 执行“Design/LoadNets”,在对话框中选择所用到的网络表,点击“ok”按钮,这时如果有错误提示,则要返回原理图修正,重新生成和装载网络表,直到没有错误提示为止,点击“Execute”按钮,就装入了网络表和元件。 6、布局和布线 在PCB编辑界面下,点击下方的“keepoutlayer”,执行”Place/Keepout/Track”,画出电路板边框。 执行“右键/Rules”,在弹出对话框中定义布局和布线规则。 然后进行手工布局,把已装入的元件一一拖入边框内的合适位置,并调整好元件放置方向。 布局完后,执行“AutoRoute/All”,单击对话框中的“RouteAll”按钮即可完成自动布线,手工进行一些调整即可完成PCB图的设计。 如图7: 图7 7、电气规则检查 当一块线路板已经设计好,我们要检查布线是否有错误,protel99se提供了很好的检查工具“DRC”自动规则检查。 执行“Tools/DesignRlueCheck”,计算机会自动将检查结果列出来。 电气规则检查无误,就可以保存设计,并交付PCB文件给制版厂家生产电路板了。 结论 经过为时三周的计算机辅助设计综合实习,我查阅了不少的资料,使用了protel99se画PCB图和keilc51编程,用了proteus仿真: 利用EDA技术完成了一个声光节拍器的设计。 这个实习使我的电子设计水平和解决实际问题的能力有了很大的提高。 图8作品3D图 附录: 因上面的程序的格式已进行修改,不知是否已导致问题,故附上原来编译时使用的源程序: #include #defineuintunsignedint sbitled=P1^0; sbitspeak=P1^1; delay(uintn)//延时函数,利用定时器延时50ms { uinti; for(i=0;i { TH0=(65536-50000)/256; TL0=(65536-50000)%256; TR0=1; while(TF0==0); TF0=0; } } main() { led=1; speak=0; //初始化,led不亮,speak不响 TMOD=0x01;//定时器0在工作方式1 while (1) { delay(1180);//延时约1分钟 P1=~P1; delay(20);//led亮1s,同时spead响1s P1=~P1; } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 声光 节拍器