用電機驅動模塊驅動加熱片,溫度檢測采用DS18B20,顯示屏為0.96寸OLED,帶獨立按鍵
電路原理圖如下:
QQ截圖20190420000408.jpg (37.17 KB, 下載次數: 53)
下載附件
電路原理圖
2019-4-20 00:07 上傳
IMG_20190418_214300.jpg (4.63 MB, 下載次數: 49)
下載附件
實物圖
2019-4-20 00:06 上傳
IMG_20190418_214305.jpg (4.39 MB, 下載次數: 51)
下載附件
實物圖
2019-4-20 00:06 上傳
IMG_20190418_214310.jpg (4.58 MB, 下載次數: 45)
下載附件
實物圖
2019-4-20 00:07 上傳
單片機源程序如下:
- /************************************************************************************
- * 1. void delay(unsigned int z) -- 主函數中用于調整顯示效果的延時函數,STC89C52 12MHZ z=1時大約延時1ms,其他頻率需要自己計算
- * 2. void main(void) -- 主函數
- *
- * History: none;
- *
- *************************************************************************************/
- //#include "reg52.h"
- #include "intrins.h"
- #include "codetab.h"
- #include "LQ12864.h"
- sbit GN=P1^1;
- sbit D0=P1^4;
- sbit D1=P1^5;
- sbit D2=P1^6;
- sbit D3=P1^7;
- sbit J1=P3^2;
- sbit J2=P3^3;
- void main(void)
- {
- unsigned char i;
- uchar str[3];
- OLED_Init(); //OLED初始化
- EA = 1; //使能總中斷
- ConfigUART(9600); //配置波特率為9600
- OLED_CLS();
- for(i=0; i<5; i++)//通過點整顯示漢字 -- i表示字表數組的位置
- {
- OLED_P16x16Ch(i*16,0,i);
- }
- for(i=0; i<2; i++)//通過點整顯示漢字 -- i表示字表數組的位置
- {
- OLED_P16x16Ch(i*16,2,i+5);
- }
-
-
- for(i=0; i<3; i++)//通過點整顯示漢字 -- i表示字表數組的位置
- {
- OLED_P16x16Ch(i*16+32,2,i+2);
- }
- GN=0;
- J1=0;
- while(1)
- {
- str[0]=temp2/100+0x30;
- str[1]=temp2%100/10+0x30;
- OLED_P8x16Str(47,2,str);
- tmpchange();
- str[0]=tmp()/100+0x30;
- str[1]=tmp()%100/10+0x30;
- OLED_P8x16Str(47,0,str);
- delay(100);
- if(D0==0)
- {
- delay(10);
- if(D0==0)
- {
- temp2+=10;
- }
- while(!D0);
- delay(10);
- while(!D0);
- }
- if(D1==0)
- {
- delay(10);
- if(D1==0)
- {
- temp2-=10;
- }
- while(!D1);
- delay(10);
- while(!D1);
- }
- if(temp<temp2)
- {
- J2=1;
- }else J2=0;
- }
- }
復制代碼
所有資料51hei提供下載:
源代碼.rar
(66.19 KB, 下載次數: 17)
2019-4-15 23:32 上傳
點擊文件名下載附件
51程序 下載積分: 黑幣 -5
|