的第一个数据到达了最高位再来一个脉冲第一个脉冲就会从最高位移出。6片7LS164首尾相串而时钟端则接在一起这样当输入8个脉冲时从单片机RXD端输出的数据就进入到了第一片74LS164中了而当第二个8个脉冲到来后这个数据就进入了第二片74LS164而新的数据则进入了第一片74LS164这样当第六个8个脉冲完成后首次送出的数据被送到了最左面的74LS164中其他数据依次出现在第一、二、三、四、五片74LS164中。
3软件设计
31AD转换器的软件设计
单片机控制系统中通常要用到AD转换根据输出格式常用的AD转换方式可分为并行AD和串行AD。并行方式一般在转换后可直接接收但芯片的引脚比较多串行方式所用芯片引脚少封装小但需要软件处理才能得到所需要的数据。可是单片机IO引脚本来就不多使用串行器件可以节省IO资源。
ADC0832是8位逐次逼近模数转换器可支持两个单端输入通道和一个差分输入通道。相同功能的器件还有ADC0834ADC0838ADC0831。所不同的是它们的输入通道数量不同。它们的通道选择和配置都是通过软件设置。
311ADC0832芯片接口程序的编写
单片机串行工作方式时串行口是作为同步移位寄存器使用。这时以P33端作为
f
数据移位的入口和出口而由P36端提供移位时钟脉冲。单片机串行口方式0与ADC0832的接口单片机P20接ADC0832的CSP36接0832的CLK作为时钟信号输出端P37接0832的DO和DI作为启动位、配置位的发送端以及AD转换后输出数据的接收端。由于ADC0832在CS变低后的前3个周期内DO端为高阻态转换开始后DI线禁止因此DI端和DO端可连接在一起。ADC0832的时钟频率最高为400kHz单片机晶振可选用4MHz在TXD的输出频率为4MHz123333kHz符合要求。ADC0832输出的串行数据共15位由两段8位数据组成前一段是最高位在先后一段是最高在后两段数据的最低位共用。只有在时钟的下降沿ADC0832的串行数据才移出一位。由单片机控制时钟信号的发送并由P36发出以达到控制ADC0832输出数据位的目的。为了得到一列完整的8位数据单片机分两次采集含有不同位的数据再合成一列完整的8位数据。
ADC0832通过内部多路器来控制选择通道处理器的控制命令通过DI引脚输入。如下流程图所示当模拟信号输入开始后首先是CS使能信号也就是片选信号有效这时是低电平有效如果片选是高电平时停止转换。当时钟信号有效时输入通道的控制字来确定所选择的通道读取数据后就开始将模拟量转换位数字量AD转换结束后单片机读取数值如果没转换完又回到使能开始。
开始
使能芯片
产生时钟信号
输入通道控制字
读取2字节数据开始转r