标题: 基于PIC16F877单片机的多功能电子时钟程序 [打印本页]

作者: XH.W    时间: 2020-8-19 21:38
标题: 基于PIC16F877单片机的多功能电子时钟程序
一、功能实现
  本设计主要实现实时时钟显示,时间可调;实时温度显示,并具有超限报警功能,输出显示采用LCD1602。
二、仿真图

基于proteus的仿真
三、主程序
#include "lian_pic.h"
#include "DHT11.h"
#include "ds1302.h"
#include "key.h"
#include "lcd12864.h"
#include "control.h"
__CONFIG(HS&WDTDIS&LVPDIS&PWRTEN);        
//HS振荡,禁止看门狗,低压编程关闭,启动延时定时器


void Basic_Io_Init(void)
{
  ADCON1=0x06;       //PORTA,PORTE设定为数字端口
  TRISD=0;           //PORTD设置为输出
  TRISA0=1;                        //按键输入
  TRISA1=1;                        //按键输入
  TRISA2=1;                        //按键输入
  TRISA3=1;                        //按键输入
  TRISB0=0;                        //串口,并口选择
  TRISB1=0;                        //并行读写使能
  TRISB2=0;                        //并行读/写选择
  TRISB3=0;                  //并行数据/控制字选择
  TRISE2=0;                 //报警器
  TRISC=0x00;                //DS1302的端口定义
  PORTC=0xff;                //DS1302的端口定义
  lcd12864_io_init();
}
//高温报警
void temp_warning()
{
        if((temp_valueH/10)>0x02&&reduce_voice==0)   //30度开始 手动消除
        {
                RE2=1;
                //报警IO
        }
        else if((temp_valueH/10)<=0x02&&reduce_voice==1)
        {        
                reduce_voice=0;
        }
        else
        {
                        RE2=0;
        }
        
}
void main(void)
{        
        Basic_Io_Init();         //初始化IO口
        Lcd_Init();                        //初始化LCD
        __delay_ms(2000);         //等待2秒保证DHT11上电正常初始化

  while(1)
  {        
        temp_warning();     //循环执行高温报警监控
         DHT11_Read_data();  //读取DHT11模块的数据
        Key_Scan();                        //扫描模式识别键盘
        ds1302_read_time(); //读出当前时钟信息
        lcd_display_control();//显示


        __delay_ms(150);
  }
}
剩下程序放附件里,仿真图大家自己画一下吧,刚不小心给删除了 PIC16F877-Code.zip (229.56 KB, 下载次数: 61)

作者: lovefeyer    时间: 2020-9-12 14:04
没有仿真文件呀,请传一个完整的文件包上来,谢谢
作者: njjm    时间: 2020-10-25 00:33
仿真文件和程序完全不对应
作者: ly20051009    时间: 2020-11-12 14:55
不完整




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1