存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。通道选择表如下表所示。 表2.3 地址输入线的通道选择
C 0 0 0 0 1 1 1 1
数字量输出及控制线:11条
ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行AD转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行AD转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。D7-D0为数字量输出线。
CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ, VREF(+),VREF(-)为参考电压输入。
ADC0809应用说明:
(1). ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。 (2). 初始化时,使ST和OE信号全为低电平。
B 0 0 1 1 0 0 1 1 A 0 1 0 1 0 1 0 1 选择的通道 IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7
(3). 送要转换的哪一通道的地址到A,B,C端口上。 (4). 在ST端给出一个至少有100ns宽的正脉冲信号。 (5). 是否转换完毕,我们根据EOC信号来判断。
(6). 当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。
6、总结与体会
6. 1 总结
本次课程设计,虽然方案基本出来了,但是在硬件制作方面出现了几个问题,这也暴露出我们知识方面的一欠缺。不足主要体现在以下几个方面:
(1)ADC0809的第10脚的时钟信号,我们是通过单片机编程实现的但是由于频率过低,只有500KHz,造成LED数码管显示不稳定而出现闪烁现象。最终验收时是通过从外部信号发生器输入2MHz时钟信号解决的。
(2)万用板焊接时,由于布线不太合理,使得背面线很零乱。并给后面的线路检查带来了不少麻烦。
(3)对Proteus仿真软件使用不熟练,使画仿真图时遇到不少问题。 (4)51单片机基础知识不扎实,电路分析遇到比较多的问题。 6. 2体会
这次课程设计暴露出了很多问题,但在做课程设计的过程中也学到了很多东西。比如查阅资料,动手焊接万用板等等,这些都是平时很少做的。此次课程设计让我对基于单片机的汇编语言有了新的认识,对本学期的单片机学习有很大的助益,也在激励我们多动手,从实践中去获取新知识。
在此要特别感谢老师在做设计期间精心指导,他对我们要求非常严格。课程设计的顺利完成离不开老师的帮助的。他为我提供了很多宝贵的资料。本次课程设计自始至是在他的指导和帮助下完成的,在此再一次向他致以深深的敬意和感谢!
7、 参考文献
(1) 张毅刚 (2) 徐爱钧
单片机原理及应用
高等教育出版社 2010年8月
单片机原理实用教程 电子工业出版社 2011年3月
(2) 张伟 王力 protel2004入门与提高 人民邮电出版社 2005年11月 (3) 常健生 检测与转换技术 机械工业出版社 2000年2月 (4) 阎石 数字电子技术基础 高等教育出版社 1998年12月 (5) 童诗白 模拟电子技术基础 高等教育出版社 2001年
(6) 李伯成 微型计算机原理与接口技术 清华大学出版社 2005年1月 (7) 李昌喜 智能仪表原理与设计 化学工业出版社 2005年2月
附录 系统源程序:
org 0000h ajmp main org 0100h main: mov sp,#80h jnb P1.0,cr jnb P1.1,cv jnb P1.2,ca cr: mov R7,#00h lcall adc LCALL RDAT lcall DISPLAY sjmp main CV: MOV R7,#01H LCALL ADC LCALL VDAT LCALL DISPLAY SJMP MAIN CA: MOV R7,#02H
;单片机复位地址 ;转移到主程序处 ;main被定位在0x0100处 ;初始化堆栈指针
LCALL ADC LCALL ADAT LCALL DISPLAY SJMP MAIN
ADC: MOV A,R7 ;0808 AD转换子程序 MOV DPTR,#7FFFH MOVX @DPTR,A JB P3.3,$ MOVX A,@DPTR RET vdat: mov R2,#00h mov R3,A mov R6,#01h mov R7,#0F4h call MULD2 clr C mov A,r5 add A,#60h mov r5,A mov A,r4 addc A,#00h mov r4,A mov A,r3 addc A,#00h mov r3,A mov A,r2 addc A,#00h mov r2,A mov r0,#30h mov r1,#34h mov A,R2 mov @r1,A inc r1 mov A,R3 mov @r1,A inc r1 mov A,R4 mov @r1,A inc r1 mov A,R5
;输入转换结果 ;乘以500 ;加96修正
相关推荐: