2.2 温湿度处理子程序

温度传感器选用DS1820,其软件的编写相对简单,DS1820输入单片机的信号为9位数字信号,它不需要进行转换。这里应注意的是,软件控制单片机向DS1820发送的复位脉冲一定要大于1ms,否则软件将无法正常运行。这主要与DS1820的写时间有关,在用软件进行写0之后和写1之前,必须有800μs的低脉冲,写1后再写1也是如此,否则将出现数据写错误。

由于PIC16C73内含A/D转换器,因此,参考电压可由软件设置为器件的正电源电压,同时由RA0引脚接入的模拟电压可经A/D转换成数字信号。系统中的A/D模块有3个寄存器分别为:A/D转换结果寄存器(ADRES)、A/D控制寄存器0(ADCON0)和A/D控制寄存器1(ADCON1)。其中A/D控制寄存器0用于控制A/D模块的工作,寄存器的上电复位值是00H,未用位在执行读操作时为0,不能执行写操作,其它位均可读写。A/D控制寄存器1则只用了0~2位,这3位是A/D转换口配置位,通过这些位可将模拟口配置成不同的工作方式,包括模拟量输入输出、数字量输入输出以及参考电压。

以RA0通道为例,其A/D转换程序如下:

BSF STATUS,RP0 ;选择页面1

CLRF ADCON1 ;配置A/D输入

BSF PIE1,ADIE ;使能A/D中断

BCF STATUS,RP0 ;选择页面0

MOVLW 0XC1 ;时钟、A/D接通

MOVWF ADCON0 ;

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查