您的当前位置:首页正文

利用51单片机设计速度里程表

2022-12-29 来源:步旅网


沈阳航空航天大学电子信息工程学院

电子设计应用软件训练

总结报告

学生姓名: 专 业:

班 级: 学 号:

指导教师:

训练时间:2012年 7月16日至 2012年7月20日

电子信息工程学院电子设计应用软件训练任务

【训练任务】:

1、熟练掌握PROTEUS软件的使用; 2、按照设计要求绘制电路原理图; 3、能够按要求对所设计的电路进行仿真。 【基本要求及说明】:

1、按照设计要求自行定义电路图纸尺寸; 2、设计任务如下:

设计一个简易速度里程表。要求:1)能够实时测量当前速度与走行里程(由 脉冲信号代替车轮的转数传感器);2)通过按键可选择里程/速度显示切换。 3、按照设计任务在Proteus中绘制电路原理图;

4、根据设计任务的要求编写程序,画出程序流程图,并在Proteus下进行仿真, 实现相应功能。

3、按照设计任务在Proteus 6 Professional中绘制电路原理图;

4、根据设计任务的要求编写程序,在Proteus下进行仿真,实现相应功能。 【按照要求撰写总结报告】

成绩评定表

评语、建议或需要说明的问题: 指导教师签字: 日期: 成 绩

电子设计应用软件训练总结报告

一、 任务说明

本次课程设计任务为:本课程设计为设计一个简易速度里程表。要求它能实现实时测量当前速度与走行里程(由脉冲信号代替车轮的转数传感器);并且通过按键可选择里程/速度显示切换。按照设计任务在Proteus中绘制电路原理图;根据设计任务的要求编写程序,画出程序流程图,并在Proteus下进行仿真。

二、绘制原理图

原理图绘制步骤:

1.建立文件。进入ISIS系统,选择菜单栏中的“文件”“新建设计”新建一个文件,然后选择菜单栏中的“系统”“设置图纸大小”来设置电路图纸的尺寸为A4,如图1所示。然后将文件保存到预先建立的文件夹中。设计窗口便新建完毕,如图2所示。

图1 图纸尺寸设定

图2 新建的设计窗口

12

电子设计应用软件训练总结报告

2. 元件的查找及放置。首先点击工具箱左上角的“P”按钮,如图3。弹出“Pick Devices”操作界面,如图4。在关键字窗口输入所需器件名称,如80C51,系统会自动搜索到此元件,如图5所示。将所有元件搜索到以后按相应位置在图纸上放置好。本实验所需的元器件如表1。

图3 按钮“P”所在位置

图4 “Pick Devices”操作界面

12

电子设计应用软件训练总结报告

图5 80C51元件搜索窗口

3.布线及调整。将鼠标移至所要连接器件的管脚处,鼠标箭头会变成图6的样式,此时按住鼠标左键拖至对应器件管脚处,松开左键即把两器件连接。如果在连接器件时出现交叉或重叠,可以对连线或元件位置进行适当的调整。布线后电路图如图7所示。

图6 可连线标示

12

电子设计应用软件训练总结报告

图7 电路原理图

三、Proteus仿真说明

3.1导入仿真文件

原理图绘制好后,先右键点击元件80C51,再点击左键,自动弹出编译话框,如图8所示。选择保存好的后缀为“.HEX”的文件,导入单片机内。

图8 单片机导入文件对话框

12

电子设计应用软件训练总结报告

3.2进行仿真

单击左下角开始仿真按钮,如图9所示,开始进行仿真。如图10~13所示。

图9 开始仿真按钮

图10 仿真显示

图11 仿真显示

12

电子设计应用软件训练总结报告

图12仿真显示

图13 仿真显示

12

电子设计应用软件训练总结报告

四、课程设计体会及合理化建议

通过这次的Proteus仿真实验课设,增强了我的实际动手能力,也让我对单片机的学习更加的有兴趣;在这次课程设计,在老师的耐心指教和与同学之间的讨论的情况下勉强做完,让我体会到实践是检验真理的唯一标准的道理,在往后的日子里,我会更加的努力去学习好该学习的东西,争取做到更好,更完美。

五、流程图

1、 主程序流程图

图14 主程序流程图

2、 中断流程图

图15 中断流程图

12

电子设计应用软件训练总结报告

五、参考文献

[1]谢兴红 .《Msc-51单片机基础与实践》,[M]北京航空航天大学出版社,

2008年一月.

[2]周立功, 《单片机试验与实践》,[M]北京航空航天大学出版社,

2006年十二月.

[3]冯博琴 ,《微型计算机原理与技术接口》,[M]清华大学出版社, 2002年. [4]林全新,苏丽娟.《单片机原理及接口技术》,[M]人民邮电出版社, 2002年.

表1:元件清单

元件 51单片机 电阻 电解电容 控制开关 LED数码管 库 AT89C51 RES CRYSTAL BUTTOU 7SEG-MPX1-CA 件数 1 3 1 2 1

12

电子设计应用软件训练总结报告

附录I 原理图

12

电子设计应用软件训练总结报告

附录II、程序说明

#include unsigned

char

code

led[ ]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};

int count=0,licheng=0,sudu=0,ge,shi,bai,qian,m; sbit xuanzhe=P1^0; void delay() { }

void display() {

int i,j;

for(i=80;i>0;i--)

for(j=10;j>0;j--);

count=count*0.001; qian=count/1000; bai=count%1000/100; shi=count%100/10; ge=count%10;

P0=led[qian]; P2=0x01; delay(); P2=0x00;

P0=led[bai]; P2=0x02; delay(); P2=0x00;

12

电子设计应用软件训练总结报告

P0=led[shi]; P2=0x04; delay(); P2=0x00;

P0=led[ge]; P2=0x08; delay(); P2=0x00;

}

void main() {

TMOD=0x01;

TH0=(65536-50000)/256;//50ms TL0=(65536-50000)%256; ET0=1; TR0=1; EX0=1; EA=1; while(1) {

if(xuanzhe==0) count=licheng; else count=sudu; display();

}

}

void timer0() interrupt 1

12

电子设计应用软件训练总结报告

{ TH0=(65536-50000)/256; TL0=(65536-50000)%256; m++; if(m==20) { m=0; sudu=0;

}

}

void zhongduan() interrupt 0 { EX0=0; licheng++; sudu++; EX0=1;

}

12

因篇幅问题不能全部显示,请点此查看更多更全内容