单片机——LCD1602驱动

该程序的功能是用LCD1602来显示时钟,同时显示一个正在充电的电池图标,其中的lcd_char_sel()函数就是自己设计的电池图标
#include <reg52.h>
#include "./delay/delay.h"
sbit RS = P2^4;
sbit RW = P2^5;
sbit E = P2^6;
#define LCDPORT  P0
#define LCD_WRITE_DATA 1
#define LCD_WRITE_COM 0
unsigned char h = 10;
unsigned char s = 0;
unsigned char m = 0;
void timer0_init()
{
   EA = 1;
   TH0 = (65536 - 20000)/256;
   TL0 = (65536 - 20000)%256;
   TMOD |= 0x01;
   ET0 = 1;
   TR0 = 1;
}
void timer0_isr() interrupt 1
{
   static unsigned char i = 0; 
 
   TH0 = (65536 - 20000)/256;
   TL0 = (65536 - 20000)%256;
 
   i++;
   if(50 == i)
  {
     i = 0;
     s++;
     if(60 == s)
    {
       s = 0;
       m++;
       if(60 == m)
      {
         m = 0;
         h++;
         if(24 == h)
        {
           h = 0;
        }
      }
    }
    }
}
void lcd_write(unsigned char byte, unsigned char flag)
{
   if(flag)
  {
     RS = LCD_WRITE_D
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
单片机课程设计是电子信息类专业的重要课程之一,通过本课程的学习,能够掌握单片机的基本原理和应用技能。LCD1602移动显示是单片机课程设计中的一个常见内容,通过这个设计,能够加深对单片机工作原理的理解,并提升实际操作能力。 在这个课程设计中,我们首先需要了解LCD1602的基本原理和工作方式,包括液晶显示原理、接口方式以及驱动时序等。然后,我们需要设计一个可以控制LCD1602显示内容的单片机程序,这个程序需要能够实现LCD1602上显示内容的移动和变化。 具体而言,我们可以通过单片机的IO口控制LCD1602的数据和指令输入,从而实现在LCD1602上显示移动的文字或图形。在设计过程中,我们还要考虑到一些细节问题,比如数据的传输速度、显示内容的更新频率、以及显示效果的优化等。 除了基本的移动显示功能,我们还可以考虑加入一些其他的特色功能,比如在LCD1602上显示动态图案、实时数据的监测和显示等。这样不仅可以提升课程设计的难度和趣味性,也能够更好地锻炼我们的设计和创新能力。 总的来说,LCD1602移动显示的单片机课程设计,是一个很好的实践机会,通过这个设计,我们能够深入了解单片机的工作原理,提升实际操作能力,并且培养创新意识和问题解决能力。希望通过努力,能够圆满完成这个课程设计,为将来的学习和工作打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值