长春工业大学生产实习水温控制系统.docx
《长春工业大学生产实习水温控制系统.docx》由会员分享,可在线阅读,更多相关《长春工业大学生产实习水温控制系统.docx(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、总程序#include#define uchar unsigned char# define uint unsigned int# define comm 0指令# define dat 1数据/*MAX186相关函数声明*/sbit maxl86_CLK=PlA0;/ 186 的 19 弓| 脚sbit maxl86_CS=PlAl;/ 186 的 18 引脚sbit maxl86_DIN=PlA2; / 186 的 17 弓|脚sbit maxl86_DOUT=PlA3; / 186 的 15 弓| 脚int ad;uchar qw,ad_high,ad_highl,ad_low,adjo
2、wl,cai; 温度的十位 个位 小数 点后两位定时变量caiuint addata;uchar i;uint adl86(uchar);void maxl86_ad();void delay(uchar ms);void maxl86_adl();/*输入选择的模式*/ AD转换子程序延时程序/*DS1302相关函数声明char TAB_1302= 0x53,0x58,0x23, / 秒分时 0x31,0x12,0x02,0x13; /H 星期年sbit T_CLK=P2A5; /DS1302 时钟 sbitT_IO=P2A6; /DS1302 数据口 sbit T_RST=P2A7; /D
3、S1302 复位uchar bdata datbyte;uchar ge,shi,gel,shil,ge2,shi2,ge3,shi3zge4,shi4,ge5,shi5;sbit datbyteO=datbyteAO;sbit datbyte7=datbyteA7;void w_1302byte(uchar date);void get_1302(void);void init_1302(void);uchar r_1302byte(void);写数据读数据初始化1302读1字节void write_1302(uchar addr;uchar date);写一字节uchar read_130
4、2(uchar addr);/*DS1302 结束*/11.0592M IMS/11.0592M lus基本指令清屏开显示,关游标函数名称:void get_1302(void)功能说明:读取DS1302时钟信息.void get_1302(void) uchar i,addr=0x81;for(i=0;i0;i-);)void delayus (uint us)(while(us-);)/*12864 初始化*/void init_lcd(void)(wr_lcd (comm,0x30);wr_lcd (comm,0x01); delayus(lOO);wr_lcd (comm,0x06);
5、wr_lcd (comm,0x0c);) void wrjcd (uchar dat-comm,uchar content) /LCD 写数据uchar a,ij;delayus(50);a=content;指令或者数据cs=l;发数据sclk=O;std=l;for(i=0;i5;i+) 发5个1作为数据起始位(sclk=l;sclk=O;)std=O;sclk=l;sclk=O;if(dat_comm)std=l;elsestd=O;sclk=l;sclk=O;std=O;sclk=l;sclk=O;for(j=0;j2;j+)(for(i=0;i4;i+)发第六位R/W=O写数据第七位数
6、据还是指令第八位0数据的留两个字节分开发两次a=al;std=CY;sclk=l;sclk=O;)std=O;for(i=0;i0)(wrjcd(dat,*p);P+;)/*12864*/*MAX186*/ void delay(uchar ms)/*maxl86选择通道模式设置,及数据的读uchar i;while(ms-) for(i=0;i200;i+) ()uint adl86(uchar ss)(uchar i,kki,s;uint i_data,i_datatransfer; switch(ss)(case 0:s=0x8e;break;case 1: s=OxCE;break;c
7、ase 2: s=0x9E;break;case 3: s=OxDE;break;case 4: s=OxAE;break;case 5: s=OxEE;break;case 6: s=OxBE;break;case 7: s=OxFE;break;default:s=OxAE;break;maxl86 CS=1;maxl86 CLK=O;maxl86 CS=O;maxl86 CLK=O;for(i=0;i8;i+)(uchar adaddresstransfer;adaddresstransfer=s;adaddresstransfer=(adaddresstransfer(7-i)&0x0
8、1; maxl86_DIN=adaddresstransfer;maxl86 CLK=1;for(kki=0;kki2;kki+);maxl86 CLK=O;maxl86 CS=1;for(i=0;i6;i+);maxl86 CS=O;maxl86 CLK=1;for(i=0;i12;i+)(maxl86_CLK=l;maxl86_CLK=0;i_datatransfer=maxl86_DOUT;i_datatransfer=i_datatransfer(ll-i);i_data=i_data | i_datatransfer;addata=i_data;for(i=0;i4;i+)(maxl
9、86_CLK=l;maxl86_CLK=0;maxl86 CS=1;i data=i datatransfer=O;delay(5);return(addata);AD转换及显示相应LCD地址void maxl86_ad()(ad=adl86(0);ad=ad*2.44;温度是 100,对应 4.096V 字节 4096,即(100/4096)*ad代表输出的温度ad_high=ad/1000;delay ;ad_highl=ad%1000/100;delay ;adjow=ad%1000%100/10;delay ;wr_lcd (comm,0x98);LCDSendWord(“温”);wr
10、_lcd (comm,0x99);LCDSendWord(“度”);wr_lcd (comm,0x9a);LCDSendWord(:n);wr_lcd (comm,0x9b);wr_lcd (dat,0x30+ad_high);温度十位wr_lcd (dat,0x30+ad_highl);温度个位wr_lcd (comm,0x9c);LCDSendWord(,);wr_lcd (comm,0x9d);wr_lcd (dat,0x30+adjow); 温度小数点后一位wr_lcd (comm,0x9E);LCDSendWord(,M);/*12864相关函数声明 sbit cs=P2A2;sbi
11、t std=P2Al;sbit sclk=P2A0;void initjcd(void);/LCD 初始化void wr_lcd (uchar dat_comm,uchar content); /LCD 写数据void Delayms (uchar a);ll,0592 晶振 IMSvoid delayus (uint us);/11.0592 晶振 lusvoid LCDSendWord(unsigned char *p);/12864 显示汉字void disp(void);void year(void); void month(void); void day(void); void ho
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 长春 工业大学 生产 实习 水温 控制系统
限制150内