基于热敏电阻的数字温度计_毕业设计论文(编辑修改稿)内容摘要:
for(i=8。 i0。 i) { *pSecDa = uc_RTOutputByte()。 //读 1Byte数据 pSecDa++。 } T_CLK = 1。 T_RST = 0。 } void v_BurstW1302R(uchar *pReDa) //往 DS1302寄存器数写入数据 pReDa: 寄存器数据地址 { uchar i。 v_W1302(0x8e,0x00)。 //控制命令 ,WP=0,写操作 T_RST = 0。 T_CLK = 0。 T_RST = 1。 v_RTInputByte(0xfe)。 //0xbe:时钟多字节写命令 for(i=31。 i0。 i) //31Byte 寄存器数据 { v_RTInputByte(*pReDa)。 //写 1Byte数据 pReDa++。 } T_CLK = 1。 T_RST = 0。 } void v_BurstR1302R(uchar *pReDa) //读取 DS1302寄存器数据 pReDa: 寄存器数据地址 { uchar i。 T_RST = 0。 T_CLK = 0。 T_RST = 1。 v_RTInputByte(0xff)。 //0xbf:时钟多字节读命令 for(i=31。 i0。 i) //31Byte 寄存器数据 基于热敏电阻的数字温度计 第 9 页 共 22 页 { *pReDa = uc_RTOutputByte()。 //读 1Byte数据 pReDa++。 } T_CLK = 1。 T_RST = 0。 } /* * 输入 : pSecDa: 初始时间地址。 初始时间格式为 : 秒 分 时 日 月 星期 年 * 7Byte (BCD码 ) 1B 1B 1B 1B 1B 1B 1B */ void v_Set1302(uchar *pSecDa) //设置初始时间 { uchar i。 uchar ucAddr = 0x80。 v_W1302(0x8e, 0x00)。 //控制命令 ,WP=0,写操作 for(i=7。 i0。 i) { v_W1302(ucAddr, *pSecDa)。 // 秒 分 时 日 月 星期 年 pSecDa++。 ucAddr += 2。 } v_W1302(0x8e, 0x80)。 //控制命令 ,WP=1,写保护 } void v_Get1302(uchar ucCurtime[]) //读取 DS1302当前时间 ucCurtime: 保存当前时间地址。 BCD码 { uchar i。 uchar ucAddr = 0x81。 for(i=0。 i7。 i++) { ucCurtime[i] = uc_R1302(ucAddr)。 //格式为 : 秒 分 时 日 月 星期 年 ucAddr += 2。 } } uchar dectobcd(uchar dec) //DEC码转换为 BCD码 { uchar bcd。 bcd = 0。 while(dec = 10) { dec = 10。 bcd++。 } bcd = 4。 bcd |= dec。 基于热敏电阻的数字温度计 第 10 页 共 22 页 return bcd。 } uchar bcdtodec(uchar bcd) //BCD码转换为 DEC码 { uchar data1。 data1 = bcd amp。 0x0f。 //取 BCD低 4位 bcd = bcd amp。 0x70。 //剔除 BCD的最高位和低 4位。 data1 += bcd 1。 data1 += bcd 3。 //用位移代替乘法运算 return data1。 } void Write_DS1302Init(void) //写入数据 初始化 { v_W1302(0x8e,0)。 v_W1302(0x80,0x50)。 //写入秒 v_W1302(0x8e,0)。 v_W1302(0x82,0x59)。 //写入分 v_W1302(0x8e,0)。 v_W1302(0x84,0x07)。 //写入小时 v_W1302(0x8e,0)。 v_W1302(0x86,0x08)。 //写入日 v_W1302(0x8e,0)。 v_W1302(0x88,0x06)。 //写入月 v_W1302(0x8e,0)。 v_W1302(0x8a,0x05)。 //写入星期 v_W1302(0x8e,0)。 v_W1302(0x8c,0x13)。 //写入年 } void Run_DS1302() { uchar sec, min, hour, day, month, year , week。 v_W1302(0x8f, 0)。 sec = bcdtodec(uc_R1302(0x81))。 //读出 DS1302中的秒 v_W1302(0x8f, 0)。 min = bcdtodec(uc_R1302(0x83))。 //读出 DS1302中的分 v_W1302(0x8f, 0)。 hour = bcdtodec(uc_R1302(0x85))。 //读出 DS1302中的小时 v_W1302(0x8f, 0)。 day = bcdtodec(uc_R1302(0x87))。 //读出 DS1302中的日 v_W1302(0x8f, 0)。 month = bcdtodec(uc_R1302(0x89))。 //读出 DS1302中的月 v_W1302(0x8f, 0)。 year = bcdtodec(uc_R1302(0x8d))。 //读出 DS1302中的年 v_W1302(0x8f,0)。 week = bcdtodec(uc_R1302(0x8b))。 //读出 星期 v_Lcd12864SetAddress_f(0,0)。 基于热敏电阻的数字温度计 第 11 页 共 22 页 v_Lcd12864SendData_f( year /10 % 10 + 48 )。 v_Lcd12864SendData_f( year% 10 + 48 )。 v_Lcd12864SetAddress_f(2,0)。 v_Lcd12864SendData_f( month / 10 % 10 + 48 )。 v_Lcd12864SendData_f( month % 10 + 48 )。 v_Lcd12864SetAddress_f(4,0)。 v_Lcd12864SendData_f( day / 10 % 10 + 48 )。 v_Lcd12864SendData_f( day % 10 + 48 )。 v_Lcd12864SetAddress_f(6,0)。 v_Lcd12864SendData_f( week + 48)。 v_Lcd12864SetAddress_f(0,1)。 v_Lcd12864SendData_f( hour /10 % 10 + 48 )。 v_Lcd12864SendData_f( hour % 10 + 48 )。 v_Lcd12864SetAddress_f(2,1)。 v_Lcd12864SendData_f( min /10 % 10 + 48 )。 v_Lcd12864SendData_f( min % 10 + 48 )。 v_Lcd12864SetAddress_f(4,1)。 v_Lcd12864SendData_f( sec /10 % 10 + 48 )。 v_Lcd12864SendData_f( sec % 10 + 48 )。 } 本系统最重要的模块,是实现本项目 —— 数字温度计系统基本功能的核心模块,在本模块中传递出 0~255共 256个数字,然后通过分段计算得出温度。 本模块代码中还加入了串口。基于热敏电阻的数字温度计_毕业设计论文(编辑修改稿)
相关推荐
e20As25Se55薄膜中则观察到明显的光致漂泊效应 .经氩离子激光辐照后 ,在薄膜中均观察到明显的光致结晶现象。 光致暗化效应 光致暗化效应是指在一定强度光的辐照诱导下发生光学吸收边向长波方向移动即红移,此时薄膜的透射率减小。 在硫系非晶薄膜中不论是可逆还是不可逆的结构变化都会产生吸收边带的平移(绿移或红移),平移方向由材料决定 [6]。 硫系非晶薄膜由于其特定的组成
+ j + j + j 23 22 + j + j + j 24 23 + j + j + j 基于牛顿拉夫逊法潮流计算的 matlab 实验报告 26 25 + j + j + j 27 26 + j + j + j 28 26 + j + j + j 29 26 + j + j + j 29 28 + j + j + j 4 0 + j + j + j 5 0 + j + j + j 11
值、电话号码、时间日期、度量衡符号等格式的文本,芯 片能够根据内置的文本匹配规则进行正确的识别和处理。 例如:“ 20201221”读作 “二零零八年十二月二十一日”,“ 10:36:28”读作 “十点三十六分二十 八秒”,“ 28℃”读作“二十八摄氏度”,等等。 ○ 多音字处理和中文姓氏处理能力 对存在多音字的文本,例如:“当前工作的重中之重是要在 重重困难中保证重庆市的重点工程的顺利进 行
自变量和因变量。 明确预测的具体目标,也就确定了因变量。 如预测具体目标是下一年度的销售量,那么销售量 Y 就是因变量。 通过市场调查和查阅资料,寻找与预测目标的相关影响因素,即自变量,并从中选出主要的影响因素。 ② 建立回归预测模型。 依据自变量和因变量的历史统计资料进行计算,在此基础上建立回归分析方程,即回 归分析预测模型。 ③ 进行相关分析。
这些方法从根本上说,可以归为三类 :基于图像分割的方法,基于灰度级一彩色变换的 方法,基于滤波的方法。 实际上,大多数新的处理方法都是以这三类方法为基础演变而来的。 本文的研究内容是基于第一种方法 — 基于图像分割的方法。 这种方法的原理图如下 : 这种方法的关键技术是对图像进行有效的分割。 因此本文把研究重点放在了对图像进行有效的分割上面。 伪彩色图像处理技术的来源和应用
//指令 LCD_RW=0。 //写入 LCD_E=1。 //允许 LCD_DB=dat。 delay_n10us(10)。 //实践证明,我的 LCD1602 上,用 for 循环 1 次就能完成普通写指令。 LCD_E=0。 delay_n10us(10)。 //实践证明,我的 LCD1602 上,用 for 循环 1 次就能完成普通写指令。 } 盐城工学院课程设计说明书( 2020) 10