数字电压表课程设计说明书(编辑修改稿)内容摘要:

24MHz,它决定了单片机电路产生的时钟信号震荡频率,在本系统中选择的是 12MHz,因而时钟信号的震荡频率为 12MHz。 复位电路 单片机在启动运行时都需要复位,使 CPU 和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作。 其复位电路图如图 10 所示。 2 2 uR22 0 0 22uFC1GND1KR1Res3200R00Res3RETSSWPB 图 10 复位电路图及连线图 锁存电路 锁存器是一种对脉冲电平敏感的存储单元电路,它们可以在特定输入脉冲电平作用下改变状态。 锁 存,就是把信号暂存以维持某种电平状态。 锁存器的最主要作用是缓存,其次完成高速的控制其与慢速的外设的不同步问题,再其次是解决驱动的问题,最后是解决一个 I/O 口既能输出也能输入的问题。 本次设计采用的锁存器为 74HC573,实现锁存功能。 其引脚图 及连线图 如图 11 所示。 16 P00P01P02P03P04P05P06P07ABCALEGNDOE1D02D13D24D35D46D57D68D79GND10LE11Q712Q613Q514Q415Q316Q217Q118Q019VCC2074HC573573VCCGND 图 11 74HC573 引脚图及连线图 硬件电路的最终确立 A B C 3 程序设计 程序设计方案 此次程序设计采用三种方法,分别是延时法,查询法 和中断法。 主程序设计的总方案见图 12设计框图。 17 图 12方案设计框图 程序介绍 初始化程序 如上文介绍本次设计选择通道 IN0, 8路模拟选择通道 A,B,C 分别接 3位低位地址 Q0,Q1,Q2 即 , , ,而地址锁存允许信号 ALE 由 控制,则 8 路模拟通道的地址为 FEF8HFEFFH。 A/D 转换程序 转换框图如图 13所示 图 13转换框图 延时法程序 软件延时法是指用软件延时等待一次 A/D 转换结束。 延时时间取决于计算和调试而获得 的 ADC完成一次转换所需要的时间。 延时法程序设计流程框图如图 14所示 延时法程序清单见附录 D 18 图 14延时法程序流程框图 图 15查询法程序流程框图 查询法程序 查询法将 EOC接至 80C52 的某端口 I/O 口线。 启动 A/D 转换后,利用查询该I/O口线引脚电平是否为 0的方法读取转换结果。 查询法程序设计流程框图如图 15所示 查询法程序清单见附录 E 中断法程序 中断法利用 EOC 作为向 80C51 申请中断信号。 在主程序中启动 A/D转换,在继续执行主程序。 在中断服务程序中读取转换结果。 中断法程序设计流程框图如图 16所示 中断法程序清单见附录 F 图 16中断程序流程框图 19 4 仿真及误差分析 proteus 仿真原理图 原理图见图 17 P S E NA L EV C CP21P23P24P 3 6P 3 7AAP 1 0P 1 1P 1 2P 1 3P 1 4P 1 5P 1 6P 1 7P10P11P13P12P14P15P16P 0 7P 0 6P 0 5P 0 4P 0 3P 0 2P 0 1P 0 0P22P17P 0 0P 0 1P 0 2P 0 3P 0 4P 0 5P 0 6P 0 7A L EP 2 0P 3 7P 3 6P 2 0AQ0Q1Q2Q0Q1Q2V C CP 2 0P 2 1P 2 2P 2 3P 2 4X T A L 218X T A L 119A L E30EA31P S E N29RS T9P 0 .0 /A D 039P 0 .1 /A D 138P 0 .2 /A D 237P 0 .3 /A D 336P 0 .4 /A D 435P 0 .5 /A D 534P 0 .6 /A D 633P 0 .7 /A D 732P 1 .0 /T 21P 1 .1 /T 2 E X2P 1 . 23P 1 . 34P 1 . 45P 1 . 56P 1 . 67P 1 . 78P 3 .0 /R X D10P 3 .1 /T X D11P 3 .2 /I NT 012P 3 .3 /I NT 113P 3 .4 /T 014P 3 .7 / R D17P 3 . 6 / W R16P 3 .5 /T 115P 2 .7 /A 1 528P 2 .0 / A 821P 2 .1 / A 922P 2 .2 /A 1 023P 2 .3 /A 1 124P 2 .4 /A 1 225P 2 .5 /A 1 326P 2 .6 /A 1 427U1A T 8 9 C5 2O UT 121A DD B24A DD A25A DD C23V RE F ( + )12V RE F ( )16I N31I N42I N53I N64I N75S T A RT6O UT 58E O C7OE9CLO C K10O UT 220O UT 714O UT 615O UT 817O UT 418O UT 319I N228I N127I N026A L E22U2A DC 0 8 0 8U2( CLO CK )+ 8 8 . 8V o l t s+5V12U 7 : A7 4 L S 0 412U 6 : A7 4 L S 0 4D02D13D24D35D46D57D68D79Q019Q118Q217Q316Q415Q514Q613Q712LE11OE1U37 4 HC 5 7 3231U 4 : A7 4 L S 0 2564U 4 : B7 4 L S 0 254%R V 11k2 2 u3 3 P3 3 PR22 0 0 图 17proteus仿真原理图 原理图说明 此电路的工作原理是: +5V 模拟电压信号通过变阻器 RV1 分压后由 ADC08008的 IN0 通道进入,经过模 /数转换后,产生相应的数字量经过其输出通道 D0D7传送给 AT89C52 芯片的 P1 口, AT89C52 负责把接收到的数字量经过数据处理,产生正确的 7段数码管的显示段码传送给四位 LED,同时它还通过其四位 I/O 口、 、 、 产生位选信号控制数码管的亮灭。 此外, AT89C52 还控制 ADC0808 的工作。 接到 ADC0808 的 CLOCK, 发正脉冲启动 A/D 转换。 补充说明: proteus 里面没有 ADC0809 的封装模式,因此选用 ADC0808 代替,两者没有本质区别, ADC0808 是 ADC0809 的简化版,主要的不同点是 0808 的转换 20 输出 D0D7 与常用的输出端高低位是相反的,即 0809 的最低位是 D0,0808 的最低位为 out7。 类似的,软件里面没有 AT89S52 的封装,则选用的 C52 实现其功能。 误差分析 设计结果显示 仿真结果如图 18所示 P21P23P24AP10P11P13P12P14P15P16P22P17Q0Q1Q2V C CV o lts 0 .0 0 P21P23P24AP10P11P13P12P14P15P16P22P17Q0Q1Q2V C CV o lts+ 2 .2 5+5V12U 7 :A7 4 L S 0 4 所测电压 所测电压 P21P23P24AP10P11P13P12P14P15P16P22P17Q0Q1Q2V C CV o lts+ 4 .4 512U 7 :A7 4 L S 0 4 P21P23P24AP10P11P13P12P14P15P16P22P17Q0Q1Q2V C CV o lts+ 5 .0 012U 7 :A7 4 L S 0 4 所测电压 所测电压 图 18仿真数码管显示电压 21 硬件实物结果如图 19 所示 系统复位后显示“ P” 图 19实物数码管显示电压 误差分析 数码管显示与电压表电压对比如表三 表三 数码管显示电压与实测电压对比 数码管显示电压 电压表所测电压 误差 由于单片机 AT89C52 为 8 位处理器,当输入电压为 时, ADC0808 输出数据值为 255( FFH),因此单片机最高的数值分辨率为 (5/255)。 这就决定了电压表的最高分辨率只能到 ,从上表可看到,测试电压一般以 的幅度变化。 22 结束语 不知不觉一学期将要结束了,我们的单片机理论课已经结课两个星期了,在这次课程设计中我发现我的动手能力还是很差,从画 AD 原理图,封装, PCB 到转印,腐蚀,打孔,焊接,这每一个过程都需要仔细检查,细心和对。 例如说,在画封装时,如果把引脚间的距离搞错了的话,做出来的板子便不好焊接,也许有其他补救的方法, 但是也不会那么完美。 而我这次所做的硬件,不知是哪个环节出了问题,导致结果一直模模糊糊,最终也没有达到我想要的那个效果。 本次课程设计的程序相比较而言比较简短,因为有 A/D 转换实验的一定基础,两者。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。