C8051F020硬件电路设计一直觉得自己设计的C8051F020电路板的过程比较凌乱,想找个时间来总结下,所以就有了这篇文章。其实这个电路板的功能很简单,主要就是板上设计了LCD12864、LCD1602以及键盘的接口,但是在设计过程中出现了很多问题,现在来做个总结。首先来个电路板的照片如图1所示。电路板所以的IO口都用牛角座引出,方便连接。图1 系统板实物图片1、关于ADC的设计。去年在研究C8051F020片内的ADC0的时候发现一个奇怪的问题,每当采采集电压达到3V左右的时候采集的数字量就已经达到了最大值4095(参考电压接的是3.3v),即使电压再升高,比如达到3.2V,采集的电压的数字量始终是4095(12位的ADC),当时想当然的认为是器件的非线性问题,但是官方给出的数据是转换误差为:1LSB,当时就一直怀疑芯片给的数据有问题。为了验证是否是非线性问题,于是就自己做测试,采集到的数据如图2所示。图2 ADC0测试曲线从图2中看到器件在03 V左右的时候采集的数据线性是非常好的,只是在达到3 V以后数据始终是4095。这到底是什么问题