级单片机课程设计学生Word文档格式.docx
- 文档编号:21968864
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:17
- 大小:373.47KB
级单片机课程设计学生Word文档格式.docx
《级单片机课程设计学生Word文档格式.docx》由会员分享,可在线阅读,更多相关《级单片机课程设计学生Word文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
复位按钮
ST1
STC12C5608AD
U2
STC12C5608AD插座
1个
12MHz晶振
Y1
电源线
1根
下载器
硬件电路:
程序设计:
1、数码块驱动
✧STC12C5410AD单片机上电复位后为准双向口/弱上拉模式,2V以上为高电平,0.8V以下为低电平。
每个I/O口驱动能力可达20mA,但整个芯片不得超过55mA(或90mA>
。
I/O口工作方式设定如下<
n={3,2,1,0})
P3M0[7:
0]
P3M1[7:
I/O口模式
准双向口
强推挽输出
仅输入
开漏
●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
26
25
24
TEMPERATURE/DATARELATIONSHIP
TEMPERATURE
DIGITALOUTPUT(Binary>
DIGITALOUTPUT(Hex>
+125°
C
0000011111010000
07D0h
+85°
C*
0000010101010000
0550h
+25.0625°
0000000110010001
0191h
+10.125°
0000000010100010
00A2h
+0.5°
0000000000001000
0008h
0°
0000000000000000
0000h
-0.5°
1111111111111000
FFF8h
-10.125°
1111111101011110
FF5Eh
-55°
1111110010010000
FC90h
开发工具
Keil开发工具
选择Intel80C51芯片,在源文件中加“#include<
STC12C5608AD.H>
”
STC-ISP-V4.83下载工具
MCUTypeCOM打开程序文件DOWNLOAD/下载
CP2102下载器驱动软件
程序1.C
#include<
reg51.h>
#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。
LJMPDELAY。
24TOSC<
4TOSC)
DELAY:
MOVA,R7。
1TOSC)
DECR7。
3TOSC)
MOVR4,0X06。
JNZD1。
DECR6。
D1:
ORLA,R4。
JNZDELAY。
3TOSC)<
若R6,R7都减到0,退出)
RET。
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。
举例:
MOVP3M0,#10100000B。
MOVP3M1,#11000000B
P3.7为开漏,P3.6为强推挽输出,P3.5为高阻输入,/P3.4/P3.3/P3.2/P3.1/P3.0为准双向口。
附录CSTC12C5410AD单片机
✧STC12C5410AD:
工作电压3.5-5.5V,10KBFlash程序存储器,512BytesSRAM,8路10位A/D转换电路等。
✧STC12C5410AD是1T的8051单片机,为了兼容传统的8051,定时器0和定时器1在复位后是传统8051的速度,即12分频。
附录DDS1820
*DQ<
引脚2):
数据输入输出引脚,漏极开路。
单线总线要求5k左右的上拉电阻。
*DS1820的两种充电方式:
1>
DQ充电方式。
DQ=H,给内部电容充电;
L停止充电。
2>
用外部5V电源供电。
*DS18208位数据发送顺序:
先低位D0,再高位
图1DS1820方框图
DS18B20内部寄存器阵列
暂存存贮器
Temp_read低字节
Temp_read高字节
高限报警温度值TH
低限报警温度值TL
保留
5
计数<
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
-1/2
1111111111111111
FFFFh
-25
1111111111001110
FFCEh
-55
1111111110010010
FF92h
温度/数据关系<
数字输出=<
温度/2)的补码)
小数:
0,0.0
1,0.5
7位整数
8位符号
高精度温度计算公式:
*访问DS1820的协议:
初始化→ROM操作命令→存贮器操作命令→处理/数据
初始化:
总线主机发一复位脉冲<
最短为480µ
s的低电平信号)后,释放总线;
DS1820检测到I/O引脚的上升沿后,等待15-60µ
s,接着送出存在脉冲<
60-240µ
s的低电平信号)。
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命令
启动温度变换命令
RX
1个数据字节
读“忙”标志3次。
主机连续读字节或位,直至数据为FFh<
温度变换完成)
Reset(复位>
复位脉冲<
s的低电平信号)
Presence<
存在)
存在脉冲<
s的低电平信号)
CCh
BEh
ReadScratchpad读暂存存储器命令
9个数据字节
读整个暂存存储器。
主机计算从暂存存储器接收到的8个数据位的CRC,并将它与接收到的CRC相比较。
如果CRC相符,数据有效,主机保存温度的数值,并把计数寄存器和单位温度计数寄存器的内容分别作为COUNT_REMAIN和COUNT_PER_C加以保存
复位脉冲
Presence存在
存在脉冲,操作完成
附录EDS18B20
-25.0625°
1111111001101111
FE6Fh
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 学生
![提示](https://static.bdocx.com/images/bang_tan.gif)