单片机实验报告 .docx
XXXX学院实验报告Experimentation Report of Taiyuan Normal University容四、实验方法五、实验记录及数据处理六、误差分析及讨论报 告 内一、实验目的二、实验原理三、实验仪器及材料系部计算机 年级大三 课程单片机原理与接口技术姓名 同组者 日期项目LCD1602显示时钟一、实验目的1、了解单片机顺序执行的特点;2、掌握C语言的编写和keilc51的使用;3、熟悉DS1302芯片的工作过程二、实验仪器硬件资源:单片机开发板笔记本电脑DS1302芯片;软件资源:软件Keil uVision5;三、实验原理1、流程图2、连接图四、实验结果将LCD屏连接到单片机上,点击编译运行,LCD屏上显示时间: 2013-01-01 2 12-00-38。在 DS1302.C 文件里修改 uchar TIME7 = (0, 0, 0x12, 0x01, 0x01, 0x02, 0x13;为 uchar TIME7 = (0x14, 0x11, 0x19, 0x28, 0x11, 0x04, 0x19;点击编译运行按钮,LCD屏幕显示2019-11-28 4 19-11-14。四、实验代码及分析/主函数void main()(Ds1302Init();/初始化 DS1302LcdInit();/初始化 LCDwhile(1)(Ds1302ReadTime();/DS1302 读时间LcdDisplay();/LCD 显示时间/初始化DS1302void Ds1302Init()(uchar n;Ds1302Write(0x8E,0X00);禁止写保护,就是关闭写保护功能for (n=0; n<7; n+) /写入7个字节的时钟信号:分秒时日月周年 (Ds1302Write(WRITE_RTC_ADDRn,TIMEn);打开写保护功能Ds1302Write(0x8E,0x80);/读取时钟信息void Ds1302ReadTime()(uchar n;for (n=0; n<7; n+) /读取7个字节的时钟信号:分秒时日月周年(TIMEn = Ds1302Read(READ_RTC_ADDRn);/-DS1302写入和读取时分秒的地址命令-/-秒分时日月周年 最低位读写位;/uchar code READ_RTC_ADDR7 = 0x81, 0x83, 0x85, 0x87, 0x89, 0x8b, 0x8d; uchar code WRITE_RTC_ADDR7 = 0x80, 0x82, 0x84, 0x86, 0x88, 0x8a, 0x8c;/-DS1302时钟初始化2013年1月1日星期二12点00分00秒。-/ 存储顺序是秒分时日月周年,存储格式是用BCD码 / uchar TIME7 = 0, 0, 0x12, 0x01, 0x01, 0x02, 0x13;显示函数void LcdDisplay()LcdWriteCom(0x80+0X40);LcdWriteData('0'+TIME2/16);时LcdWriteData('0'+(TIME2&0x0f);LcdWriteData('-');分LcdWriteData('0'+TIME1/16);LcdWriteData('0'+(TIME1&0x0f);LcdWriteData('-');LcdWriteData('0'+TIME0/16);秒LcdWriteData('0'+(TIME0&0x0f);LcdWriteCom(0x80);LcdWriteData('2');LcdWriteData('0');LcdWriteData('0'+TIME6/16);年LcdWriteData('0'+(TIME6&0x0f);LcdWriteData('-');LcdWriteData('0'+TIME4/16);月LcdWriteData('0'+(TIME4&0x0f);LcdWriteData('-');LcdWriteData('0'+TIME3/16);/ 日LcdWriteData('0'+(TIME3&0x0f);LcdWriteCom(0x8D);LcdWriteData('0'+(TIME5&0x07); 星期六、心得体会通过此次实验我掌握了单片机上时钟工作过程,如何设置时钟时间,以及将 时钟显示在LCD上的方法。亲自动手的实验过程使我对单片机的理论知识有了更 好的掌握,明白了理论与实践相结合的重要性。在不断的调试程序的过程中,我 深刻意识到动手操作的好处,在日后的学习中一定要提高自己的动手能力,注重 实践,在一次次的实验操作中提高自身的综合能力。