问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

单片机LCD1602万年历仿真正确,但实际显示不正确,会发生混乱?

发布网友 发布时间:2022-05-17 17:17

我来回答

2个回答

热心网友 时间:2023-10-31 04:48

          我看了你说放置有问题,没有看到你的源代码,肯定是程序那里写错了,我也现场仿真了一下看没有问题。

我程序是安装模块化写的,发上来有点乱,想要可以加下QQ370670734 我发你参考一下。

 

 

 

这是主程序:

 

/*****************************************

*

*   LCD1602电子钟 DS1302

*

*

*

******************************************/

#include "REG52.H"

#include "DS1302.H"

#include "LCD1602.H"

 

sbit  Key_out1 = P1^3;

sbit  Key_out2 = P1^4;

sbit  Key_out3 = P1^5;

sbit  Key_out4 = P1^6;

sbit  LED_out4 = P2^2;

 

unsigned char value_mum = 0;

unsigned char Vata_Time1[7] = {00, 29, 10, 00, 00, 0, 00}; 

unsigned char Vata_Time2[7];

unsigned char Vata_Time3[3] = {00, 00, 00};

unsigned char Vata_Time4[]  = {"QQ:370670734"};

unsigned char Vata_Time5[]  = {"158888609310"};

 

unsigned char code Table_out[] = {0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39};unsigned char Clock_Xtnm;

void Scank_key(void)

{

 unsigned char key;

 unsigned char temp;

 

 P3 = 0xFE;

 temp = P3;

 temp = temp & 0xF0;

 if(temp != 0xF0)

 {

  Delay_1ms(10);

  temp = P3;

  temp = temp & 0xF0;

  if(temp != 0xF0)

  {

   temp = P3;

   switch(temp)

   {

    case 0xEE: key = 7; break;

    case 0xDE: key = 8; break;

    case 0xBE: key = 9; break;

    case 0x7E: key = 6; break;

   default : break;

   } 

  while(temp != 0xF0)

  {

   temp = P3;

   temp = temp & 0xF0; 

  }

  LCD_crye_Pritf(0, 4);

  Write_LCDcrys_DataCmd(Table_out[key]);

  }

 }

}

 

void Shuax_ds1302_ReadtemCmd(void)

{

 if(Vata_Time1[0] != Vata_Time2[0])

 {

  Vata_Time2[0] = Vata_Time1[0];

 }

 

 if(Vata_Time1[1] != Vata_Time2[1])

 {

  Vata_Time2[1] = Vata_Time1[1];

 }

 

 if(Vata_Time1[2] != Vata_Time2[2])

 {

  Vata_Time2[2] = Vata_Time1[2];

 }

 

 LCD_crye_Pritf(0, 0);

 LCD_Tank_lingCmd(Vata_Time1[2]);

 LCD_Pritf(":"); 

 LCD_Tank_lingCmd(Vata_Time1[1]);

 LCD_Pritf(":");

 LCD_Tank_lingCmd(Vata_Time1[0]);       

}

   /*

void LCD_fanyelunx_temkCmd(void)

{

 

}

   */

void Gont_Caindan_KeyCmd(void)

{

 if(Key_out4 == 0)

 {

  Delay_1ms(10);

  if(Key_out4 == 0)

  {

   LED_out4 = ~ LED_out4;

   value_mum++;

   if(value_mum == 4)

   value_mum = 0;     

  while(Key_out4 == 0); 

  }

 }


 

void LCD_Tiaokefanye_Cmd(void)

{

 if(value_mum == 0)

 {

  Write_LCDcrys_ByteCmd(0x01);

  do

  {

   Gont_Caindan_KeyCmd();

   Read__ds1302_ReadtimeCmd(Vata_Time1);

   Shuax_ds1302_ReadtemCmd(); 

  }while(value_mum == 0);

 }

else if(value_mum == 1)

 {

  Write_LCDcrys_ByteCmd(0x01);

  do

  {

      Gont_Caindan_KeyCmd();

      LCD_crye_Pritf(0, 3);

      LCD_Tank_lingCmd(Vata_Time3[0]);

      LCD_Pritf(":");

      LCD_Tank_lingCmd(Vata_Time3[1]);

      LCD_Pritf(":"); 

      LCD_Tank_lingCmd(Vata_Time3[2]); 

  }while(value_mum == 1); 

 }

 

else if(value_mum == 2)

 {

  Write_LCDcrys_ByteCmd(0x01);

  do

  {

   Gont_Caindan_KeyCmd();

   LCD_crye_Pritf(0, 1);

      LCD_Pritf(Vata_Time4); 

  }while(value_mum == 2); 

 }

 

else if(value_mum == 3)

 {

  Write_LCDcrys_ByteCmd(0x01);

  do

  {

   Gont_Caindan_KeyCmd();

   LCD_crye_Pritf(0, 1);

      LCD_Pritf(Vata_Time5); 

  }while(value_mum == 3); 

 }         

}   

 

int main(void)

{

 Init_LCDcrysRst();

 LCD_crye_Pritf(0, 0);

 Setup_ds1302_ReadtimeCmd(Vata_Time1);

             

 while(1)

 {

 // Scank_key();

  Gont_Caindan_KeyCmd();

  LCD_Tiaokefanye_Cmd();

 }

}

 

 

热心网友 时间:2023-10-31 04:49

你是用protues 仿真的吧,建议你检查下
1.你的实际电路跟仿真电路走线是否相同
2.用电表check实际电路是否走线及焊接OK追问仿真的排阻多大不知道,实际用的是1k,不知道有没有关系。仿真的时候如果把排阻改成电阻,就会出现不停的响声,不知道怎么回事。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
找专业防水队做完还漏水怎么维权 法院会受理房屋漏水造成的纠纷吗? 巴西龟最长活多久,家养!!! 养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 这块主板能拖么?华擎AM2NF6G-vata 关于印度神话? 功放上的Rec Out是什么意思 功放LOWOUT是什么意思 功放out1是什么意思 汽车功放上F/OUT什么意思 汽车功放pre out是什么意思 北京工商大学化学研究生和江西师范大学化学研究生哪个值得读 江西师范大学录取过同等学历研究生吗? 请问游戏内的系统公告在那设置 急急!!江西师范大学历史研究生怎么样,好考不 群里系统通知怎样弄 关于江西师范大学考研的问题 我是2011年刚考上的江西师范大学历史系的研究生,请问三年后有可能在师大念历史博士吗? 2014年江西师大研究生现在是不是公费 系统出问题发电子公告怎么写? 江西师大的自费专硕研究生,该不该去读? 江西师范大学研究生学科英语读几年 江西师大学科语文硕士研究生读几年?每年学费多少? 信用卡没申请通过,但是虚拟卡通过了,有什么影响吗? 怎么样通过一个女人的眼神证明她喜欢你 怎么从她的眼神里看出她对你有感觉。 对于中年女人来说,她的哪些肢体语言代表着对你有感觉? 各位大神帮帮忙求这个日本手表怎么调中国时间? 和爱情有关的新闻栏目怎么策划 网络策划的形式 电视策划的网络新闻营销必备要素 2018年12月份迪拜都有什么节日 安哥拉法定假日有哪些 Flash格式怎样转换成DVD格式? Flash 怎么转换文档格式? FLASH怎么换格式 怎样把做好的Flash 影片转换成 jpg 或 gif 格式的文件? 听说今年京东春节不打烊,那高峰期京东白条会被恶意‏套‏现吗? 空调掉水怎么回事 空调开制冷内置机为什么会掉水 房间里面的空调挂机掉水怎么回事 空调的室内挂机为什么掉水啊 空调往房间里漏水,从墙上流到地板上都是水,是哪儿坏了吗? 我儿子今年六岁读学前班上课注意力不集中,老师讲课他在下和别小朋友说笑,有什么办法