久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1291|回復: 2
打印 上一主題 下一主題
收起左側

想用51單片機制作電子時鐘,但LCD1602只發光不顯示東西 求幫助

[復制鏈接]
跳轉到指定樓層
樓主
#include<REGX51.h>

#define LCD1602_DATAPINS P0
#define uchar unsigned char
#define uint unsigned int
sbit LCD1602_E=P2^7;
sbit LCD1602_RW=P2^5;
sbit LCD1602_RS=P2^6;
sbit k1=P3^1; //????P3.1????k1 ????????
sbit k2=P3^2; //????P3.1??K1
sbit k3=P3^3; //????P3.1??k1
uchar LED1,LED2,LED4,LED5,LED7,LED8;//???????????????
uchar select_function;
uchar time1,time2,time3;
code uchar display[]="TIME:";
void Lcd1602_Delaylms(uint z)
{
uint x,y;
for(;z>0;z--)
{
  for(y=199;y>0;y--)
  {
   for(x=1;x>0;x++);
  }
}
}
void Timer0Init()
{
TMOD=0x01;//?????????0???????????1??????TR0???????
TH0=0xD8; //?????????????????10ms
TL0=0xF0;
EA=1; //?????ж?
ET0=1;//???????0?ж?????
TR0=1;//???????0
}
void LcdWriteCom(uchar com) //д??????
{
LCD1602_RS = 0; //?????????
LCD1602_RW = 0; //???д??
LCD1602_DATAPINS = com; //????????
Lcd1602_Delaylms(1); //??????????
LCD1602_E = 1; //???
LCD1602_E = 0; //д?????
Lcd1602_Delaylms(5); //???????
}
void LcdWriteData(uchar dat)
{
LCD1602_RS = 1; //???????????
LCD1602_RW = 0; //???д??
LCD1602_DATAPINS = dat; //д??????
Lcd1602_Delaylms(1);
LCD1602_E = 1; //???????
LCD1602_E = 0; //д?????
Lcd1602_Delaylms(5); //???????
LCD1602_E = 0;
}
void LcdInit()
{
LcdWriteCom(0x38); //?????
LcdWriteCom(0x0C); //?????????????
LcdWriteCom(0x06); //д???????1
LcdWriteCom(0x01); //????
LcdWriteCom(0x80); //??????????????
}
void show_string(uchar *dat)
{
uint i;
for(i=0;i<16;i++)
{
  if(*(dat+i)=='\0')
  break;
  LcdWriteData(*(dat+i));
}
}
void lcd_pos(uchar pos)
{
LcdWriteCom(pos | 0x80);
}
void timer_calculate() //????????
{
time1++;
if(time1==60)
{
  time1=0;
  time2++;
}
if(time2==60)
{
  time1=0;
  time2=0;
  time3++;
}
  if(time3==24)
  {
   time1=0;
  time2=0;
  time3=0;
}
}
void time_display(void) //??????
{
lcd_pos(0x05);
LcdWriteData(LED8+'0');
lcd_pos(0x06);
LcdWriteData(LED7+'0');
lcd_pos(0x07);
LcdWriteData('-');
  
lcd_pos(0x08);
LcdWriteData(LED5+'0');
lcd_pos(0x09);
LcdWriteData(LED4+'0');
lcd_pos(0x0a);
LcdWriteData('-');
lcd_pos(0x0b);
LcdWriteData(LED2+'0');
lcd_pos(0x0c);
LcdWriteData(LED1+'0');
}
void keypros() //?????
{
if(k1==0)//?????k1?????
{
  Lcd1602_Delaylms(10); //???????? ?????10ms
  if(select_function==4)
  {
   select_function=0;
  }
  if(select_function!=0)
  {
   TR0=0;
  }
  while(!k1); //???????????
  if(select_function==0)
  TR0=1;
}
if(select_function==1)
{
  if(k2==0) //????ж?????????
  {
   time1++; //??? ????1,2 ????1,2 ???1,2
   if(time1>=60)
   {
    time1=0;
   }
  }
  while(!k2); //??????????
  if(k3==0) //????ж?????????
  {
    if(time1==0)time1=60;
    time1--; //??? ????1,2 ????1,2 ???1,2
  }
  while(!k3); //???????????
}
if(select_function==2)
{
  if(k2==0) //????ж?????????
  {
   time2++; //????ж?????????
   if(time2>=60)
   time2=0;
  }
  while(!k2); //???????????
  if(k3==0) //????ж?????????
  {
   if(time2==0)
   time2=60;
   time2--; //?????????????
  }
}
if(select_function==3)
{
  if(k2==0) //????ж?????????
  {
   time3++; //??? ????1,2 ????1,2 ???1,2
   if(time3>=24)
   time3=0;
  }
  while(!k2);//???????????
  if(k3==0) //????ж?????????
  {
   if(time3==0)
   time3=24;
   time3--; //??? ????1,2 ????1,2 ???1,2
  }
  while(!k3); //???????????
}
LED1=time1%10;
LED2=time1/10;
LED4=time2%10;
LED5=time2/10;
LED7=time3%10;
LED8=time3/10;
}

//??????
void main()
{
LcdInit();
show_string(display); //???time
Timer0Init();
LED1=0; //??????λ???????
LED2=0; //??????λ???????
LED4=0; //??????λ???????
LED5=0; //??????λ???????
LED7=0; //?????λ???????
LED8=0; //?????λ???????
select_function=0;
time1=0;
time2=0;
time3=0;
while(1)
{
  keypros();
  time_display();
}
}
//?????ж?
void Timer0() interrupt 1
{
static uint k=0;
TH0=0xD8; //?????????????????10ms
TL0=0xF0;
k++;
if(k==100)
{
  k=0;
  timer_calculate(); //????????
}
}

IMG_20191219_203215.jpg (6.44 MB, 下載次數: 98)

IMG_20191219_203215.jpg
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:584814 發表于 2019-12-20 08:15 | 只看該作者
一般是1602的驅動問題,先想辦法點亮再調試其他功能才是王道。
1602這個東東,不是所有程序是通用的,而且每型器件都可能在時序上有點區別。
回復

使用道具 舉報

板凳
ID:25310 發表于 2019-12-20 08:45 | 只看該作者
一看就是拷貝過來的,自己檢查引腳定義看看,IO口配置啥的都檢查一下。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品欧美 | 欧美日韩一区二区在线 | 91久久久久久久久久久 | 欧美视频xxx | 91国产精品 | 在线中文字幕第一页 | 日韩国产黄色片 | 亚洲综合区 | 久草中文在线 | 色婷婷综合网站 | 午夜视频在线观看网站 | 成人av播放| 久久久国产精品一区 | 天天综合亚洲 | 三级黄色片在线播放 | 伊人网伊人 | 日韩欧美在线不卡 | 欧美激情一区二区三区 | 天天爽夜夜爽精品视频婷婷 | 999精品网 | 国产精品mv在线观看 | 午夜精品一区二区三区在线观看 | 久久久久91 | 欧美日韩精品专区 | 成人性生交大片免费看r链接 | 一区二区不卡 | 成人在线免费视频观看 | 国产精品成人一区二区三区夜夜夜 | 特级做a爰片毛片免费看108 | 黄色一级大片在线观看 | 精品视频一区二区在线观看 | 欧美日韩视频在线 | 一级黄色日本片 | 国产精品自产拍在线观看蜜 | 欧美在线视频一区 | 亚洲久草 | 亚洲精品久久久一区二区三区 | 狠狠操av | 国产精品久久久久久福利一牛影视 | 日韩精品在线播放 | 国产视频第一页 |