用中断法读取AD数据.docx

PAGE \* MERGEFORMAT7 单片机课程课后作业 班级: 学号: 姓名: 作业要求:1 将例5.3.1改为使用中断法读取A/D数据 2 画出Proteus原理图 3 写出Keil编程程序 原理部分 1.1 51单片机的中断体系结构 80C51的中断系统有5个中断源(8052有 6个),2个优先级,可实现二级中断嵌套。MCS-51系列单片机中断系统的机构如下: 图1中断系统机构组成 51单片机的中断体系结构 与中断系统相关的特殊寄存器: 1)中断允许控制寄存器(IE) 控制各中断的开放和屏蔽 2)中断优先级控制寄存器(IP)设置各中断的优先级 3)定时器/计数器控制寄存器(TCON)定时器和外部中断的控制 4)串行口控制寄存器(SCON)串行中断的控制 中断类型分为三类: 1)T0、T1是2个定时器/计数器中断,由片内定时器提供; 2)INT0、INT1是2个外部中断,由引脚P3.2和P3.2提供; 3)RX、TX为串行口中断所用,由片内串口提供。 图2 51单片机的中断体系结构 1、(P3.2)/(P3.3)可由IT0(TCON.0)/IT1(TCON.2)选择其为低电平有效还是下降沿有效。当CPU检测到P3.2/P3.3引脚上出现有效的中断信号时,中断标志IE0(TCON.1)/IE1(TCON.3)置1,向CPU申请中断。 3、TF0(TCON.5)/TF1(TCON.7),片内定时/计数器T0/T1溢出中断请求标志。当定时/计数器T0/T1发生溢出时,置位TF0/TF1,并向CPU申请中断。 5、RI(SCON.0)或TI(SCON.1),串行口中断请求标志。当串行口接收完一帧串行数据时置位RI或当串行口发送完一帧串行数据时置位TI,向CPU申请中断。 上述只是向CPU申请中断,如果要得到CPU的相应,还要设置相应的中断允许IE和优先级IP,中断方能的到响应。 1)定时器中断的使用(以定时器0为例) …… TMOD |= 0x01 | 0x04; //使用模式1,16位计数器,使用|符号可以在使用多个定时器时不受影响 TH0=0xFF; //给定初值 TL0=245; //从245计数到255 EA=1; //总中断打开 ET0=1; //定时器中断打开 TR0=1; //定时器开关打开 void Timer0_isr(void) interrupt 1 using 1 //中断服务程序 { TH0=0xFF; //重新给定初值 TL0=245; …… } 2)外部中断的使用(以外部中断0为例) ………… EA=1; //全局中断开 EX0=1; //外部中断0开 IT0=0; //电平触发 void ISR_Key(void) interrupt 0 using 1 //中断服务程序 { ………… } 在这次作业中,我所采用的中断程序为外部中断0 1.2 ADC0804转换的基本原理 1.工作原理:所谓 A/D转换器就是模拟/ 数字转换器(ADC),是将输入的模拟信号转换成数字信号。信号输入端可以是传感器或转换器的输出,而 ADC的数字信号也可能提供给微处理器,以便广泛地应用。 2. ADC0804引脚图如下: 8 位 8 位 COMS依次逼近型的 A/D转换器. 三态锁定输 出 存取时间:135US 分辨率:8 位 转换时间:100US 总误差:正负 1LSB 工作温度:ADC0804LCN0~70 度 图3 ADC0804引脚图 3.引脚说明 /CS(引脚1)芯片选择信号,低电平有效 /RD(引脚 2) 外部读取转换结 果的控制输出信号。/RD为 HI 时,DB0~DB7处理高阻抗:/RD为 LO时, 数字数据才会输出。 /WR(引脚 3)用来启动转换的控制输入,相当于 ADC的转换开始(/CS=0 时), 当 /WR由 HI变为 LO时,转换器被清除:当/WR回到 HI 时,转换正式开始。 CS 、RD 、WR (引脚1、2、3):是数字控制输入端,满足标准TTL 逻辑电平。其中CS 和WR 用来控制A/D 转换的启 动信号。CS 、RD 用来读A/D 转换的结果,当它们同时为低电平时,输出数据锁存器DB0~DB7 各端上出现8 位并行二进制数码。 CLKI(引脚4)和CLKR(引脚19):ADC0801~0805 片内有时钟电路,只要在外部“CLKI”和“CLKR”两端外接一对电阻电容即可产生 A/D 转换所要求的时钟

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档