单片机硬件设计需要注意哪些问题

核心提示(1)存储器扩展:容量需求,在选择时就考虑到单片机的内部存储器资源,如能满足要求就不需要进行扩展,在必须扩展时注意存储器的类型、容量和接口,一般尽量留有余地,并且尽可能减少芯片的数量。选择合适的方法、ROM和RAM的形式,RAM是否要进行掉

(1)存储器扩展:容量需求,在选择时就考虑到单片机的内部存储器资源,如能满足要求就不需要进行扩展,在必须扩展时注意存储器的类型、容量和接口,一般尽量留有余地,并且尽可能减少芯片的数量。选择合适的方法、ROM和RAM的形式,RAM是否要进行掉电保护等。

(2)I/O接口的扩展:单片机应用系统在扩展I/O接口时应从体积、价格、负载能力、功能等几个方面考虑。应根据外部需要扩展电路的数量和所选单片机的内部资源(空闲地址线的数量)选择合适的地址译码方法。

(3)输入通道的设计:输入通道设计包括开关量和模拟输入通道的设计。开关量要考虑接口形式、电压等级、隔离方式、扩展接口等。模拟量通道的设计要与信号检测环节(传感器、信号处理电路等)结合起来,应根据系统对速度、精度和价格等要求来选择.

(4)输出通道的设计:输出通道设计包括开关量和模拟量输出通道的设计。

(5)人机界面的设计:人机界面的设计包括输入键盘、开关、拨码盘、启/停操作、复位、显示器、打印、指示、报警等

(6)通信电路的设计:单片机应用系统往往作为现场测控设备,常与上位机或同位机构成测控网络。

(7)印刷电路板的设计与制作:电路原理图和印刷电路板的设计常采用专业设计软件进行设计,如Protel,OrCAD等。

(8)负载容限的考虑:单片机总线的负载能力是有限的。如MCS-51的P0口的负载能力为4mA,最多驱动8个TTL电路,P1~P3口的负载能力为2mA,最多驱动4个TTL电路。

(9)信号逻辑电平兼容性的考虑:在所设计的电路中,可能兼有TTL和CMOS器件

(10)电源系统的配置:单片机应用系统一定需要电源,要考虑电源的组数、输出功率、抗干扰。

(11)抗干扰的实施:采取必要的抗干扰措施是保证单片机系统正常工作的重要环节

void adchange()//AD采集程序,采集3路

{

uchar temp7,temp8,temp9,temp10,temp11,temp12;//这些变量用来暂存转换结果

ADC_ConTR=ADC_ConTR|0X80; //10000000 开启转换电源

Delay1ms(1); //延时,等待内部电源稳定

P1M0=P1M0|0X07; //设置p1.0 P1.1和 p1.3所在通道为开/漏模式

P1M1=P1M1|0X07;

ADC_ConTR=0xe0; //11100000 开启P1.0通道开始转换

Delay25us(10); //延时一端时间,使输入电压达到稳定

ADC_DATA =0x00; //清A/D转换结果寄存器

ADC_LOW2 =0x00;

ADC_ConTR |= 0x08; //ADC_START=1,开始转换

while(!(ADC_CONTR&0x10)); //0001,0000 等待A/D转换结束

temp7=ADC_DATA; //读取转换结果

temp8=ADC_LOW2;

ADC_DATA =0x00; //清A/D转换结果寄存器

ADC_LOW2 =0x00;

ADC_ConTR=ADC_CONTR&0xe7; //将ADC_FLAG软件清零

Delay25us(1);

ADC_ConTR |= 0x08; //ADC_START=1,开始转换

while(!(ADC_CONTR&0x10)); //0001,0000 等待A/D转换结束

temp9=ADC_DATA; //读取转换结果

temp10=ADC_LOW2;

ADC_ConTR=ADC_CONTR&0xe7; //将ADC_FLAG软件清零

Delay25us(1);

ADC_DATA =0x00; //清A/D转换结果寄存器

ADC_LOW2 =0x00;

ADC_ConTR |= 0x08; //ADC_START=1,开始转换

while(!(ADC_CONTR&0x10)); //0001,0000 等待A/D转换结束

temp11=ADC_DATA; //读取转换结果

temp12=ADC_LOW2;

ADC_ConTR=ADC_CONTR&0xe7; //将ADC_FLAG软件清零

Delay25us(1);

ADC_DATA =0x00; //清A/D转换结果寄存器

ADC_LOW2 =0x00;

}

 
友情链接
鄂ICP备19019357号-22