EDA课程设计.docx
《EDA课程设计.docx》由会员分享,可在线阅读,更多相关《EDA课程设计.docx(18页珍藏版)》请在冰点文库上搜索。
EDA课程设计
EDA课程设计报告
系别信息工程系
专业班级自动
学生姓名io片
学号2010
指导教师崔
目录
1.EDA课程设计任务书
2.Proteus使用总结
3.keilC使用总结
4.单片机产生PWM波控制直流电动机
4.1PWM波的产生方法
4.2直流电动机控制原理
5.单片机外部中断在电动机速度控制中的应用
6.直流电动机的速度测量
7.感想及认知总结
1.EDA课程设计任务书
《EDA课程设计》是继《模拟电子技术基础》、《数字电子技术基础》、《电子技术基础实验》课程后,电气类练课程,是电子技术基础的一个部、自控类和机械工程类等专业学生在电子技术实验技能方面综合性质的实验训分,其目的和任务是通过一周的时间,让学生掌握EDA的基本方法,熟悉一种EDA软件(Proteus),并能利用EDA软件设计一个电子技术综合问题,并在实验板上成功下载,为以后进行工程实际问题的研究打下设计基础。
1)与非门练习
搭建电路并连线,在连线结束后进行仿真运行。
2)单片机基础
搭建电路并连线,连线完成之后按照实际连线进行编写程序,使LED受按键控制,之后现在程序并运行。
3)定时器练习
利用定时器及中断编程产生PWM波,频率1KHZ,占空比0.3,在实现功能之后调整程序,使占空比变为0.6.使用示波器观察并验证。
4)电机控制练习
利用定时器和中断,产生PWM波,利用按键的外部中断调节占空比,实现电机的加速控制,测量电机转速并显示。
2.Proteus使用总结
Proteus的ISIS是一款Labcenter出品的电路分析实物仿真系统,可仿真各种电路和IC,并支持单片机,元件库齐全,使用方便,是不可多得的专业的单片机软件仿真系统。
该软件的特点:
①全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。
②具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS一232动态仿真、1C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
③目前支持的单片机类型有:
68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。
④支持大量的存储器和外围芯片。
总之该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大,可仿真51、AVR、PIC。
编辑本段功能特点;
Proteus软件具有其它EDA工具软件(例:
multisim)的功能。
这些功能是:
(1)原理布图
(2)PCB自动或人工布线
(3)SPICE电路仿真
革命性的特点
(1)互动的电路仿真
用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。
(2)仿真处理器及其外围电路
可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。
还可以直接在基于原理图的虚拟原型
上编程,再配合显示及输出,能看到运行后输入输出的效果。
配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。
编辑本段功能模块
(1)智能原理图设计(ISIS)
丰富的器件库:
超过27000种元器件,可方便地创建新元件;
智能的器件搜索:
通过模糊搜索可以快速定位所需要的器件;
智能化的连线功能:
自动连线功能使连接导线简单快捷,大大缩短绘图时间;
支持总线结构:
使用总线器件和总线布线使电路设计简明清晰;
可输出高质量图纸:
通过个性化设置,可以生成印刷质量的BMP图纸,可以方便地供WORD、POWERPOINT等多种文档使用。
(2)完善的电路仿真功能(Prospice)
ProSPICE混合仿真:
基于工业标准SPICE3F5,实现数字/模拟电路的混合仿真;
超过27000个仿真器件:
可以通过内部原型或使用厂家的SPICE文件自行设计仿真器件,Labcenter也在不断地发布新的仿真器件,还可导入第三方发布的仿真器件;
多样的激励源:
包括直流、正弦、脉冲、分段线性脉冲、音频(使用wav文件)、指数信号、单频FM、数字时钟和码流,还支持文件形式的信号输入;
丰富的虚拟仪器:
13种虚拟仪器,面板操作逼真,如示波器、逻辑分析仪、信号发生器、直流电压/电流表、交流电压/电流表、数字图案发生器、频率计/计数器、逻辑探头、虚拟终端、SPI调试器、I2C调试器等;
(3)独特的单片机协同仿真功能(VSM)
※支持主流的CPU类型:
如ARM7、8051/52、AVR、PIC10/12、PIC16、PIC18、PIC24、dsPIC33、HC11、BasicStamp、8086、MSP430等,CPU类型随着版本升级还在继续增加,如即将支持CORTEX、DSP处理器;
※支持通用外设模型:
如字符LCD模块、图形LCD模块、LED点阵、LED七段显示模块、键盘/按键、直流/步进/伺服电机、RS232虚拟终端、电子温度计等等,其COMPIM(COM口物理接口模型)还可以使仿真电路通过PC机串口和外部电路实现双向异步串行通信;
※编译及调试:
支持单片机汇编语言的编辑/编译/源码级仿真,内带8051、AVR、PIC的汇编编译器,也可以与第三方集成编译环境(如IAR、Keil和Hitech)结合,进行高级语言的源码级仿真和调试;
1 Proteus可提供的仿真元器件资源:
仿真数字和模拟、交流和直流等数千种元器件,有30多个元件库。
2 Proteus可提供的仿真仪表资源:
示波器、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。
理论上同一种仪器可以在一个电路中随意的调用。
3 除了现实存在的仪器外,Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。
这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。
这些都尽可能减少了仪器对测量结果的影响。
4 Proteus可提供的调试手段Proteus提供了比较丰富的测试信号用于电路的测试。
这些测试信号包括模拟信号和数字信号。
编辑本段电路仿真
在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:
*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。
1)proteus 的工作过程
运行proteus 的ISIS 程序后,进入该仿真软件的主界面。
在工作前,要设置view 菜单下的捕捉对齐和system下的颜色、图形界面大小等项目。
通过工具栏中的p(从库中选择元件命令)命令,在pick devices 窗口中选择电路所需的元件,放置元件并调整其相对位置,元件参数设置,元器件间连线,编写程序;在source 菜单的Definecode generation tools 菜单命令下,选择程序编译的工具、路径、扩展名等项目;在source 菜单的Add/removesource files 命令下,加入单片机硬件电路的对应程序;通过debug 菜单的相应命令仿真程序和电路的运行情况。
(2)Proteus 软件所提供的元件资源Proteus 软件所提供了30 多个元件库,数千种元件。
元件涉及到数字和模拟、交流和直流等。
(3)Proteus 软件所提供的仪表资源
对于一个仿真软件或实验室,测试的仪器仪表的数量、类型和质量,是衡量实验室是否合格的一个关键因素。
在Proteus 软件包中,不存在同类仪表使用数量的问题。
Proteus 还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似但功能更多。
(4)Proteus 软件所提供的调试手段
Proteus 提供了比较丰富的测试信号用于电路的测试。
这些测试信号包括模拟信号和数字信号。
对于单片机硬件电路和软件的调试,Proteus 提供了两种方法:
一种是系统总体执行效果,一种是对软件的分步调试以看具体的执行情况。
对于总体执行效果的调试方法,只需要执行debug 菜单下的execute 菜单项或F12 快捷键启动执行,用debug菜单下的pause animation 菜单项或pause 键暂停系统的运行;或用debug 菜单下的stop animation 菜单项或shift-break 组合键停止系统的运行。
其运行方式也可以选择工具栏中的相应工具进行。
对于软件的分步调试,应先执行debug 菜单下的start/restart debugging 菜单项命令,此时可以选择stepover 、step into 和 step out 命令执行程序(可以用快捷键F10、F11 和ctrl+F11),执行的效果是单句执行、进入子程序执行和跳出子程序执行。
在执行了start / restart debuging 命令后,在debug 菜单的下面要出现仿真中所涉及到的软件列表和单片机的系统资源等,可供调试时分析和查看。
PROTEUS总结
PROTEUS是单片机课堂教学的先进助手。
PROTEUS不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。
前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。
它的元器件、连接线路等却和传统的单片机实验硬件高度对应。
这在相当程度上替代了传统的单片机实验教学的功能,例:
元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。
课程设计、毕业设计是学生走向就业的重要实践环节。
由于PROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台
使用Proteus软件进行单片机系统仿真设计,是虚拟仿真技术和计算机多媒体技术相结合的综合运用,在单片机课程设计和全国大学生电子设计竞赛中,我们使用Proteus开发环境对学生进行培训,实践证明,在使用Proteus进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。
.keilC使用总结
4.单片机产生PWM波控制直流电动机
4.1WM波的产生方法
4.2直流电动机控制原理
4.1PWM波的产生
图2:
PWM波形图
利用单片机一个I/O口产生高低电平。
高电平时间T1,低电平时间T2,则PWM波周期为T,如图2所示。
T=T1+T2
PWM波频率为f=1/T。
这里使用单片机T0定时器模式1进行定时操作,单片机振荡频率为12MHz。
假定PWM频率为f,则T=1,000,000/f(机器周期)。
T1按占空比进行计算:
T1=αT,T2=(1-α)T
则高电平装入时间TT1=65536-T1,低电平装入时间TT2=65536-T2。
如果进行加减速操作,则改变PWM波占空比即可
5.单片机外部中断在电动机速度控制中的应用
利用定时器和中断,产生PWM波,频率1kHz,改变占空比,观察电机转速和输出波形。
6.直流电动机的速度测量
1.电机转速测量一般可使用霍尔传感器或编码盘,这里以增量式编码盘为例。
单击直流电动机,在特性表中改变其每转脉冲(pulsesperrevolution)为240个。
电机旋转时,编码盘发出连续脉冲。
当转速较高时,一般可使用在一定周期内对脉冲计数的方法。
当转速较低时,则可对其脉冲宽度进行测量,则转速(r/min)
2.测量时,编码盘信号接INT0,定时器T0设置为方式1,GATE=1。
这样,起始时,定时器T0清零,当信号脉冲高电平时,定时器T0开始计时,当信号脉冲低低电平时,定时器T0停止计时。
则定时器T0的值即为半个脉冲周期值T。
定时器T0方式1时工作原理如图
3.
3.编制电机控制及转速测量程序
#include
sbitP20=P2^0;
sbitP21=P2^1;
sbitP24=P2^4;
unsignedcharT1H;
unsignedcharT1L;
unsignedcharT2H;
unsignedcharT2L;
bitPWMBJ;
unsignedintT;//信号脉冲周期
voiddelay();//延时
————————————————————————
voidmain()
{
unsignedintpinlv=1000;
unsignedintTT;
unsignedintT1;
unsignedintT2;
floatzkb=0.9;
unsignedcharsudu;//转速
TT=11059200/(12*pinlv);
T1=65535-zkb*TT;
T2=65535-(1-zkb)*TT;
T1H=T1/256;
T1L=T1%256;
T2H=T2/256;
T2L=T2%256;
TMOD=0x19;
EA=1;
ET1=1;
TR1=1;
TR0=1;
EX0=1;//开外部中断0
IT0=1;//下降沿中断
P20=1;
P21=0;
while
(1)
{
//sudu=(60)/((12/11059200)*T*2*240);
sudu=115200/T;//转速计算
P1=(sudu/100)*16+(sudu%100)/10;//显示
P0=sudu%10;
delay();
}
}
————————————————————————
voidint0()interrupt0//信号脉冲周期测量
{
T=TH0*256+TL0;
TH0=0;
TL0=0;
}
————————————————————————
voidtimer1()interrupt3//PWM波控制
{
if(PWMBJ==1)
{
PWMBJ=0;
P24=0;
TH1=T2H;
TL1=T2L;
}
else
{
PWMBJ=1;
P24=1;
TH1=T1H;
TL1=T1L;
}
}
————————————————————————
voiddelay()//延时
{
unsignedinti=500;
while(i--);
4.调试程序,观察数码管显示与电机转速表显示是否一致。
7.感想认知总结
通过这一周的课程实习,我了解了EDA软件在我们生活中的重要作用,在这次的课程实习中感到Proteus这款软件的强大作用。
他的仿真更能节省我们的大量时间。
让我们更加高效。
同时我也觉得我们在使用keil这款件时我们C语言功底实在是差到底。
有时间我们应该重点注意。
实验中也出现很多问题在此谢谢老师耐心辅导。
这次EDA课程设计历时一个星期,在整整这个里,可以说是苦多于甜,但是可以学的到很多很多的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次设计,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。
特别是当每一个子模块编写调试成功时,心里特别的开心。
但是在编写顶层文件的程序时,遇到了不少问题,特别是各元件之间的连接,以及信号的定义,总是有错误,在细心的检查下,终于找出了错误和警告排除困难后,程序编译就通过了,心里终于舒了一口气。
在波形仿真时,也遇到了一点困难,想要的结果不能在波形上得到正确的显示:
在设定输入的时钟信号后,数字秒表开始计数,但是始终看不到秒和小时的循环计数。
后来,在数十次的调试之后,才发现是因为输入的时钟信号对于器件的延迟时间来说太短了。
经过屡次调试,终于找到了比较合适的输入数值。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
总的来说,这次设计的数字秒表还是比较成功的,在设计中遇到了很多问题,最后在老师的辛勤的指导下,终于游逆而解,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,使自己对以后的路有了更加清楚的认识,同时,对未来有了更多的信心。
最后,给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!