微机课设—电子万年历的设计制作(7)

2019-04-23 11:44

参考文献 参考文献

[1]陈明荧. 8051单片机课程设计实训教程[M].北京:清华大学出版社 [2]苏平.单片机的原理与接口技术[M].北京:电子工业出版社,2006:1-113. [3]王忠民.微型计算机原理[M].西安:西安科技大学出版社,2003:15-55. [4]何立民.单片机高级教程[M].北京:北京航空航天大学出版社,2003年 [5]纪宗南.单片机外围器件使用手册[M].北京:北京航空航天大学出版社,622-655. [6]周雪.模拟电子技术[M]西安: 西安电子科技大学出版社,2005:81-95. [7]左金生.电子与模拟电子技术[M].北京:电子工业出版社,2004:105-131.

[8]尹勇.单片机开发环境μVision2的开发指南[M]. 北京:北京航空航天大学出版社,2004:173-199.

[9]马忠梅,籍顺心等.单片机的C语言应用程序设计[M].北京航空航天大学出版社,2001年

[10]新编单片机原理与应用(第二版).西安电子科技大学出版社,2007.2 [11]张萌.单片机应用系统开发综合实例[M]. 北京:清华大学出版社,2007.7 [12]楼然苗.单片机课程设计指导[M]. 北京:北京航空航天大学出版社,2007.7 [13]朱思荣.51单片机实现公历与农历、星期的转换[Z].当当电子网 [14]李广弟. 单片机原理及应用[M] 北京航空航天大学出版社,2004年 [15]王越明.电子万年历的设计[J].黑龙江科技信息,2004年

[16] VergheseGC, LangH, CaseyLF. Analysisofinstabilityinelectricalmachines .IEEETransonIA, 1986, 22 :853-864 . [17] RichardBlanchard,

JamesHarden.

Mosfetscontrolmorepowerinthesame-sizedpackage .ElectronicDesign, 1982, 12 :107~114 [18] TiinaHavana. 2003April. CommunicationintheSoftwareVulnerabilityReportingProcess. M.A. thesis, UniversityofJyvaskyla.

[19] DanielE. Geer, Jr. (Editor), MaryAnnDavidson, MarcDonner, LyndaMcGhie, andAdamShostack.

[20] MenozziG.Eurimusapproved19projectsfortotalamountofEuro89million.MSTnews.2000.5

27

致谢 致谢

经过半个多月的时间,课程设计按照预期完成了,由于本人的知识水平有限,论文和设计中有遗漏和缺陷的地方恳请指正。

感谢我的导师,彭老师给了我莫大的帮助,在他悉心的指导和严格的要求下,作品和论文顺利完成了。论文从选题和最终完成,凝结着导师的辛勤的汗水,他不辞劳苦的教导、严谨的作风使我终生受益。在此课程设计完成之际,谨向导师和所有帮助过我的老师致以崇高的敬意和衷心的感谢。

还有感谢家人、朋友还有宿舍里所有的室友,是他们给我创造了良好的学习氛围,在学习和生活中给了我支持和帮助。在以后的学习生活中我会时时敦促自己更加努力,不辜负师长、亲人、朋友对我的期望。

在论文完成之际,我的心情万分激动。从论文的选题、资料的收集到论文的撰写编排整个过程中,我得到了许多的热情帮助。其中无不凝聚着导师的心血和汗水,在此本人深表感谢! 感谢我的同学和朋友,在我的论文撰写期间给予我工作和生活上的大力支持和帮助。

28

附录

#include #include #include

#defineLCM_RSP1_0 //定义引脚 #defineLCM_RWP1_1 #defineLCM_EP1_2 #defineLCM_DataP2

#defineBusy0x80 //用于检测LCM状态字中的Busy标识 #defineucharunsignedchar ucharid,timecount,dipsmodid;

bitlmcinit_or_not; //是否需要清屏标志位“1”为需要“0”为不需要 bitflag,sflag; //flag是时钟冒号闪烁标志,sflag是温度负号显示标志 voidDisp_line1(void); //显示屏幕第一行 voidDisp_line2(void); //显示屏幕第二行 voidid_case1_key();

voidDisp_mod0(void);//显示模式0 voidDisp_mod1(void);//显示模式

voidDisp_mod2(void);

//*********** DS1302时间显示定义部分 sbitT_CLK=P3^4; sbitT_IO =P3^5; sbitT_RST=P3^6; sbitACC0=ACC^0; sbitACC7=ACC^7;

voidSet(uchar,uchar); //根据选择调整相应项目 voidRTInputByte(uchar); /* 输入1Byte */

ucharRTOutputByte(void); /* 输出1Byte */ ucharclock_h,clock_m;

voidW1302(uchar, uchar); // 向DS1302写入一个字节 ucharR1302(uchar); // 从DS1302读出一个字节 voidSet1302(unsignedchar * ); // 设置时间

bitsec,min,hour,year,mon,day,weekk; //闪烁标志位

//初始化后设置为:04年12月2日星期40点0分0秒

unsignedcharinittime[7]={0x00,0x00,0x00,0x10,0x05,0x04,0x12};

29

// 秒分钟小时日月年星期

//***** 18B20温度显示定义部 sbitDQ=P3^7; //18B20接P07口 typedefunsignedcharbyte; typedefunsignedintword;

Read_Temperature(char,char); voidmychar(void); byteow_reset(void); byteread_byte(void); voidwrite_byte(charval);

voidadjust_res(charres); //res分别等于0x1f, 0x3f, 0x5f温度读数分辨率分别对应 // 0.5, 0.25, 0.125 //*******温度控制部分*********

bittl_flash_flag; //下限闪烁标志 bitth_flash_flag; //上限闪烁标志 bittl_flag; //下限越限标志 bitth_flag; //上限越限标志 bittl_sign,th_sign; //温度零下标志0:零上,1:零下 chartempid;

voidDisp_Temp(void); //显示上下限温度 voidSet_TH_Temp(void); //设置温度上限 voidSet_TL_Temp(void); //设置温度下限 signedchartl=20,th=30;

voidCompare_Temp(signedcharl,signedcharh); //比较温度 voidTl_Al(void); //下限越限报警 voidTh_Al(void); //上限越限报警 //*******1602LCD驱动程序

********************************************************** voidWriteDataLCM(unsignedcharWDLCM);

voidWriteCommandLCM(unsignedcharWCLCM,BuysC); unsignedcharReadStatusLCM(void); voidLCMInit(void);

voidDisplayOneChar(unsignedcharX, unsignedcharY, unsignedcharDData);

voidDisplayListChar(unsignedcharX, unsignedcharY, unsignedcharcode *DData); voidDelay5Ms(void); voidDelay400Ms(void);

unsignedcharcodeweek[]={\

30

voidmain(void)

{

Delay400Ms(); //启动等待,等LCM讲入工作状态 LCMInit(); //LCM初始化

Delay5Ms(); //延时片刻(可不要) mychar(); TMOD=0x01;

TH0=(65535-50000)/256; TL0=(65535-50000)%6; EA=1; TR0=1;

ET0=1;

W1302(0x90,0xa5);//打开充电二级管一个二级管串联一个2K电阻 W1302(0x8e,0x80);//写保护,禁止写操作

adjust_res(0x1f); //调整18B20的分辨率0x1f:0.5; 0x3f:0.25; 0x5f:0.125 while(1)

{ if (P3_3==0)

{dipsmodid++; lmcinit_or_not=1;

if(dipsmodid>3) dipsmodid=0; while(P3_3==0); }

switch(dipsmodid) { case0:

Disp_mod0();

if( ((R1302(0x83)/16)==clock_m/10) &&

(R1302(0x83))==clock_m&&((R1302(0x85)/16)==clock_h/10&& (R1302(0x85))==clock_h) ) { P1_3=0; while(P3_2==0); } break; case1:

Disp_mod1();

31


微机课设—电子万年历的设计制作(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:教师职业道德规范与礼仪规范

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: