51单片机+ds1302+ds18b20温度时钟(电路图+c语言程序).pdfVIP

  • 104
  • 0
  • 约6.87万字
  • 约 53页
  • 2021-04-03 发布于湖南
  • 举报

51单片机+ds1302+ds18b20温度时钟(电路图+c语言程序).pdf

时钟电路图: PCB板: 单片机程序: /*=================================================================== = 调试要求: 1.MCU:AT89S52芯片或 AT89C52 2. 晶振 :12MHz 功能:多功能时钟 +温度计 ====================================================================* / #include reg52 . h #include intrins . h #define uchar unsigned char #define uint unsigned int sbit dis_bit1 =P2^7; // 定义数码管控制口 sbit dis_bit2 =P2^6; // 定义数码管控制口 sbit dis_bit3 =P2^4; // 定义数码管控制口 sbit dis_bit4 =P2^3; // 定义数码管控制口 sbit dis_bit5 =P2^ 1; // 定义数码管控制口 sbit dis_bit6 =P2^0; // 定义数码管控制口 sbit led1_bit =P2^2; // 定时 LED的控制口 sbit led2_bit =P2^5; // 定时 LED的控制口 sbit s1_bit =P1^ 0; // 定义 S1控制口 sbit s2_bit =P1^ 1; // 定义 S2控制口 sbit s3_bit =P1^2; // 定义 S3控制口 sbit dq_ds18b20 =P3^ 3; // 定义控制 DS18B20 sbit speak =P3^7; // 定义蜂鸣器控制口 sbit clk_ds1302 =P3^ 6; // 定义控制 DS1302的时钟线 sbit io_ds1302 =P3^ 5; // 定义控制 DS1302的串行数据 sbit rest_ds1302 =P3^4; #define smg_data P0 // 定义数码管数据口 void delay_3us(); //3US 的延时程序 void delay_8us(uint t); //8US 延时基准程序 void delay_50us(uint t); // 延时 50*T微妙函数的声明 void display1(uchar dis_data); // 数码管 1显示子程序 void display2(uchar dis_data); // 数码管 2显示子程序 void display3(uchar dis_data); // 数码管 3显示子程序 void display4(uchar dis_data); // 数码管 4显示子程序 void display5(uchar dis_data); // 数码管 5显示子程序 void display6(uchar dis_data); // 数码管 6显示子程序 void init_t0(); // 定时器 0初始化函数 void dis_led(); //LED 处理函数 void judge_s1(); //S1 按键处理函数 void judge_s2(); //S2 按键处理函数 void judge_s3(); //S3 按键处理函数 void dis(uchar s6,uchar s5,uchar s4,uchar s3,uchar s2,uchar s1); // 显 示子程序 void dis_san(uchar s6,uchar s5,uchar s4,uchar s3,uchar s2,uchar s1,uchar san); // 闪烁显示子程序 void judge_dis(); // 显示处理函数 void judge_clock(); // 显示处理函数 void set_ds1302(); // 设置时间 void get_ds1302(); // 读取当前时间 void w_1byte_ds1302(uch

文档评论(0)

1亿VIP精品文档

相关文档