资源简介
代码经过验证可以使用
直流电机触发温度以及转速都可自行调控
代码片段和文件信息
#include
#include
unsigned char code digit[10]={“0123456789“};
unsigned char code Str[]={“Test by DS18B20“};
unsigned char code Error[]={“Error!Check!“}; //说明没有检测到DS18B20
unsigned char code Temp[]={“Temp:“};
unsigned char code Cent[]={“Cent“}; //温度单位
sbit RS=P2^5; //寄存器选择位将RS位定义为P2.5引脚
sbit RW=P2^6; //读写选择位将RW位定义为P2.6引脚
sbit E=P2^7; //使能信号位,
sbit BF=P0^7; //忙碌标志位,,将BF位定义为P0.7引脚
sbit DQ=P2^3;
sbit PWM = P1^0;
unsigned char CYCLEPWM_ONcount;
unsigned char PWM_Num;
void delay1ms()
{
unsigned char ij;
for(i=0;i<4;i++)
for(j=0;j<33;j++) ;
}
void delaynms(unsigned int n)
{
unsigned int i;
for(i=0;i delay1ms();
}
bit BusyTest(void)
{
bit result;
RS=0;
RW=1;
E=1;
_nop_();
_nop_();
_nop_();
_nop_();
result=BF;
E=0;
return result;
}
void WriteInstruction (unsigned char dictate)
{
while(BusyTest()==1);
RS=0;
RW=0;
E=0;
_nop_();
_nop_();
P0=dictate;
_nop_();
_nop_();
_nop_();
_nop_();
E=1;
_nop_();
_nop_();
_nop_();
_nop_();
E=0;
}
void WriteAddress(unsigned char x)
{
WriteInstruction(x|0x80);
}
void WriteData(unsigned char y)
{
while(BusyTest()==1);
RS=1;
RW=0;
E=0;
P0=y;
_nop_();
_nop_();
_nop_();
_nop_();
E=1;
_nop_();
_nop_();
_nop_();
_nop_();
E=0;
}
void LcdInitiate(void)
{
WriteInstruction(0x38);
WriteInstruction(0x0c);
WriteInstruction(0x06);
WriteInstruction(0x01);
}
unsigned char time;
bit Init_DS18B20(void)
{
bit flag;
DQ = 1;
for(time=0;time<2;time++);
DQ = 0;
for(time=0;time<200;time++);
DQ = 1;
for(time=0;time<10;time++);
flag=DQ;
for(time=0;time<200;time++);
return (flag);
}
unsigned char ReadOneChar(void)
{
unsigned char i=0;
unsigned char dat;
for (i=0;i<8;i++)
{
DQ =1;
_nop_();
DQ = 0;
dat>>=1;
_nop_();
DQ = 1;
for(time=0;time<2;time++);
if(DQ==1)
dat|=0x80;
else
dat|=0x00;
for(time=0;time<8;time++);
}
return(dat);
}
WriteOneChar(unsigned char dat)
{
unsigned char i=0;
for (i=0; i<8; i++)
{
DQ =1;
_nop_();
DQ=0;
DQ=dat&0x01;
for(time=0;time<10;time++) ;
DQ=1;
相关资源
- protues 仿真直流电机控制系统
- 嵌入式系统课程设计报告(直流电机
- PID C 语言算法DSP2812PWM
- 基于直流电机的 DSP 双闭环控制系统代
- DSP2812编写的利用光电编码器的无刷直
- 控制小直流电机转速微机原理课程设
- dspic30f4011直流电机控制程序
- 直流电机调速proteus仿真
- 直流电机双闭环
- 基于DSP的无刷直流电机控制
- 直流电机的闭环控制
- 全桥mos管电机驱动仿真电路
- Qt控制电机
- 直流电机测速+中文液晶显示
- 单片机驱动直流电机程序
- msp430G2553直流电机控制PWM调速和正反转
- 直流电机调速系统的研制
- 直流电机PWM控制proteus仿真图
- 无刷直流电机-基于模糊自适应PID控制
- 基于无模型自适应控制方法的直流电
- PROTEUS仿真直流电机测速+中文液晶显示
- L298N芯片的介绍 L298的引脚功能 L29
- 直流电机模糊控制实验
- PROTUSE仿真自动避障or寻迹小车
- 直流电机PWM闭环调速系统
- 用dsPIC30F3010实现无刷直流电机的无传
- 直流电机PWM调速系统的设计与仿真
- 基于STM32的无位置传感器无刷直流电机
- 基于IR2136的无刷直流电机驱动电路的
- STM32直流电机控制程序
评论
共有 条评论