OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6487|回复: 13

求大神指点。自己焊的最小系统,外挂一个1602做的时钟,时钟无法正常显示。进行串口调试时候返回值出现偏差。

[复制链接]

8

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2014-3-23
在线时间
1 小时
发表于 2014-4-13 10:28:34 | 显示全部楼层 |阅读模式
我在做时钟的时候,写了程序在单片机开发板上都是可以显示的。但是把程序烧进我焊好的板上时,程序就没有正常执行了。后来我用了串口调试,在程序里面的让主要三句语句执行之后分别返回1,2,
3;在单片机开发板上运行的时候,程序正常返回01,02,03,1602可以正常显示;可是在我自己焊的板上,程序通过串口返回的数据却是81,82,83,1602液晶无法正常显示。电路 图和程序请看附件的资料。求大神指点。         ps:我的单片机型号是STC89C51

0.zip

83.66 KB, 下载次数: 1187

当你找到你的目标之后,保持好奇心和坚持,就是你剩下来要做的事情了。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

8

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2014-3-23
在线时间
1 小时
 楼主| 发表于 2014-4-13 10:32:51 | 显示全部楼层
本来我的最小系统还焊接有一个DS12887芯片的,后来不行。查找出的问题是,液晶无法正常显示。。
当你找到你的目标之后,保持好奇心和坚持,就是你剩下来要做的事情了。
回复 支持 反对

使用道具 举报

8

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2014-3-23
在线时间
1 小时
 楼主| 发表于 2014-4-13 10:33:44 | 显示全部楼层
难道我要在重新焊 一个只有1602液晶的最小系统吗?
当你找到你的目标之后,保持好奇心和坚持,就是你剩下来要做的事情了。
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
24
金钱
24
注册时间
2014-4-10
在线时间
0 小时
发表于 2014-4-13 12:35:42 | 显示全部楼层
把电路图片和代码贴上来吧。手机上的,看不到。
回复 支持 反对

使用道具 举报

8

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2014-3-23
在线时间
1 小时
 楼主| 发表于 2014-4-13 15:44:59 | 显示全部楼层
回复【4楼】xhpeng:
---------------------------------
#include <reg52.h>
#include "delay.h"


#define uchar unsigned char
#define uint unsigned int

sbit rs_1602=P2^5; //1602rs信号  ,高电平是数据,低电平是命令
sbit e=P2^4; 
sbit rw=P2^6;


void write_order_1602(uchar order_data)   //给1602写指令的函数,说白了就是确定”数据“要被写在液晶的什么位置,第一行还是第二行。。
{
   e=0;
   rs_1602=0;
   0=order_data;
   e=1;
       delay(100);
       e=0;
}
 
void write_data_1602(uchar data_1602) //写数据   ,写数据的ASCII码 ,
{
e=0;
rs_1602=1;
P0=data_1602;
e=1;
    delay(100);
    e=0; 
}


void lcdinit_1602()  //1602的初始化  ,,参考1602pdf资料
{
    rw=0;
e=0;
write_order_1602(0x38);  //液晶设置不判忙模式,不检测忙信号
write_order_1602(0x0c);  //开显示 不显示光标
write_order_1602(0x06);  //当写一个字符是,地址指针加 1
//write_order_1602(0x01);  //显示清屏



void main()
{  
  TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;

SM0=0;
SM1=1;
REN=1;
EA=1;
ES=1;
  delay(1000);

lcdinit_1602();  //1602初始化 ***************************

SBUF=1;//这是发送“接收到的数据”
while(!TI);
TI=0;
delay(100);


write_order_1602(0x80) ;  //***********************

SBUF=2;//这是发送“接收到的数据”
while(!TI);
TI=0;
delay(100);


write_data_1602('1'); //********************

SBUF=3;//这是发送“接收到的数据”
while(!TI);
TI=0;
delay(100);
while(1);
}
当你找到你的目标之后,保持好奇心和坚持,就是你剩下来要做的事情了。
回复 支持 反对

使用道具 举报

8

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2014-3-23
在线时间
1 小时
 楼主| 发表于 2014-4-13 16:14:18 | 显示全部楼层


当你找到你的目标之后,保持好奇心和坚持,就是你剩下来要做的事情了。
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
24
金钱
24
注册时间
2014-4-10
在线时间
0 小时
发表于 2014-4-13 17:30:01 | 显示全部楼层
sbit rs_1602=P2^5; 
sbit e=P2^4;  
sbit rw=P2^6; 

这个定义跟你电路图上不一致嘛,如果没有,那需要按实际电路连接来 给定  rs、en、rw的值
回复 支持 反对

使用道具 举报

8

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2014-3-23
在线时间
1 小时
 楼主| 发表于 2014-4-13 21:36:47 | 显示全部楼层
其实上面路图才是我第一次焊的。因为”rw“脚只需要置低电平(只写数据到液晶,不从液晶读数据)。焊好后,时钟没有显示,所以我就把程序改了,也把管教定义改了
当你找到你的目标之后,保持好奇心和坚持,就是你剩下来要做的事情了。
回复 支持 反对

使用道具 举报

10

主题

109

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4880
金钱
4880
注册时间
2014-3-30
在线时间
500 小时
发表于 2014-4-20 13:55:17 | 显示全部楼层
单片机的31脚必须接VCC, 否则单片机无法正常工作。
从不在失败面前说不,你就会成为人们眼中的大神!!
回复 支持 反对

使用道具 举报

4

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2013-9-10
在线时间
0 小时
发表于 2014-4-20 14:09:11 | 显示全部楼层
EA管脚给高电平
回复 支持 反对

使用道具 举报

8

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2014-3-23
在线时间
1 小时
 楼主| 发表于 2014-4-21 17:52:28 | 显示全部楼层
回复【9楼】jiayubao12:
---------------------------------是这样子的吗
当你找到你的目标之后,保持好奇心和坚持,就是你剩下来要做的事情了。
回复 支持 反对

使用道具 举报

8

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2014-3-23
在线时间
1 小时
 楼主| 发表于 2014-4-21 17:53:23 | 显示全部楼层
回复【10楼】小海豚:
---------------------------------
这样子的?
当你找到你的目标之后,保持好奇心和坚持,就是你剩下来要做的事情了。
回复 支持 反对

使用道具 举报

10

主题

109

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4880
金钱
4880
注册时间
2014-3-30
在线时间
500 小时
发表于 2014-4-22 19:45:55 | 显示全部楼层
在51单片机时,/EA (第31引脚)必须接高电平,CPU从片内程序存储器的程序开始执行。EA (第31引脚)必须接地,CPU 直接从片外程序存储器读程序开始执行。
从不在失败面前说不,你就会成为人们眼中的大神!!
回复 支持 反对

使用道具 举报

8

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2014-3-23
在线时间
1 小时
 楼主| 发表于 2014-4-26 10:07:56 | 显示全部楼层
回复【13楼】jiayubao12:
---------------------------------谢谢
当你找到你的目标之后,保持好奇心和坚持,就是你剩下来要做的事情了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 23:00

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表