3.2.5 按键及数码管显示电路
按键和二极管分别表示不同类别的测量,如下表所示:
按键 | 二极管 | 对应测试项 |
KEY1 | L1 | 测试R |
KEY2 | L2 | 测试C |
KEY3 | L3 | 测试L |
数码管显示显示内容如下图所示:
4.3 中断服务程序流程
五、系统测试及整机指标
电阻表值 | 万用表读数 | 本仪表读数 |
200欧姆 | 197.4 | 196 |
1k欧姆 | 991 | 1.06k |
20k欧姆 | 19.8k | 20.8k |
10k欧姆 | 9.88 | 10.4k |
100k欧姆 | 99.8 | 104k |
510K欧姆 | 516 | 515k |
电容表值 | 万用表读数 | 本仪表读数 |
100pF | |
|
120pF | |
|
1000pF | |
|
0.01uF | |
|
六、总结
由于SPCE061A的时钟最高可达49M,32个I/O口,而且具有一定的语音处理功能等,这些都为我们实现电路提供了非常便利的条件
1、量程的切换,一般情况我们会采用模拟开关或继电器来控制,我们在这里只需要几个I/O口即可实现该功能不需要外加任何电路,控制简单、节省成本;
2、SPCE061A有丰富的时基中断,我们可以采用2Hz实现定时一两秒,程序简单而且精度高;
3、SPCE061A定时器可以采用外部时钟源计数,则为我们计算振荡电路产生频率提供了便利,而且计算精度较高,控制简单;
4、SPCE061A具有语音处理功能,可以非常轻松的加入语音播报功能,使整个设计更加智能;
5、SPCE061A具有“看门狗”功能,避免出现“死机”现象。
该设计将也有很多不足之处,这里只是为大家提供一种思路,您可以根据自己的需求更加完善:如采用标准的电阻、电容和电感进行校准,可提高测量精度等。
七、参考资料
参考文献:
1、《LM555数据手册》
2、《CD4052数据手册》
3、《数字电子技术基础》
4、《SPCE061A单片机原理与应用》
5、《第二届全国大学生电子设计竞赛获奖作品选编(1995)》
3.2.6 音频输出电路
语音播报测量结果,当测试结果显示相对较稳定后开始播报测试结果。
四、软件设计
4.1 I/O口的分配
I/OA口的分配
IOA0-IOA3:按键输入;
IOA3-IOA4:模拟开关通道选择;
IOA5-IOA6:R测量电路中充电电阻选择;
IOA7-IOA8:R测量电路中充放电电容选择;
IOA9-IOA10:C测量电路中充电电阻选择;
IOA12-IOA14:R/C/L测量指示灯;
具体可参见下表:
IOA15-IOA12 | IOA11-IOA8 | IOA7-IOA4 | IOA3-IOA0 | ||||||
A15 | A14A13A12 | A11 | A10A9 | A8 | A7 | A6A5 | A4 | A3 | A2A1A0 |
× | 二极管
R:100 C:010 L:000 |
× | “1”有效 |
“0”有效 |
“1”有效 | 通道选择
R:0 0 C:0 1 L:1 0 *: 1 1 |
key
R:001 C:010 L:100 |
||
I/OB口的分配如下表所示:
IOB口分配情况如下:
IOB2:设置为反向输出
IOB4:设置为悬浮输入
B3、IOB4-IOB7:数码管的位选
IOB8-IOB15:数码管的段码控制
具体可参见下表:
IOB15-IOB12 | IOB11-IOB8 | IOB7-IOB4 | IOB3-IOB0 | |||
数码管段码 | B7B6B5 | B4 | B3 | B2 | B1B0 | |
数码管位选 | 悬浮输入 | 位选 | 反相输出 | ×× |
4.2 主程序流程图
3.2 各部分电路设计
3.2.1 电阻测量电路
电阻的测量采用“脉冲计数法”,如下图所示由555电路构成的多谐振荡电路,通过计算振荡输出的频率来计算被测电阻的大小。
555接成多谐振荡器的形式,其振荡周期为:T=t1+t2=(ln2)(R1+Rx)*C1+(ln2)Rx*C1
得出: 即:
电路分为2档:100≤Rx<1000欧姆:IOA5设置为高电平输出,IOA7设为低电平输出;
R2=200欧姆;C2=0.22uF;
Rx=(6.56*(1e+6))/(2* fx)-330/2
对应的频率范围为: 2.8K≤fx <16K1000≤Rx<1M欧姆:IOA6设置为高电平输出,IOA8设为低电平输出。
R1=20k欧姆;C1=103PF;
Rx =(1.443*(1e+8))/(2* fx)-(1e+4)