课程设计--基于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) {。课程设计--基于51单片机的ds18b20数字温度计的设计
相关推荐
使用 DS18B20 可使系统结构更简单,可靠性更高。 芯片的耗电量很小,从总线上“偷”一点电存储在片内的电容中就可正常工作,一般不用另加电源。 最可贵的是这些芯片在检测点已把被测信号数字化 了,因此在单总线上传送的是数字信号,这使得系统的抗干扰性好、可靠性高、传输距离远。 ( 1) DS18B20 传感器有如下特点: ● 单线接口,只有一根信号线与 CPU 连接; ● 不需要备份电源
接很生疏, 需要多加练习。 建议 希望在以后的学习中能过再多做类似本设计的练习,提高动手能力,夯实基础知识。 5 附录 原件明细表 DS18B20 两个、 AT89S52 一块、 74HC573 一块、按钮开关 3个、 10K 电阻三个、 电阻两个、 10uf 电解电容一个、 四位八段数码管一个。 设计原理图 参看上面的仿真图。 设计的主程序: include define uchar
些功能;同时支持第三方的软件编译和调试环境,如 Keil C51 uVision MPLAB等软件。 ( 4) 具有强大的原理图绘制功能。 总之,该软件是一款集单片机和 SPICE 分析于一身的仿真软件,功能极其强大。 是目前最好的模拟单片机外围器件的工具 , 可以仿真 51 系列、 AVR、 PIC等常用的 MCU 及其外围电路 ( 如 LCD、 RAM、 ROM、 键盘 、 马达 、 LED
、右端面 ,方形端面,要求其端面跳动度相对中心轴线满足 ,其次就是φ 25孔及φ 10 孔,φ 25 孔的加工端面为平面,可以防止加工过程中钻头钻偏,以保证孔的加工精度;另外φ 10 孔的加工表面虽然在圆周上,但通过专用的夹具和钻套 能够保证其加工工艺要求。 该零件除主要加工表面外,其余的表面加工精度均较低,不需要高精度机床加工,通过铣削、钻床的粗加工就可以达到加工要求。 由此可见
●用户可定义报警设置; ●报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件; ●负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作; DS18B20 采用3脚 PR- 35 封装或8脚 SOIC 封装,其内部结构框图如 下图 所示。 图 18B20 内部结构 64 位 ROM 的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48 位,最后8位是前面
2min 评价 过程评价和结果评价 5min 四 、考核方案设计 (一) 期末考核及方式说明 : 本课程的考核办法是以平时、期末考查、实际操作三部分相结合的多样化教学评价体系。 ( 二 ) 过程考核说明: 1. 平时成绩包括平时提问成绩、平时作业、考勤三个方面: 2. 考查成绩采用半开卷考试方法:是考试前一周建议学生把平时上课的笔记整理好,考试当场发给学生白纸,老师把考试题目写在黑板上