ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:331.09KB ,
资源ID:5030793      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-5030793.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于51单片机时钟LCD显示.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

基于51单片机时钟LCD显示.docx

1、基于51单片机时钟LCD显示 实验报告 设 计 课 题:基于51单片机时钟LCD显示班 级: 学 号: 姓 名: 时 间:2012-11-11 一 需求分析1.功能描述: 本设计是基于51单片机时钟的LCD显示,通过单片机产生计数功能,通过LCD1602显示,显示时间包括:年,月,日,时,分,秒,星期。同时可用按键进行时间调整。二 总体设计1.设计思路 通过51内部定时器产生时钟来进行准确计时,用独立键盘来实现时钟的可调,最后由LCD1602来显示。2.器件选择AT89C51 LCD1602 12M晶振 独立按键 电容 排阻 三硬件设计1.硬件模块2电路图四软件设计1.软件框图2.软件流程图2

2、.1定时器框图2.2键盘扫描控制模块五总结:本设计实现了时钟时,分,秒准确计时和显示。由于时间仓促,设计仍有不足,主要是还不能对星期的自动调节,还需要进一步研究LCD1602datasheet的字库,来实现这一功能。附程序代码:#include#define uchar unsigned char #define uint unsigned intsbit rs=P25;sbit rw=P26;sbit en=P27;sbit k0=P20;/k0键sbit k1=P21;/k1键uchar count,k0num;char miao,shi,fen;uchar code table= 201

3、2-11-12 MON;uchar code table1= 00:00:00;void delay(uint z) uint x,y; for(x=z;x0;x-) for(y=110;y0;y-);void write_com(uchar com)/写指令 rs=0; en=0; P0=com; delay(5); en=1; delay(5); en=0; void write_date(uchar date)/写数据 rs=1; en=0; P0=date; delay(5); en=1; delay(5); en=0; void init() uchar num; en=0; rw=

4、0; write_com(0x38);/显示模式设置 write_com(0x0c);/开显示,光标闪烁不显示 write_com(0x06);/光标读写指针自动加一 write_com(0x01);/显示清屏 write_com(0x80);/数据指针地址 for(num=0;num15;num+) write_date(tablenum); delay(5); write_com(0x80+0x40);/写入液晶屏显示第二行 for(num=0;num12;num+) write_date(table1num); delay(5); TMOD=0x01; TH0=(65536-50000)

5、/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1;void write_sfm(uchar add,uchar date)/时钟数据显示 uchar shi,ge; shi=date/10; ge=date%10; write_com(0x80+0x40+add); write_date(0x30+shi); write_date(0x30+ge);void keyscan()/键盘扫描 if(k0=0) if(k0=0)/k0按下,进入选择模式 delay(8); k0num+; while(!k0); if(k0num=1)/修改秒 TR0=0

6、; write_com(0x80+0x40+10); write_com(0x0f); if(k0num=2)/修改分 write_com(0x80+0x40+7); if(k0num=3)/修改时 write_com(0x80+0x40+4); if(k0num=4) k0num=0; write_com(0x0c);/开显示,光标闪烁不显示 TR0=1; if(k0num!=0) if(k1=0)/修改秒 delay(40); if(k1=0) delay(40); while(!k1); delay(40); if(k0num=1) delay(40); miao+; if(miao=6

7、0) miao=0; write_sfm(10,miao); write_com(0x80+0x40+10); if(k0num=2)/修改分 delay(40); fen+; if(fen=60) fen=0; write_sfm(7,fen); write_com(0x80+0x40+7); if(k0num=3)/修改时 delay(40); shi+; if(shi=24) shi=0; write_sfm(4,shi); write_com(0x80+0x40+4); void main() init(); while(1) keyscan(); void timer0() interrupt 1 TH0=(65536-50000)/256; TL0=(65536-50000)%256; count+;if(count=20) count=0; miao+; if(miao=60) miao=0; fen+; if(fen=60) fen=0; shi+; if(shi=24) shi=0; write_sfm(4,shi); write_sfm(7,fen); write_sfm(10,miao);

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2