云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 电加热炉温度控制系统设计

电加热炉温度控制系统设计

  • 62 次阅读
  • 3 次下载
  • 2025/5/5 12:33:30

uchar hour; uchar mstcnt=0;

uchar temp1,temp2,temp; uchar t,set; uchar K; bit ON_OFF=0; bit outflag; bit write=0;

uchar code str0[]={%uchar code str1[]={\void delay_LCM(uint); void initLCM( void); void lcd_wait(void);

//LCD延时子程序 //LCD初始化子程序 //LCD检测忙子程序

//温度显示变量

void WriteCommandLCM(uchar WCLCM,uchar BusyC); //写指令到ICM子函数 void WriteDataLCM(uchar WDLCM); //写数据到LCM子函数 void DisplayOneChar(uchar X,uchar Y,uchar DData) //显示指定坐标的一个字符子函数

void DisplayListChar(uchar X,uchar Y,uchar code *DData);//显示指定坐标的一串字符子函数

void init_timer0(void); void displayfun1(void); void displayfun2(void); void displayfun3(void); void displayfun4(void);

void keyscan(void ); void set_adj(void); void inc_key(void); void dec_key(void);

void delay_18B20(unsigned int i); void Init_DS18B20(void) ; uchar ReadOneChar(void);

void WriteOneChar(unsigned char dat); void ReadTemperature(void); void ad0809(void); void playalarm(void);

/*********延时K*1ms,12.000mhz**********/ void delay_LCM(uint k)

12

//定时器初始化

//键盘扫描子程序

{

uint i,j; for(i=0;i

for(j=0;j<60;j++) {;} } }

/**********写指令到LCM子函数************/ void WriteCommandLCM(uchar WCLCM,uchar BusyC) {

if(BusyC)lcd_wait();

DATAPORT=WCLCM;

LCM_RS=0; // 选中指令寄存器 LCM_RW=0; // 写模式 LCM_EN=1; }

/**********写数据到LCM子函数************/ void WriteDataLCM(uchar WDLCM) {

lcd_wait( ); //检测忙信号

DATAPORT=WDLCM;

LCM_RS=1; // 选中数据寄存器 LCM_RW=0; // 写模式 LCM_EN=1; _nop_(); }

/***********lcm内部等待函数*************/ void lcd_wait(void) {

DATAPORT=0xff;

_nop_(); _nop_(); _nop_(); _nop_(); _nop_();

LCM_EN=0;

LCM_EN=0;

13

LCM_EN=1;

LCM_RS=0; LCM_RW=1; _nop_();

while(DATAPORT&BUSY) }

/**********LCM初始化子函数***********/ void initLCM( ) {

DATAPORT=0; delay_LCM(15);

WriteCommandLCM(0x38,0); //三次显示模式设置,不检测忙信号 { LCM_EN=0; _nop_(); _nop_(); LCM_EN=1; _nop_(); _nop_(); }

LCM_EN=0;

delay_LCM(5);

WriteCommandLCM(0x38,0); delay_LCM(5);

WriteCommandLCM(0x38,0); delay_LCM(5);

WriteCommandLCM(0x38,1);//8bit数据传送,2行显示,5*7字型,检测忙信号 WriteCommandLCM(0x08,1); //关闭显示,检测忙信号 WriteCommandLCM(0x01,1); //清屏,检测忙信号

WriteCommandLCM(0x06,1); //显示光标右移设置,检测忙信号

WriteCommandLCM(0x0c,1); //显示屏打开,光标不显示,不闪烁,检测忙信号 }

/****************显示指定坐标的一个字符子函数*************/ void DisplayOneChar(uchar X,uchar Y,uchar DData) {

Y&=1; X&=15;

if(Y)X|=0x40; //若y为1(显示第二行),地址码+0X40 X|=0x80; //指令码为地址码+0X80

14

WriteCommandLCM(X,0); WriteDataLCM(DData); }

/***********显示指定坐标的一串字符子函数***********/ void DisplayListChar(uchar X,uchar Y,uchar code *DData) {

uchar ListLength=0; Y&=0x01; X&=0x0f; while(X<16) {

DisplayOneChar(X,Y,DData[ListLength]); ListLength++; X++; } }

/***********ds18b20延迟子函数(晶振12MHz )*******/

void delay_18B20(unsigned int i) { }

/**********ds18b20初始化函数**********************/ void Init_DS18B20(void) { }

/***********ds18b20读一个字节**************/ unsigned char ReadOneChar(void)

unsigned char x=0;

DQ = 1; //DQ复位 delay_18B20(8); //稍做延时

DQ = 0; //单片机将DQ拉低 delay_18B20(80); //精确延时 大于 480us DQ = 1; //拉高总线 delay_18B20(14);

x=DQ; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败 delay_18B20(20); while(i--);

15

搜索更多关于: 电加热炉温度控制系统设计 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

uchar hour; uchar mstcnt=0; uchar temp1,temp2,temp; uchar t,set; uchar K; bit ON_OFF=0; bit outflag; bit write=0; uchar code str0[]={%uchar code str1[]={\void delay_LCM(uint); void initLCM( void); void lcd_wait(void); //LCD延时子程序 //LCD初始化子程序 //LCD检测忙子程序 //温度显示变量 void WriteComman

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com