单片机应用技术中级教程_第1页
单片机应用技术中级教程_第2页
单片机应用技术中级教程_第3页
单片机应用技术中级教程_第4页
单片机应用技术中级教程_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机应用技术中级教程 第七章第七章 单片机的典型外围接口技术单片机的典型外围接口技术 作为单片机应用系统,键盘和显示器作为最常用的输入、输出接口往往是 不可缺少的外围部件;另外计算机只能接受和处理数字信号,因此对于大量 的模拟信号的处理,往往需要A/D、D/A接口,本章将初步介绍这方面的一 些知识。 教学内容教学内容:键盘接口、键盘分类:独立联接式和矩阵式,编码键盘 和 非编码键盘,键盘接口电路和工作原理,LED显示器接 口,静态显示电路和动态显示电路及工作原理,并行 DAC接口 和简单编程,并行ADC接口和接口程序。 教学重点教学重点:简单键盘、LED显示接口电路及工作原理,并行DAC,

2、ADC与80C51单片机接口方法。 教学要求教学要求:掌握简单键盘、LED显示接口电路及工作原理; 掌握并行DAC,ADC与80C51单片机接口方法; 了解串DAC、ADC的接口 单片机应用技术中级教程 键盘处理程序任务键盘处理程序任务 1)1)键输入键输入 检查键盘是否有键被按下,消检查键盘是否有键被按下,消 除按键抖动。确定被按键的键号,除按键抖动。确定被按键的键号, 获取键号。获取键号。 硬件电路消除抖动或软件消除硬件电路消除抖动或软件消除 抖动。抖动。 2)2)键译码键译码 键号为键盘位置码,根据键号查表得出被按键号为键盘位置码,根据键号查表得出被按 键的键值。键值:数字键键的键值。键

3、值:数字键0 09 9、字符键、字符键0AH0AH 0FH0FH、功能键、功能键10H10H 。 延时等待延时等待10ms 仍有按键信号?仍有按键信号? Y 有按键信号?有按键信号? N Y N 键盘处理键盘处理 按键释放?按键释放? N Y 3)3)键处理键处理 根据键值转移到不同程序段。根据键值转移到不同程序段。 若键值属于数字、字符键,则调用显示数字若键值属于数字、字符键,则调用显示数字 和字符的子程序。和字符的子程序。 若键值属于功能键,则进行多分支转移,执若键值属于功能键,则进行多分支转移,执 行各个功能程序段。行各个功能程序段。 抖动时间抖动时间 10ms 开关动作时间开关动作时间

4、 100ms “ 1 ” “ 0 ” 10ms I/O 接接 口口 +5v +5v 消除抖动电路 开关开关 单片机单片机 键盘状态的监键盘状态的监 测方法:中断测方法:中断 方式还是查询方式还是查询 方式方式 7. 1 键盘接口键盘接口 单片机应用技术中级教程 1。键盘的工作原理: 有独立连接式和矩阵式两类键盘。 (1)独立连接式键盘: 这是一类最简单的键盘,每个键独立地连 接一根数据输入线。如 P222图图71 所示。当没有任何键被按下时, 所有输入线都为高电平,若某键被按下,该线被拉成低电平。 其优点是结构简单、使用方便;但占口线太多。 (2)矩阵式键盘:如 P223图图72 a 所示。它

5、包括:键盘开关矩阵; 输出(行线)锁存器;输入(列线)缓冲器。 2。矩阵式键盘的工作过程: 逐行扫描(使某行为0,其余为高); 读入列缓冲器状态,若为全1,则该行无键按下, 继续另一行;若有列线为0, 则该行该列的键被按下; 若已判断有某键被按下,则转该键的键处理子程序。 键盘扫描程序框图见P223图72 b, 扫描方式有:程控、定时、中断扫描。 单片机应用技术中级教程 单片机应用技术中级教程 独立式键盘电路独立式键盘电路矩阵式键盘矩阵式键盘 0 1 +5v C0 C1 R0 R1 键盘键盘 I/O接口接口 1.1.键盘扫描方式键盘扫描方式 (1).(1).扫描法扫描法 列线输出,行线输入。列

6、线输出,行线输入。 列线逐行输出列线逐行输出0 0,某行有按键,行线输入有,某行有按键,行线输入有0 0,若无按键,行线输入,若无按键,行线输入 全部为全部为1 1。 (2).(2).反转法反转法 行列线交换输入、输出,两步获取按键键号。行列线交换输入、输出,两步获取按键键号。 P1.0 P1.1 P1.7 +5v 每个按键单独占有一根每个按键单独占有一根I/O接接 口引线。口引线。 单键管理程序单键管理程序 jb p1.0, key2 ;jb p1.0, key2 ;有键按下有键按下P1.0=0P1.0=0 key1: acall dis ;key1: acall dis ;延时,防止抖动延

7、时,防止抖动 setb p1.0 setb p1.0 jb p1.0, key2 jb p1.0, key2 ; ;键是否释放消除了连击功能键是否释放消除了连击功能 jnb p1.0, key1 jnb p1.0, key1 key2:ret key2:ret ORG 0000H JB P1.0,AT2 ACALL DIS JB P1.0,AT4 MOV 30H,#00H AT1:JB P1.0,AT4 ACALL DIS AJMP AT1 AT2:JB P1.1,AT4 ACALL DIS JB P1.1,AT4 MOV 30H,#01H AT3:JB P1.1,AT4 ACALL DIS

8、AJMP AT3 AT4:RET DIS: 开 始 置 P1.0,P1.1为 1 P1.0=1? 调 显 示 子 程 序 P1.0=1? 键 值 送 30H P1.0=0? P1.1=1? P1.1=1? P1.1=0? 调 显 示 子 程 序 调 显 示 子 程 序 调 显 示 子 程 序 返 回 Y Y Y Y N Y Y N N N N 单片机应用技术中级教程 7. 1. 2 键盘的接口电路 1。直接使用I/O口的键盘电路 如 P224图图73 所示。 由于80C51的I/O口具有输出锁存与输入缓冲的功能,可用来组 成键盘电路。图中用P1口组成44的16键键盘,列线接低4位并通 过与门和

9、/INT0相连;行线串联一个二极管接高4位,串联二极管是 为了防止多键同时按下时使输出口短路。 单片机应用技术中级教程 开 始 返 回 输 出 全 扫 描 码 调 用 显 示 子 程 序 转 显 示 子 程 序 置 行 扫 描 码 初 值 键 值 寄 存 器 清 零 置 列 计 数 器 初 值 输 出 行 扫 描 码 检 测 有 键 按 下 ? 所 有 行 均 扫 描 完 ? 该 键 释 放 ? 该 列 有 键 按 下 ? 该 行 有 键 按 下 ? 检 测 有 键 按 下 ? 修 改 行 扫 描 码 键 值 寄 存 器 内 容 加 列 数 键 值 寄 存 器 加 1 列 码 右 移 1位 列

10、 计 数 器 计 数 被 按 之 键 ( 键 值 寄 存 器 ) 列 计 数 器 为 零 ? Y Y Y Y Y Y Y N N N N N N N 单片机应用技术中级教程 ORG 0000H AT0:ACALL KS1 JNZ AT1 AJMP DIS AT1:ACALL DIS ACALL KS1 JNZ AT2 AJMP DIS AT2:MOV R2,#0FEH MOV R3,#00H AT3:MOV P1,R2 MOV A,P1 ANL A,#0F0H CJNE A,#0F0H,AT4 MOV A,R2 JNB ACC.3,AT7 RL A MOV R2,A MOV A,R3 ADD

11、A,#04H 单片机应用技术中级教程 MOV R3,A AJMP AT3 AT4:MOV B,#04H AT5:JNB ACC.4,AT6 INC R3 RR A DJNZ B,AT5 AJMP AT7 AT6:ACALL DIS ACALL KS1 JNZ AT6 AT7:RET KS1:MOV P1,#0F0H MOV A,P1 ORL A,#0FH CPL A RET DIS: RET 单片机应用技术中级教程 2。利用I/O口和译码器的接口 如 P224图图74 所示。 利用138译码器可由三根口线产生8根列线,节省I/O口线。 单片机应用技术中级教程 3。利用串行口的键盘电路 如 P2

12、24图图75 所示。 单片机应用技术中级教程 7. 2 显示器接口 7. 2. 1 LED显示器的工作原理 1。发光二极管的控制 P225图图76 ,只有当U1U2 2.8V 亮 2。七段LED的控制 它是由若干发光二极管组合而成的8字形显示 块,由a、b、c、d、e、f、g七段及小数点h 组成,有共阳极和共阴极 两种结构形式。 如 P225图图77 所示。共阴极形的字形与字段的关系 如P226表表71所示。共阴极LED的公共端接地。 a g d f ec b 10 9876 gf GND ab edGND c dp 12345 VDVD 5 V (a) (b)(c) dp (a) 外型结构;

13、(b) 共阴极;(c)共阳极 单片机应用技术中级教程 数码管字型编码表 显显 示示 字字 符符 字字 型型 共共 阳阳 极极共共 阴阴 极极 d p gfedcba字型字型 码码 d p Gfedcba 字型字型 码码 0011000000C0H001111113FH 1111111001F9H0000011006H 2210100100A4H010110115BH 3310110000B0H010011114FH 441001100199H0110011066H 551001001092H011011016DH 661000001082H011111017DH 7711111000F8H00

14、00011107H 881000000080H011111117FH 991001000090H011011116FH AA1000100088H0111011177H BB1000001183H011111007CH CC11000110C6H0011100139H 单片机应用技术中级教程 显示显示 字符字符 字字 型型 共共 阳阳 极极共共 阴阴 极极 d p gfedcba 字型字型 码码 d p Gfedcba 字型字型 码码 DD10100001A1H010111105EH EE1000011086H0111100179H FF100011108EH0111000171H HH100

15、0100189H0111011076H LL11000111C7H0011100038H PP100011008CH0111001173H RR11001110CEH0011000131H UU11000001C1H001111103EH YY1001000191H011011106EH 1011 1 111BFH0100000040H .0111 1 1117FH1000000080H 熄熄 灭灭 灭灭11111111FFH0000000000H 单片机应用技术中级教程 7. 2. 2 显示器的分类与接口 显示电路通常分为静态显示和动态显示两类。 a b h COM a f b g e c

16、d h a b h COM a b h COM 每个每个LEDLED需要一个需要一个8 8位并行口位并行口 COM h COM D7 D1 D0 D0 D1 D2 hbbh COM a f b g e c d h aab a 多位多位LEDLED共用一个共用一个8 8位字段口,位字段口, 各位各位LEDLED公共端用字位口控制,公共端用字位口控制, 扫描输出显示不同字形。扫描输出显示不同字形。 单片机应用技术中级教程 (1)静态显示电路: 静态显示要求每个8字形的显示块都要有段码 锁存器(如 P227图图78 及 图图79 所示)。图78采用软件译段码, 273 锁存;图79采用硬件译码,24

17、7 译码驱动。 单片机应用技术中级教程 单片机应用技术中级教程 单片机应用技术中级教程 (2)动态显示电路:它和静态显示相比,可以节省显示驱动器,但 要求CPU定时对显示器进行刷新,要占用较多的CPU工作时间。 其显示电路如 P229图图711所示,包括显示块、字形锁存器和字 位锁存器。工作过程是:先将显示字形代码送字形锁存器锁存,然 后把要显示的位置送字位锁存器锁存,从而使该位点亮。为防止闪 烁,显示时间为12ms ,且每隔20ms以内要刷新一次。 单片机应用技术中级教程 单片机应用技术中级教程 例1(P230):通过P1口及138译码器的接口电路。这是一个动态显 示的例子。接口电路见 P2

18、31图713 。 工作过程: 首先,使P1口的低4位输出字形代码;P1口的高3位输 出一个位扫描字(与138译码配合),显示某一位,并保持1ms。各 位显示一遍之后,关显示。尔后,使P1口的高4位转为输入方式,P1 口的低4位输出键扫描信号,有键按下时,转入键译码和处理程序。 其中,要注意在适当的时候进行显示器刷新,以使显示不灭掉。 其它的有关显示与键盘的接口方法将在后续课程中进一步讲解。 单片机应用技术中级教程 单片机应用技术中级教程 单片机应用技术中级教程 单片机应用技术中级教程 7. 3 DAC 数数 / 模转换接口模转换接口 一、一、 D/AD/A转换器的性能指标转换器的性能指标 1.

19、1.分辨率分辨率(Resolution)分辨率是指D/A转换器能分辨的最小输出模拟 增量,取决于输入数字量的二进制位数。如果数字量的位数为n n ,则称D/A转 换器分辨率为 n n位位或称为模拟量满量程的1/21/2n n. .如8位D/A转换器,转换后的电 压满量程是5V,则分辨率为8位或5V/28=20mV. (Conversion Accuracy)指满量程时DAC的实际模拟输出值和理论值的 接近程度。转换精度为1/2个最低有效位(常用1/2 LSB表示),如8位D/A转 换器的精度为: (1/2)(1/256)= 1/512 (Offset Error)偏移量误差是指输入数字量为零时

20、,输出模拟量对零的 偏移值。 (Linearity)线性度是指DAC的实际转换特性曲线和理想直线之间的最大 偏移差。 5.建立时间建立时间 建立时间是描述D/A转换速度快慢的一个参数,指从输入数字 量变化到输出达到终值误差1/2LSB(最低有效位)时所需的时间,通常以建 立时间来表明转换速度. 单片机应用技术中级教程 二、二、 D/AD/A转换原理转换原理 n n位数字量与模拟量的关系式:位数字量与模拟量的关系式: V VO O = V = VREF REF / 2 / 2n n D D(V(VREF REF - - 参考电压参考电压) ) 三、集成三、集成D/AD/A转换器转换器DAC083

21、2DAC0832 DAC0832 DAC0832 是是8 8位双缓冲器结构的位双缓冲器结构的D/AD/A转换器。转换器。单电源供电,在 +5+15V范围内均可正常工作。基准电压的范围为10V,电流建立 时间为1s,CMOS工艺,低功耗20mW。 DAC0832共有20条引脚,双列直插式封装。引脚连接和命名如图 所示。 DAC0832内部结构框图 D7D0D7D0:转换数据输入端, :片选信号,输入,低电平有效。ILEILE:数据锁存 允许信号,输入,高电平有效。 :写信号1,输入,低电平有效。 :写信 号2,输入,低电平有效。 :数据传送控制信号,输入,低电平有效。 I IOUT1 OUT1:

22、 :电流输出1,当DAC寄存器中各位为全“1”时,电流最大;为全“0”时,电 流为0。 I IOUT2 OUT2: :电流输出2,电路中保证IOUT1+IOUT2=常数) R Rfb fb:反馈电阻端,片内 集成的电阻为15k。V Vref ref: :参考电压,可正可负,范围为-10+10V。DGNDDGND:数字数字 量量地。AGNDAGND:模拟量地。 CS 1WR 2WR XFER 单片机应用技术中级教程 四、四、MCS-51MCS-51和和D/AD/A的接口的接口 输入数字量B b7 b6 b5 b4 b3 b2 b1 b0 单极性 Vout(理想值) 双极性 Vout(理想值) +

23、VREF时+ VREF时 1 1 1 1 1 1 1 1-VREF (255/256) |VREF (127/128) 1 1 0 0 0 0 0 0-VREF (192/256)VREF (64/128) 1 0 0 0 0 0 0 0-VREF (128/256)0 0 1 1 1 1 1 1 1-VREF (127/256)-VREF (1/128) 0 0 1 1 1 1 1 1-VREF (63/256)-VREF (64/128) 0 0 0 0 0 0 0 0-VREF (0/256)-VREF (127/128) 单片机应用技术中级教程(a)DAC寄存器直通方式 DAC寄存器控

24、制脚: 输入寄存器控制脚: XFER2WR CS 1WR ILEILE 单片机应用技术中级教程 例例1 1:D/AD/A转换程序,用转换程序,用DAC 0832DAC 0832输出输出0 05V5V锯齿波,电路为直通方锯齿波,电路为直通方 式式。设设V VREF REF= - 5V = - 5V,DAC 0832DAC 0832地址为地址为7FFFH(CS7FFFH(CS接接P2.7)P2.7),脉冲周期要,脉冲周期要 求为求为100ms100ms。 DACSDACS:MOVMOVDPTRDPTR,#7FFFH#7FFFH;0832 I/O0832 I/O地址地址 MOVMOVA A,#0#0

25、;开始输出;开始输出0V0V DACLDACL:MOVXMOVXDPTRDPTR,A A;输出模拟量;输出模拟量 INCINCA A;升压;升压 ACALLACALL DELAYDELAY;延时;延时100ms/256100ms/256 AJMPAJMPDACLDACL;连续输出;连续输出 DELAYDELAY:;延时子程序;延时子程序 100ms 几点说明:几点说明: (1)程序每循环1次,A加1,可见锯齿波的上升沿是由256个小阶梯构成的。 (2)可通过循环程序段的机器周期数,计算出锯齿波的周期,并可根据需要通过延 时的办法来改变波形周期。 (3)通过A加1,可得到正向的锯齿波;如要得到负

26、向的锯齿波,只要将A加1改为A 减1指令即可实现。 (4)程序中A的变化范围为0255,所得到的锯齿波为满幅度。 单片机应用技术中级教程 例例2 2:产生矩形波、方波 ORG 0000H MAIN: MOV DPTR,7FFFH ;指向0832口地址 SS1: MOV A,00H ;取下限值 MOVX DPTR,A ;输出 ACALL DMS1 ;调用延时程序 MOV A,#0FFH ;取上限值 MOVX DPTR,A ;输出 ACALL DMS2 ;调用延时程序 SJMP SS1 END 几点说明几点说明: (1)以上程序产生的 是矩形波,其低电平的 宽 度 由 延 时 子 程 序 DMS1

27、所延时的时间来 决定,高电平的宽度则 由子程序DMS2所延时 的时间来决定。 (2)改变延时子程序 DMS1和DMS2的延时时 间,就可改变矩形波上 下 沿 的 宽 度 。 若 DMS1=DMS2(两者延时 一样),则输出的是方 波。 (3)改变上限值或下 限值便可改变矩形波 的幅值:单极性输出 时为0-5V或0+5V;双 极性输出时为-5+5V。 单片机应用技术中级教程 利用DAC0832产生三角波的参考程序如下: MOV A,00H ;取下限值 MOV DPTR,7FFFH ;指向0832口地址 SS1:MOVX DPTR,A ;输出 NOP ;延时 NOP NOP SS2: INC A

28、;转换值增量 JNZ SS1 ;未到峰值,则继续 SS3: DEC A ;已到峰值,则取后沿 MOVX DPTR,A ;输出 NOP ;延时 NOP NOP JNZ SS3 ;未到谷值,则继续 SJMP SS2 ;已到谷值,则反复 几点说明几点说明: (1)本程序所产 生的三角波谷值 为 0 , 峰 值 为 +5V(或-5V)。若 改变下限值和上 限值,那么三角波 的谷值和峰值也 随之改变。 (2)改变延时时 间可改变三角波 的斜率。 (3)若在谷值和 峰值处延时较长 时间的话,则输出 梯形波,延时时间 的长短取决于梯 形波上下边的宽 度。 单片机应用技术中级教程 (b)输入寄存器直通方式 单

29、片机应用技术中级教程 (c)两个寄存器同时选通及锁存方式 单片机应用技术中级教程 3. DAC08323. DAC0832的双极性输出接口的双极性输出接口 DAC0832的双极性输出接口 运算放大器A2的作用是把运算放大器A1的单极性输出变为双极性输出。 例如,当Vref=+5V时,A1的电压输出范围为0-5V。当VOUT1=0V时,VOUT2=- 5V;当VOUT1=-2.5V时,VOUT2=0V;当VOUT1=-5V时,VOUT2=+5V。VOUT2的输出范 围为-5V+5V。VOUT2与参考电压Vref的关系为: 2 128 128 OUTref VV 数字码 单片机应用技术中级教程 8

30、031和两片DAC0832的接口(双缓冲方式) 单片机应用技术中级教程 同样地,也有并行扩展与串行扩展D/A,有关并行扩展的方法我们将在 其它课程中作介绍。P242245介绍了利用MAX518芯片串行扩展D/A 的方法。 MAX518的引脚及内部结构如P242图726所示。一片 MAX518可扩展2路的8位D/A。它与80C51单片机的接口电路见 P244 图图 728 。有关的模拟I2C总线的编程可参考P244245, (各程序需补充某些 语句) MAX518 编程(编程(P206),设置一路),设置一路DAC0 输出的程序如下:输出的程序如下: OUT0: MOV A, #ADDR ; #

31、ADDR=#58H ACALL START ACALL WRBYT L1:ACALL CHACK JB F0, L1 ; 确证收到确证收到ACK信号信号 MOV A, #DAC0 ; #DAC0=#00H ACALL WRBYT L2:ACALL CHACK JB F0, L2 ; 确证收到确证收到ACK信号信号 MOV A, B ; 取要发送的数(在取要发送的数(在B中)中) ACALL WRBYT L3:ACALL CHACK JB F0, L3 ; 确证收到确证收到ACK信号信号 ACALL STOP RET R2R1R0RSTPD/A0 单片机应用技术中级教程 设置两路DAC输出的程序

32、及后面的三个子程序,在 每一句 ACALL WRBYT 下面,也都要加入下面两语句: L: ACALL CHACK JB F0, L ; 确证收到确证收到ACK信号信号 单片机应用技术中级教程 单片机应用技术中级教程 7. 4 ADC 模模 / 数转换接口数转换接口 一、一、 A/DA/D转换器的性能指标转换器的性能指标 (Resolution)分辨率是指A/D转换器能分辨的最小输入模拟增量,取决于 输入数字量的二进制位数。如果数字量的位数为n n ,则称A/D转换器分辨率为 n n 位位或称为模拟量满量程的1/21/2n n. .如8位D/A转换器,转换后的电压满量程是5V,则分 辨率为8位

33、或5V/28=20mV. (Conversion Accuracy)指转换值和理论值的之间的误差。转换精度为 1/2个最低有效位(常用1/2 LSB表示),也就是量化误差。如8位A/D转换器的 精度(即相对量化误差)为: (1/2)(1/256)= 1/512;绝对量化误差满 量程电压相对量化误差5V 3.3.转换器转换时间转换器转换时间:把输入的模拟量转换为n位数字量所需要的时间。转换 时间大约在几微秒到几百微秒之间。 单片机应用技术中级教程 二、二、 A/DA/D转换器芯片转换器芯片ADC0809ADC0809 ADC0809的内部逻辑结构图 ADC 0809/0808ADC 0809/0

34、808为为8 8路输入通道、路输入通道、8 8位逐次逼近式位逐次逼近式A/DA/D转换器,可分时转换转换器,可分时转换8 8路模路模 拟信号。拟信号。 由一个由一个8 8位位 逐次逼近逐次逼近 式式A/DA/D转换转换 器、器、8 8路模路模 拟转换开拟转换开 关、关、3-83-8地地 址锁存译址锁存译 码器和三码器和三 态输出数态输出数 据锁存器据锁存器 组成组成 单片机应用技术中级教程 ADC0809通道选择表 ADC0809的引脚图 单片机应用技术中级教程 (1) IN7IN0:模拟量输入通道。ADC0809对输入模拟量 的要求主要有:信号单极性,电压范围05 V,若信号过小还 需进行放

35、大。另外,在A/D转换过程中,模拟量输入的值不应 变化太快,因此,对变化速度快的模拟量,在输入前应增加采 样保持电路。 (2) A、B、C:地址线。A为低位地址,C为高位地址, 用于对模拟通道进行选择。上图中为ADDA、ADDB和ADDC,其地 址状态与通道相对应的关系见上表。 (3) ALE:地址锁存允许信号。在对应ALE上跳沿,A、 B、C地址状态送入地址锁存器中。 单片机应用技术中级教程 (4)START:转换启动信号。START上跳沿时,所有内部寄 存器清0;START下跳沿时,开始进行A/D转换;在A/D转换期 间,START应保持低电平。 (5)D7D0:数据输出线。其为三态缓冲输

36、出形式,可以和 单片机的数据线直接相连。 (6)OE:输出允许信号。其用于控制三态输出锁存器向单片 机输出转换得到的数据。OE=0,输出数据线呈高电阻;OE=1, 输出转换得到的数据。 (7)CLK:时钟信号。ADC0809的内部没有时钟电路,所需 时钟信号由外界提供,因此有时钟信号引脚。通常使用频率为 500kHz的时钟信号。 单片机应用技术中级教程 (8)EOC:转换结束状态信号。EOC=0,正在进行转换; EOC=1,转换结束。该状态信号既可作为查询的状态标志,又 可以作为中断请求信号使用。转换时间约128 s 。 (9)VCC:+5 V电源。 (10)Vref:参考电源。参考电压用来与

37、输入的模拟信号进 行比较,作为逐次逼近的基准。其典型值为+5 V(Vref (+) =+5 V,Vref(-) =0 V) 单片机应用技术中级教程 3.ADC 08093.ADC 0809与单片机连接与单片机连接 ADC0809ADC0809的的8 8个通道个通道IN0IN7IN0IN7的地址为:的地址为:7FF8H7FFFH(7FF8H7FFFH(如下图)如下图) A/DA/D转换程序:转换程序: MOV DPTRMOV DPTR,#07FF8H #07FF8H ;ADCADC口地址口地址 MOV A MOV A,#00#00 ;转换;转换IN0IN0 MOVX DPTR MOVX DPTR

38、,A A ;启动;启动A/DA/D转换转换 LCALL DELAY LCALL DELAY ;等待转换结束;等待转换结束 MOVX A MOVX A,DPTRDPTR ;取转换结果;取转换结果 AD0 7 ALE INT0 WR P2 .7 RD D0 7 ADDABC CLK EOC ALE START OE 1 1 1 1 1 MCS-51ADC0809 8 3 IN0 7 注意:此 处的A与 A/D转换 无关,可为 任意值 单片机应用技术中级教程 A/D转换后得到的是数字量的数据,这些数据应传送给单片 机进行处理。数据传送的关键问题是如何确认A/D转换完成, 因为只有确认数据转换完成后,

39、才能进行传送。为此,可采用 下述三种方式。 1) 定时传送方式定时传送方式 对于一种A/D转换器来说,转换时间作为一项技术指标是 已知的和固定的。例如,ADC0809转换时间为128 s,相当于6 MHz的MCS-51单片机R 64个机器周期。可据此设计一个延时子 程序,A/D转换启动后即调用这个延时子程序,延迟时间一到, 转换肯定已经完成了,接着就可进行数据传送。 单片机应用技术中级教程 2) 查询方式查询方式 A/D转换芯片有表明转换完成的状态信号,例如ADC0809的 EOC端。因此,可以用查询方式,软件测试EOC的状态,即可 确知转换是否完成,然后进行数据传送。 3) 中断方式中断方式

40、 把表明转换完成的状态信号(EOC)作为中断请求信号, 以中断方式进行数据传送。 在图中,EOC信号经过反相器后送到单片机的INT0,因此 可以采用查询该引脚或中断的方式进行转换后数据的传送。 不管使用上述哪种方式,一旦确认转换完成,即可通过指令进 行数据传送。 单片机应用技术中级教程 首先送出口地址,并以作选通信号,当信号有效时,OE信号即 有效,把转换数据送上数据总线,供单片机接收,即: MOV DPTR,#7FF8H ;选中通道0 MOVX A, DPTR ;信号有效,输出转换后的数据到A ADC0809与单片机的连接方法,及程序见课本P208-P211 单片机应用技术中级教程 三、应用

41、举例三、应用举例 根据电路图,设计一个8路模拟量输入的巡回检测系统,采样 数据依次存放在片内RAM 78H7FH单元中,其数据采样的初始化 程序和中断服务程序如下。(中断法) 初始化程序: ORG 0000H ;主程序入口地址 AJMP MAIN ;跳转主程序 ORG 0013H ;中断入口地址 AJMP INT1 ;跳转中断服务程序 单片机应用技术中级教程 主程序 MAIN: MOV R0,#78H;数据暂存区首址 MOV R2,#08H ;8路计数初值 SETB IT1 ;边沿触发 SETB EA ;开中断 SETB EX1 ;允许中断 MOV DPTR,#7FF8H ;指向0809 IN0通道 地址 MOV A,#00H ;此指令可省,A可为 任意值 单片机应用技术中级教程 LOOP:MOVX DPTR,A ;启动A/D转换 HERE:SJMP HERE ;等待中断 DJNZ R2, LOOP ;巡回

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论