级单片机课程设计学生.docx
- 文档编号:8832699
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:17
- 大小:373.47KB
级单片机课程设计学生.docx
《级单片机课程设计学生.docx》由会员分享,可在线阅读,更多相关《级单片机课程设计学生.docx(17页珍藏版)》请在冰豆网上搜索。
级单片机课程设计学生
11级_单片机课程设计
指导老师:
廖迎新
设计题目:
高精度电子温度计
设计要求:
利用单片机STC12C5608AD、温度传感器DS18B20和数码块等,设计一个智能温度检测器。
元件清单:
元件型号、参数
图中标号
数量
10uF电解电容
C5,C7,CR1
3
0.1uF电容
C6,C8
2
3位单排针座
CON3
1
39pF电容<贴片)
CY1,CY2
2
发光二级管
D17
1
3位单排针座 JK1 1 2位共阴数码块 LED1,LED2 2 2位单排针座<电源) POWER1 1 8050NPN三极管 Q2,Q3,Q4,Q5 4 10k/5.1k电阻<贴片) R17,RST13 2 1k电阻 RS1,RS2,RST2,RST3,RST9,RST10 6 510电阻 RST1,RST4,RST5,,RST6,RST7,RST8,RST11,RST12,R18 9 拨动开关 S1 1 复位按钮 ST1 1 STC12C5608AD U2 1 STC12C5608AD插座 1个 12MHz晶振 Y1 1 电源线 1根 下载器 1个 硬件电路: 程序设计: 1、数码块驱动 ✧STC12C5410AD单片机上电复位后为准双向口/弱上拉模式,2V以上为高电平,0.8V以下为低电平。 每个I/O口驱动能力可达20mA,但整个芯片不得超过55mA(或90mA>。 I/O口工作方式设定如下 P3M0[7: 0] P3M1[7: 0] I/O口模式 0 0 准双向口 0 1 强推挽输出 1 0 仅输入 1 1 开漏 ●P3寄存器可位寻址,P3M1、P3M0不可位寻址。 P2口设定: P2M1,P2M0。 P2寄存器可位寻址,P2M1、P2M0不可位寻址。 P1口设定: P1M1,P1M0。 P1寄存器可位寻址,P1M1、P1M0不可位寻址。 P0口设定: P0M1,P0M0。 P0寄存器可位寻址,P0M1、P0M0不可位寻址。 P2M0=0x00。 //P2口设为推挽模式,提高数码块亮度 P2M1=0xff。 P3M0=0x00。 //P3口设为推挽模式 P3M1=0xff。 2、DS18B20访问 ●INITIALIZATIONTIMING ●READ/WRITETIMESLOTTIMING 负数补码取反+1=负数原码大小 (负数补码-1>取反=负数原码大小 TEMPERATUREREGISTERFORMAT bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 LSByte 23 22 21 20 2-1 2-2 2-3 2-4 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 MSByte S S S S S 26 25 24 TEMPERATURE/DATARELATIONSHIP TEMPERATURE DIGITALOUTPUT(Binary> DIGITALOUTPUT(Hex> +125°C 0000011111010000 07D0h +85°C* 0000010101010000 0550h +25.0625°C 0000000110010001 0191h +10.125°C 0000000010100010 00A2h +0.5°C 0000000000001000 0008h 0°C 0000000000000000 0000h -0.5°C 1111111111111000 FFF8h -10.125°C 1111111101011110 FF5Eh -55°C 1111110010010000 FC90h 开发工具 Keil开发工具 选择Intel80C51芯片,在源文件中加“#include STC-ISP-V4.83下载工具 MCUTypeCOM打开程序文件DOWNLOAD/下载 CP2102下载器驱动软件 程序1.C #include #defineuintunsignedint voiddelay(uinti>//延时函数 {while(i-->。 } voidmain(> {delay(1000>。 } 程序1.C的反汇编程序: 传统12T的8051模式<1T模式) LJMPSTARTUP STARTUP: MOVR0,#0X7F CLRA IDATALOOP: MOV@R0,A DJNZR0,IDATALOOP MOVSP,#0X07 LJMPMAIN MAIN: MOVR7,#0xE8。 12TOSC<2TOSC) MOVR6,#0x03。 12TOSC<2TOSC) LJMPDELAY。 24TOSC<4TOSC) DELAY: MOVA,R7。 12TOSC<1TOSC) DECR7。 12TOSC<3TOSC) MOVR4,0X06。 24TOSC<4TOSC) JNZD1。 24TOSC<3TOSC) DECR6。 12TOSC<3TOSC) D1: ORLA,R4。 12TOSC<2TOSC) JNZDELAY。 24TOSC<3TOSC)<若R6,R7都减到0,退出) RET。 24TOSC<4TOSC) R6=y,R7=x时,延迟时间=48+108x+[108*256+12]*y+12+24(TOSC>=84+108*(y*256+x>+12y(TOSC> (或8+16x+[16*256+3]*y+3+4=15+16*(y*256+x>+3y(TOSC>> 附录A电阻电容参数识别 一、电阻 1、电阻的参数标注方法有3种,即数标法、色标法和直标法。 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种,即数标法、色标法和直标法。 大容量电容的容量值直接标明,如10uF/16V 小容量电容的容量值用字母表示或数字表示 字母表示法: 1m=1000uF,1P2=1.2PF,1n=1000PF 数字表示法: 一般用三位数字表示容量大小,前两位表示有效数字,第三位数字是倍率。 如: 102表示10×102PF=1000PF,224表示22×104PF=0.22uF <其中: 1F=103mF=106uF=109nF=1012pF) 2、电容容量误差表 符号FGJKLM 允许误差±1%±2%±5%±10%±15%±20% 如: 一瓷片电容为104J表示容量为0.1uF、误差为±5%。 附录BSTC12C5608AD单片机 ✧STC12C5608AD: 工作电压3.5-5.5V,4KBFlash程序存储器,768BytesSRAM,8路10位A/D转换电路等。 ✧若用户板使用外部晶振,必须在下载程序时,在“STC-ISP”下载软件界面设置“外部晶体或时钟”。 ✧STC12C5608AD是1T的8051单片机,为了兼容传统的8051,定时器0和定时器1在复位后是传统8051的速度,即12分频。 ✧STC12C5608AD单片机上电复位后为准双向口/弱上拉模式,2V以上为高电平,0.8V以下为低电平。 每个I/O口驱动能力可达20mA,但整个芯片不得超过55mA。 I/O口工作方式设定如下 P3M0[7: 0] P3M1[7: 0] I/O口模式 0 0 准双向口 0 1 强推挽输出 1 0 仅输入 1 1 开漏 举例: MOVP3M0,#10100000B。 MOVP3M1,#11000000B P3.7为开漏,P3.6为强推挽输出,P3.5为高阻输入,/P3.4/P3.3/P3.2/P3.1/P3.0为准双向口。 ●P3寄存器可位寻址,P3M1、P3M0不可位寻址。 P2口设定: P2M1,P2M0。 P2寄存器可位寻址,P2M1、P2M0不可位寻址。 P1口设定: P1M1,P1M0。 P1寄存器可位寻址,P1M1、P1M0不可位寻址。 P0口设定: P0M1,P0M0。 P0寄存器可位寻址,P0M1、P0M0不可位寻址。 附录CSTC12C5410AD单片机 ✧STC12C5410AD: 工作电压3.5-5.5V,10KBFlash程序存储器,512BytesSRAM,8路10位A/D转换电路等。 ✧STC12C5410AD是1T的8051单片机,为了兼容传统的8051,定时器0和定时器1在复位后是传统8051的速度,即12分频。 ✧STC12C5608AD单片机上电复位后为准双向口/弱上拉模式,2V以上为高电平,0.8V以下为低电平。 每个I/O口驱动能力可达20mA,但整个芯片不得超过55mA。 I/O口工作方式设定如下 P3M0[7: 0] P3M1[7: 0] I/O口模式 0 0 准双向口 0 1 强推挽输出 1 0 仅输入 1 1 开漏 举例: MOVP3M0,#10100000B。 MOVP3M1,#11000000B P3.7为开漏,P3.6为强推挽输出,P3.5为高阻输入,/P3.4/P3.3/P3.2/P3.1/P3.0为准双向口。 ●P3寄存器可位寻址,P3M1、P3M0不可位寻址。 P2口设定: P2M1,P2M0。 P2寄存器可位寻址,P2M1、P2M0不可位寻址。 P1口设定: P1M1,P1M0。 P1寄存器可位寻址,P1M1、P1M0不可位寻址。 P0口设定: P0M1,P0M0。 P0寄存器可位寻址,P0M1、P0M0不可位寻址。 附录DDS1820 *DQ<引脚2): 数据输入输出引脚,漏极开路。 单线总线要求5k左右的上拉电阻。 *DS1820的两种充电方式: 1>DQ充电方式。 DQ=H,给内部电容充电;L停止充电。 2>用外部5V电源供电。 *DS18208位数据发送顺序: 先低位D0,再高位 图1DS1820方框图 DS18B20内部寄存器阵列 1>暂存存贮器 0 Temp_read低字节 1 Temp_read高字节 2 高限报警温度值TH 3 低限报警温度值TL 4 保留 5 保留 6 计数 7 单位温度计数 8 CRC *2、3字节: 是TH、TL的易失性拷贝,在每一次上电复 位时被刷新。 *7字节: 是计数寄存器,用于获得较高的温度分辨率。 *8字节: 为循环冗余校验CRC字节它,是前面8个字节 的CRC值。 *DS1820在1秒<典型值)内把温度变换为数字。 温度 数字输出/二进制 数字输出十六进制 +125 0000000011111010 00FAh +25 0000000000110010 0032h +1/2 0000000000000001 0001h +0 0000000000000000 0000h -1/2 1111111111111111 FFFFh -25 1111111111001110 FFCEh -55 1111111110010010 FF92h 温度/数据关系<数字输出=<温度/2)的补码) 小数: 0,0.0 1,0.5 7位整数 8位符号 高精度温度计算公式: *访问DS1820的协议: 初始化→ROM操作命令→存贮器操作命令→处理/数据 1>初始化: 总线主机发一复位脉冲<最短为480µs的低电平信号)后,释放总线;DS1820检测到I/O引脚的上升沿后,等待15-60µs,接着送出存在脉冲<60-240µs的低电平信号)。 2>ROM操作命令: 主机检测到从属器件存在,可发器件ROM操作命令之一: (1>ReadROM(读ROM>[33h]: 主机读DS1820的8位产品系列编码、48位序列号以及8位CRC。 (2>MatchROM(符合ROM>[55h]: 命令后继以64位的ROM数据序列,允许总线主机对多点总线上特定的DS1820寻址,只有与64位ROM序列严格相符的DS1820才能对后继的存贮器操作命令作出响应,所有与64位ROM序列不符的从片将等待复位脉冲; (3>SkipROM(跳过ROM>[CCh]: 允许主机不提供64位ROM编码而访问存储器; (4>SearchROM(搜索ROM>[F0h]: 允许主机使用一种消去elimination处理来识别总线上所有从片的64位ROM编码; (5>AlarmSearch(告警搜索>[ECh]: 命令流程与搜索ROM命令相同,但仅在最近一次温度测量出现告警的情况下,DS1820才对此命令作出响应,告警的条件定义为温度高于TH或低于TL。 只要DS1820一上电,告警条件就保持在设置状态,直到另一次温度测量显示出非告警值或者改变TH或TL的设置,使得测量值再一次位于允许的范围之内,贮存在EEPROM内的触发器值用于告警。 3>存贮器操作命令 指令 代码 说明 单总线的操作 注 温度变换 44h 启动温度变换 读温度转换状态: 0,DS1820忙; 1,温度变换完成 温度变换需要2秒钟 读暂存存储器 BEh 从暂存存储器读字节 读9字节数据 始于字节0,直至字节8 写暂存存储器 4Eh 写字节至暂存存储器2和3处 写数据至地址2和 3的2个字节 复制暂存存储器 43h 把暂存存储器复制到非易性存储器E2PROM<仅地址2和3) 读复制状态 重新调出 E2PROM E3h 把贮存在非易失性存储器内的数值重新调入暂存存储器<温度触发器) 读温度忙状态 读电源 B4h 发DS1820电源方式的信号至主机 读电源状态 存储器操作举例: 温度变换与内插假定采用外部电源,且仅有一个DS1820 主机方式 数据 注释 TX CCh 跳过ROM命令 TX 44h 启动温度变换命令 RX 1个数据字节 读“忙”标志3次。 主机连续读字节或位,直至数据为FFh<温度变换完成) TX Reset(复位> 复位脉冲<最短为480µs的低电平信号) RX Presence<存在) 存在脉冲<60-240µs的低电平信号) TX CCh 跳过ROM命令 TX BEh ReadScratchpad读暂存存储器命令 RX 9个数据字节 读整个暂存存储器。 主机计算从暂存存储器接收到的8个数据位的CRC,并将它与接收到的CRC相比较。 如果CRC相符,数据有效,主机保存温度的数值,并把计数寄存器和单位温度计数寄存器的内容分别作为COUNT_REMAIN和COUNT_PER_C加以保存 TX Reset(复位> 复位脉冲 RX Presence存在 存在脉冲,操作完成 附录EDS18B20 TEMPERATUREREGISTERFORMAT bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 LSByte 23 22 21 20 2-1 2-2 2-3 2-4 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 MSByte S S S S S 26 25 24 TEMPERATURE/DATARELATIONSHIP TEMPERATURE DIGITALOUTPUT(Binary> DIGITALOUTPUT(Hex> +125°C 0000011111010000 07D0h +85°C* 0000010101010000 0550h +25.0625°C 0000000110010001 0191h +10.125°C 0000000010100010 00A2h +0.5°C 0000000000001000 0008h 0°C 0000000000000000 0000h -0.5°C 1111111111111000 FFF8h -10.125°C 1111111101011110 FF5Eh -25.0625°C 1111111001101111 FE6Fh -55°C 1111110010010000 FC90h 如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。 copyright@ 2008-2022 冰点文档网站版权所有 经营许可证编号:鄂ICP备2022015515号-1