数字电压表课程设计说明书(编辑修改稿)内容摘要:
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 转换实验的一定基础,两者。数字电压表课程设计说明书(编辑修改稿)
相关推荐
其中,秒钟调整按键的功能是当闹钟时间 调整 开关闭合时调整闹钟时间的秒位,XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 1 2 3 4 5 6 7 8 U1 AT89C51 SW1 SWSPST 反之对时间值的秒位进行调整,分钟调整按键的功能是当 闹钟时间调整开关 闭 合时调整闹钟时间的分位,反之对时间值的分位进行调整,时钟调整按键的功能是当
抗干扰能力强。 如图下图 AT89C51 单片机 直接 DS1302 的 RST 端,上电后, AT89C51 的 脚自动输出高电平, 作为串行时钟接口, 作为始终数据的 I/O。 DS1302 的晶振选用 32768Hz,电容推荐值为 6pF。 因为振荡频率较低,也可以不接电容,对计时精度影响不大。 10 图 23 时钟电路 DS1302 时钟芯片包括实时时钟 /日历和 31 字节的静态
ELSIF(rst=39。 039。 )THEN tem1=0000。 tem2=0000。 ELSIF(clk39。 event AND clk=39。 139。 )THEN IF tem1=1001 THEN tem1=0000。 IF tem2=0101 THEN tem2=0000。 co=39。 139。 ELSE tem2=tem2+1。 co=39。 039。 END IF。
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 427U2A T 8 9 C 5 2X1C R Y S T A LC12 2 p FC22 2 p FC31 0 u F
时间。 加在 RST端的高电平信号要维持足够长的时间才能保证系统可靠复位。 一般来说复位方式有上电自动复位和按钮复位两种。 图 33是 AT89c51 单片机的上电复位和按钮复位组合电路。 图 33 复位电路 A/D转化 模块 现实中大多数都是模拟量,这样并不能被我们直接采用,所以人们研制了数字量的器件,它能把模拟的物理量转变成我们能够利用的数字量,这是单片机几桶收集整理转变数据的关键
计数器内部的计数功能 , 计数器的内部计数 信号 clk 和频率计数器的使能信号 enable。 频率计数器的计数模块的输出信号就是个位 sec、 十位 sec10。 电路图如 图 26 所示。 图 26 计数模块电路图 10 十进制计数器 , 它的输入端口主要包括使能端口 enable 计数输入端口clk, 输出端口主要包括计数输出端口 q 和进位输出端口 cout。 计数模块程序及仿真图