
11级_单片机课程设计_学生.doc
13页基于DS18B20和STC12C单片机的高精度温度计11级_单片机课程设计指导老师:廖迎新设计题目:高精度电子温度计设计要求:利用单片机STC12C5608AD、温度传感器DS18B20和数码块等,设计一个智能温度检测器元件清单:元件型号、参数图中标号数量10uF电解电容C5,C7,CR130.1 uF电容C6,C823位单排针座CON3139 pF 电容(贴片)CY1,CY22发光二级管D1713位单排针座(DS18B20)JK112位共阴数码块LED1, LED222位单排针座(电源)POWER118050 NPN三极管Q2,Q3,Q4,Q5410kW/5.1kW 电阻(贴片)R17,RST1321kW电阻RS1,RS2,RST2,RST3,RST9,RST106510W 电阻RST1,RST4,RST5,,RST6,RST7,RST8,RST11,RST12, R189拨动开关S11复位按钮ST11STC12C5608ADU21STC12C5608AD插座1个12MHz 晶振Y11电源线1根下载器1个硬件电路:程序设计:1、数码块驱动² STC12C5410AD单片机上电复位后为准双向口/弱上拉模式,2V以上为高电平,0.8V以下为低电平。
每个I/O口驱动能力可达20mA,但整个芯片不得超过55mA(或90mA)I/O口工作方式设定如下(n={3,2,1,0})P3M0[7:0]P3M1[7:0]I/O口模式00准双向口01强推挽输出10仅输入11开漏l P3寄存器可位寻址,P3M1、P3M0不可位寻址P2口设定:P2M1,P2M0P2寄存器可位寻址,P2M1、P2M0不可位寻址P1口设定:P1M1,P1M0P1寄存器可位寻址,P1M1、P1M0不可位寻址P0口设定:P0M1,P0M0P0寄存器可位寻址,P0M1、P0M0不可位寻址P2M0=0x00; //P2口设为推挽模式,提高数码块亮度P2M1=0xff;P3M0=0x00; //P3口设为推挽模式P3M1=0xff;2、DS18B20访问图2 温度采样流程图发DS18B20复位信号发跳过ROM命令CCH发读温度命令BEH发启动转换命令44HY转换结束否否?N发DS18B20复位信号发跳过ROM命令CCH接收并保存温度数据 返回图1 主程序流程图T0初始化,实现4ms定时(每个数码块显示时间)开T0溢出中断,并启动T0调整显存采样时间到否?Y对温度采样TR0=0(禁止中断)TR0=1(开中断)对采样数据进行处理,采样标志清零N图3 T0中断服务子程序Y返回显示1位数,并准备下次显示数的序号采样标志置11s到否?开始Nl INITIALIZATION TIMINGl READ/WRITE TIME SLOT TIMING负数补码取反+1=负数原码大小(负数补码-1)取反=负数原码大小YDQ0=0,之后延时2us返回DQ0=1,之后延时2us保存接收到的1位数据,之后延时120us接收完8位否?开始N图4读1个字节NYDQ0=0,之后延时2us返回DQ0=1,之后延时2us发送1位数据,之后延时120us发送完8位否?开始图5写1个字节TEMPERATURE REGISTER FORMATbit7bit6bit5bit4bit3bit2bit1bit0LS Byte232221202-12-22-32-4bit15bit14bit13bit12bit11bit10bit9bit8MS ByteSSSSS262524TEMPERATURE/DATA RELATIONSHIPTEMPERATUREDIGITAL OUTPUT(Binary)DIGITAL OUTPUT(Hex)+125°C0000 0111 1101 000007D0h+85°C*0000 0101 0101 00000550h+25.0625°C0000 0001 1001 00010191h+10.125°C0000 0000 1010 001000A2h+0.5°C0000 0000 0000 10000008h0°C0000 0000 0000 00000000h-0.5°C1111 1111 1111 1000FFF8h-10.125°C1111 1111 0101 1110FF5Eh-55°C1111 1100 1001 0000FC90h开发工具Keil开发工具选择Intel80C51芯片,在源文件中加“#include
1)数标法主要用于贴片等小体积电路,如:472 表示 47×100Ω(即4.7K); 104则表示100KΩ2)色环标注法常用的有四色环电阻 五色环电阻(精密电阻)色环顺序识别技巧:(1)最常用的表示电阻误差的颜色是:金、银、棕,金环和银环绝少用做电阻色环的第一环,所以电阻上若有金环和银环,则这是最末一环 (2)棕色环是否是误差标志的判别可以根据色环之间的间隔判别:如一个五道色环的电阻,第五环和第四环之间的间隔比第一环和第二环之间的间隔要宽一些 (3)利用电阻的生产序列值加以判别如一个电阻的色环读序是:棕、黑、黑、黄、棕,其值为:100×104Ω=1MΩ误差为1%,属于正常的电阻系列值,若是反顺序读:棕、黄、黑、黑、棕,其值为140×100Ω=140Ω,误差为1%显然后一种排序的电阻值在生产系列中没有,故后一种色环顺序不对四色环电阻:如“棕 红 红 金”,则阻值为12×102=1.2KΩ,误差为±5% 五色环电阻:如“红 红 黑 棕 金”,则阻值为220×101=2.2KΩ,误差为±5%二、电容1、电容的参数标注方法有3种,即数标法、色标法和直标法大容量电容的容量值直接标明,如10 uF/16V小容量电容的容量值用字母表示或数字表示字母表示法:1m=1000 uF,1P2=1.2PF,1n=1000PF 数字表示法:一般用三位数字表示容量大小,前两位表示有效数字,第三位数字是倍率。
如:102表示10×102PF=1000PF,224表示22×104PF=0.22 uF(其中:1F=103 mF =106 uF =109 nF =1012 pF)2、电容容量误差表符号 F G J K L M允许误差 ±1% ±2% ±5% ±10% ±15% ±20%如:一瓷片电容为104J表示容量为0. 1 uF、误差为±5% 附录B STC12C5608AD单片机² STC12C5608AD:工作电压3.5-5.5V,4KB Flash程序存储器,768Bytes SRAM,8路10位A/D转换电路等² 若用户板使用外部晶振,必须在下载程序时,在“STC-ISP”下载软件界面设置“外部晶体或时钟”² STC12C5608AD是1T的8051单片机,为了兼容传统的8051,定时器0和定时器1在复位后是传统8051的速度,即12分频² STC12C5608AD单片机上电复位后为准双向口/弱上拉模式,2V以上为高电平,0.8V以下为低电平每个I/O口驱动能力可达20mA,但整个芯片不得超过55mAI/O口工作方式设定如下(n={3,2,1,0})P3M0[7:0]P3M1[7:0]I/O口模式00准双向口01强推挽输出10仅输入11开漏举例:MOV P3M0,#10100000B; MOV P3M1,#11000000BP3.7为开漏,P3.6为强推挽输出,P3.5为高阻输入,/P3.4/ P3.3/ P3.2/ P3.1/ P3.0为准双向口。
l P3寄存器可位寻址,P3M1、P3M0不可位寻址P2口设定:P2M1,P2M0P2寄存器可位寻址,P2M1、P2M0不可位寻址P1口设定:P1M1,P1M0P1寄存器可位寻址,P1M1、P1M0不可位寻址P0口设定:P0M1,P0M0P0寄存器可位寻址,P0M1、P0M0不可位寻址附录C STC12C5410AD单片机² STC12C5410AD:工作电压3.5-5.5V,10KB Flash程序存储器,512Bytes SRAM,8路10位A/D转换电路等² STC12C5410AD是1T的8051单片机,为了兼容传统的8051,定时器0和定时器1在复位后是传统8051的速度,即12分频² STC12C5608AD单片机上电复位后为准双向口/弱上拉模式,2V以上为高电平,0.8V以下为低电平每个I/O口驱动能力可达20m。












