电子万年历制作实习报告.docx
《电子万年历制作实习报告.docx》由会员分享,可在线阅读,更多相关《电子万年历制作实习报告.docx(13页珍藏版)》请在冰豆网上搜索。
电子万年历制作实习报告
重庆城市管理职业学院
《C语言程序设计》实习报告
系(学院):
_____信息工程学院____
专业:
_____计算机科学与技术
班级:
_____计科A1101______
学号:
_____0441110122______
姓名:
_____詹宜____________
实习实训时间:
_____第17周_________
实习实训地点:
_____F508、F507______
指导老师:
_____程书红__________
成绩:
_____信息工程学院制__
实习报告——电子万年历
一.实验目的。
1.分析掌握万年历的电路功能,掌握C语言编程。
2.熟悉protelDXP软件的使用,熟练掌握画图方法。
3.独立完成电路板的焊制与纠错。
4.掌握下载器的使用方法,对电子万年历进行调试和运行。
二.试验器件。
1.DS18B20
(1)概述:
DS18B20支持“一线总线”接口,测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。
DS1822的精度较差为±2°C。
现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。
适合于恶劣环境的现场温度测量,如:
环境控制、设备或过程控制、测温类消费电子产品等。
DS18B20可以程序设定9~12位的分辨率,精度为±0.5°C。
可选更小的封装方式,更宽的电压适用范围。
分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。
(2)引脚图:
引脚说明:
16脚SSOPPR35符号说明
91GND接地
82DQ数据输入/输出脚。
对于单线操作:
漏极开路(见“寄生电源”节)
73VDD可选的VDD引脚。
具体接法见“寄生电源”节
DS1820S(16脚SSOP):
所有上表中未提及的引脚都无连接。
2.DS1302
(1)概述:
DS1302是DALLAS公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31字节静态RAM通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息每月的天数和闰年的天数可自动调整时钟操作可通过
AM/PM指示决定采用24或12小时格式DS1302与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线1RES复位2I/O数据线3SCLK串行时钟时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信DS1302工作时功耗很低保持数据和时钟信息时功率小于1mW
DS1302是由DS1202改进而来增加了以下的特性双电源管脚用于主电源和备份电源供应Vcc1为可编程涓流充电电源附加七个字节存储器它广泛应用于电话传真便携式仪器以及电池供电的仪器仪表等产品领域下。
(2)管脚图及内部结构图:
DS1302的管脚排列及描述如下图及表所示
管脚描述
X1X232.768KHz晶振管脚;GND地;RST复位脚;I/O数据输入/输出引脚
SCLK串行时钟;Vcc1,Vcc2电源供电管脚
(3)原理图:
电路原理图如图8,DS1302与单片机的连接也仅需要3条线:
CE引脚、SCLK串行时钟引脚、I/O串行数据引脚,Vcc2为备用电源,外接32.768kHz晶振,为芯片提供计时脉冲。
3.74LS154
(1)概述:
54/74154为4线-12线译码器,其主要电特性的典型值如下:
当选通端(G1、G2)均为低电平时,可将地址端(ABCD)的二进制编码在一个对应的输出端,以低电平译出。
若将G1和G2中的一个作为数据输入端,由ABCD对输出寻址,54/74154还可作1线-16线数据分配器。
管脚图:
引出端符号:
A、B、C、D译码地址输入端(低电平有效)
G1、G2选通端(低电平有效)
0-15输出端(低电平有效)
(2)功能表:
说明:
H-高电平L-低电平X-任意
*-其他输出端为高电平极限值
电源电压------------------------------------------------7V
输入电压-----------------------------------------------5.5V
工作环境温度54154------------------------------------55~125℃74154-----------------------------------------0~70℃
贮存温度------------------------------------------65~150℃
4.74ls244
(1)概述:
244为三态输出的八组缓冲器和总线驱动器
(2)74ls244管脚图及真值表:
(3)内部功能原理:
74ls244由2组、每组四路输入、输出构成。
每组有一个控制端G,由控制端的高或低电平决定该组数据被接通还是断开。
5.5.75451
(1)概述:
TheDS7545XseriesofdualperipheraldriversisafamilyofversatiledevicesdesignedforuseinsystemsthatuseTTLlogic.Typicalapplicationsincludehighspeedlogicbuffers,powerdrivers,relaydrivers,lampdrivers,MOSdrivers,busdriversandmemorydrivers.
(2)特性:
n300mAoutputcurrentcapability
nHighvoltageoutputs
nNooutputlatch-upat20V
nHighspeedswitching
nChoiceoflogicfunction
nTTLcompatiblediode-clampedinputs
nStandardsupplyvoltages
nReplacesTI“A”and“B”series
(3)逻辑图:
(6)真值表:
三.PCB电路图的绘制。
该模块我们需学会运用protelDXP软件绘制电路图。
首先是对电子万年历的功能有个整体把握,然后添加器件库,调用所需器件,合理布置器件,合理布线。
然后生成PCB图,共地,保存。
电路图如下:
四.电路板的焊制。
五.编程模块。
运用keiluvision3软件,C语言编程,实现电子万年历的基本功能。
程序代码如下:
#include
#include
#include
#include
intleap(intyear)
{
if((year%4==0)&&(year%100!
=0)
||(year%400==0))
{
return1;
}
return0;
}
voidshow(intyear,intmonth)
{
constcharmonth_str[][4]={"","Jan","Feb","Mar","Apl",
"May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
constintmonth_day[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
inti,j,wdays,mdays,days;
intcount=0;
for(i=1,days=0;i{
if(leap(i))
{
days+=366;
}
else
{
days+=365;
}
}
for(i=1;i{
if(i==2&&leap(year))
{
days+=29;
}
else
{
days+=month_day[i];
}
}
printf("\n----------------------------\n");
printf("%s%d\n",month_str[month],month);
printf("SunMonTueWedThuFriSat\n");
wdays=days%7;
for(j=0;j<=wdays;j++)
{
if(wdays==6)break;
for(i=0;i<4;i++)
{
printf("");
}
count++;
}
if(month==2&&leap(year))
{
mdays=29;
}
else
{
mdays=month_day[month];
}
for(i=1;i<=mdays;i++)
{
if(i>1&&count%7==0)
{
printf("\n");
}
printf("%4d",i);
count++;
}
printf("\n----------------------------\n");
}
main()
{
intyear,month;
printf("Inputtheyear:
");
scanf("%d",&year);
printf("Thecalendaroftheyear%d.",year);
printf("\n----------------------------\n");
for(month=1;month<=12;month++)
show(year,month);
system("pause");
}
六.下载程序,观察现象。
如有偏差,修改程序,重复下载运行。
七.实习总结。
该实习锻炼了我们多方面的能力。
既巩固了C语言编程、DXP等专业知识,又熟练了电路板的焊制过程。
能在实习过程中不怕困难,勇往直前。
为我们的就业打下了夯实的基础,做个良好的铺垫。
在此,感谢程书红老师对我们的指导和帮助,感谢对我提出意见和建议的同学。
.