本科毕设-基于1602的时钟的设计与开发.docVIP

本科毕设-基于1602的时钟的设计与开发.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
电子电气工程学院学生实验报告 电子信息科学与技术 专业 2011 级 S 班 1 组 姓名 叶博 学号 201108059020 课程名称 电子设计 指导教师 廖长荣 成绩 一、实验预习 实验序号 四 实验题目 简易数字钟设计 预习日期 要求:1.实验步骤;2.实验数据、波形、现象的记录;3.数据分析、处理(分析、讨论实验结果,说明实验结果与理论值的比较误差;讨论实验中存在的问题与解决方法。);4.实验操作注意事项;5.实验习题;6.心得体会。 实验步骤: 任务目的 掌握Keil C51中断服务程序的编写方法; 掌握8051单片机中断及定时器的使用方法; 掌握矩阵键盘的扩展及使用方法; 掌握数字钟的设计方法。 实验内容 在任务三电路图的基础上,通过8155扩展一块4×4矩阵键盘; 用C51编写代码,实现一个数字钟的基本功能; 采用Keil和Proteus联合调试代码,查看仿真结果; 将编程代码通过STC-ISP程序下载到MCU Flash中运行,并观察运行结果。 实验步骤 (1)、在Proteus中绘制电路图 注释:控制键的功能为停止,开始和光标移动 (2)仿真效果 控制键效果 (3)程序: 程序见源代码。 #includereg51.h #define uchar unsigned char #define uint unsigned int #define Lcd_date P3 //LCD1602数据端 uchar k1num,k2num,k3num; uchar shi,fen,miao,yue,ri; uint nian; uchar num; sbit RS=P2^0; sbit RW=P2^1; sbit EN=P2^2; sbit K1=P1^4; sbit K2=P1^5; sbit K3=P1^6; /***********查忙函数**********/ void Read_busy() { Lcd_date=0x00; RS=0; RW=1; EN=1; while((Lcd_date0x80)==0x80); EN=0; } /***********查忙函数***********/ void Delayms(uint x) { uchar i; while(x--) { for(i=120;i0;i--); } } /***********写命令函数********/ void Write_add(uchar add) { Read_busy(); RS=0; RW=0; EN=1; Lcd_date=add; Delayms(10); EN=0; } /*******写命令函数********/ /*******写数据函数*******/ void Write_date(uchar date) { RS=1; RW=0; EN=1; Lcd_date=date; Delayms(10); EN=0; } /*******写数据函数********/ /**********写时分秒函数************/ void Write_shijian(uchar add,uchar date) { uchar shi,ge; shi=date/10; ge=date%10; Write_add(0x80+add); Write_date(0x30+shi); Write_date(0x30+ge); } /***LCD1602数据初始化*****/ void Init_lcd1602() { Delayms(15); Write_add(0x38); Delayms(5); Write_add(0x38); Delayms(5); Write_add(0x38); Read_busy(); Write_add(0x38); Read_busy(); Write_add(0x08); Read_busy(); Write_add(0x01); Read_busy(); Write_add(0x06); Read_busy(); Write_add(0x0c); Read_busy(); nian=14; yue=4; ri=29; shi=12; fen=0 ; miao=0; Write_add(0x80+0x05); Write_date(-); Write_add(0x80+0x08); Write_date(-); Write_add(0x80+0x46); Write

您可能关注的文档

文档评论(0)

hong8910aiyan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档