- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机课程设计实验
题 目: 温度+时钟+计算器的设计
姓 名: 易丹丹
学 号: 012301234207
专业名称: 电子信息工程
2015年 6 月 13 日
第一节 设计要求及系统组成
一、设计要求
1.有温度计功能,能够在七段数码管上显示DS18B20温度传感器的值,测周围温度。
2.有数字时钟功能,数码管上显示时间,能够对时钟的初始值(时、分、秒)进行设置。
3.有整数加减乘除的计算器功能,数码管上显示输入和输出值。
二、系统的组成
原理框图如下图所示
图1.1 系统原理框
第二节 系统设计方案
1、系统设计方案
电路原理图如图2.1所示
原理图2.1
2、功能演示
功能一:按下KEYI
在数码管上,
图2.2
此时温度为27.0摄氏度
功能二:按下KEY2
数码管,
图2.3
此时时间为3分18秒
功能三:按下KEY3
实现做一个整数加、减、乘、除的计算器,数码管分别(本次以加,乘为例)。如下图所示。
上图完成的是28+35=63的加法运算。
上图完成的是35*5=175的除法运算。
3、电路模块组成及其工作原理
1.时钟电路
系统时钟源由内部时钟方式产生,时钟电路由12MH晶振和两个30PF瓷片电容组成,构成自激振荡,形成振荡源提供给单片机。电容可在5PF到30PF之间选择,电容的大小对振荡频率有微小影响,可起频率微调作用。时钟电路如图2.4
图2.4 时钟电路
2.复位电路
单片机复位有上电复位和手动复位两种方式,上电复位是接通电源后利用RC充电来实现复位。如图2.5
图2.5 复位电路
3.按键电路
按键调试
2.6 按键调试电路
?
图2.7按键选择电路
按下KEY1,D1灯亮,实现温度计功能
按下KEY2,D2灯亮,实现时间显示功能
按下KEY3,D3灯亮,实现计数器功能
4.温度传感电路
DS18B20温度传感器通过感应周围温度而通过LED数码管显示出来 电路如图2.8
// 主函数 //
void main() 主流程图
{
P3=0X54;
if(P3_0==0) {
dela(10);
if(P3_0==0)
{
while(!P3_0);
P3_1=1;
IE=0X82;
TMOD=0X01;
TH0=65536/256;
TL0=65536%256;
TR0=0;
Init_DS18B20();
Read_Temperature();
dela(1000);
while(1)
{
Read_Temperature();
if(DS18B20_IS_OK)
{
TR0=1;
Display_Temperature();
}
else{
P0=P2=0X00;} }} }
if(P3_2==0)
{
dela(10);
if(P3_2==0)
{
while(!P3_2);
P3_3=1;
P1=0X0F;
TMOD=0x11;
TH0=0x3c;
TL0=0xb0;
EA=1;
ET0=1;
TR0=1;
while (1) {
keyscan( );
time_pro( );
display( ); } } }
if(P3_4==0)
{
dela(10);
if(P3_4==0)
{
while(!P3_4);
while(1) {
P3_5=1;
if(kyscan()==15)
{
flag1=1;
shu1=shu2=fuhao=flag_shu=newkey=0;
while(flag1)
{
if(!flag_fuhao)
dsplay(shu1);
else dsplay(shu2);
key_shu=kyscan();
suan();
}
}
}
}
}
}
温度子流程图
温度子程序:
//温度函数//
uchar Init_DS18B20() //初始化
* *
uchar ReadOneByte() //读一个字节
* *
void WriteOneByte(uchar dat) //写一个字节
* *
void Read_Temperature() //读取温度
* *
void Display_Temperature() //处理温度,显示
时钟子流程图
时钟子程序:
//时钟函数//
void time_pro(void) //时钟内
您可能关注的文档
最近下载
- 正方体的11种展开图--A4直接打印版.docx VIP
- 新能源汽车动力电池管理及维护技术PPT课件.pptx VIP
- 【中职】高教2023版 世界历史第2课 古代希腊罗马 PPT课件.pptx VIP
- DB32_T4725-2024池塘养殖尾水生态处理技术规范.pdf VIP
- Kaierda凯尔达 KC20机器人操作说明书.pdf VIP
- 第四章陈述性知识课件.ppt VIP
- 锚固剂参数、规格与安装说明.doc VIP
- 2025年安徽省第七届粮食行业职业技能大赛(粮油保管员赛项)备考试题库资料(含答案).pdf VIP
- “巴渝工匠”杯重庆市粮食行业职业技能竞赛_(粮油)仓储管理员备赛试题库资料(含答案).pdf
- 最新锅炉工资格完整考试题库必背100题(含答案) .pdf VIP
文档评论(0)