首页 毕业设计-基于51单片机数字电压表的设计

毕业设计-基于51单片机数字电压表的设计

举报
开通vip

毕业设计-基于51单片机数字电压表的设计毕业设计-基于51单片机数字电压表的设计 基于51单片机数字电压表的设计 目 录 一、系统总体方案选择与说明 ........................................1 1.1设计要求..................................................... 1 1.2 设计思路 .................................................... 1 1.3 设计方案 ........................

毕业设计-基于51单片机数字电压表的设计
毕业设计-基于51单片机数字电压 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 的设计 基于51单片机数字电压表的设计 目 录 一、系统总体 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 选择与说明 ........................................1 1.1设计要求..................................................... 1 1.2 设计思路 .................................................... 1 1.3 设计方案 .................................................... 1 二、硬件电路设计 ..................................................2 2.1 AT89C51的功能介绍........................................... 2 2.1.1简单概述 ............................................... 2 2.1.2主要功能特性 ........................................... 3 2.1.3 AT89C51的引脚介绍 ..................................... 3 2.2 ADC0808的引脚及功能介绍..................................... 5 2.2.1芯片概述 ............................................... 5 ADC0808芯片模型 ............................................. 5 2.2.2 引脚简介............................................... 5 2.2.3 ADC0808的转换原理 ..................................... 6 2.2.4 ADC0808的内部结构 ................................... 6 2.2.5 ADC0808电路接线图 ................................... 6 2.3 显示电路 ................................................... 7 2.3.1 LM016L的结构及功能 .................................... 7 2.3.2 LM016L的引脚功能介绍 .................................. 7 2.3.3 LM016L的电路接线图 .................................... 9 2.4 复位电路设计 ................................................ 9 2.5振荡电路设计................................................ 10 三、软件设计与说明 ............................................... 10 四、系统仿真与调试 ............................................... 12 五、总 结 ...................................................... 13 参考文献 ........................................................ 14 附 录 ........................................................... 15 附录A 系统原理图............................................ 15 附录B 程序清单.............................................. 16 一、系统总体方案选择与说明 1.1设计要求 (1)使用51单片机,AD0809,数码管等元件组成 2)能测量0-5V的直流电压 ( (3)能连续、稳定显示所测电压 (4)测量误差<0.02V) 1.2 设计思路 ?根据设计要求,选择AT89C51单片机为核心控制器件。 ?A/D转换采用ADC0808实现。 ?电压显示采用LCD显示。 1.3 设计方案 数字电压表的设计即将连续的模拟电压信号经过A/D转换器转换成二进制数值,再经由单片机软件编程转换成十进制数值并通过显示屏显示。该设计主要由三个模块组成:A/D转换模块,数据处理模块及显示模块。A/D转换主要由芯片ADC0808来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处理模块。数据处理则由芯片AT89C51来完成,其负责把ADC0808传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示;此外,它还控制着ADC0808芯片工作。 AT89C51 时钟电路 P2 A/D转换电路 测量电压输入 显示系统 P0 复位电路 P3 数字电压表系统硬件设计框图 二、硬件电路设计 2.1 AT89C51的功能介绍 2.1.1简单概述 AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C51是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图3-2所示。 U11939XTAL1P0.0/AD038P0.1/AD1 37P0.2/AD21836XTAL2P0.3/AD335P0.4/AD4 34P0.5/AD533P0.6/AD6932RSTP0.7/AD7 21P2.0/A822 P2.1/A923P2.2/A102924PSENP2.3/A113025 ALEP2.4/A123126EAP2.5/A1327P2.6/A1428 P2.7/A15 110P1.0P3.0/RXD 211P1.1P3.1/TXD312P1.2P3.2/INT0413P1.3P3.3/INT1 514P1.4P3.4/T0615P1.5P3.5/T1716AT89C51P1.6P3.6/WR 817P1.7P3.7/RD 图3-2 AT89C51芯片模型 2.1.2主要功能特性 (1) 4K字节可编程闪烁存储器。 (2) 32个双向I/O口;128×8位内部RAM 。 (3) 2个16位可编程定时/计数器中断,时钟频率0-24MHz。 (4) 可编程串行通道。 (5) 5个中断源。 (6) 2个读写中断口线。 (7) 低功耗的闲置和掉电模式。 (8) 片内振荡器和时钟电路。 2.1.3 AT89C51的引脚介绍 89C51单片机多采用40只引脚的双列直插封装(DIP)方式,下面分别简单介绍。 (1)电源引脚 电源引脚接入单片机的工作电源。 Vcc(40引脚):+5V电源。 GND(20引脚):接地。 (2)时钟引脚 XTAL1(19引脚):片内振荡器反相放大器和时钟发生器电路的输入端。 XTAL2(20引脚):片内振荡器反相放大器的输出端。 图3-3 电源接入方式 (3)复位RST(9引脚)在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引脚时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。 (4)/Vpp(31引脚)为外部程序存储器访问允许控制端。当它为高电平时,EAEA 单片机读片内程序存储器,在PC值超过0FFFH后将自动转向外部程序存储器。当它为低电平时,只限定在外部程序存储器,地址为0000H~FFFFH。Vpp为该引脚的第二功能,为编程电压输入端。 (5)ALE/(30引脚)ALE为低八位地址锁存允许信号。在系统扩展时,ALEPROG 的负跳沿江P0口发出的第八位地址锁存在外接的地址锁存器,然后再作为数据端口。为该引脚的第二功能,在对片外存储器编程时,此引脚为编程脉冲PROG 输入端。 (29引脚)片外程序存储器的读选通信号。在单片机读片外程序存储器(6)PSEN 时,此引脚输出脉冲的负跳沿作为读片外程序存储器的选通信号。 (7) pin39-pin32为P0.0-P0.7输入输出脚,称为P0口。P0是一个8位漏极开路型双向I/O口。内部不带上拉电阻,当外接上拉电阻时,P0口能以吸收电流的方式驱动八个LSTTL负载电路。通常在使用时外接上拉电阻,用来驱动多个数码管。 在访问外部程序和外部数据存储器时,P0口是分时转换的地址(低8位)/数据总线,不需要外接上拉电阻。 (8)Pin1-Pin8为P1.0-P1.7输入输出脚,称为P1口,是一个带内部上拉电阻的8位双向I/0口。P1口能驱动4个LSTTL负载。 (9)Pin21-Pin28为P2.0-P2.7输入输出脚,称为P2口。P2口是一个带内部上拉电阻的8位双向I/O口,P2口能驱动4个LSTTL负载。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接收高8位地址和控制信息。在访问外部程序和16位外部数据存储器时,P2口送出高8位地址。而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。 (10)Pin10-Pin17为P3.0-P3.7输入输出脚,称为P3口。P3口是一个带内部上拉电阻的8位双向I/O口,P2口能驱动4个LSTTL负载,这8个引脚还用于专门的第二功能。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接控制信息。 2.2 ADC0808的引脚及功能介绍 2.2.1芯片概述 ADC0808是采样分辨率为8位的、以逐次逼近原理进行模/数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。ADC0808是ADC0809的简化版本,功能基本相同。一般在硬件仿真时采用ADC0808进行A/D转换,实际使用时采用ADC0809进行A/D转换。 ADC0808是一种典型的A/D转换器。它是由8位A/D转换器,一个8路模拟量开关,8位模拟量地址锁存译码器和一个三态数据输出锁存器组成; +5V单电源供电,转化 时间在100us左右;内部没有时钟电路,故需外部提供时钟信号。芯片模型如图所示。 ADC0808芯片模型 2.2.2 引脚简介 ADC0808芯片有28条引脚,采用双列直插式封装,各引脚功能如下: (1) IN0~IN7:8路模拟量输入端。这里只接一路电压信号,其输入信号是由直流电源及可调电阻提供。 (2) D0~D7:8位数字量输出端口,其另一端连接到AT89C51单片机进行数值转换 (3) START:A/D转换启动信号输入端。由单片机P3.6口写信号与P2.0口相或取反输入一个正脉冲使其启动(脉冲上升沿使0808复位,下降沿启动A/D转换)。 (4) ALE:地址锁存允许信号,高电平有效。 (5) EOC:输出允许控制信号,高电平有效。EOC为 A,D转换结束信号,当A,D转换结束时,此端输出一个高电平取反给P3.3口(转换期间一直为低电平)。 (6) OE: 输出允许控制信号,高电平有效。当A,D转换结束时,此端由单片机P3.7读信号与P2.0口相或后取反输入一个高电平,才能打开输出三态门,输出数字量。 (7) CLK:时钟信号输入端。 (8)A、B、C:转换通道地址,控制8路模拟通道的切换。A、B、C分别与地址线或数据线相连,三位编码对应8个通道地址端口,A、B、C=000~111分别对应IN0~IN7通道的地址端口。 2.2.3 ADC0808的转换原理 ADC 0808 采用逐次比较的方法完成A/D转换,由单一的+5V电源供电。片 B、C的编码来决定所选的通道。内带有锁存功能的8路选1的模拟开关,由A、 ADC0809完成一次转换需100μs左右,它具有输出TTL三态锁存缓冲器,可直接连接到AT89C51的数据总线上。通过适当的外接电路,ADC0808可对0~5V的模拟信号进行转换。 2.2.4 ADC0808的内部结构 ADC0808是CMOS单片型逐次逼近式A/D转换器,它有8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器。 2.2.5 ADC0808电路接线图 2.3 显示电路 2.3.1 LM016L的结构及功能 LM016L液晶模块采用HD44780控制器,HD44780具有简单而功能较强的指令集,可以实现字符移动,闪烁等功能,LM016L与单片机MCU通讯可采用8位或4位并行传输两种方式,HD44780控制器由两个8位寄存器,指令寄存器(IR)和 数据寄存器(DR)忙标志(BF),显示数RAM(DDRAM),字符发生器ROMA(CGOROM)字符发生器RAM(CGRAM),地址计数器RAM(AC)。IR用于寄存指令码,只能写入不能读出,DR用于寄存数据,数据由内部操作自动写入DDRAM和CGRAM,或者暂存从DDRAM和CGRAM读出的数据,BF为1时,液晶模块处于内部模式,不响应外部操作指令和接受数据,DDTAM用来存储显示的字符,能存储80个字符码,CGROM由8位字符码生成5*7点阵字符160中和5*10点阵字符32种.CGRAM是为用户编写特殊字符留用的,它的容量仅64字节,可以自定义8个5*7点阵字符或者4个5*10点阵字符,AC可以存储DDRAM和CGRAM的地址,如果地址码随指令写入IR,则IR自动把地址码装入AC,同时选择DDRAM或CGRAM单元。 2.3.2 LM016L的引脚功能介绍 1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线。VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,其中: (1)VSS:一般接地 (2)VDD:接电源(+5V) (3)V0:液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。 (4)RS:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。 (5)R/W:R/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。 (6)E:E(或EN)端为使能(enable)端,下降沿使能 (7)DB0:底4位三态、 双向数据总线 0位(最低位) (8)DB1:底4位三态、 双向数据总线 1位 (9)DB2:底4位三态、 双向数据总线 2位 (10)DB3:底4位三态、 双向数据总线 3位 (11)DB4:高4位三态、 双向数据总线 4位 (12)DB5:高4位三态、 双向数据总线 5位 (13)DB6:高4位三态、 双向数据总线 6位 (14)DB7:高4位三态、 双向数据总线 7位(最高位) 2.3.3 LM016L的电路接线图 LCD显示电路电路图 2.4 复位电路设计 复位操作有两种基本形式:一种是上电复位,另一种是按键复位。按键复位具有上电复位功能外,若要复位,只要按图中的RESET键,电源VCC经电阻R1、R2分压,在RESET端产生一个复位高电平。上电复位电路要求接通电源后,通过外部电容充电来实现单片机自动复位操作。上电瞬间RESET引脚获得高电平,随着电容的充电,RERST引脚的高电平将逐渐下降。RERST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。按键复位的电路如下图所示。 按键复位电路电路图 2.5振荡电路设计 单片机内部有一个高增益、反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。通过这两个引脚在芯片外并接石英晶体振荡器(大小为1MHZ) )。这样就构成一个稳定的自激振荡器。振荡电和两只电容(电容和一般取30pF 路脉冲经过二分频后作为系统的时钟信号,再在二分频的基础上三分频产生ALE信号,此时得到的信号时机器周期信号。振荡电路如图所示 振荡电路电路图 三、软件设计与说明 主程序的内容包括:起始地址、中断服务程序的起始地址、有关内存单元及相关部件的初始化和一些子程序的调用等。根据设计要求,设计出如图所示的主程序 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 图。 开 始 初 始 化 调用A/D转换子程序 调用显示子程序 结 束 A/D转换子程序设计: A/D转换程序的功能是采集数据,在整个系统设计中占有很高的地位。当系统置好后,单片机扫描转换结束管脚P3.3的输入电平状态,当输入为高电平则转换完成,将转换的数值显示输出。若输入为低电平,则继续扫描。程序流程图如图所示。 开 始 调用A/D转换程序,开始 A/D转换 NN N 转换是 否完成? Y 处理转换结果 显示转换结果 结 束 四、系统仿真与调试 本设计应用Proteus7.8及KEIL51软件进行仿真,首先根据自己设计的电路图用Proteus7.8软件画出电路模型,然后我们用KEIL51软件对自己所编写的程序进行编译、链接,若程序没有错误和警告便可生成一个***.hex文件,然后再将此文件加到Proteus7.8电路图上使软硬件结合仿真。仿真结果如下图所示。 五、总 结 在这次单片机课程设计之初,我了无头绪,但在不断查阅资料,和同学的相互讨论之后对本次课程设计有了基本的认识。经过近两周的努力,虽然基于单片机的简易数字电压表基本完成,但设计中的不足之处仍然存在。 这次设计是我第一次设计电路,并用Proteus实现了仿真。在这过程中,我对电路设计,单片机的使用等都有了新的认识。通过这次设计学会了Proteus和Keil软件的使用方法,掌握了从系统的需要、方案的设计、功能模块的划分、原理图的设计和电路图的仿真的设计流程,积累了不少 经验 班主任工作经验交流宣传工作经验交流材料优秀班主任经验交流小学课改经验典型材料房地产总经理管理经验 。经过这两个星期的学习,我觉得自己不论是在理论知识方面还是在动手能力方面都有了不小的进步,自己从中受益匪浅。这次设计很好的把以前学到的理论知识应用于实践中去,使我认识到理论知识与实践之间有一定的差距,只有通过不断的努力学习和实践相结合才能更好地掌握这门学科。通过这次设计不仅学会了如何去查找相关资料,更重要的是通过查找资料和翻阅书籍学到了不少知识,扩大了知识面,提高了知识水平。经过单元设计和系统设计巩固了以前所学的专业知识,自己真正认识到理论联系实际的重要性,为以后的学习和工作提供了很多有价值的经验。通过这次设计不仅增强了自己的动脑能力和动手能力,也提高了我思考问题、分析问题、解决问题的能力,更重要的是学会用工程化的思想来解决问题。这在以前的学习过程中是不曾学到的。 这次设计使我认识到完整、严谨、科学分析问题、解决问题的思想是多么的重要,只有拥有了科学的态度才能设计出有用的产品。另外通过本次设计,使我认识到自己所学到的理论知识在应用到实际中去的能力有很大的欠缺,需要在以后的学习中进一步提高。通过这次课程设计,使我对单片机的认识了解有了更加深刻的认识。 参考文献 1、《单片机原理及应用》李建忠 编 西安电子科技大学出版社 2、《单片微型计算机原理与接口技术》 高峰 编 电子工业出版社 3、《单片机应用新技术教程》邹逢兴 编 高等教育出版社 、《16位微型计算机原理接口及其应用》 朱宇光 编 电子工业出版社 4 5、《微型计算机原理与接口技术》 吴秀清 编 中国科学技术出版社 6、《微型计算机接口技术》 邓亚平 编 清华大学出版社 7、《单片机原理及及应用》 王迎旭 编 机械工业出版社 附 录 附录A 系统原理图 附录B 程序清单 #include "includes.h" #define TIME0H 0x3C #define TIME0L 0xB0 //全局变量 unsigned char uc_Clock=0; //定时器0中断计数 bit b_DATransform=0; void vShowVoltage(unsigned int uiNumber)//把电压显示在LCD上 { unsigned char ucaNumber[3],ucCount; if(uiNumber>999) uiNumber=999; ucaNumber[0]=uiNumber/100; //把计算数字的每个位存入数组。 ucaNumber[1]=(uiNumber-100*(int)ucaNumber[0])/10 ucaNumber[2]=uiNumber-100*(int)ucaNumber[0]-10*ucaNumber[1]; for(ucCount=0;ucCount<3;ucCount++) { vShowOneChar(ucaNumber[ucCount]+48); //从首位到末位逐一输出。 if(ucCount==0) vShowOneChar('.'); } } //主函数* void main() { 设置定时器0 TMOD=0x01; //定时器0,模式1。 TH0=TIME0H; TL0=TIME0L; TR0=1; //启动定时器。 ET0=1; //开定时器中断。 EA=1; //开总中断 vdInitialize(); vWriteCMD(0x84); //写入显示起始地址(第二行第一个位置) vShowChar("Voltage:"); vWriteCMD(0xC9); vShowChar("(V)"); while(1) { if(b_DATransform==1) { b_DATransform=0; vWriteCMD(0xC4); vShowVoltage(uiADTransform()); } } } void Time0() interrupt 1 //定时器0中断函数// { if(uc_Clock==0) { uc_Clock=5; b_DATransform=1; } else uc_Clock--; TH0=TIME0H; //恢复定时器0。 TL0=TIME0L; } #include "SMC1602.h" //,,,,,,,驱动程序 void vWriteCMD(unsigned char ucCommand) //把1个命令写入LCD { vDelay(); //先延时。 LCDE=1; //然后把,,,改为写入命令状态。 LCDRS=0; LCDRW=0; LCDPORT=ucCommand; //再输出命令。 LCDE=0; //最后执行命令。 } void vWriteData(unsigned char ucData) //把1个数据写入LCD { vDelay(); //先延时。 LCDE=1; //然后把,,,改为写入数据状态。 LCDRS=1; LCDRW=0; LCDPORT=ucData; //再输出数据。 LCDE=0; //最后显示数据。 } void vShowOneChar(unsigned char ucChar) { switch(ucChar) { case ' ': vWriteData(0x20);break; case '!': vWriteData(0x21);break; case '"': vWriteData(0x22);break; case '#': vWriteData(0x23);break; case '$': vWriteData(0x24);break; case '%': vWriteData(0x25);break; case '&': vWriteData(0x26);break; case '>': vWriteData(0x27);break; case '(': vWriteData(0x28);break; case ')': vWriteData(0x29);break; case '*': vWriteData(0x20);break; case '+': vWriteData(0x2A);break; case '-': vWriteData(0x2D);break; case '/': vWriteData(0x2F);break; case '=': vWriteData(0x3D);break; case '<': vWriteData(0x3E);break; case '?': vWriteData(0x3F);break; case '.': vWriteData(0x2E);break; case ':': vWriteData(0x3A);break; case '0': vWriteData(0x30);break; case '1': vWriteData(0x31);break; case '2': vWriteData(0x32);break; case '3': vWriteData(0x33);break; case '4': vWriteData(0x34);break; case '5': vWriteData(0x35);break; case '6': vWriteData(0x36);break; case '7': vWriteData(0x37);break; case '8': vWriteData(0x38);break; case '9': vWriteData(0x39);break; case 'A': vWriteData(0x41);break; case 'B': vWriteData(0x42);break; case 'C': vWriteData(0x43);break; case 'D': vWriteData(0x44);break; case 'E': vWriteData(0x45);break; case 'F': vWriteData(0x46);break; case 'G': vWriteData(0x47);break; case 'H': vWriteData(0x48);break; case 'I': vWriteData(0x49);break; case 'J': vWriteData(0x4A);break; case 'K': vWriteData(0x4B);break; case 'L': vWriteData(0x4C);break; case 'M': vWriteData(0x4D);break; case 'N': vWriteData(0x4E);break; case 'O': vWriteData(0x4F);break; case 'P': vWriteData(0x50);break; case 'Q': vWriteData(0x51);break; case 'R': vWriteData(0x52);break; case 'S': vWriteData(0x53);break; case 'T': vWriteData(0x54);break; case 'U': vWriteData(0x55);break; case 'V': vWriteData(0x56);break; case 'W': vWriteData(0x57);break; case 'X': vWriteData(0x58);break; case 'Y': vWriteData(0x59);break; case 'Z': vWriteData(0x5A);break; case 'a': vWriteData(0x61);break; case 'b': vWriteData(0x62);break; case 'c': vWriteData(0x63);break; case 'd': vWriteData(0x64);break; case 'e': vWriteData(0x65);break; case 'f': vWriteData(0x66);break; case 'g': vWriteData(0x67);break; case 'h': vWriteData(0x68);break; case 'i': vWriteData(0x69);break; case 'j': vWriteData(0x6A);break; case 'k': vWriteData(0x6B);break; case 'l': vWriteData(0x6C);break; case 'm': vWriteData(0x6D);break; case 'n': vWriteData(0x6E);break; case 'o': vWriteData(0x6F);break; case 'p': vWriteData(0x70);break; case 'q': vWriteData(0x71);break; case 'r': vWriteData(0x72);break; case 's': vWriteData(0x73);break; case 't': vWriteData(0x74);break; case 'u': vWriteData(0x75);break; case 'v': vWriteData(0x76);break; case 'w': vWriteData(0x77);break; case 'x': vWriteData(0x78);break; case 'y': vWriteData(0x79);break; case 'z': vWriteData(0x7A);break; default: break; } } void vShowChar(unsigned char ucaChar[]) { unsigned char ucCount; for(ucCount=0;;ucCount++) { vShowOneChar(ucaChar[ucCount]); if(ucaChar[ucCount+1]=='\0') break; } } void vDelay() //延时函数 { unsigned int uiCount; for(uiCount=0;uiCount<250;uiCount++); } #include //AD转换函数 #define START P3_4 //SATART,ALE接口。0->1->0:启动AD转换。 #define EOC P3_3 //转换完毕由0变1. #define OUTPORT P2 //AD转换函数,返回转换结果。 //转换结果是3位数,小数点在百位与十位之间。 unsigned int uiADTransform() { unsigned int uiResult; START=1; //启动AD转换。 START=0; while(EOC==0); //等待转换结束。 uiResult=OUTPORT; //出入转换结果。 uiResult=(100*uiResult)/51; //处理运算结果。 return uiResult; } 电气信息学院课程设计评分表 评 价 项 目 优 良 中 及格 差 设计方案的合理性与创造性 软件设计完成情况 硬件调试完成情况 设计说明书与设计图纸质量 答辩情况 独立工作能力 完成任务情况 出勤情况 综 合 评 分 指导教师签名:_______________ 日 期:_______________ 设计内容与设计要求 设计内容: 设计一个简易数字电压表,设计内容包括: 使用51单片机,AD0809,数码管等元件组成 (1) (2) 能测量0-5V的直流电压 (3) 能连续、稳定显示所测电压 (4) 测量误差<0.02V) 设计要求: 1)确定系统设计方案; 2)进行系统的硬件设计 3)完成必要的参数计算与元器件选择; 4)完成应用程序设计; 5)进行软硬件调试; 主 要 设 计 条 件 1 单片机开发板 2 PC机 3 PROTEL软件 4 PROTEUS软件 说 明 书 格 式 1. 课程设计任务书 2. 目录 3. 系统总体方案选择与说明 4. 系统结构框图与工作原理 5. 各单元硬件设计说明及计算方法 6. 软件设计与说明(包括流程图) 调试结果与必要的调试说明 7. 8. 使用说明 9. 程序清单 10、 总结 初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf 11、参考文献 附录 附录A 系统原理图 附录B 程序清单
本文档为【毕业设计-基于51单片机数字电压表的设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_083599
暂无简介~
格式:doc
大小:210KB
软件:Word
页数:26
分类:工学
上传时间:2017-09-20
浏览量:815