课程设计--基于51单片机的ds18b20数字温度计的设计内容摘要:

读 取温 度温 度数 据处 理温 度显 示报 警温 度比 较超 出范 围。 开 始YNYN 图 52 DS18B20初始化流程图 部分电路图设计 晶振设计 80C52 单片机内部带有时钟电路,只需在片外通过 XTAL1 和 XTAL2 引脚接入定时控制元 件( 12MHZ 晶振和电容)即可构成一个稳定的自激振荡器。 XTAL1 和 8 XTAL2 分别是 80C52 内部高增益反响放大器的输入端和输出端 时钟频率为 12MHz. 此部分为其使能和复位电路,该电路采用上电自动复位方式,通过复位电容C1 的充电来实现,接通电源就实现了系统的复位初始化。 报警电路设计 单片机一个引脚控制蜂鸣器,当温度超过设定的值时,他就可以报警,下图为 PNP型三极管给低电平即可以实现报警。 第六章 原理图、仿真与实物 原理图 9 仿真图 10 图 81 仿真 1 实物 如下面包板实物图显示 和 度 源程序清单: //DS18B20 的读写程序 ,数据脚 // //温度传感器 18B20 汇编程序 ,采用器件默认的 12 位转化 // //最大转化时间 750 微秒 ,显示温度 55 到 +125 度 ,显示精度 // //为 度,显示采用 4 位 LED 共阳显示测温值 // //P0 口为段码输入 ,P20~P24 为位选 // /***************************************************/ include include //_nop_()。 延时函数用 define dm P0 //段码输出口 define uchar unsigned char define uint unsigned int sbit DQ=P2^5。 //温度输入口 sbit w0=P2^3。 //数码管 4 sbit w1=P2^2。 //数码管 3 sbit w2=P2^1。 //数码管 2 sbit w3=P2^0。 //数码管 1 sbit beep=P1^7。 //蜂鸣器和指示灯 sbit set=P1^0。 //温度设置切换键 sbit add=P1^1。 //温度加 sbit dec=P1^2。 int temp1=0。 //显示当前温度和设置温度的标志位为 0 时显示当前温度 uint h。 uint temp。 11 uchar r。 uchar high=40,low=15。 uchar sign。 uchar q=0。 uchar tt=0。 uchar scale。 //**************温度小数部分用查表法 ***********// uchar code ditab[16]={0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09}。 //小数断码表 uchar code table_dm[12]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}。 //共阴 LED 段码表 0 1 2 3 4 5 6 7 8 9 不亮 uchar table_dm1[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}。 //个位带小数点的断码表 uchar data temp_data[2]={0x00,0x00}。 //读出温度暂放 uchar data display[5]={0x00,0x00,0x00,0x00,0x00}。 //显示单元数据,共 4 个数据和一个运算暂用 /*****************11us 延时函数 *************************/ void delay(uint t) { for (。 t0。 t)。 } void scan() { int j。 for(j=0。 j4。 j++) { switch (j) { case 0: dm=table_dm[display[0]]。 w0=0。 delay(50)。 w0=1。 //xiaoshu case 1: dm=table_dm1[display[1]]。 w1=0。 delay(50)。 w1=1。 //gewei case 2: dm=table_dm[display[2]]。 w2=0。 delay(50)。 w2=1。 //shiwei case 3: dm=table_dm[display[3]]。 w3=0。 delay(50)。 w3=1。 //baiwei // else{dm=table_dm[b3]。 w3=0。 delay(50)。 w3=1。 } } } } //***************DS18B20 复位函数 ************************/ ow_reset(void) {。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。