|
有c語言+protues仿真
QQ圖片20170501224032.png (21.33 KB, 下載次數: 98)
下載附件
2017-5-1 22:44 上傳
0.png (52.28 KB, 下載次數: 105)
下載附件
2017-5-1 23:26 上傳
單片機源程序:
- #include<reg52.h>
- #include<intrins.h>
- #include"define.h"
- #include"delay.h"
- #include"LCD1602.h"
- #include"DS18B20.h"
- #include"HL_alarm.h"
- void main()
- {
- LCD_init();
- set_alarm_HL();
- DS_read_temperature();
- TMOD=0x01;
- TH0=-50000/256;
- TL0=-50000%256;
- EA=1;
- ET0=1;
- TR0=1;
- while(1);
- {
- }
- }
- void timer0() interrupt 1
- {
- TH0=-50000/256;
- TL0=-50000%256;
- DS_read_temperature();//讀取溫度
- if((HI_alarm==1)||(LO_alarm==1))
- alarm();
- if(DS_OK==0)
- return;//如果讀取錯誤,返回從新再讀
- display_temperature();
- if(sign_temp>=65) //溫度大于等于65時設為65
- sign_temp=65;
- if(sign_temp<=0)
- sign_temp=0;
- if(sign_temp>=45)
- {
- MA=1;
- MB=0;
- if(sign_temp==45) //等于45或65時停止轉動,占空比0
- {
- PWM=0;
- delay(30);
- return;
- }
- if(sign_temp==65)
- {
- PWM=1;
- delay(30);
- return;
- }
- PWM=1; //占空比0%~100%
- delay(sign_temp-45);
- PWM=0;
- delay(65-sign_temp);
- }
- else
- {
- if(sign_temp<=20)
- {
- MA=0;
- MB=1;
- if(sign_temp==20)
- {
- PWM=0;
- delay(30);
- return;
- }
- if(sign_temp==0)
- {
- PWM=1;
- delay(30);
- return;
- }
- PWM=1; //占空比0%~100%
- delay(20-sign_temp);
- PWM=0;
- delay(sign_temp);
- }
- else
- {
-
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
下載:
溫度控制直流電動機轉速protues仿真.zip
(62.38 KB, 下載次數: 63)
2017-5-1 22:45 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|
評分
-
查看全部評分
|