AT89S51单片机与ADC0809模数转换器的三种典型连接.pdf

上传人:韩长文 文档编号:3730543 上传时间:2019-09-22 格式:PDF 页数:4 大小:236.20KB
返回 下载 相关 举报
AT89S51单片机与ADC0809模数转换器的三种典型连接.pdf_第1页
第1页 / 共4页
AT89S51单片机与ADC0809模数转换器的三种典型连接.pdf_第2页
第2页 / 共4页
AT89S51单片机与ADC0809模数转换器的三种典型连接.pdf_第3页
第3页 / 共4页
AT89S51单片机与ADC0809模数转换器的三种典型连接.pdf_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《AT89S51单片机与ADC0809模数转换器的三种典型连接.pdf》由会员分享,可在线阅读,更多相关《AT89S51单片机与ADC0809模数转换器的三种典型连接.pdf(4页珍藏版)》请在三一文库上搜索。

1、AT89S51单片机与ADC0809模数转换器的三种典型连接 元增民 (长沙大学 机电工程系,湖南 长沙410003) 摘 要:根据模数转换器定位为单片机的外部RAM单元的概念,介绍了AT89S51单片机与ADC0809模数转换器三种典 型连接电路及程序编制.分析了三种电路硬件和软件特点.并且给出了一种能用于中断、 串行口和模数转换等项目的综合 训练的短小精悍的可执行程序. 关键词:单片机;模数转换;连接硬件;控制软件;AT89S51;AT89C51;ADC0809 中图分类号:TP368.1 文献标识码:A 文章编号:1008 - 4681(2005)05 - 0069 - 04 Three

2、 Typical Connections Between AT89S51 Single Chip Computer and ADC0809 Analog to Digital Converter Y UAN Zengmin (Mechanical and Electrical Engineering Department , Changsha University , Changsha , Hunan 410003) Abstract : According to the concept that analog to digital converters are defined as exte

3、rnal RAM of single chip computer , three typical connections between AT89S51 single chip computer and ADC0809 analog to digital converter are introduced. The characteristic of hardware and software of the three circuits are analyzed. A short program which may be used in the integrated training of in

4、terrupting , series port and analog to digital converting is given. Key words : single chip computer; analog to digit converting; connecting hardware ; controlling software ; AT89S51 ; AT89C51 ; ADC0809 MCS51系列单片机是美国英特尔公司于1980 年开始生产的.MCS51系列单片机以功能强大的指 令系统、 并行口串行口兼有以及灵活的SFR模式 等优点,在20世纪8090年代曾经风行我国.上

5、世纪末国际著名电子器件生产厂家,如飞力浦 (Philips)公司,西门子(Siemens) ,都在MCS51系列 单片机的框架下设计新型单片机产品.其中美国爱 特美(ATMEL)公司采用MCS51系列单片机的指令 系统和硬件框架,将MCS51系列单片机内置ROM、 EPROM及外挂EPROM等模式改为内置FPEROM (Flash Programmable and Erasable Read Only Memo2 ry) ,设计了与MCS51系列单片机兼容的ATMEL51 系列单片机,包括内置4kB FPEROM的标准40脚 AT89C51、 内置2kB FPEROM的20脚AT89C2051

6、以 及内置1kB FPEROM的20脚AT89C1051. 正是这些后起的51系列单片机赋予MCS51 系列单片机以新的生命力.建议把英特尔公司 MCS51系列单片机和后来世界各大公司在其框架 下生产的各种51系列单片机统称为51系列单片 机,简称为51单片机. 51系列单片机至今在8位机控制领域还是一 只独秀.就连一些32位处理器也在致力8位应 用1.讨论51系列单片机的一些基本应用问题非 常有价值. 尽管大家都知道模拟数字转换(Analog to Digit Convert ,ADC)数字模拟转换(Digit to Analog Convert , DAC)接口技术在控制领域非常重要 ,而

7、且很多教 科书,如单片机、 电子技术、 计算机控制技术、 都有 关于ADC和DAC的内容,但是实际上在很多学校 的教学中ADC和DAC都是一个薄弱环节,或者说 是一个交叉点.谁都应当管,结果往往谁都不管.在 一定程度上影响了教学效果. 目前8路8位逐位比较式模数转换芯片 ADC0809无论在工程设计还是教学过程中还是作 为首选品种.讨论51系列单片机与ADC0809的硬 件连接与软件编程,是一项有价值的工作. 概念非常重要.要了解ADC0809与51单片机 连接原理,首先要明确ADC0809在整个51单片机 第19卷 第5期 2 0 0 5年9月 长 沙 大 学 学 报 JOURNAL OF

8、CHANGSHA UNIVERSITY Vol.19 No.5 Sep. 2 0 0 5 收稿日期:2005 - 06 - 09;修回日期:2005 - 09 - 09 作者简介:元增民(1957 - ) ,男,河北沙河人,长沙大学教授,硕士,主要从事电子学研究和教学. 系统中的定位.大体上说,ADC0809在整个51单片 机系统中是作为外部RAM的1个单元定位的. 具体到某一个连接方式,ADC0809在整个51 单片机系统中的定位又有一些差别. 目前,性能非常好的AT89C51的价格大约在 10元左右,已经完全取代MCS51而稳占市场.考虑 AT89C51已经在2004年停产,代之而起的是性

9、能 价格比更好的AT89S51.本文介绍ADC0809与51 系列单片机的连接时将以AT89S51作为例子,不过 完全适合于AT89C51和更早的MCS51系列单片机 中的8031 , 8051和8751.本文介绍ADC0809与 AT89S51(51系列单片机)的3种典型连接方式. 1 ADC0809与51单片机的第一种连接方式 这是一种数据线对数据线、 地址线对地址线的 标准连接方式,如图1.但是由于51单片机没有现 成的低8位地址总线,所以采用这种标准连接方式 需要用74LS373或类似芯片产生低8位地址总线. 早期的MCS51系列单片机的应用品种很多是 没有内置程序存贮器的8031芯片

10、,本身就需要外 挂74LS373等芯片产生低8位地址总线来外接E2 PROM等程序存贮器,连接ADC0809时不需要专门 外挂74LS373. 因此早期的MCS51系列单片机,如8031 ,采用 这种方式连接ADC0809还是比较可行的. 图1中的P2. 7/ A15线作为整个ADC0809芯片 的片选线.当P2. 7/ A15 = 0时,或非门敞开,允许写 信号通过,将单片机负的写脉冲转换为ADC0809 所需要的正脉冲,以选中ADC0809某一通道并启 动转换. 图1 ADC0809与51单片机的第一种连接方式 这是一种不完全地址译码方式.如果增加地址 译码器,将P2. 7/ A15线改为

11、高位地址译码器的输 出线,就可以形成完全译码. 在图1连接方式中,ADC0809的转换结果寄存 器在概念上定位为单片机外部RAM单元的一个只 读寄存器,与通道号无关.因此读取转换结果时不 必关心DPTR中的通道号如何. 编程概要: MOV DPTR , # 7FF8H; DPTR指向0809通道0 MOVX DPTR ,A ;锁定通道0并启动转换 MOVX A , DPTR ;读取转换结果 要求在程序第一条指令中把决定是否能选中 整个ADC0809芯片和通道的数据送到数据指针 DPTR.在本电路中,只要送到DPTR的最高位数据 为0 ,就能选中ADC0809 ,而通道地址由DPTR的最 低3位

12、数字决定.这里累加器A的内容对于ADC 没有任何意义.因此事先不用操心累加器A内容 如何.这是本程序的一大特点. 2 ADC0809与51单片机的第二种连接方式 通常芯片的地址线只能进不能出自不必说, ADC0809的数据线有一特点:只能出不能进.就是 说,就像往SBUF写入时写到发送缓冲寄存器,从 SBUF读出时实际是读取接收缓冲寄存器的数据一 样,往ADC0809写入时,把数据总线上的数据写到 地址寄存器,从ADC0809读出时实际是读取转换 结果数据. 图2 ADC0809与51单片机的第二种连接方式 因此可以在把51单片机的8位数据线接到 ADC0809的8位数据线的同时,又把其中的3

13、位直 接接到ADC0809的3根地址线以确定通道号.通 常把51单片机的8位数据线中的低3位D2 ,D1 , D0直接接到ADC0809的3根地址线A2 ,A1 ,A0以 确定通道号,如图2.采用这种连接方式明显可以 省去一片74LS373. 在图2连接方式中,ADC0809的转换结果寄存 07长 沙 大 学 学 报 2005年9月 器在概念上定位为单片机外部RAM单元的只读寄 存器,而通道号锁存器在概念上定位为单片机同一 个外部RAM单元的只写寄存器.同一个外部RAM 单元的只读寄存器与只写寄存器使用同一个地址, 就像51系列单片机的串行发送缓冲器与串行接收 缓冲器使用同一个地址99H一样,

14、不会发生混乱. 图2连接方式有一个特点,那就是单片机要把 最低3位二进制数据通过数据总线写入ADC0809 的地址锁存器,然后作为通道地址使用. 编程概要: MOV A , # 0F8H ; ADC0809通道0地址送到A MOV DPTR , # 7FFFH; DPTR指向ADC0809 MOVX DPTR ,A ;锁定通道0并启动转换 MOVX A , DPTR ;读取转换结果 要求在程序第一条指令中把决定是否能选中 整个ADC0809芯片的数据送到数据指针DPTR.在 本电路中,只要送到DPTR的最高位数据为0 ,就能 选中ADC0809 ,而通道地址由累加器A的最低3位 数字决定.除了

15、最高位以外,DPTR的其余15位数 据对于ADC没有任何意义.除了较低3位以外,累 加器A的其余5位数据对于ADC也没有任何意 义.这是本程序的一大特点. 3 ADC0809与51单片机的第三种连接方式 在很多应用场合,AT89S51内部的硬件资源, 例如4kB闪存,128B内部RAM ,一个串行口和4个 8位并行口等,已经够用.就是说,在很多应用场 合,不需要外扩RAM或I/ O口. 图3 ADC0809与51单片机的第三种连接方式 当51单片机没有外扩RAM和I/ O口时, ADC0809就可以在概念上作为一个特殊的唯一的 外扩RAM单元.因为它是唯一的,就没有地址编 号,也就不需要任何地

16、址线或者地址译码线.只要 单片机往外部RAM写入,就是写到ADC0809的地 址寄存器中.只要单片机从外部RAM读取数据,就 是读取ADC0809的转换结果. 基于这种外部RAM的唯一单元概念设计的 AT89S51与ADC0809的连接电路如图3.相应的启 动程序和读数程序都非常简单. 编程概要: MOV A , # 0F8H ; ADC0809通道0地址送到A MOVX R0 ,A ;锁定通道0并启动转换 MOVX A , R0 ;读取转换结果 只要程序中使用MOVX R0 ,A指令或者 MOVX DPTR ,A指令,就能启动ADC0809.比较 MOVX R0 ,A指令和MOVX DPTR

17、 ,A指令,当 然是MOVX R0 ,A占优势,所以这里使用MOVX R0 ,A指令.其中间址寄存器R0中的数据无论 在启动ADC0809还是在读取转换结果时都没有任 何意义,因此事先不必考虑往R0中送入什么数 据.这是本程序的一大特点. 4 三种连接方式的综合比较 第一种和第二种连接方式允许多片ADC0809 与单片机连接,第三种连接方式只能连接一片.通 常1片8通道ADC0809就能满足控制工程需要.因 此在单片机没有外扩RAM和I/ O接口时,第三种 连接方式是一种优选方案.需要2片或更多 ADC0809时,第二种连接方式是一种优选方案. 第一种连接方式需要一片74LS373做地址锁 存

18、器.如果单片机系统已经有一片74LS373地址锁 存器,那么第一种连接方式也不失为一种可以考虑 的连接方式. 5 同时进行模数转换和显示的典型程序 单片机教学中除了ADC和DAC是难点之外, 中断和串行口也是难点.下面介绍一个典型的程 序.这个程序虽然短小精悍,但是能利用中断和串 行口功能同时完成多项任务,有利于学员掌握中 断、 串行口及ADC0809的编程应用. 执行本程序时,需要在图3基础上再增加一片 串入并出芯片74LS164及一只共阳数码管,并通过 P1口和7406或74LS240控制8只LED. ORG0000H LJMP MAIN ORG0003H ;0号外中断服务子程序 PUSH

19、 ACC ;ACC入栈保护 MOVX A , R0 ;读ADC转换结果 MOV P1 , A ;送P1口显示 17总第67期 元增民 AT89S51单片机与ADC0809模数转换器的三种典型连接 CLR A ;ACC指向ADC0809的0通道 MOVX R0 , A ;再次启动ADC0809 POP ACC ; ACC出栈 RETI ;中断返回 MAIN:MOV IE, # 10000001B ;开0号外中断 CLR A ;ACC指向ADC0809的0通道 MOVX R0 , A ;首次启动ADC0809 MOV DPTR , # STAB ;DPTR指向段码表 START:MOV R0 ,

20、A ;秒数送R0保存 MOVC A , A +DPTR ;查表取来秒数段码 MOV SBUF, A ;秒数的段码送串行口输出 ACALL DELAY ;延时1秒 ADD A , # 1 ;加1秒 DA A ;十进制调整 ANL A , # 0FH ;屏蔽掉十位 SJMP START ;循环计时 DELAY: ; 1秒延时子程序 END 执行本程序,首先在主程序中启动ADC0809 , 然后单片机运行一位秒表程序.在秒表运行过程 中,当模数转换完成时,ADC0809发出一个正脉冲 EOC(End Of Convert) ,反相为负脉冲后给单片机的 端子,单片机响应中断,执行完当前指令后即进入 中

21、断服务子程序,读取转换结果并送显示,然后再 次启动ADC0809后返回主程序. ADC0809完成1次转换需用64个时钟脉冲. 如果ADC0809时钟信号是640kHz ,那么1次转换 需要时间为0. 1ms ,1秒钟之内就能完成1万次转 换,就是说,1秒钟之内要产生1万次中断,理论上 对秒表运行肯定有影响,但是实际上作为演示实 验,人们根本觉察不到中断对秒表的影响.所以我 们把这个实验命名为 “秒表运行中进行ADC”,其 特征是秒表一边运行,一边连续进行ADC ,因此实 验成功的标志是代表转换结果的LED显示数字能 与为ADC0809提供模拟电压的电位器实现随动, 即拧动电位器时LED显示数

22、字跟着闪烁. 参考文献: 1 Robert Cravotta.32位微处理器致力于8位应用J .电子 设计技术,2005(12) :5 ,56 - 57. 2李朝青.单片机原理及接口技术M.北京:北京航空航 天大学出版社,2004. (上接第23页) A = 100. 11 0. 190. 1 10. 13 解:显然矩阵A为对角占优矩阵,且两圆盘R1 与R2相交. S = 1 + 0. 1 - 0. 2 = 0. 9 0 ,= 0. 92 - 41. 1 0. 1 = 0. 37 0 , R1与R2是可以被分离的. 取a= S 2Pi0. 4 ,令 D = 0. 4 1 1 ,作变换B = D

23、AD - 1 = 100. 040. 4 0. 2590. 1 2. 50. 13 这时R1与R2就已经被分离.三个圆盘都被分 离开来了. 由Gerschgorin圆盘定理可得三个特征值的范 围分别为: 9. 56 110. 44 ,8. 65 29. 35 ,2. 5 3 3. 5. 小结:上面所讲述的方法对于对角占优矩阵是 非常行之有效的.但是它还有一定的局限性。上面 所介绍的几种情况中,有一些是不能用此法来解决 的.经研究发现,上述方法的可行性还依赖于矩阵 特征值的间隔大小,即min i , j |i-j|,i j.由于篇 幅的限制,在这里我们就不再展开. 参考文献: 1 A. R.高尔

24、腊伊,G. A.瓦特桑.矩阵特征问题的计算方 法M.上海:上海科学技术出版社,1980. 2曹志浩,张玉德,李瑞遐.矩阵计算和方程求根M.北 京:高等教育出版社,1984. 3 (美 )J.M.奥特加.数值分析M.张丽君 ,张乃玲,朱政 华译.北京:高等教育出版社,1984. 4古以熹.矩阵特征值的分布J .应用数学学报,1994 (4) :502 - 511. 5蔡大用.数值代数M.北京:清华大学出版社,1987. 6陈筠青,张锡藩,单锋.探讨矩阵特征值的估计与定位 J .沈阳航空工业学院学报,1998(4) :24 - 28. 7郭兴.圆盘定理与特征值的估计J .吕梁高等专科学校 学报,2001(1) :15 - 16. 27长 沙 大 学 学 报 2005年9月

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1