单片机课程设计学生.docx
- 文档编号:26898830
- 上传时间:2023-06-23
- 格式:DOCX
- 页数:18
- 大小:361.68KB
单片机课程设计学生.docx
《单片机课程设计学生.docx》由会员分享,可在线阅读,更多相关《单片机课程设计学生.docx(18页珍藏版)》请在冰豆网上搜索。
单片机课程设计学生
设计题目:
高精度电子温度计
设计要求:
利用单片机STC12C5608AD、温度传感器DS18B20和数码块等,设计一个智能温度检测器.
元件清单:
元件型号、参数
图中标号
数量
10uF电解电容
C5,C7,CR1
3
0.1uF电容
C6,C8
2
3位单排针座
CON3
1
39pF电容(贴片)
CY1,CY2
2
发光二级管
D17
1
3位单排针座(DS18B20)
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口工作方式设定如下(n={3,2,1,0})
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下载工具
MCUType®COM®打开程序文件®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口工作方式设定如下(n={3,2,1,0})
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口工作方式设定如下(n={3,2,1,0})
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
计数(Count_remain)
7
单位温度计数(Count_per_c)
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
(CRC).
写暂存存储器
4Eh
写字节至暂存存储器2和3处(TH和TL温度触发器)
写数据至地址2和
3地2个字节
复制暂存存储器
43h
把暂存存储器复制到非易性存储器E2PROM(仅地址2和3)
读复制状态
重新调出
E2PROM
E3h
把贮存在非易失性存储器内地数值重新调入暂存存储器(温度触发器)
读温度忙状态
读电源
B4h
发DS1820电源方式地信号至主机
读电源状态
存储器操作举例:
温度变换与内插假定采用外部电源,且仅有一个DS1820
主机方式
数据(LSB在先)
注释
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文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 学生