南昌航空大学信息工程学院电子信息科学与技术专业课设报告温度采集与控制(二)
ucharad_read(); //声明读A/D转换结果函数
void display(ucharbai,ucharshi,ucharge ); //声明数码管显示函数
设计主程序如下,启动A/D转换后读数再通过除法和求余得到温度的个、十、百位,最后由P0口并行输出显示
void main(){ uchar adout,a1,a2,a3; init(); //调用初始化函数 while(1)
{ad_start(); //启动A/D转换 Delay(10); //延时
adout=ad_read(); //读取转换结果 bj=1;
if (adout>=200) //判断结果是否超过200 bj=0; //超过200启动报警 P2=ad_read();
a1=adout/100; //求所测温度的百位
a2=adout%100/10; //求所测温度的十位 a3=adout%100%10; //求所测温度的个位
display(a1,a2,a3) }
现介绍几个模块子程序:
1.延时,通过for循环实现,延时1ms
void Delay(uintt) { uinti; for(;t>0;t--) for(i=110;i>0;i--); }
2.初始化,给P1、P2、P3口置一,作为I/O口使用
voidinit(){ P1=0xff;