毕业设计(论文)基于单片机工程运算系统的设计.doc

上传人:laozhun 文档编号:3980242 上传时间:2023-03-30 格式:DOC 页数:35 大小:206KB
返回 下载 相关 举报
毕业设计(论文)基于单片机工程运算系统的设计.doc_第1页
第1页 / 共35页
毕业设计(论文)基于单片机工程运算系统的设计.doc_第2页
第2页 / 共35页
毕业设计(论文)基于单片机工程运算系统的设计.doc_第3页
第3页 / 共35页
毕业设计(论文)基于单片机工程运算系统的设计.doc_第4页
第4页 / 共35页
毕业设计(论文)基于单片机工程运算系统的设计.doc_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《毕业设计(论文)基于单片机工程运算系统的设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于单片机工程运算系统的设计.doc(35页珍藏版)》请在三一办公上搜索。

1、东 北 石 油 大 学课 程 设 计题 目 基于单片机工程运算系统的设计 院 系 专业班级 学生姓名 学生学号 指导教师 2012年 月 日东北石油大学毕业设计(论文)任务书题目 基于单片机工程运算系统的设计专业 学号 姓名 主要内容、基本要求、主要参考资料等:主要内容:简单电子计算器是一种能够进行加(+)、减(-)乘()除()、百分数(%)、倒数(1/x)等简单计算的电子器件,但组成却是麻雀虽小,五脏俱全,由运算器、控制器、存储器、键盘、显示器、电源和一些外围设备组成。本设计的主要内容是用单片机实现计算要求,通过自己编写的程序下载到单片机中,从而实现单片机可以进行简单的算术运算。基本要求:1

2、. 能够进行加(+)、减(-)乘()除()、百分数(%)、倒数(1/x)等简单计算;2. 具有独立按键,复位键;3. 用LCD液晶显示屏显示计算结果。主要参考资料:1 单片微型计算机与接口技术,李群芳、黄建编著,电子工业出版社;2 单片机原理及应用,张毅刚编著,高等教育出版社;3 51系列单片机及C51程序设计,王建校,杨建国等编著,科学出版社;4 单片机原理及接口技术,李朝青编著,北京航空航天大学出版社;完成期限: 2012.6.17指导教师签名: 专业负责人签名: 2012 年 月 日 摘 要随着社会的发展,科学的进步,人们的生活水平在逐步的提高,尤其是微电子技术 的发展,犹如雨后春笋般的

3、变化。单片机的应用已经越来越贴近生活,用单片机来实现一些 电子设计也变得容易起来。计算器在人们的日常中是比较的常见的电子产品之一。可是它还 在发展之中,以后必将出现功能更加强大的计算器,基于这样的理念,本次设计是用单片机来设计的计算器。该设计系统是以AT89C51 为单片机, P0 口作为输入端,外接4X6 的键盘,通过键盘扫描来对输入数的控制,在P1 口,P2 口接了驱动电路。用来保证LCD液晶显示屏的工作正常。计算器将完成的功能有加,减,乘,除,求倒数,百分比,sin,cos等功能。 关键词:计算器;电子设计;液晶显示器;单片机;AbstractWith the development o

4、f society, the progress of science, the living standard of people in to improve, especially microelectronics technology development, the changes have mushroomed. Single chip microcomputer application has been more and more close to the life, by single chip to achieve some electronic design also beco

5、mes easier. Calculators in the Peoples Daily are relatively common one of electronic products. But it also developing, later will appear function more powerful calculators, based on the concept, this design is to design by single chip the calculator. The design is based on AT89C51 single chip microc

6、omputer system for, P0 mouth as input, external 4 X6 keyboard, through the keyboard scan to the number of input control, the P1 mouth, P2 mouth to pick up the drive circuit. Used to guarantee the normal work LCD screen. Calculator will complete function have add, subtract, multiply, and in addition

7、to, ask bottom, percentage, sin, cos etc. Function.Keywords: calculator; Electronic design; Liquid crystal display; Single chip microcomputer;目录目录4第1章 概述6第2章 工程运算系统总体设计思路72.1总体系统模块图:72.2系统总流程图:7第3章 系统开发工具的介绍93.1 AT89C51单片机的介绍93.1.1主要特性:93.1.2 AT89C51单片机引脚介绍:103.2 LCD12864液晶显示屏的介绍123.2.1 基本特性:123.2.2

8、 管脚说明:133.3 Proteus的介绍143.3.1 Proteus的功能143.3.2 Proteus的使用方法143.4 KEIL软件介绍15第4章 总体硬件设计:164.1 手动上电复位电路:174.2 内部时钟模式电路:184.3 单片机与复位、时钟电路连接电路图:194.4 键盘接口电路:204.5 LCD液晶显示器电路:214.6 蜂鸣器电路:224.7 运算模块(单片机控制):23第5章 系统调试235.1 软件调试235.2 硬件调试24第6章 总结24第7章 致谢25第1章 概述最早的计算工具诞生在中国。 中国古代最早采用的一种计算工具叫筹策,又被叫做算筹。这种算筹多用

9、竹子制成,也有用木头,兽骨充当材料的约二百七十枚一束,放在布袋里可随身携带。直到今天仍在使用的珠算盘,是中国古代计算工具领域中的另一项发明,明代时的珠算盘已经与现代的珠算盘几乎相同。 17世纪初,西方国家的计算工具有了较大的发展,英国数学家纳皮尔发明的纳皮尔算筹,英国牧师奥却德发明了圆柱型对数计算尺,这种计算尺不仅能做加减乘除、乘方、开方运算,甚至可以计算三角函数,指数函数和对数函数,这些计算工具不仅带动了计算器的发展,也为现代计算器发展奠定了良好的基础,成为现代社会应用广泛的计算工具。1642年,年仅19岁的法国伟大科学家帕斯卡引用算盘的原理,发明了第一部机械式计算器,在他的计算器中有一些互

10、相联锁的齿轮,一个转过十位的齿轮会使另一个齿轮转过一位,人们可以像拨电话号码盘那样,把数字拨进去,计算结果就会出现在另一个窗口中,但是只能做加减计算。1694年,莱布尼兹在德国将其改进成可以进行乘除的计算。此后,一直要到20世纪50年代末才有电子计算器的出现。 第2章 工程运算系统总体设计思路本系统选用AT89C51单片机为主控机。通过扩展必要的外围接口电路,实现对工程运算系统的设计。分别对键盘输入模块;LCD显示模块;算术运算模块;进行设计,并用Visio画系统方框图,keil与protues仿真分析其设计结果。 工程运算系统是一种能够进行加(+)、减(-)乘()除()、百分数(%)、倒数(

11、1/x)等简单计算的电子器件,但组成却是麻雀虽小,五脏俱全,由运算器、控制器、存储器、键盘、显示器、电源和一些外围设备组成。本设计的主要内容是用单片机实现计算要求,通过自己编写的程序下载到单片机中,从而实现单片机可以进行简单的算术运算。2.1总体系统模块图:单片机运算模块显示模块输入模块2.2系统总流程图:开始初始化LED显示按键扫描蜂鸣器发声LCD刷新显示计算、处理结束是否有按键按下第3章 系统开发工具的介绍3.1 AT89C51单片机的介绍 AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Onl

12、y Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。3.1.1主要特性:与MCS-51 兼容 4K字节可编程闪烁存储器 寿命:1000写/擦循环数据保留时间:10年

13、全静态工作:0Hz-24Hz三级程序存储器锁定128*8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源 可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路 3.1.2 AT89C51单片机引脚介绍:VCC: 供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I

14、/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进

15、行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口:P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外

16、部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指

17、令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2

18、:来自反向振荡器的输出。3.2 LCD12864液晶显示屏的介绍12864LCD液晶显示屏是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为12864, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示84行1616点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形

19、液晶模块。3.2.1 基本特性:(1)低电源电压(VDD:+3.0-+5.5V)(2)显示分辨率:12864点 (3)内置汉字字库,提供8192个1616点阵汉字(简繁体可选)(4)内置 128个168点阵字符 (5)2MHZ时钟频率 (6)显示方式:STN、半透、正显 (7)驱动方式:1/32DUTY,1/5BIAS (8)视角方向:6点 (9)背光方式:侧部高亮白色LED,功耗仅为普通LED的1/51/10 (10)通讯方式:串行、并口可选 (11)内置DC-DC转换电路,无需外加负压 (12)无需片选信号,简化软件设计(13)工作温度: 0 - +55 ,存储温度: -20 - +603

20、.2.2 管脚说明:管脚号管脚名称电平管脚功能描述1VSS0V电源地2VCC3.0+5V电源正3V0-对比度(亮度)调整4RS(CS)H/LRS=“H”,表示DB7DB0为显示数据RS=“L”,表示DB7DB0为显示指令数据5R/W(SID)H/LR/W=“H”,E=“H”,数据被读到DB7DB0R/W=“L”,E=“HL”, DB7DB0的数据被写到IR或DR6E(SCLK)H/L使能信号7DB0H/L三态数据线8DB1H/L三态数据线9DB2H/L三态数据线10DB3H/L三态数据线11DB4H/L三态数据线12DB5H/L三态数据线13DB6H/L三态数据线14DB7H/L三态数据线15

21、PSBH/LH:8位或4位并口方式,L:串口方式(见注释1)16NC-空脚17/RESETH/L复位端,低电平有效(见注释2)18VOUT-LCD驱动电压输出端3.3 Proteus的介绍Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,Proteus软件有近20年的历史,在全球广泛使用。3.3.1 Proteus的功能除了其具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原

22、理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,Proteus能够很容易的为用户建立了完备的电子设计开发环境。 Proteus 产品系列为一款非常优秀的单片机仿真软件。Proteus组合了高级原理布图、混合模式SPICE仿真,PCB设计以及自动布线来实现一个完整的电子设计系统。其功能模块:个易用而又功能强大的ISIS原理布图工具;PROSPICE混合模型SPICE仿真; ARES PCB设计. PROSPICE 仿真器的一个扩展PROTEUS VSM:便于包括所有相关的器件的基于微处理器设计的协同仿真

23、。此外,还可以结合微控制器软件使用动态的键盘,开关,按钮,LEDs甚至LCD显示CPU模型. 3.3.2 Proteus的使用方法双击桌面上的ISIS 6 Professional图标或者单击屏幕左下方的“开始”“程序”“Proteus 6 Professional” “ISIS 6 Professional”,Proteus ISIS的工作界面是一种标准的Windows界面,如图1-2所示。包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。在图形编辑窗口内完成电路原理图的编辑和绘制。为了方便作图

24、坐标系统(CO-ORDINATE SYSTEM)ISIS中坐标系统的基本单位是10nm,主要是为了和Proteus ARES保持一致。但坐标系统的识别(read-out)单位被限制在1th。坐标原点默认在图形编辑区的中间,图形的坐标值能够显示在屏幕的右下角的状态栏中。点状栅格(The Dot Grid)与捕捉到栅格(Snapping to a Grid)编辑窗口内有点状的栅格,可以通过View菜单的Grid命令在打开和关闭间切换。点与点之间的间距由当前捕捉的设置决定。捕捉的尺度可以由View菜单的Snap命令设置,或者直接使用快捷键F4、F3、F2和CTRL+F1。你会注意到鼠标在图形编辑窗口

25、内移动时,坐标值是以固定的步长100th变化,这称为捕捉, 如果你想要确切地看到捕捉位置,可以使用View菜单的X-Cursor命令,选中后将会在捕捉点显示一个小的或大的交叉十字。实时捕捉(Real Time Snap)当鼠标指针指向管脚末端或者导线时,鼠标指针将会被捕捉到这些物体,这种功能被称为实时捕捉,该功能可以使你方便的实现导线和管脚的连接。可以通过Tools菜单的Real Time Snap 命令或者是CTRL+S切换该功能。可以通过View菜单的Redraw命令来刷新显示内容,同时预览窗口中的内容也将被刷新。当执行其它命令导致显示错乱时可以使用该特性恢复显示。预览窗口(The Ove

26、rview Window)该窗口通常显示整个电路图的缩略图。在预览窗口上点击鼠标左键,将会有一个矩形蓝绿框标示出在编辑窗口的中显示的区域。 其他情况下,预览窗口显示将要放置的对象的预览。对象选择器窗口通过对象选择按钮,从元件库中选择对象,并置入对象选择器窗口,供今后绘图时使用。显示对象的类型包括:设备,终端,管脚,图形符号,标注和图形。图形编辑的基本操作有对象放置(Object Placement)、选中对象(Tagging an Object)、删除对象(Deleting an Object)、拖动对象标签(Dragging an Object Label)、调整对象大小(Resizing

27、an Object)、调整对象的朝向(Reorienting an Object)、编辑对象(Editing an Object)、画线(Wire Placement)、线路自动路径器(Wire Auto-Router)、重复布线(Wire Repeat)、拖线(Dragging Wires)、移动线段或线段组(To move a wire segment or a group of segments)。对象的添加和放置方式:点击工具箱的元器件按钮,使其选中,再点击IsIs对象选择器左边中间的置P按钮,出现“Pick Devices” 对话框,在这个对话框里我们可以选择元器件和一些虚拟仪器。以

28、添加单片机PIC16F877为例来说明怎么把元器件添加到编辑窗口的。在“Gategory(器件种类)”下面,我们找到“MicoprocessorIC”选项,鼠标左键点击一下,在对话框的右侧,我们会发现这里有大量常见的各种型号的单片机。找到单片机PIC16F877,双击“PIC16F877”。样在左边的对象选择器就有了PIC16F877这个元件了。点击一下这个元件,然后把鼠标指针移到右边的原理图编辑区的适当位置,点击鼠标的左键,就把PIC16F877放到了原理图区。3.4 KEIL软件介绍Keil可以通过串口将用户的程序下载到单片机中,可以通过串口对单片机进行编程。它之所以具有这种功能,实际上它

29、有两块程序flash 区,其中一块 flash 中运行的程序可以更改另外的一块程序 flash 区中的程序。 编写完程序后即可使用汇编软件对程序进行编译了.本设计所使用的编译软件是Keil 51,其步骤如下:(1)源文件的建立使用菜单“File-New”或者点击工具栏的新建文件按钮,即可在项目窗口的右侧打开一个新的文本编辑窗口,在该窗口中输入要调试的汇编语言源程序,保存该文件,注意必须加上扩展名.c。(2) 建立工程文件点击“Project-New Project ”菜单,在出现的一个对话框中,输入一个工程文件名,不需要扩展名。点击“保存”按钮。(3).工程的详细设置工程建立好以后,还要对工程

30、进行进一步的设置,以满足要求。首先点击左边Project 窗口的Target 1,然后使用菜单“Project-Option for target target1”即出现对工程设置的对话框,对部分内容进行必要的设置改即可,不过大部份设置项都是取默认值。(4).编译、连接在设置好工程后,即可进行编译、连接。选择菜单Project-Build target,对当前工程进行连接。如果当前文件已修改,软件会先对该文件进行编译,然后再连接以产生目标代码;如果选择Rebuild All target files 将会对当前工程中的所有文件重新进行编译然后再连接,确保最终生产的目标代码是最新的,而Trans

31、late .项则仅对该文件进行编译,不进行连接。第4章 总体硬件设计:基于51系列单片机来进行的工程运算系统设计,可以完成计算器的键盘输入,进行加(+)、减(-)乘()除()、百分数(%)、倒数(1/x)等运算,并在液晶显示屏上显示相应的结果;设计电路采用AT89C51单片机为主要控制电路,显示部分采用LCD12864静态显示;按键部分:采用4*6键盘;键盘扫描IC,读取输入的键值。通过软件编程可实现简单加减乘除,显示采用字符LCD静态显示,软件方面使用C语言编程,并用PROTUES仿真。 电路的总体设计图如下:14.1 手动上电复位电路:复位是单片机的初始化操作,只需给AT89C51的复位引

32、脚RST加上大于2个机器周期(即24个时钟振荡周期)的高电平就可得单片机复位.复位时,PC初始化为0000H,使单片机从OUT单元开始执行程序。除了进入系统的正常初始化之外,由于程序运行出错或操作错误而使系统处于死锁状态。为摆脱死锁状态,也需按复位键使得RST脚为高电平,使单片机重新启动。复位电路如图所示在系统中,有时会出现显示不正常。为了调试方便,需要设计一个复位电路。AT89C51单片机复位电路共有上电复位、按键电平复位和按键脉冲复位。本系统的复位电路主要完成系统的上电复位和系统在运行时用户的按键复位功能。复位电路可由简单的RC电路构成,也可使用其它的相对复杂,但功能更完善的电路。本系统采

33、用的电路工作原理是:上电瞬间,RC电路充电,RESET引脚端出现正脉冲,只要RESET保持10ms以上高电平,就能使单片机有效的复位。当时钟频率选用12MHz时,C取10uF,R取10K,上电自动复位电路由上电瞬间C与R构成充电电路,RESET端的电位与电源Vcc相同,随着充电电流的减少,RESET的电位逐渐下降。RC时间常数越大,上电时RESET端保持高电平的时间越长,这组参数足以保证复位操作。若复位电路失效,加电后CPU从一个随机的状态开始工作,系统就不能正常运行。按键S5的功能是按键复位,按下S5键时RST为高电平,只要保持10ms以上的高电平,就可以使单片机复位。按键复位用在系统运行时

34、的复位,使系统重新运行。4.2 内部时钟模式电路:时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准有条不紊地一拍一拍地工作的。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统得稳定性。常用的时钟电路有两种方式:一种是内部时钟方式,另一种是外部时钟方式。单片机必须在时钟的驱动下才能工作。在单片机内部有一个时钟振荡电路,只要外界一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。本系统使用的是内部时钟方式。一般选用石英晶体振荡器。此电路在加电大约延迟10ms后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主

35、要由石英晶振的频率确定。电路中两个电容的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。时钟电路如图所示当单片机工作于内部时钟模式的时候,只需在XTAL1和XTAL2引脚连接一个晶体振荡器或者陶瓷振荡器,并接两个电容后接地即可,在使用时对于电容的选择有一定的要求:当外接晶体振荡器的时候,电容值一般选择C1=C2=30+10pF或30-10pF;当外接陶瓷振荡器的时候,电容值一般选择C1=C2=40+10pF或40-10pF;4.3 单片机与复位、时钟电路连接电路图:4.4 键盘接口电路:计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,

36、但是会占用大量的I/O 口资源,因此在很多情况下都不采用这种方式,而是采用矩阵键盘的方案。矩阵键盘采用四条I/O 线作为行线,六条I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为46个。这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率。矩阵键盘内部电路图如图所示:4.5 LCD液晶显示器电路:本设计采用LCD液晶显示器来显示输出数据。通过D0-D7引脚向LCD写指令字或写数据以使LCD实现不同的功能或显示相应数据。4.6 蜂鸣器电路:蜂鸣器电路是由一个有源蜂鸣器、一个单向导通二极管、两个电阻和一个开关三极管组成。此电路的作用是按键按下时,

37、蜂鸣器发出报警声。在本系统中,是利用单片机的P20口来控制,P20为低电平时,三极管导通,二极管截止,蜂鸣器报警。 4.7 运算模块(单片机控制):AT89C51 单片机是在一块芯片中集成了CPU、RAM、ROM、定时器/计数器和多功能I/O等一台计算机所需要的基本功能部件。如果按功能划分,它由如下功能部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、并行I/O 口、串行口、定时器/计数器、中断系统及特殊功能寄存器(SFR)。单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,通过使用单片机编写的程序可以实现高智能

38、,高效率,以及高可靠性!因此我们采用单片机作为计算器的主要功能部件,可以很快地实现运算功能。第5章 系统调试5.1 软件调试用到了Keil C软件,集成调试环境,集成了编辑器、译码器、调试器,支持软件模拟,支持项目管理功能强大的观察窗口,支持所有的数据类型。树状结构显示,一目了然,支持ASM(汇编)、C语言多模块源程序混合调试,在直接修改、编译、调试源程序,错误指令定位。功能很强大,用于对程序的调试和编辑。本系统的程序的编写就是在Keil C软件中完成的,在程序中用到了两个定时器,为了使倒计时的时间准确,必须计算对定时器的初值,当程序完成之后,生成HEX文件。再利用Proteus软件进行仿真。

39、经过仿真,程序符合题目的要求。5.2 硬件调试在硬件调试时,先有万用表检查印制电路的焊接情况,检查是否有虚焊,是否有短路。在检查无误之后通电检查LCD液晶显示屏的显示。开始时,。总体电路正常,达到题目的要求。 第6章 总结基于单片机的工程运算系统设计,该课题的设计目的是充分运用大学期间所学的专业知识,考察现在正在使用的单片机的基本功能,完成一个基本的实际系统的设计全过程。在设计工程运算系统的过程中,我深切体会到,实践是理论运用的最好检验。本次设计是对我四年所学知识的一次综合性检测和考验,无论是动手能力还是理论知识运用能力都得到了提高,同时加深了我对网络资源认识,大大提高了查阅资料的能力和效率,

40、使我有充足的时间投入到电路制作当中。本系统的制作主要应用到了模拟电子技术、数字电子技术、单片机控制技术、电子工艺等多方面的知识。在硬件调试过程中,我也学会不少的东西,掌握一些调试方法。在设计仿真图和编些程序中,对Proteus和Keil等软件掌握的更加牢固,而且所设计的基于单片机的工程运算系统,精确度高,达到了应用要求。参考文献1徐爱钧.智能化测量控制仪表原理与设计(第二版)北京航天航空大学出版社,2004.9 2孙育才等.MCS-51系列单片微型计算机及其应用(第4版)东南大学出版社,2004.33李萍等.智能仪器实验指导书大连交通大学,2007.94单片机应用技术(C语言).中国劳动社会保

41、障出版社,2006.65武庆生,仇梅等著.单片机原理与应用.电子科技大学出版,1998.12 6朱定华著.单片机原理与接口技术.电子工业出版社,2001.4 7王宜怀,刘晓升等著.嵌入式应用技术基础教程.北京清华大学出版社,2005.7 7王威著.HCS12微控制器原理及应用.北京航空航天大学出版社,2007.10 8龚运新著.单片机C语言开发技术.北京清华大学出版社,2006.10 9周立功.单片机实验与实践.北京航空航天大学出版社,2004.3第7章 致谢本论文是宋鸿梅老师的指导下完成的,在此向他致以最衷心的感谢。在本科学习的四年中,我与同学建立深厚的友谊,他们在我遇到困难时无私伸出援助之

42、手,对他们的帮助我特别感谢。从开始进入课题到论文的顺利完成,有可敬的师长、同学、朋友给了我无言的帮助。在这里请接受我诚挚的谢意。最后,感谢学院的领导给我们提供很好的条件,使得我的硬件设计能够顺利完成。谢谢! 3.5、软件编程:1、主函数设计:/*函数声明*/#include#include#define uchar unsigned char#define uint unsigned intchar translate(int keycode);void arithmetic();void init_LCM();void write_data(char ddata);void write_co

43、m(char command);void check_BF();void clearLCD();void display(long a);void dealerror(); void dataoverflow();/*定义变量和数组*/long x=0,y=0,num=0;int operators,input,iny=0;char key;char error5=error;char overflow8=overflow;sbit EN=P34;sbit R_W=P35;sbit RS=P36;/*主函数*/main()EA=1;EX0=1;IT0=1;P2=0xff;display(0);

44、init_LCM();write_data(0x30);while(1)2、分块程序设计:(1)、键盘输入程序设计:有键按下时,单片机响应外部中断0,转入外部中断0中断处理函数,在中断处理函数中完成对按键的判断,以进行下一步的程序处理。/*键值转化为键盘上按键值函数*/char translate(int keycode)switch(keycode)case 0:return 7;break;case 1:return 4;break;case 2:return 1;break;case 3:return c;break;case 4:return 8;break;case 5:return 5;break;case 6:return 2;break;case 7:return 0;

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号