欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    项目七 电子日历的制作与实现电子课件 中职 单片机c语言程序设计及仿真.pptx

    • 资源ID:90035791       资源大小:4.06MB        全文页数:43页
    • 资源格式: PPTX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    项目七 电子日历的制作与实现电子课件 中职 单片机c语言程序设计及仿真.pptx

    项目七、电子日历的制作与实现项目七、电子日历的制作与实现任务任务1 1 LCD1602LCD1602液晶显示液晶显示任务描述任务描述:单片机P0端口外接一个LCD1602液晶显示屏的数据端口,试编写控制程序,控制液晶显示屏显示“I Like LCD”。1.LCD1602显示原理显示原理知识链接知识链接2.LCD1602控制指令控制指令知识链接知识链接3.LCD1602读写操作时序读写操作时序读操作读操作知识链接知识链接读操作过程为:R/W端为1;RS端根据写指令写数据,分别设置为0和1;E端变为,LCD1602输出数据,单片机可读取数据DB0-DB7;E端变为0,此后数据输出无效。3.LCD1602读写操作时序读写操作时序写操作写操作知识链接知识链接写操作过程为:R/W端为0;RS端根据写指令写数据,分别设置为0和1;单片机准备好数据DB0-DB7后,在E端产生下降沿,LCD1602锁定数据。1.任务分析任务分析任务实施任务实施(1)根据电路分析可知:单片机的P0端口作为LCD1602的数据,LCD1602控制端口RS、RW、EN分别连单片机的P2.0、P2.1、P2.2三个端口。(2)LCD1602驱动函数如下:判忙函数void busy()该函数用于读取LCD1602的状态,“忙”就继续读取状态;“闲”就执行后面的命令。写命令函数 void Write_cmd()该函数用于向LCD1602发送命令。写数据函数 void Write_data()该函数用于向LCD1602写入数据。初始化程序void Lcd_init()该函数用于初始化LCD1602。(3)设置指针数据指针“I Like LCD”字符在LCD1602第一行中央显示所以数据地址为:0 x80+0X03。2.程序流程程序流程任务实施任务实施3.程序编写程序编写判忙函数判忙函数任务实施任务实施void busy()P0=0 xff;do rs=0;rw=1;en=0;en=1;while(BF=1);en=0;3.程序编写程序编写写命令函数写命令函数任务实施任务实施void Write_cmd(uchar x)busy();rs=0;/写指令标志 rw=0;DATA=x;delayms(1);en=1;delayms(1);en=0;3.程序编写程序编写初始化函数初始化函数任务实施任务实施void Lcd_init()delayms(5);Write_cmd(0 x38);delayms(1);Write_cmd(0 x38);delayms(1);delayms(1);Write_cmd(0 x08);delayms(1);Write_cmd(0 x01);delayms(1);Write_cmd(0 x06);delayms(1);Write_cmd(0 x0c);3.程序编写程序编写主函数主函数任务实施任务实施void main()Lcd_init();Write_cmd(0 x80+0X03);/写LCD的第一行的第4个地址Write_data(I);Write_data();Write_data(L);Write_data(i);Write_data(k);Write_data(e);Write_data();Write_data(L);Write_data(C);Write_data(D);while(1);4.程序电路仿真程序电路仿真绘制电路图绘制电路图任务实施任务实施5.程序电路仿真程序电路仿真仿真仿真任务实施任务实施任务任务2 2 电子日历的制作与实现电子日历的制作与实现任务描述任务描述:利用LCD12864完成电子日历的制作,8个独立按键K1K8分别对年、月、日、时、分、星期进行调节。1.LCD12864硬件结构硬件结构知识链接知识链接2.LCD12864指令系统指令系统知识链接知识链接3.LCD12864控制寄存器控制寄存器知识链接知识链接4.LCD12864读写操作时序读写操作时序读操作读操作知识链接知识链接读操作过程为:E端先为0,R/W端为1,RS端根据读状态或读数据,分别置0或1,CS1、CS2根据选择情况为0或1,E端变为1,单片机读取数据DB0DB7,然后在E端产生0,LCD12864输出数据无效。4.LCD12864读写操作时序读写操作时序写操作写操作知识链接知识链接写操作过程为:E端先为0,R/W端为0,RS端根据写指令或写数据,分别置0或1,CS1、CS2根据选择情况为0或1,E端变为1,单片机准备好数据DB0DB7,然后在E端产生下降沿,LCD12864锁定数据。5.LCD12864显示原理显示原理向显示数据RAM某单元写入一个字节数据,将在显示屏对应位置显示纵向8个像素点的图像。LCD12864不带字库,必须使用取模软件获取要显示汉字、英文字符、数字的数据编码,并将这些数据编码存放在单片机的程序存储器中,程序将这些数据写入LCD12864的显示数据RAM中进行显示。在使用字模提取V2.0时,在“文字输入区”输入相应的汉字、英文字符、数字;在“参数设置/其他选项”中选中“纵向取模”、“字节倒序”;确定后,在“取模方式”中选择“C51格式”,软件将自动生成字模数据,将字模数据复制到程序即可。知识链接知识链接1.任务分析任务分析任务实施任务实施(1)根据电路分析可知:单片机的P0端口作为LCD12864的数据端口,LCD12864控制端口分别连单片机的P2.0P2.5三个端口。(2)LCD12864驱动函数如下:判忙函数void busy()该函数用于读取LCD12864的状态,“忙”就继续读取状态;“闲”就执行后面的命令。写命令函数 void Write_cmd()该函数用于向LCD12864发送命令。写数据函数 void Write_data()该函数用于向LCD1602写入显示数据。写x坐标函数void LCD_x()1.任务分析任务分析任务实施任务实施写y坐标函数void LCD_y()该函数用于设定要显示字符的y坐标(列地址)。写xy坐标函数void LCD_xy()该函数用于设定要显示字符的具体位置。清除显示屏函数void clrscr()该函数用于清除LCD12864液晶屏。初始化程序void LCD12864_init()该函数用于初始化LCD12864。写汉字函数vodi Write_han()该函数用于显示一个1616汉字。写ASCII函数void Write_ascii()该函数用于显示一个816的英文字母或数字等。2.程序流程程序流程任务实施任务实施3.程序编写程序编写判忙函数判忙函数任务实施任务实施void busy()EN=1;RS=0;RW=1;out0=0 xff;while(!BF);3.程序编写程序编写写数据函数写数据函数任务实施任务实施void Write_date(uchar date)busy();EN=1;RS=1;RW=0;out0=date;EN=0;3.程序编写程序编写写指令函数写指令函数任务实施任务实施void Write_cmd(uchar cmd)busy();EN=1;RW=0;RS=0;out0=cmd;EN=0;3.程序编写程序编写写写X坐标函数坐标函数任务实施任务实施void LCD_x(uchar x)Write_cmd(0 xb8|x);3.程序编写程序编写写写Y坐标函数坐标函数任务实施任务实施void LCD_y(uchar y)Write_cmd(0 x40|y);3.程序编写程序编写写写XY坐标函数坐标函数任务实施任务实施void LCD_xy(uchar x,uchar y)if(y64)CS1=0;CS2=1;LCD_y(y);else CS1=1;CS2=0;LCD_y(y-64);LCD_x(x);3.程序编写程序编写清屏函数清屏函数任务实施任务实施void clrscr()uchar j,k;CS1=0;CS2=0;for(j=0;j8;j+)LCD_y(0);LCD_x(j);for(k=0;k64;k+)Write_date(0 x00);CS1=CS2=1;3.程序编写程序编写12864初始化函数初始化函数任务实施任务实施void LCD12864_chushi()RST=0;delayms(15);RST=1;CS1=CS2=1;Write_cmd(0 x3e);Write_cmd(0 xb8);Write_cmd(0 x40);Write_cmd(0 xc0);Write_cmd(0 x3f);CS1=CS2=0;3.程序编写程序编写写汉字函数写汉字函数任务实施任务实施void Write_han(uchar x,y,z,uchar*p)uint n=0;uchar j,k;for(j=x;jx+2;j+)for(k=y;ky+16;k+)LCD_xy(j,k);if(z=0)Write_date(pn+);else Write_date(pn+);CS1=CS2=0;3.程序编写程序编写写写ASCII函数函数任务实施任务实施void Write_ascii(uchar x,y,z,uchar*p)uint n=0;uchar j,k;for(j=x;jx+2;j+)for(k=y;k=100)n1=0;break;case 2:n2+;if(n2=100)n2=0;break;case 3:yue+;if(yue=13)yue=0;break;case 4:ri+;if(ri=31)ri=0;break;case 5:shi+;if(shi=24)shi=0;break;case 6:fen+;if(fen=60)fen=0;break;case 7:xq+;if(xq=8)xq=0;break;LCDdisplay();3.程序编写程序编写中断函数中断函数任务实施任务实施void time0()interrupt 1TH0=(65536-50000)/256;TL0=(65536-50000)%256;a+;if(a=20)a=0;miao+;if(miao=60)miao=0;fen+;if(fen=60)fen=0;shi+;if(shi=24)shi=0;ri+;if(ri=30)yue+;4.程序电路仿真程序电路仿真绘制电路绘制电路任务实施任务实施4.程序电路仿真程序电路仿真仿真仿真任务实施任务实施

    注意事项

    本文(项目七 电子日历的制作与实现电子课件 中职 单片机c语言程序设计及仿真.pptx)为本站会员(春哥&#****71;)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开