STC12C5A60S2系列单片机是STC生产的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容8051,但是速度快8-12倍.内部集成8路十位A/D转换(250k/s)。此系统硬件简洁,将复杂的硬件功能用软件实现,因此系统控制灵活,能很好地满足本题的基本要求和扩展要求简洁、灵活、可扩展性好,能完全达到设计要求,故采用这种方案。
1、实现了电子钟功能以及显示功能;(矩阵键盘)
2、实现了闹钟功能;(12V供电利用358让输出稳定到5V再利用分压原理测量阻值)
3、实现了电阻检测功能;
4、实现了报警功能;
5、实现了检测室内温度扩展功能;(DS18B20)
6、实现了检测方波频率计的扩展功能.
部分源码:
void
Ad_contr(unsigned char contr, unsigned char p)//A/D测电阻子函数 {
unsigned int x;
int r;
float tmp;
P1ASF= p;
ADC_CONTR=contr;
delay(5);
x=(unsigned int)((ADC_RES << 2) |
(ADC_RESL & 0x03));
tmp = x;
tmp =(int)((tmp * 500) / 1024);
if(tmp <= 10)
{
tmp = 0;
}
else if(tmp > 160 && tmp < 264)
{
tmp = tmp - 10;
}
else if(tmp >= 264)
{
tmp = tmp - 13;
}
r = (int)((97.7 * tmp) / (5.07 - tmp /
100));//标准电阻为9.77K
displayss(r);//显示电阻R的阻值
displays(tmp);//显示测试到的电压大小
}
|