利用51单片机BCD译码芯片和两位LED构成一个数码管扫描显示系统两个数码管同时循环显示09Word文件下载.docx

上传人:b****6 文档编号:19687621 上传时间:2023-01-08 格式:DOCX 页数:18 大小:413.41KB
下载 相关 举报
利用51单片机BCD译码芯片和两位LED构成一个数码管扫描显示系统两个数码管同时循环显示09Word文件下载.docx_第1页
第1页 / 共18页
利用51单片机BCD译码芯片和两位LED构成一个数码管扫描显示系统两个数码管同时循环显示09Word文件下载.docx_第2页
第2页 / 共18页
利用51单片机BCD译码芯片和两位LED构成一个数码管扫描显示系统两个数码管同时循环显示09Word文件下载.docx_第3页
第3页 / 共18页
利用51单片机BCD译码芯片和两位LED构成一个数码管扫描显示系统两个数码管同时循环显示09Word文件下载.docx_第4页
第4页 / 共18页
利用51单片机BCD译码芯片和两位LED构成一个数码管扫描显示系统两个数码管同时循环显示09Word文件下载.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

利用51单片机BCD译码芯片和两位LED构成一个数码管扫描显示系统两个数码管同时循环显示09Word文件下载.docx

《利用51单片机BCD译码芯片和两位LED构成一个数码管扫描显示系统两个数码管同时循环显示09Word文件下载.docx》由会员分享,可在线阅读,更多相关《利用51单片机BCD译码芯片和两位LED构成一个数码管扫描显示系统两个数码管同时循环显示09Word文件下载.docx(18页珍藏版)》请在冰豆网上搜索。

利用51单片机BCD译码芯片和两位LED构成一个数码管扫描显示系统两个数码管同时循环显示09Word文件下载.docx

成绩评定表

评语、建议或需要说明的问题:

指导教师签字:

日期:

成绩

摘要

该专业是前沿学科,现代社会的各个领域及人们日常生活等都与电子信息技术有着紧密的联系。

全国各地从事电子技术产品的生产、开发、销售和应用的企事业单位很多,随着改革步伐的加快,这样的企事业单位会越来越多。

为促进市场经济的发展,培养一大批具有大专层次学历,能综合运用所学知识和技能,适应现代电子技术发展的要求,从事企事业单位与本专业相关的产品及设备的生产、安装调试、运行维护、销售及售后服务、新产品技术开发等应用型技术人才和管理人才是社会发展和经济建设的客观需要,市场对该类人才的需求越来越大。

为此电子信息工程专业的人才有着广泛的就业前景,毕业生可从事电子设备、信息系统和通信系统的研究、设计、制造、应用和开发工作。

目录

一、任务说明1

1.1专业介绍1

1.2专业背景与市场预测1

1.3本课题分析1

二、绘制原理图2

2.1Proteus软件介绍2

2.2原理图绘制说明2

2.3原理图绘制步骤3

三、程序编译说明及程序流程图6

3.1Main程序说明6

3.2初始化子程序说明6

3.3display(uchartmp)子程序说明7

3.4延时子程序说明8

3.5中断子程序说明9

四、Proteus仿真说明11

4.1导入仿真文件11

4.2进行仿真12

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

致谢16

一、任务说明

1.1专业介绍

电子信息工程是一门应用计算机等现代化技术进行电子信息控制和信息处理的学科,主要研究信息的获取与处理,电子设备与信息系统的设计、开发、应用和集成。

现在,电子信息工程已经涵盖了社会的诸多方面,像电话交换局里怎么处理各种电话信号,手机是怎样传递我们的声音甚至图像的,我们周围的网络怎样传递数据,甚至信息化时代军队的信息传递中如何保密等都要涉及电子信息工程的应用技术。

我们可以通过一些基础知识的学习认识这些东西,并能够应用更先进的技术进行新产品的研究和电子信息工程专业是集现代电子技术、信息技术、通信技术于一体的专业。

1.2专业背景与市场预测

1.3本课题分析

本次课程设计任务为:

利用51单片机、BCD译码芯片和两位LED构成一个数码管扫描显示系统,两个数码管同时循环显示0~9。

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

然后在Proteus6Professional中绘制电路原理图。

二、绘制原理图

2.1Proteus软件介绍

Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。

它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。

它是目前最好的仿真单片机及外围器件的工具。

虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。

Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。

是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。

在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。

2.2原理图绘制说明

本次设计的数码管0~9循环系统是以80C51单片机为中心器件,利用74HC4511进行BCD译码,后由两个LED显示数字循环,以致达到任务要求。

电路原理图的设计与绘制是整个电路设计的基础。

电路原理图的设计包括:

设置电路图的图纸大小;

规划电路图的总体布局;

在图纸上放置元器件,进行布局和布线;

根据需要添加注释并进行检查与修改,最后保存。

2.3原理图绘制步骤

1.建立文件。

进入ISIS系统,选择菜单栏中的“文件”“新建设计”新建一个文件,然后选择菜单栏中的“系统”“设置图纸大小”来设置电路图纸的尺寸为A4,如图1所示。

然后将文件保存到预先建立的文件夹中。

设计窗口便新建完毕,如图2所示。

图1图纸尺寸设定

图2新建的设计窗口

2.元件的查找及放置。

首先点击工具箱左上角的“P”按钮,如图3。

弹出“PickDevices”操作界面,如图4。

在关键字窗口输入所需器件名称,如80C51,系统会自动搜索到此元件,如图5所示。

将所有元件搜索到以后按相应位置在图纸上放置好。

本实验所需的元器件如表1。

图3按钮“P”所在位置

图4“PickDevices”操作界面

图580C51元件搜索窗口

表1:

元件清单

元件

件数

51单片机

80C51

1

BCD译码器

74HC4511

2

LED数码管

7SEG-MPX1-CC

3.布线及调整。

将鼠标移至所要连接器件的管脚处,鼠标箭头会变成图6的样式,此时按住鼠标左键拖至对应器件管脚处,松开左键即把两器件连接。

如果在连接器件时出现交叉或重叠,可以对连线或元件位置进行适当的调整。

布线后电路图如图7所示。

图6可连线标示

图7电路原理图

三、程序编译说明及程序流程图

3.1Main程序说明

主程序先执行System_Init()子程序,然后执行while

(1)判断,再进行display(sec)子程序的执行,来实现程序设计的要求。

主程序流程图如图8所示。

图8主程序流程图

3.2初始化子程序说明

初始化System_Init(void)子程序是主程序第一个调用的子程序,初始化System_Init(void)子程序将TMOD、TH0、TL0、ET0、EA、TR0分别进行赋值操作。

TMOD=0X01;

语句将定时器0的工作方式设置为方式1。

System_Init(void)子程序流程图如图9所示。

图9System_Init(void)子程序流程图

3.3display(uchartmp)子程序说明

display(uchartmp)子程序由主程序进行while

(1)判断后执行的程序。

程序先对P3、P2进行赋值,后执行delay

(1)延时子程序调用,之后再对P3、P2进行赋值,然后继续delay

(1)延时子程序的调用。

display(uchartmp)子程序流程图如图10所示。

图10display(uchartmp)子程序流程图

3.4延时子程序说明

延时delay(uinti)子程序由display(uchartmp)子程序调用。

先进行i判断,大于0则执行for循环,进行下一个for判断,循环125次后,返回到第一个for循环中,直至i大于0后跳出。

延时delay(uinti)子程序流程图如图11所示。

图11延时delay(uinti)子程序流程图

3.5中断子程序说明

中断Time(void)interrupt1子程序先对TH0、TL0进行赋值。

然后count自加,判断count是否等于20,若等于20,则对count清零。

再讲sec自加,后判断sec是否等于10,若等于10,则将sec清零。

中断Time(void)interrupt1子程序流程图如图12所示。

图12中断Time(void)interrupt1子程序流程图

四、Proteus仿真说明

使用Proteus软件进行单片机系统仿真设计,是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于我们的电路设计能力及仿真软件的操作能力。

Proteus软件不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。

它的元器件、连接线路等却和传统的单片机实验硬件高度对应。

随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。

它具有设计灵活,结果、过程的统一的特点。

可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。

因此,Proteus软件会茯得愈来愈广泛的应用。

4.1导入仿真文件

原理图绘制好后,先右键点击元件80C51,再点击左键,自动弹出编译话框,如图13所示。

选择保存好的后缀为“.hex”的文件,导入单片机内。

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

4.2进行仿真

单击左下角开始仿真按钮,如图14所示,开始进行仿真。

两个LED数码管一同循环显示0~9。

如图15~17所示。

图14开始仿真按钮

图15仿真进行4显示

图16仿真进行8显示

图17仿真进行9显示

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

时光飞逝,一转眼,一个学期又进尾声了,本学期的单片机综合课程设计也在一周内完成了。

俗话说“好的开始是成功的一半”。

说起课程设计,我认为最重要的就是做好设计的预习,认真的研究老师给的题目,因为只有都明白了要做什么,做起设计就会事半功倍,如果没弄明白,就迷迷糊糊的去选题目做设计,到头来一点收获也没有。

然后就是要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。

在这次难得的课程设计过程中,使我对Proteus的使用和仿真电路有了一定的了解和体会,对单片机的C语言编程和电路设计也有了新的认识,并且还锻炼了自己的思考能力和动手能力。

通过设计电路的过程中,加强了我思考问题的完整性和实际生活联系的可行性。

在方案设计选择和芯片的选择上,培养了我们综合应用单片机的能力,对单片机的各个管脚的功能也有了进一步的认识。

还锻炼我们个人的查阅技术资料的能力、动手能力、发现问题、解决问题的能力。

通过老师和同学的帮助,我终于完成了课设任务。

本次课设的题目并不复杂,老师对总体也没有提出什么太难的要求,而且所用到的也都是刚学完的单片机基础知识,所以本以为会没什么难度,但当我自己亲身投入进去之后,才发现自己平时所学只是浅显的不能再浅显的皮毛。

但我并没有灰心,反而同学之间互相分享心得的经历让我很感动,同学一起努力的结果是伟大的,我们都找到了合适的方法,来设计自己的课题。

经过比较,我们各自的不足都得到了巨大的改善。

从这次课设,我体会到了互相帮助的乐趣,分享的确是一个好的行为,也因为如此我对单片机的兴趣得到了提升。

我相信通过本次课程设计我能对所学所用有巨大的提高。

参考文献

【1】.张毅刚,刘杰.单片机原理及应用[M].哈尔滨:

哈尔滨工业大学出版社,2008.

【2】.郭天祥.新概念51单片机C语言教程:

入门、提高、开发、拓展全攻略[M].北京:

电子工业出版社,2009.

【3】.王静霞.单片机应用技术(C语言版)[M].北京:

【4】.王东锋.单片机C语言应用100例[M].北京:

【5】.李学礼.基于Proteus的8051单片机实例教程[M].北京:

电子工业出版社,2008.6.

【6】.李洪军.如何设计数码管显示电路来节约输入输出口资源[J].煤矿现代化,2010(3).

致谢

本文是在张**老师的悉心指导下完成的。

承蒙张老师的亲切关怀和精心指导,虽然有繁忙的工作,但仍抽出时间给予我课设上的指导和帮助,特别是给我提供了良好的学习环境,使我从中获益不浅。

张老师认真务实的治学态度、严谨的科学研究方法、敏锐的学术洞察力、勤勉的工作作风以及勇于创新、勇于开拓的精神是我永远学习的榜样。

在此,谨向张老师致以深深的敬意和由衷的感谢。

还要感谢所有关心我、支持我和帮助过我的同学、朋友、老师和亲人。

在这里,我仅用一句话来表明我无法言语的心情:

感谢你们!

附录Ⅰ电路原理图

附录Ⅱ源程序代码

#include<

reg51.h>

#defineuintunsignedint

#defineucharunsignedchar

ucharsec=0;

//***********初始化时间值

ucharcount;

//***************************延时子程序***************************

voiddelay(uinti)

{

uintj;

for(;

i>

0;

i--)

for(j=0;

j<

125;

j++);

}

//***************************初始化子程序***************************

voidSystem_Init(void)

{

TMOD=0X01;

//*************定时器0的工作方式1

TH0=0X3C;

TL0=0XB0;

ET0=1;

EA=1;

TR0=1;

voiddisplay(uchartmp)

P3=0xfe;

P2=tmp;

delay

(1);

P3=0xfd;

P2=tmp<

<

4;

voidmain(void)

System_Init();

while

(1)

{

display(sec);

}

//***************************中断子程序*****************************

voidTime(void)interrupt1

count++;

if(count==20)

count=0;

sec++;

if(sec==10)

sec=0;

//***************************END************************************

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1