




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉工程大学邮电与信息工程学院课程设计 - 1 - - 1 - 摘摘 要要 目前各高校都建立了单片机实验室,并且基本上都采用相应的硬件仿真设备。 由于单片机的种类繁多,再加上资金的限制,不可能在一个实验室中包括所有 种类的单片机仿真设备。本文提出基于proteus 软件的单片机实验室建设方案, 它能很好的解决上述问题。数字单片机实验室是采用proteus 和keil 仿真软件 为核心来构建的。该数字实验室能完成中断、定时、单片机扩展、串行口通信 和a/d 转换等教学实验。并给出相应的小实例说明proteus 的基本使用方法、 仿真实验的一般流程,并在此基础上实现复杂的proteus仿真实验项目。 该方案以软件为核心,通过配置有限的硬件设备,很好地解决了传统单片机 实验室资金和设备维护问题,学生通过仿真实验,可以熟悉单片机系统的开发 方法,对进一步培养学生的综合分析能力、排除故障能力和开发、创新能力具 有重要的意义。 关键词:单片机; proteus 软件;数字实验室;keil 武汉工程大学邮电与信息工程学院课程设计 - 2 - - 2 - abstract at present,colleges and universities have established single-chip microcomputer laboratories.they are most of simulation equipment based on the corresponding hardware. it is impossible including all types of single-chip simulation equipment in a laboratory,because of the wide variety of single-chip, combined with funding constraints. the researching andrealization of single-chip microcomputer digital laboratory construction based on proteussoftware will be easy to slove the problem.in this paper, the single-chip digital laboratory isbuilt using simulation software based on proteus and keil. it is able to complete the teaching experimentes such as single-chip interrupt, timing, single-chip expansion, serial communication and a / d converter.the general process and thecomplexity item of proteus simulation are realized according to the examples of the basicuses.it is a good solution to the problem of traditional single-chipmicrocomputer laboratory and equipment maintenance funds, through the allocation of limited hardware equipment and sofeware.students can also be familiar with the development of methods through the simulation experiments, which is of great innovation significance to help students a comprehensive analysis capabilities. keywords:keywords:mcu; proteus software; digital laboratory; keil 武汉工程大学邮电与信息工程学院课程设计 - 3 - - 3 - 目录目录 摘摘 要要.- 1 - 引言引言.- 4 - 课题的研究目的与意义.- 4 - 课题解决的主要内容.- 4 - 第一部分第一部分 万年历的设计万年历的设计.- 5 - 第一章 设计方案论证 .- 5 - 1.1 显示部分的方案选择.- 5 - 1.2系统基本方案选择和论证- 5 - 1.3 系统方案的构想与确定- 5 - 第二章 硬件电路的设计 .- 6 - 2.1 总体方案论述.- 6 - 2.2 系统原理图.- 8 - 第三章 系统的软件设计 .- 8 - 3.1 主程序- 9 - 3.2 读取日期和时间程序.- 9 - 第四章 仿真与编程 .- 10 - 4.1 编程环境 proteus- 10 - 4.2 用 proteus isis 对电子万年历的硬件电路设计.- 10 - 4.3 keil 的使用.- 10 - 4.4 文件的加载- 10 - 4.5 仿真测试.- 11 - 第二部分第二部分 跑马灯的设计跑马灯的设计.- 12 - 第一章 硬件电路的设计 .- 12 - 基础性实验-跑马灯设计- 12 - 跑马灯的硬件设计- 12 - 跑马灯的软件设计- 16 - 结论结论.- 19 - 参考文献参考文献.- 20 - 附录:附录:.- 20 - 附录 1- 20 - 附录 2- 26 - 武汉工程大学邮电与信息工程学院课程设计 - 4 - - 4 - 引言引言 课题的研究目的与意义课题的研究目的与意义 随着微电子技术的高速发展,单片机在国民经济的个人领域得到了广泛的 运用。单片机以体积小、功能全、性价比高等诸多优点,在工业控制、家用电 器、通信设备、信息处理、尖端武器等各种测控领域的应用中独占鳌头,单片 机开发技术已成为电子信息、电气、通信、自动化、机电一体化等专业技术人 员必须掌握的技术。 而电子万年历作为电子类小设计不仅是市场上的宠儿,也是是单片机实验中一 个很常用的题目。因为它的有很好的开放性和可发挥性,因此对作者的要求比 较高,不仅考察了对单片机的掌握能力更加强调了对单片机扩展的应用。而且 在操作的设计上要力求简洁,功能上尽量齐全,显示界面也要出色。数字显示 的日历钟已经越来越流行,特别是适合在家庭居室、办公室、大厅、会议室、 车站和广场等使用,壁挂式led数码管显示的日历钟逐渐受到人们的欢迎。led 数字显示的日历钟显示清晰直观、走时准确、可以进行夜视,并且还可以扩展 出多种功能。 所以,电子万年历无论作为比赛题目还是练习题目都是很有价值。 课题解决的主要内容 容包括以下几个方面: (1)根据选用的芯片设计外围电路和单片机的接口电路。 (2)在硬件设计时,结构要尽量简单实用、易于实现,使系统电路尽量简 单。 (3)根据硬件电路图,在开发板上完成器件的焊接。 (4)根据设计的硬件电路,编写控制 at89c51 和 pic16f877a 芯片的单片 机程序。 (5)通过编程、编译、调试,把程序下载到单片机上运行,并实现本设计 的功能。 武汉工程大学邮电与信息工程学院课程设计 - 5 - - 5 - (6)软件设计时必须要有完善的思路,要做到程序简单,调试方便。 第一部分第一部分 万年历的设计万年历的设计 第一章第一章 设计方案论证设计方案论证 1.11.1 显示部分的方案选择显示部分的方案选择 a)液晶显示方式。液晶显示相比 8 本课题所研究的电子万年历是单片机控制 技术的一个具体应用,主要研究内段数码管可以简化 protues 电路的设计, 而且显示的要美观。 b)相比液晶显示,采用 8 段数码管,操作比较液晶显示来说显粉繁琐,加大 设计难度,但总体也还可以做到比较人性化。所以,最后选择 led 液晶显示 方案。 1.2 系统基本方案选择和论证系统基本方案选择和论证 传统的频率测量方法有两种:一是测周期求频率,这样对被测频率信号的信 噪比要求高,否则就会产生较大的误差;另一种是计算单位时间内所产生脉冲数 量,虽然这种方法对信噪比要求不高,但是显示分辨率受到限制,并且会产生 1 的误差。 在本方案中,cpu 接外频标(如图 2 所示),测量误差仅为时基误差,而较 好的外频标的误差一般小于10-9,因而测量结果的有效数字最少可达 8 位以 上,使得低频测量与高频测量的有效位数一致。 1.31.3 系统方案的构想与确定系统方案的构想与确定 系统的功能往往决定了系统采用的结构,经过成本,性能,功耗等多方面 的考虑决定用三个 8 位 74ls164 串行接口外接 led 显示器,respack-8 对单片 机 pic16f877a 进行供电,时间芯片 ds1302 连接单片机 at89c51。从而实现电 子万年历的功能 武汉工程大学邮电与信息工程学院课程设计 - 6 - - 6 - 第二章第二章 硬件电路的设计硬件电路的设计 2.12.1 总体方案论述总体方案论述 按照系统设计功能的要求,初步确定系统由主控模块、时控模块、 显示模块和键盘接口模块共四个模块组成。如图 1 所示。 图 1 系统模块图 2.1.1 主控部分 主控芯片采用 51 系列 at89c51 单片机 , 接线方式如图 1 所示。 图 2 主控部分接线图 2.1.2 时控模块 时钟芯片使用 dallas 公司的一种高性能、低功耗、带 ram 的实 时时钟 ds1302 作为计时芯片,可以做到计时准确。时钟电路连接图如 1 所示。 武汉工程大学邮电与信息工程学院课程设计 - 7 - - 7 - 图 3 ds1302 时钟控制电路 2.1.3 显示模块 本系统采用 proteus 仿真库有的液晶显示模块 lgm12641bs1r,为 8192(128*64)像素的单色 lcd。显示模块电路如下图 3-16 所示。p1 口与数据总 线对应连接进行数据交换,使能端 e 与 p3.2 相连,读写端 r/w 与 p3.1 相连, di 与 p3.1 相连,片选信号端 cs1、cs2 分别与 p3.6、 p3.7 相连,复位端/rst 外接电源。 图 4 显示模块 2.1.4 按键电路 按键电路采用独立键盘设计,本系统设置 4 个按键,分别与 p0.0、p0.1、p0.2、p0.3 口相连。因 p0 口无内置电阻,故 p0 口当做一般的 i/o 口用时,需外接 10k 的上拉电阻,才能输出高电平。具体接线如图 5 示。 武汉工程大学邮电与信息工程学院课程设计 - 8 - - 8 - 图 5 按键电路 2.22.2 系统原理图系统原理图 系统原理图如下图 6 所示。 图 6 系统原理图 第三章第三章 系统的软件设计系统的软件设计 电子万年历的功能是在程序控制下实现的。该系统的软件设计方法与硬件 设计相对应,按整体功能分成多个不同的程序模块,分别进行设计、编程和调 武汉工程大学邮电与信息工程学院课程设计 - 9 - - 9 - 试,最后通过主程序将各程序模块连接起来。这样有利于程序修改和调试,增 强了程序的可移植性 3.13.1 主程序主程序 图 7 主程序流图 3.23.2 读取日期和时间程序读取日期和时间程序 图 8 读取程序 武汉工程大学邮电与信息工程学院课程设计 - 10 - - 10 - 第四章第四章 仿真与编程仿真与编程 4.14.1 编程环境编程环境 proteusproteus proteus 软件是由英国 labcenter electronics 公司开发的 eda 工具软件, 由 isis 和 ares 两个软件构成,其中 isis 是一款便捷的电子系统仿真平台软件, ares 是一款高级的布线编辑软件,它集成了高级原理布线图、混合模式 spice 电路仿真、pcb 设计以及自动布线来实现一个完整的电子设计。 4.24.2 用用 proteusproteus isisisis 对电子万年历的硬件电路设计对电子万年历的硬件电路设计 通过 proteus isis 软件的 vsm(虚拟仿真技术) ,用户可以对模拟电路、 数字电路、模数混合电路,以及基于微控制器的系统连同所有外围接口电子元 器件一起仿真。 4.34.3 keilkeil 的使用的使用 根据流程图,在 keil 中编写 c 程序,因为 ds1302 的数据形式为 bcd 码, 所以程序中所有的字符全部用 bcd 码形式表示。因此,在程序的编写过程中需 注意计算时数据进制形式的转换,并在编写过程中定义芯片管脚的分配。 编写好后,编译无误后生成目标文件 hex,软件编写便完成了。 4.44.4 文件的加载文件的加载 设置使单片机的运行频率为 4mhz 。 武汉工程大学邮电与信息工程学院课程设计 - 11 - - 11 - 图 9 文件的加载 4.54.5 仿真测试仿真测试 单击按钮,进行对电子万年历的仿真测试,运行结果如图 10 所示 武汉工程大学邮电与信息工程学院课程设计 - 12 - - 12 - 第二部分第二部分 跑马灯的设计跑马灯的设计 第一章第一章 硬件电路的设计硬件电路的设计 基础性实验基础性实验-跑马灯设计跑马灯设计 设计 8 个 led 在 at89c51 单片机 p1 端口点亮,点亮顺序为 p1.0 到 p1.7,p1.7 到 p1.0,然后重复循环,并具体介绍 proteus 和 keil 软件的操作步骤。 跑马灯的硬件设计跑马灯的硬件设计 proteus isis 的工作界面是一种标准的 windows 界面,如下图所示, 包括标题栏、主菜单、绘图工具栏,对象选择按钮、预览对象方位 控制按钮、仿真进程控制按钮、预览窗口、图形编辑窗口。 首先点击启动界面区域中对象选择“p”按钮(用于拾取元器件)来打开 “pick devices”对话框从元件库拾取所需的元器件 武汉工程大学邮电与信息工程学院课程设计 - 13 - - 13 - 在对话框中的“keyword”里面输入要检索的元器件的关键词,在 跑马灯是课程设计中,需要用到 89c51 单片机,因此在对话框中输 入 at89c51,输入完成后能够在中间的“result”结果栏页面看到 搜索的元器件的结果。在对话框的右侧,还能够看到选择的元器件 的仿真模型引脚以及 pcb 的参数。如果所选择的元器件并没有仿真 模型,对话框将在仿真模型和引脚一栏中显示“no simulator model” (无仿真模型) 。 搜索到所需的元器件以后,可以双击元器件名来将相应的元 器件加入到文档中,接下 来还可以用相同的方法来搜索并加入其他 的元器件。当已经将所需的元器全部加入到文档 中时,可以点击 ok按钮来完成元器件的添加。添加好元器件以后,下面所需要做 的就 是将元器件按照需要连接成电路。首先在对象选择器窗口中 点击需要添加到文档中的元器 件,这时就可以在预览窗口看到所 选择。 元器件的形状与方向,如果其方向不符合的要求,可以通过点 武汉工程大学邮电与信息工程学院课程设计 - 14 - - 14 - 击预览对象方位控制按 钮中的工具来任意进行调整,调整完成之 后在文档中单击并选定好需要放置的位置即可。 接着按相同的操 作即可完成所有元器件的布置,接下来是连线。事实上 proteus 的自动 布线功能非常方便。布线时只需要单击选择起点,然后在 需要转弯的地方单击一下 图画好以后要好好检查一下,注意电阻的阻值不要太大了。修改好 各组件属性以后就要将程序(hex 文件)载入单片机了14。首先 双击单片机 图标,系统同样会弹出“edit component”对话框,如图 3-4。在这个对话框中点击“program files”框右侧的 ,来打开选择 程序代码窗口,选中相应的 hex 文件后返回,这时按钮左 武汉工程大学邮电与信息工程学院课程设计 - 15 - - 15 - 装载好程序,就可以进行仿真了,仿真需要通过仿真进程控制 按钮来进行。工具条从 左到右依次是“play”、 “step”、 “pause”、 “stop”按钮,即运行、步进、 暂停、停止。点击“play” 按钮来仿真运行15,效果如图 3-5 所示, 可以看到系统按照编写的程序运行,而且还能通 过 proteus 的 图形显示功能形象直观的看到高低电平的实时变化。已经观察到了 结果就 可以点击“stop”来停止运行。 武汉工程大学邮电与信息工程学院课程设计 - 16 - - 16 - 跑马灯的软件设计跑马灯的软件设计 keil 可以编辑、编译汇编语言,c51语言,连接定位目标文件和 库文件,创建hex文件,调试目标程序等。keil 软件功能强大,包 含很多部分,本文我们主要 使用 keil uvision 来开发项目、调试 程序并生成 hex 文件来用于 proteu 中单片机程序 的开发和仿 真。 在 windows 中安装了 keil 公司的 pk51 软件包之后,会自动在 桌面和开始菜单中生 成keil uvision2图标。安装完成后,运行软 件,可以看到其界面,包括标题栏、下 拉菜单、快捷工具条按钮、 项目窗口、文件编辑窗口、输出窗口以及状态栏 武汉工程大学邮电与信息工程学院课程设计 - 17 - - 17 - 用 keil 软件开发项目的流程,点击“project”,新建一个 工程。软件弹出“create new project”(创建新工程)窗口。 为工程输入文件名后,点击保存按钮,软件将弹出select device for target窗口,如下图所示。根据工程的需要选择相应的 mcu,然后点击“确定” 。 武汉工程大学邮电与信息工程学院课程设计 - 18 - - 18 - 在工具中选择生成 hex 文件 现在可以输入程序了 武汉工程大学邮电与信息工程学院课程设计 - 19 - - 19 - 结论 跑马灯的设计则是我们对两个软件的初步了解认识所实践的产物,为后面学 习设计万年历提供和基础保障。 万年历从理论到实际应用,用 pic16f877a1 单片机与其他芯片等一些电路 的组合,成功的设计出了一个电子万年历。而且所设计的电子万年历设计也按 当初要求的能够在 proteus 中进行仿真,并且能够很精确的显示年历。可以说 该电子万年历具有很高的实用价值。 在软件设计的过程中,利用了 keil 这个软件在程序录入和调试的时候的优 越性,让我能够在编写软件的时候很方便的发现软件中的错误,现在已经能够 使用 keil 对所设计的程序进行调试。对于 proteus 这款软件,也能熟练掌握电 路设计仿真。由于平时没有接触过这两个软件,加上毕业设计的时间有限,对 于他们的连接调试程序,未能熟练掌握,但以后有机会的话会再好好学习的。 武汉工程大学邮电与信息工程学院课程设计 - 20 - - 20 - 参考文献参考文献 1 赵长德.微型计算机原理与接口技术m.北京:机械工业出版社, 1999:98-350. 2 苏平.单片机的原理与接口技术m.北京:电子工业出版社,2006:1-113. 3 王忠民.微型计算机原理m.西安:西安科技大学出版社,2003:15-55. 4 胡戴明.计算机组成原理m.北京:经济科学出版社,2005:43-56. 5 纪宗南.单片机外围器件使用手册m.北京:北京航空航天大学出版社, 622-655. 6 周雪.模拟电子技术m西安: 西安电子科技大学出版社,2005:81-95. 7 左金生.电子与模拟电子技术m.北京:电子工业出版社,2004:105-131. 8 尹勇.单片机开发环境 vision2 的开发指南m. 北京:北京航空航天大学 出版社,2004:173-199. 9 张斌武.单片机系统 proteus 设计与仿真m. 北京:电子工业出版社, 附录:附录: 附录 1 武汉工程大学邮电与信息工程学院课程设计 - 21 - - 21 - 1.万年历的编程程序 #include #include “ziku.h“ #include “lcd_init.h“ #include “ds1302.h“ #include “ds18b20.h“ #include “keyscan.h“ #include “yinli.h“ uch jj,ii; /子程序 /lcd 显示空白边框子程序 void lcdshowtable() uch i; slectscreen(1); /写左半 屏 setline(0); /起使页 setcolumn(0); /起使列 for(i=0;i64;i+) if(i=0)|(i=63)writedata( 0xff);/第 1、63 列竖线 else writedata(0x01); /最上面一行线 for(i=1;i7;i+) setline(i); setcolumn(0); writedata(0xff); /竖线 setcolumn(63); writedata(0xff); /竖线 setline(7); setcolumn(0); for(i=0;i64;i+) if(i=0)|(i=63)writedata( 0xff); else writedata(0x80); /最下面的横线 slectscreen(2);/写右半屏 setline(0); setcolumn(0); for(i=0;i64;i+) if(i=63)writedata(0xff); else writedata(0x01); setline(4); setcolumn(0); for(i=0;i64;i+) if(i=63)writedata(0xff); 武汉工程大学邮电与信息工程学院课程设计 - 22 - - 22 - else writedata(0x01); for(i=1;i7;i+) setline(i); setcolumn(63); writedata(0xff); setline(7); setcolumn(0); for(i=0;i64;i+) if(i=63)writedata(0xff); else writedata(0x80); /*- -*/ /显示固定字符子程序 void lcdshowgudingword() show8x16(0,80,maohao,1); show8x16(0,104,maohao,1); show16x16(6,80,yue,2); show16x16(0,40,nian,1); show16x16(4,2,yue,0); show16x16(6,8,xing,2); show16x16(6,24,qi,2); show16x16(2,96,danwei1,0); show8x16(0,8,s2,1); show8x16(0,16,s0,1); /*- -*/ void tmr0init() t0cs=0; psa=0; ps2=1; ps1=1; ps0=1; tmr0=0x80; t0ie=1; t0if=0; /冒号闪烁子程序 void flashmaohao() static uch timecount1; static int timecount2; if(tmr0if=1) tmr0=0x80; tmr0if=0; 武汉工程大学邮电与信息工程学院课程设计 - 23 - - 23 - timecount1+; timecount2+; if(timecount1=10) flag+; flag=flag%2; /闪烁 标志在 0-1 间翻转 timecount1=0; if(timecount2=1200)/1 分 钟采样一次温度 timecount2=0; get_temp(); /温度转 换子程序 if(flag=0) show8x16(0,80,maohao,1); show8x16(0,104,maohao,1); if(flag=1) show8x16(0,80,noshu,1);/ 清除 show8x16(0,104,noshu,1); void naoling() if(kk=1) if(rd3=0) jj+; jj=jj%4; while(1) if(rd3=1)break; if(jj=1) naoling_hour_1= naoling_hour; naoling_minute_1=naoling_minu te; rc4=1; rc6=0; rc7=0; if(jj=2) naoling_hour_2= 武汉工程大学邮电与信息工程学院课程设计 - 24 - - 24 - naoling_hour; naoling_minute_2=naoling_minu te; rc4=0; rc6=1; rc7=0; if(jj=3) naoling_hour_3= naoling_hour; naoling_minute_3=naoling_minu te; rc4=0; rc6=0; rc7=1; void naolingxiang() int i; if(kk=1) for(i=0;i100;i+); rc5=0; for(i=0;i500;i+); if(kk=1) for(i=0;i100;i+); rc5=0; for
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江省云和县2025年上半年事业单位公开遴选试题含答案分析
- 农业种子市场探索
- 南召县六年级英语课本上册单词表卡通版
- 河北省辛集市2025年上半年事业单位公开遴选试题含答案分析
- 河北省威县2025年上半年事业单位公开遴选试题含答案分析
- 河北省孟村回族自治县2025年上半年公开招聘村务工作者试题含答案分析
- 河北省乐亭县2025年上半年事业单位公开遴选试题含答案分析
- 2025年半合成金属切削液生产线租赁与维护合同
- 2025年度党支部党建联建文化旅游合作协议书
- 2025年建筑材料研发与知识产权保护承包协议
- 手拉葫芦室内钢梁吊装方案
- 业务招待费审批单
- 2021版特种设备目录
- 电子课件-《英语(第二册)(第三版)》-A01-4402 英语 第二册 第三版 课件-Unit 2 lesson 2
- GB∕T 17794-2021 柔性泡沫橡塑绝热制品
- CRT植入推荐步骤和工具课件
- 建筑施工岗位安全风险明白卡
- Q∕GDW 10827-2020 三相智能电能表技术规范
- 空气轴承技术培训教程
- (完整版)法理学试题库附答案
- 典范剧本Coming Clean
评论
0/150
提交评论