P2.1 26 数字I/O或模拟输入 端口P2.1
P2.2 27 数字I/O或模拟输入 端口P2.2
P2.3 28 数字I/O或模拟输入 端口P2.3
P2.4 29 数字I/O或模拟输入 端口P2.4
P2.5 30 数字I/O或模拟输入 端口P2.5
P2.6 31 数字I/O或模拟输入 端口P2.6
2.3 I/O端口设计
2.3.1 端口介绍
C8051F410单片机的一大特性是:可在系统重组,自由分配I/O口功能。设计者可以完全根据设计需要利用交叉开关设置控制数字功能的引脚分配,定义引脚功能只受物理I/O引脚数的限制。不论交叉开关的设置如何,端口I/O引脚的状态总是可以被读到相应的端口锁存器。这种资源分配的灵活性是通过使用优先权交叉开关译码器实现的。
C8051F410有24个I/O端口可供使用,这些引脚可以被内部数字和模拟功能模块定义。端口引脚属于3个8位端口P0.0~P2.7,每个端口引脚都可以被定义为通用I/O,与一般单片机用法相似,也可以按一定规律为其重定义,使其具有模拟或数字功能。图2.4是端口I/O原理图。
图2.4 端口I/O原理图
端口驱动电压VIO是本芯片的特色之一。对于一些使用低于5V电压的芯片来说,与5V标准外设接口无疑带来一些麻烦,需要采用电平转换,这样无疑会增加提及和复杂度。C8051F410单片机片内I/O端口采用耐5V设计,采用了端口电压VIO模式使得I/O输出的电平可以方便的才5V以内设定,省去了外部连接元件。
所有的端口I/O都进行了5V耐压设计,工作电压由VIO 设定,它也要满足最大耐压值要求。P1和P2口的驱动电压不应高于VIO的电平,否则会产生吸收电流。端口I/O单元可以方便地被配置为漏极开路或推挽输出方式。可通过设置PnMDOUT的值得到想要的输出方式。图2.5所示为端口I/O内部单眼框图。
图2.5 端口I/O的单元框图
2.3.2 端口设计
本系统中使用默认的P0.4、P0.5两个端口作为串口通信的端口;P1.5、P1.6、P1.7作为信号的输入端,将需要采集的信号通过这三个端口输入;其余P0.0~P2.7端口可以作为输入端,增加采集信号的输入个数。
2.4 模数转换电路设计
2.4.1 ADC介绍
模/数转换在大多数工业应用中是一个重要的不可或缺的功能。对于传统的51单片机系统,这一功能多采用片外扩展。
片外的A/ D芯片很多,价格也较贵,特别是一些中速或高速的转换芯片,费用比微处理器本身要贵好多倍。
除了一般12位逐次逼近A/D的基本功能,C8051F410还扩展了很多功能,比如自动累加、窗口比较、低功耗的突发模式,可以把CPU干扰降到最小,给编程应用带来了诸多方便。
C8051F410器件内部有一个1位SAR ADC0和一个27通道单端输人多路选择器,该ADC0的最大转换速率为200ksps。系统包含一个可编程的模拟多路选择器,用于选择ADC0的输入。端口0~2可以作为ADC0的输入;另外,片内温度传感器的输出和电源电压(VDD)也可以作为ADC0的输入。用户可以很方便地将ADC0置于关断状态或使用突发模式以降低功耗。
A/D转换的启动方式比较多样,包括:软件命令、定时器2溢出、定时器3溢出和外部转换信号启动信号。可灵活地使用软件事件、周期性(定时器溢出)信号或外部硬件信号触发转换。在完成1、4、8或16次采样并由硬件累加器完成累加后,一个状态位指示转换完成并产生中断(如果被允许)。转换结束后,结果数据字被锁存到ADC0数据寄存器中。当系统时钟频率很低时,突发模式允许ADC0自动从低功耗停机状态被唤醒,采集和累加样本值,然后重新进人低功耗停机状态,不需要CPU干预。 C8051F410单片机引信性能考核电路检测系统设计+源代码(5):http://www.751com.cn/jixie/lunwen_3491.html