毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

单片机车载水电解器控制系统设计+C语言程序+电路图+流程图 第3页

更新时间:2010-9-10:  来源:毕业论文
单片机车载水电解器控制系统设计+C语言程序+电路图+流程图 第3页
下面将详细介绍本系统用到C8051F330的特殊功能一.10位ADC(ADC0,只限于C8051F330)
C8051F330的ADC0子系统集成了两个16通道模拟多路选择器(合称AMUX0)和一个200ksps的10位逐次逼近寄存器型ADC,ADC中集成了跟踪保持电路和可编程窗口检测器。AMUX0、数据转换方式及窗口检测器都可用软件通过特殊功能寄存器来配置(见框图5.1)。ADC0可以工作在单端方式或差分方式,可以被配置为用于测量P0~P1、温度传感器输出或VDD(相对于P0~P1或GND)。只有当ADC控制寄存器(ADC0CN)中的AD0EN位被置‘1’时ADC0子系统才被使能。当AD0EN位为‘0’时,ADC0子系统处于低功耗关断方式。
1).模拟多路选择器
模拟多路选择器(AMUX0)选择去ADC的正输入和负输入,P0~P1、片内温度传感器输出和正电源(VDD)中的任何一个都可以被选择为正输入;P0~P1、VREF和GND中的任何一个都可以被选择为负输入。当GND被选择为负输入时,ADC0工作在单端方式;在所有其它时间,ADC0工作在差分方式。ADC0的输入通道由寄存器AMX0P和AMX0N选择。

转换码的格式在单端方式和差分方式下是不同的。每次转换结束后,寄存器ADC0H和ADC0L中保存ADC转换结果的高字节和低字节。转换数据在寄存器对ADC0H:ADC0L中的存储方式可以是左对齐或右对齐,由AD0LJST位的设置决定。当工作在单端方式时,转化码为10位无符号整数,所测量的输入范围为0 – VREF*1023/1024。下面是单端方式下数据左对齐和右对齐的例子。ADC0H和ADC0L寄存器中未使用的位被设置为‘0’。
当工作在差分方式时,转化码为10位有符号整数(2的补码),所测量的输入范围为-VREF ~ VREF*511/512。下面是差分方式下数据左对齐和右对齐的例子。对于右对齐数据,ADC0H寄存器中未用的高位填充数据字的符号扩展位。对于左对齐数据,ADC0L寄存器中未用的低位被清0。
需要特别注意的是,被选择为ADC0输入的引脚应被配置为模拟输入,并且应被数字交叉开关跳过。要将一个端口引脚配置为模拟输入,应将PnMDIN(n=0,1)寄存器中的对应位置0。为了使交叉开关跳过一个端口引脚,应将PnSKIP(n=0,1)寄存器中的对应位置1。有关端口I/O配置的详细信息见“14. 端口输入/输出”。
2).工作方式本文来自辣'文~论^文.网
ADC0的最高转换速度为200ksps。ADC0的转换时钟由系统时钟分频得到,分频数由ADC0CF寄存器的AD0SC位决定(转换时钟为系统时钟/(AD0SC+1),0 ≤ AD0SC ≤ 31)。
3). 转换启动方式
有6种A/D转换启动方式,由ADC0CN中的ADC0转换启动方式位(AD0CM2-0)的状态决定采用哪一种方式。转换触发源有:
1.写‘1’到ADC0CN的AD0BUSY位;
2.定时器0溢出(即定时的连续转换);
3.定时器2溢出;
4.定时器1溢出;
5.CNVSTR输入信号(P0.6)的上升沿;
6.定时器3溢出。
向AD0BUSY写‘1’方式提供了用软件控制ADC0转换的能力。AD0BUSY位在转换期间被置‘1’,转换结束后复‘0’。AD0BUSY位的下降沿触发中断(当被允许时)并置位ADC0CN中的中断标志(AD0INT)。注意:当工作在查询方式时,应使用ADC0中断标志(AD0INT)来查询ADC转换是否完成。当AD0INT位为逻辑‘1’时,ADC0数据寄存器(ADC0H:ADC0L)中的转换结果有效。注意:当转换源是定时器2溢出或定时器3溢出时,如果定时器2或定时器3工作在8位方式,使用定时器2/3的低字节溢出;如果定时器2/3工作在16位方式,则使用定时器2/3的高字节溢出。有关定时器配置方面的信息见“17. 定时器”。
需要注意的是,CNVSTR输入引脚还是端口引脚P0.6。当使用CNVSTR输入作为转换启动源时,P0.6应被数字交叉开关跳过。为使交叉开关跳过P0.6,应将寄存器P0SKIP中的位6置‘1’。有关端口I/O配置的详细信息,见“14. 端口输入/输出”。毕业论文http://www.751com.cn

 二.10位电流模式DAC(IDA0,只限于C8051F330)
C8051F330内部有一个电流模式数/模转换器(IDAC)。IDAC的最大输出电流可以有三种不同的设置:0.5mA、1mA和2mA。用IDA0控制寄存器中的IDA0EN位来使能或禁止IDAC(见图6.3)。当IDA0EN被设置为0时,IDAC引脚(P0.1)作为GPIO引脚使用;当IDA0EN被置1时,IDAC引脚的数字输出驱动器和弱上拉被自动禁止,该引脚被连到IDAC的输出。当IDAC被使能时,内部的带隙偏置发生器为其提供基准电流。当使用IDAC时,P0SKIP寄存器中的位1应被置1,以使交叉开关跳过IDAC引脚。
1). IDA0输出更新本文来自辣'文*论^文.网
IDA0具有灵活的输出更新机制,允许无缝满度变化,支持无抖动波形更新。IDA0有三种更新模式:写IDA0H、定时器溢出或外部引脚边沿。
2). On-Demand输出更新
IDA0的缺省更新模式(IDAC0.[6:4] = ‘111’)为“On-Demand”模式,更新发生在写IDA0数据寄存器高字节(IDA0H)时。在该模式下,写IDA0L时数据被保持,在写IDA0H之前IDA0的输出不会发生变化。如果要向IDAC的数据寄存器写10位的数据字,则10位数据字要写入低字节(IDA0L)和高字节(IDA0H)数据寄存器。在执行完对IDA0H的写操作后,数据被锁存到IDA0,因此,在需要10位分辨率的情况下,应先写IDA0L,再写IDA0H。IDAC可以用于8位方式,此时要将IDA0L初始化为一个所希望的数值(通常为0x00),只对IDA0H写入。


3). 基于定时器溢出的输出更新模式
在用定时器溢出启动ADC转换时,转换发生时间与处理器无关。与此类似,IDAC的输出也可以用定时器溢出事件触发更新。这一特性在以给定采样频率产生输出波形的系统中非常有用,可以避免中断延迟时间和指令执行时间变化对IDAC输出时序的影响。当IDA0CM位(IDA0CN.[6:4])被设置为‘000’、‘001’、‘010’或‘011’时,写入到两个IDAC数据寄存器(IDA0L和IDA0H)的数据被保持,直到相应的定时器溢出事件(分别为定时器0、定时器1、定时器2或定时器3)发生时,IDA0H:IDA0L的内容才被复制到IDAC输入锁存器,允许IDAC输出变为新值。
4). 基于CNVSTR边沿的输出更新模式
IDAC还可以被配置为在外部CNVSTR信号的上升沿、下降沿或两个边沿进行输出更新。当IDA0CM位(IDA0CN.[6:4])被设置为‘100’、‘101’或‘110’时,写入到两个IDAC数据寄存器(IDA0L和IDA0H)的数据被保持,直到CNVSTR输入引脚的边沿发生。IDA0CM位的具体设置决定IDAC输出更新发生在CNVSTR的上升沿、下降沿或在两个边沿都发生更新。当相应的边沿发生时,IDA0H:IDA0L的内容被复制到IDAC输入锁存器,允许IDAC输出变为所希望的新值。
5).输出字格式
IDAC数据寄存器(IDA0H和IDA0L)中的数据是左对齐的,这意味着IDAC输出数据字的高8位被映射到IDA0H的位7-0,而IDAC输出数据字的低2位被映射到IDA0L的位7和位6。图6.2示出了IDAC数据字的格式。

上一页  [1] [2] [3] [4] [5] [6] 下一页

单片机车载水电解器控制系统设计+C语言程序+电路图+流程图 第3页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。