4、 会定时器相关计算。(参考简答题7)
五、分析设计题
1、A/D转换(实验七)
(1) 会分析与设计ADC0809与AT89S51的接口电路;
(2) 会根据硬件电路确定ADC0809的外部RAM地址; 上图中ADC引脚(实验中接P2.7)为0时,芯片被选中。
(3) 会分析与设计基于查询方式的A/D转换程序; #include \#include \
#define AIN0 XBYTE[0x0000] sbit EOC=P3^3; void main(void) { unsigned char i=0; unsigned char a; while(1) { AIN0=0; //开始AD转换 i=i; i=i; while(EOC==0); //等待转换完成 a=AIN0; //转换结果放在变量a中 } }
11
(4) 会根据采集到的数字量与输入模拟量进行对应的计算。
V:参考电压(VREF(?)?VREF(?)) n:采集到的数字量
测得模拟电压u?n?V 28
2、D/A转换(实验八)
(1) 会设计DAC0832与AT89S51的单缓冲方式接口电路;
(2) 会根据硬件电路确定DAC0832的外部RAM地址; 上图中DAC引脚(实验中接P2.7)为0时,芯片被选中。
(3) 会编写锯齿波或三角波程序; 三角波:
void triangle(void) //三角波子函数,如要改成锯齿波,只需去除产生下降沿的For循环。 { unsigned char i; for(i=0;i<255;i++) //三角波上升沿 { DAC0832=i; delay(1); } for(i=0;i<255;i++) //三角波下降沿,去除此循环即为锯齿波。 { DAC0832=255-i; delay(1); } }
12