自动浇灌系统源代码.doc_第1页
自动浇灌系统源代码.doc_第2页
自动浇灌系统源代码.doc_第3页
自动浇灌系统源代码.doc_第4页
自动浇灌系统源代码.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

DS18B20测温模块:#define uchar unsigned char #define uint unsigned int#include #include sbit DQ=P10; bdata uchar dat;sbit dat0=dat0;sbit dat7=dat7;/以下为四个传感器的序列号/*uchar code id88= 0x28,0x30,0xc5,0xb8,0x00,0x00,0x00,0x8e, 0x28,0x31,0xc5,0xb8,0x00,0x00,0x00,0xb9, 0x28,0x32,0xc5,0xb8,0x00,0x00,0x00,0xe0, 0x28,0x33,0xc5,0xb8,0x00,0x00,0x00,0xd7, 0x28,0x34,0xc5,0xb8,0x00,0x00,0x00,0x52, 0x28,0x35,0xc5,0xb8,0x00,0x00,0x00,0x65, 0x28,0x36,0xc5,0xb8,0x00,0x00,0x00,0x3c, 0x28,0x37,0xc5,0xb8,0x00,0x00,0x00,0x0b;*/ void delay15(uchar n) /约15us延时 do _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();n-; while(n); void late() /延时700ms uchar i; for(i=0;i0;i-) DQ=0; delay15(1); DQ=dat0; dat=dat1; delay15(1); DQ=1; uchar rdbyte(void) /从总线上读取一个字节 uchar i; dat=0; for(i=8;i0;i-) dat=dat1;DQ=0;_nop_(); DQ=1; delay15(1); dat7=DQ; delay15(4);/新增在位与位之间加入50US的延时 return(dat); void convert(void) bit err; err=reset(); /复位DS18B20 wrbyte(0xcc); /发READ ROM命令 wrbyte(0x44); /发READ ROM命令 int readt(void)uchar h,l; /复位DS18B20reset(); /复位DS18B20wrbyte(0xcc); /发READ ROM命令wrbyte(0xbe); /发READ ROM命令l=rdbyte(); /读取温度低字节、高字节h=rdbyte(); return(h*256+l);/保存16位温度值LCD12864I/O液晶显示模块:#include #include #include #define uchar unsigned char#define uint unsigned intsbitLCD_RST=P37;sbitDI=P34;sbitRW=P35;sbitCS=P33;sbit EN=P36;sbitRDY=P07;sfrLCD=0x80;#defineLCD_DISPON 0x3f / 打开LCM显示命令 #define LCD_STARTROW 0xc0 / 设置起始行命令,用LCD_STARTROW+x设置起始行(x64) #defineLCD_ADDRSTRY 0xb8 / 设置页地址命令,用LCD_ADDRSTRX+x设置当前页(x8) #defineLCD_ADDRSTRX 0x40 / 设置列地址命令,用LCD_ADDRSTRY+x设置当前列(x64)#define CS1 0 /左半屏选择#define CS2 1 /右半屏选择/命令字cmd送左半屏(port=0)/右半屏(port=1)命令/*void LCD_WrCmd(bit port, uchar cmd)if(port=0) LCDCS1W_COM = cmd; else LCDCS2W_COM = cmd;/数据wrdata送左半屏(port=0)/右半屏(port=1)数据口void LCD_WrDat(bit port, uchar wrdata) if(port=0) LCDCS1W_DAT =wrdata; else LCDCS2W_DAT =wrdata;*/void LCD_WrCmd(bit port, uchar cmd)EN=0;CS=port;DI=0;RW=0;EN=1;LCD=cmd;EN=0;/数据wrdata送左半屏(port=0)/右半屏(port=1)数据口void LCD_WrDat(bit port, uchar wrdata) EN=0;CS=port;DI=1;RW=0;EN=1;LCD=wrdata;EN=0;uchar code ASCII_TAB480 = /0X200X7F之间 ASCII码对应的点阵数据表 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9e, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x0e, 0x00, 0x28, 0xfe, 0x28, 0xfe, 0x28, 0x48, 0x54, 0xfe, 0x54, 0x24, 0x46, 0x26, 0x10, 0xc8, 0xc4, 0x6c, 0x92, 0xaa, 0x44, 0xa0, 0x00, 0x0a, 0x06, 0x00, 0x00, 0x00, 0x38, 0x44, 0x82, 0x00, 0x00, 0x82, 0x44, 0x38, 0x00, 0x28, 0x10, 0x7c, 0x10, 0x28, 0x10, 0x10, 0x7c, 0x10, 0x10, 0x00, 0xa0, 0x60, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0xc0, 0xc0, 0x00, 0x00, 0x40, 0x20, 0x10, 0x08, 0x04, 0x7C, 0xA2, 0x92, 0x8A, 0x7C, 0x00, 0x84, 0xFE, 0x80, 0x00, 0x84, 0xC2, 0xA2, 0x92, 0x8C, 0x42, 0x82, 0x8A, 0x96, 0x62, 0x30, 0x28, 0x24, 0xFE, 0x20, 0x4E, 0x8A, 0x8A, 0x8A, 0x72, 0x78, 0x94, 0x92, 0x92, 0x60, 0x02, 0xE2, 0x12, 0x0A, 0x06, 0x6C, 0x92, 0x92, 0x92, 0x6C, 0x0C, 0x92, 0x92, 0x52, 0x3C, 0x00, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0xAC, 0x6C, 0x00, 0x00, 0x10, 0x28, 0x44, 0x82, 0x00, 0x28, 0x28, 0x28, 0x28, 0x28, 0x00, 0x82, 0x44, 0x28, 0x10, 0x04, 0x02, 0xA2, 0x12, 0x0C, 0x64, 0x92, 0xF2, 0x82, 0x7C, 0xFC, 0x22, 0x22, 0x22, 0xFC, 0xFE, 0x92, 0x92, 0x92, 0x6C, 0x7C, 0x82, 0x82, 0x82, 0x44, 0xFE, 0x82, 0x82, 0x44, 0x38, 0xFE, 0x92, 0x92, 0x92, 0x82, 0xFE, 0x12, 0x12, 0x12, 0x02, 0x7C, 0x82, 0x92, 0x92, 0xF4, 0xFE, 0x10, 0x10, 0x10, 0xFE, 0x00, 0x82, 0xFE, 0x82, 0x00, 0x40, 0x80, 0x82, 0x7E, 0x02, 0xFE, 0x10, 0x28, 0x44, 0x82, 0xFE, 0x80, 0x80, 0x80, 0x80, 0xFE, 0x04, 0x18, 0x04, 0xFE, 0xFE, 0x08, 0x10, 0x20, 0xFE, 0x7C, 0x82, 0x82, 0x82, 0x7C, 0xFE, 0x12, 0x12, 0x12, 0x0C, 0x7C, 0x82, 0xA2, 0x42, 0xBC, 0xFE, 0x12, 0x32, 0x52, 0x8C, 0x8C, 0x92, 0x92, 0x92, 0x62, 0x02, 0x02, 0xFE, 0x02, 0x02, 0x7E, 0x80, 0x80, 0x80, 0x7E, 0x3E, 0x40, 0x80, 0x40, 0x3E, 0x7E, 0x80, 0x70, 0x80, 0x7E, 0xC6, 0x28, 0x10, 0x28, 0xC6, 0x0E, 0x10, 0xE0, 0x10, 0x0E, 0xC2, 0xA2, 0x92, 0x8A, 0x86, 0x00, 0xFE, 0x82, 0x82, 0x00, 0x04, 0x08, 0x10, 0x20, 0x40, 0x00, 0x82, 0x82, 0xFE, 0x00, 0x08, 0x04, 0x02, 0x04, 0x08, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x02, 0x04, 0x08, 0x00, 0x40, 0xA8, 0xA8, 0xA8, 0xF0, 0xFE, 0x90, 0x88, 0x88, 0x70, 0x70, 0x88, 0x88, 0x88, 0x40, 0x70, 0x88, 0x88, 0x90, 0xFE, 0x70, 0xA8, 0xA8, 0xA8, 0x30, 0x10, 0xFC, 0x12, 0x02, 0x04, 0x18, 0xA4, 0xA4, 0xA4, 0x7C, 0xFE, 0x10, 0x08, 0x08, 0xF0, 0x00, 0x88, 0xFA, 0x80, 0x00, 0x40, 0x80, 0x88, 0x7A, 0x00, 0xFE, 0x20, 0x50, 0x88, 0x00, 0x00, 0x82, 0xFE, 0x80, 0x00, 0xF8, 0x08, 0x30, 0x08, 0xF8, 0xF8, 0x10, 0x08, 0x08, 0xF0, 0x70, 0x88, 0x88, 0x88, 0x70, 0xF8, 0x28, 0x28, 0x28, 0x10, 0x10, 0x28, 0x28, 0x30, 0xF8, 0xF8, 0x10, 0x08, 0x08, 0x10, 0x90, 0xA8, 0xA8, 0xA8, 0x40, 0x08, 0x7E, 0x88, 0x80, 0x40, 0x78, 0x80, 0x80, 0x40, 0xF8, 0x38, 0x40, 0x80, 0x40, 0x38, 0x78, 0x80, 0x60, 0x80, 0x78, 0x88, 0x50, 0x20, 0x50, 0x88, 0x18, 0xA0, 0xA0, 0xA0, 0x78, 0x88, 0xC8, 0xA8, 0x98, 0x88, 0x00, 0x10, 0x6C, 0x82, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x82, 0x6C, 0x10, 0x00, 0x10, 0x10, 0x54, 0x38, 0x10, 0x10, 0x38, 0x54, 0x10, 0x10;/以filldata充填液晶屏void LCD_DispFill(uchar filldata) uchar x, y; LCD_WrCmd(CS1,LCD_STARTROW);/设置左半屏显示起始行为0 LCD_WrCmd(CS2,LCD_STARTROW);/设置右半屏显示起始行为0 for(y=0; y8; y+) /循环充填8页 LCD_WrCmd(CS1,LCD_ADDRSTRY+y);/ 设置左半屏页地址 LCD_WrCmd(CS1,LCD_ADDRSTRX); / 设置左半屏列地址 LCD_WrCmd(CS2,LCD_ADDRSTRY+y);/ 设置右半屏页地址 LCD_WrCmd(CS2,LCD_ADDRSTRX);/ 设置右半屏列地址 for(x=0; x64; x+) /充填每页的64个单元(列) LCD_WrDat(CS1,filldata); LCD_WrDat(CS2,filldata); /液晶模块初始化void LCD_DispIni(void) uint i; LCD_RST = 0; / 复位驱动芯片 for(i=0; i500; i+); LCD_RST = 1; LCD_WrCmd(CS1,LCD_DISPON); / 打开显示 LCD_WrCmd(CS1,LCD_STARTROW); / 设置显示起始行为0 LCD_WrCmd(CS2,LCD_DISPON); LCD_WrCmd(CS2,LCD_STARTROW); LCD_DispFill(00);/ 清屏 LCD_WrCmd(CS1,LCD_ADDRSTRY+0);/ 设置页(字符行)地址 LCD_WrCmd(CS1,LCD_ADDRSTRX+0);/ 设置列地址 LCD_WrCmd(CS2,LCD_ADDRSTRY+0); LCD_WrCmd(CS2,LCD_ADDRSTRX+0);/在液晶屏的cy(0-7)行、cx(0-15)列显示字符dispdatavoid LCD_DispChar(uchar cy, uchar cx, char dispdata) uchar code *pch; uchar i; bit port; cy = cy&0x07;/ 参数过滤 cx = cx&0x0f; pch = &ASCII_TAB(dispdata-0X20)*5; /指向字符起始列的点阵码 if( (cx&0x08) = 0 )/ 列号cx8,在左半屏显示 port=CS1; i=cx3; else port=CS2; i = (cx&0x07)3; LCD_WrCmd(port,LCD_ADDRSTRX+i);/ 设置当前列地址 LCD_WrCmd(port,LCD_ADDRSTRY+cy);/ 设置当前页地址 for(i=0; i5; i+); /延时 LCD_WrDat(port,0x00);/ 显示一列空格 for(i=0; i5; i+) /送出字符的5列点阵码 LCD_WrDat(port,*pch); pch+; LCD_WrDat(port,0x00); /显示一列空格 for(i=0; i15) cy+; / 指向下一显示行 uchar code HZTAB900 =0x00,0x00,0x00,0xF8,0x48,0x48,0x4C,0x4B,0x4A,0x48,0x48,0x48,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0xFF,0x00,0x00,0x00,/*自,0*/0x20,0x24,0x24,0xE4,0x24,0x24,0x24,0x20,0x10,0x10,0xFF,0x10,0x10,0xF0,0x00,0x00,0x08,0x1C,0x0B,0x08,0x0C,0x05,0x4E,0x24,0x10,0x0C,0x03,0x20,0x40,0x3F,0x00,0x00,/*动,1*/0x10,0x60,0x01,0xC6,0x00,0x80,0x84,0x44,0x5F,0x24,0x64,0x94,0x84,0xE4,0x00,0x00,0x04,0xFC,0x03,0x00,0x42,0x42,0x32,0x0E,0x02,0x02,0x3E,0x42,0x42,0x42,0x78,0x00,/*浇,2*/0x08,0x31,0x82,0x78,0x02,0x3A,0xEA,0xAF,0xBA,0xC2,0xBA,0xAF,0xAA,0xBA,0x02,0x00,0x04,0x04,0x7F,0x00,0x02,0x01,0x7F,0x2A,0x2A,0x2A,0x3F,0x2A,0x2A,0x2A,0x20,0x00,/*灌,3*/0x00,0x00,0x02,0x22,0xB2,0xAA,0x66,0x62,0x22,0x11,0x4D,0x81,0x01,0x01,0x00,0x00,0x00,0x40,0x21,0x13,0x09,0x05,0x41,0x81,0x7F,0x01,0x05,0x09,0x13,0x62,0x00,0x00,/*系,4*/0x20,0x30,0x2C,0xA3,0x60,0x10,0x84,0xC4,0xA4,0x9D,0x86,0x84,0xA4,0xC4,0x84,0x00,0x20,0x22,0x23,0x12,0x12,0x92,0x40,0x30,0x0F,0x00,0x00,0x3F,0x40,0x41,0x70,0x00,/*统,5*/0x04,0x04,0x04,0x04,0x74,0x54,0x55,0x56,0x54,0x54,0x74,0x04,0x04,0x04,0x04,0x00,0x00,0xFF,0x01,0x01,0x3D,0x25,0x25,0x25,0x25,0x25,0x3D,0x41,0x81,0x7F,0x00,0x00,/*高,6*/0x10,0x21,0x86,0x70,0x00,0x7E,0x4A,0x4A,0x4A,0x4A,0x4A,0x7E,0x00,0x00,0x00,0x00,0x02,0xFE,0x01,0x40,0x7F,0x41,0x41,0x7F,0x41,0x41,0x7F,0x41,0x41,0x7F,0x40,0x00,/*温,7*/0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x36,0x36,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*:,8*/0x20,0x18,0x08,0x09,0xEE,0xAA,0xA8,0xAF,0xA8,0xA8,0xEC,0x0B,0x2A,0x18,0x08,0x00,0x00,0x00,0x3E,0x02,0x02,0x02,0x02,0xFF,0x02,0x02,0x12,0x22,0x1E,0x00,0x00,0x00,/*常,9*/0x10,0x21,0x86,0x70,0x00,0x7E,0x4A,0x4A,0x4A,0x4A,0x4A,0x7E,0x00,0x00,0x00,0x00,0x02,0xFE,0x01,0x40,0x7F,0x41,0x41,0x7F,0x41,0x41,0x7F,0x41,0x41,0x7F,0x40,0x00,/*温,10*/0x40,0x20,0xF0,0x0C,0x07,0x02,0xFC,0x44,0x44,0x42,0xFE,0x43,0x43,0x42,0x40,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x7F,0x20,0x10,0x28,0x43,0x0C,0x10,0x20,0x78,0x00,/*低,11*/0x10,0x21,0x86,0x70,0x00,0x7E,0x4A,0x4A,0x4A,0x4A,0x4A,0x7E,0x00,0x00,0x00,0x00,0x02,0xFE,0x01,0x40,0x7F,0x41,0x41,0x7F,0x41,0x41,0x7F,0x41,0x41,0x7F,0x40,0x00,/*温,12*/0x00,0x00,0xF8,0x48,0x48,0x48,0x48,0xFF,0x48,0x48,0x48,0x48,0xF8,0x00,0x00,0x00,0x00,0x00,0x0F,0x04,0x04,0x04,0x04,0x3F,0x44,0x44,0x44,0x44,0x4F,0x40,0x70,0x00,/*电,13*/0x82,0xE2,0x5E,0x42,0xC2,0x0A,0x08,0xC9,0x3E,0x0A,0x08,0x8C,0x7A,0x09,0x08,0x00,0x00,0x7F,0x10,0x10,0x1F,0x32,0x2B,0x26,0x2A,0x71,0x32,0x2B,0x26,0x2A,0x71,0x00,/*磁,14*/0x00,0x00,0xF8,0x81,0x46,0xE0,0x58,0x42,0xFA,0x2A,0x32,0xA2,0x02,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x3F,0x04,0x04,0x03,0x0E,0x11,0x3C,0x80,0xFF,0x00,0x00,/*阀,15*/0x08,0x30,0x00,0xFF,0x20,0x20,0x20,0x20,0xFF,0x20,0xE1,0x26,0x2C,0x20,0x20,0x00,0x04,0x02,0x01,0xFF,0x40,0x20,0x18,0x07,0x00,0x00,0x03,0x0C,0x30,0x60,0x20,0x00,/*状,16*/0x00,0x04,0x04,0x04,0x84,0x44,0x34,0x4F,0x94,0x24,0x44,0x84,0x84,0x04,0x00,0x00,0x00,0x60,0x39,0x01,0x00,0x3C,0x40,0x42,0x4C,0x40,0x40,0x70,0x04,0x09,0x31,0x00,/*态,17*/0x10,0x60,0x01,0xC6,0x00,0x80,0x84,0x44,0x5F,0x24,0x64,0x94,0x84,0xE4,0x00,0x00,0x04,0xFC,0x03,0x00,0x42,0x42,0x32,0x0E,0x02,0x02,0x3E,0x42,0x42,0x42,0x78,0x00,/*浇,18*/0x08,0x31,0x82,0x78,0x02,0x3A,0xEA,0xAF,0xBA,0xC2,0xBA,0xAF,0xAA,0xBA,0x02,0x00,0x04,0x04,0x7F,0x00,0x02,0x01,0x7F,0x2A,0x2A,0x2A,0x3F,0x2A,0x2A,0x2A,0x20,0x00,/*灌,19*/0x00,0xFC,0x44,0x44,0x44,0xFC,0x10,0x90,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x00,0x00,0x07,0x04,0x04,0x04,0x07,0x00,0x00,0x03,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,/*时,20*/0x00,0xF8,0x01,0x06,0x00,0xF0,0x92,0x92,0x92,0x92,0xF2,0x02,0x02,0xFE,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x07,0x04,0x04,0x04,0x04,0x07,0x40,0x80,0x7F,0x00,0x00,/*间,21*/0x00,0xFC,0x44,0x44,0x44,0xFC,0x10,0x90,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x00,0x00,0x07,0x04,0x04,0x04,0x07,0x00,0x00,0x03,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,/*时,22*/0x80,0x40,0x20,0x98,0x87,0x82,0x80,0x80,0x83,0x84,0x98,0x30,0x60,0xC0,0x40,0x00,0x00,0x80,0x40,0x20,0x10,0x0F,0x00,0x00,0x20,0x40,0x3F,0x00,0x00,0x00,0x00,0x00,/*分,23*/0x12,0x12,0xD2,0xFE,0x91,0x11,0xC0,0x38,0x10,0x00,0xFF,0x00,0x08,0x10,0x60,0x00,0x04,0x03,0x00,0xFF,0x00,0x83,0x80,0x40,0x40,0x20,0x23,0x10,0x08,0x04,0x03,0x00,/*秒,24*/0x40,0x42,0x42,0x42,0x42,0xFE,0x42,0x42,0x42,0x42,0xFE,0x42,0x42,0x42,0x42,0x00,0x00,0x40,0x20,0x10,0x0C,0x03,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,/*开,25*/0x00,0x10,0x10,0x10,0x11,0x1E,0x14,0xF0,0x10,0x18,0x17,0x12,0x18,0x10,0x00,0x00,0x01,0x81,0x41,0x21,0x11,0x09,0x05,0x03,0x05,0x09,0x31,0x61,0xC1,0x41,0x01,0x00,/*关,26*/0x00,0x00,0xFC,0x04,0x24,0x24,0xFC,0xA5,0xA6,0xA4,0xFC,0x24,0x24,0x24,0x04,0x00,0x80,0x60,0x1F,0x80,0x80,0x42,0x46,0x2A,0x12,0x12,0x2A,0x26,0x42,0xC0,0x40,0x00;/*度,27*/在液晶屏的cy(0-3)行、cx(0-7)列显示汉字字符dispdatavoid LCD_DispHZ(uchar cy,uchar cx,uchar dispdata) uchar code *pdat;uchar i,s,page;bit port;cy=cy&0x03;/参数过滤cx=cx&0x07;pdat=&HZTABdispdata*32;if(cx&0x04)=0)/如果在左半屏显示 port=0;s=cx4;/求出该汉字在屏幕上的起始列 else/如果在右半屏显示 port=1;s=(cx4)-64;/求出该汉字在屏幕上的起始列 for(page=0;page2;page+)/每个汉字2页LCD_WrCmd(port,LCD_ADDRSTRX+s);/设置当前列地址LCD_WrCmd(port,LCD_ADDRSTRY+(cy1)+page);/设置当前页地址for(i=0;i5;i+);for(i=0;i16;i+)/每个汉字16列LCD_WrDat(port,*pdat);/发送数据pdat+;for(i=0;i7) cy+;/一行汉字显示完,行号加1 cx=0; 主程序模块:#include #include #define uchar unsigned char #define uint unsigned int#define water_time 5/常温的浇灌时间#define water_time1 10/高温的浇灌时间extern void LCD_DispIni(void);extern void LCD_DispFill(uchar filldata);extern void LCD_DispChar(uchar cy,uchar cx,char dispdata);extern void LCD_DispStr(uchar cy,uchar cx,char *disp_str);extern void LCD_DispHZ(uchar cy,uchar cx,uchar dispdata);extern void LCD_DispHZStr(uchar cy,uchar cx,uchar *disp_str);extern void late();extern int readt(void);extern void convert(void);uchar dp16=0,0,1,1,2,3,3,4,5,5,6,6,7,8,8,9;/小数部分转换uchar count,count1;uchar s;uchar m;uchar h;uchar s1;uchar m1;uchar h1;uchar time_s,time_m;uchar counter;/定义的一个判断浇灌时间的中间变量uchar dbuf=00;/小数部分转换uchar dbuf1=00;void time0(void) interrupt 1 /interrupt N表示函数声明为中断服务函数,1:定时器/计数器T0中断TH0=-50000/256; /定时时间为50MS /取高8位 TL0=-50000%256; /取低8位count+; /每中断一次,计数器加1if(count=20)/每秒执行一次count=0;s+;if(s=60)m+;s=0;if(m=60)m=0;h+;void time1(void) interrupt 3 /3:定时器/计数器T1中断TH1=-50000/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论