佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

楼主: gabrielloy

问问关于atmelAT89c51的program问题!

[复制链接]
发表于 4-3-2009 11:42 AM | 显示全部楼层
原帖由 gabrielloy 于 3-3-2009 10:19 PM 发表
我用你的4bits mode的program和circuit,但是就是不能run.是不是delay的问题,不同的lcd的delay都不同不是吗?我的很多classmate之前多是用4bits mode的,但是也是不成功,所以全部换成8bits mode的了,如果是8bits m ...


我直接给你那我和抢手有什么分别?
现在我已经是半个抢手的了。
回复

使用道具 举报


ADVERTISEMENT

发表于 4-3-2009 12:37 PM | 显示全部楼层
原帖由 fritlizt 于 4-3-2009 11:42 AM 发表


我直接给你那我和抢手有什么分别?
现在我已经是半个抢手的了。


有分别!抢手收钱的,但你却免费
回复

使用道具 举报

 楼主| 发表于 4-3-2009 01:20 PM | 显示全部楼层
大大你说的“如果要lcd跑,你的3一定要run到“是什么意思?是指pin3的可变电阻吗?
回复

使用道具 举报

发表于 4-3-2009 02:24 PM | 显示全部楼层
原帖由 gabrielloy 于 3-3-2009 06:41 PM 发表
之前pic大大的图也是这样,

这个图, 是要和你说明Pin1,pin2, pin3 的接法, 要你调contrast。。。
不是叫你一定要用8Bit,而我的project, 都是100% 用4bit 的。。。

Fritlizt 大大的源码是没问题的,他都已经模拟成功。
你LCD contrast 错, 或接错的机会非常高。

不然, 你先不要接LCD, 你先玩闪LED 吧。。。看看你的Programmer 对不对, MCU 好不好, crystal 接对了吗。。。看你的breadboard 接到好吗。。

自己会写吧, 随便找一个I/O接一粒LED, 然后开灯, 等500ms, 关灯, 等500ms, 重复, 先看这个能做成吗, 再继续讨论吧。。。
回复

使用道具 举报

 楼主| 发表于 4-3-2009 05:25 PM | 显示全部楼层
刚刚试过了led,还是不会亮,但是是用旧的ic!我也换过了ic chip,也换了crystal,也换了33pF的capacitor,可是screen还是不会run.但是忘了用新的ic试led了,等我明天试了led再告诉各位热心大大。
看来是circuit的问题,我现在想问问for Fritlizt 大大的program我用的是12MHz的crystal,和两个33pF的capacitors,一个voltage regulator,一个10k variable resistor,1个10k的resistor接pin9然后接gnd,一个0.1uF的capacitor接pin9然后接5V,这些配件有没有什么问题,会影响circuit run吗?
回复

使用道具 举报

 楼主| 发表于 4-3-2009 05:41 PM | 显示全部楼层
Fritlizt 大大的源码中,我改了void system_init (void)
Fritlizt 大大的源码:
void system_init (void)
{
        P0 = 0xFF;          //port initialization
        P1 = 0xAA;
        P2 = 0xFF;
        P3 = 0xFF;
        TMOD = 0x21;        // set timer 1 to 8bit auto reload mode.
        lcd_init();
}
我改的:
void system_init (void)
{
        P0 = 0xFF;          //port initialization
        P1 = 0xFF;
        P2 = 0xFF;
        P3 = 0xFF;
        TMOD = 0x21;        // set timer 1 to 8bit auto reload mode.
        lcd_init();
}
回复

使用道具 举报

Follow Us
发表于 4-3-2009 07:44 PM | 显示全部楼层
原帖由 gabrielloy 于 4-3-2009 01:20 PM 发表
大大你说的“如果要lcd跑,你的3一定要run到“是什么意思?是指pin3的可变电阻吗?


我指的是步骤3。也就是test P1 = 0xAA, P2 = 0x55
回复

使用道具 举报

发表于 4-3-2009 07:46 PM | 显示全部楼层
原帖由 gabrielloy 于 4-3-2009 05:25 PM 发表
刚刚试过了led,还是不会亮,但是是用旧的ic!我也换过了ic chip,也换了crystal,也换了33pF的capacitor,可是screen还是不会run.但是忘了用新的ic试led了,等我明天试了led再告诉各位热心大大。
看来是circuit的问题, ...


画出来吧。简单的电路图。
哪怕是用paint也好。 microsoft word也好。
单靠那几个component,我怎样知道你的circuit怎样接。
回复

使用道具 举报


ADVERTISEMENT

发表于 4-3-2009 07:50 PM | 显示全部楼层
原帖由 gabrielloy 于 4-3-2009 05:41 PM 发表
Fritlizt 大大的源码中,我改了void system_init (void)
Fritlizt 大大的源码:
void system_init (void)
{
        P0 = 0xFF;          //port initialization
        P1 = 0xAA;
        P2 = 0xFF;
     ...


不要看lcd了. 先试看io能不能跑。io不能跑lcd不可能可以走。 lcd也是用io来控制的。
把lcd给拔出来。P1/P2不要接任何东西。

这个code把P1 set成10101010, P2 set 成01010101
用voltmeter/multimeter量看,P1.0是不是5, P1.1是不是0v, P.2是不是5v
照理说:你应该得到
P1.0 ->5v
P1.1->0v
P1.2 ->5v
P1.3->0v
P1.4 ->5v
P1.5->0v
P1.6 ->5v
P1.7->0v

P2.0 ->0v
P2.1->5v
P2.2 ->0v
P2.3->5v
P2.4 ->0v
P2.5->5v
P2.6 ->0v
P2.7->5v
  1. void system_init (void)
  2. {
  3.         P0 = 0xFF;          //port initialization
  4.         P1 = 0xAA;
  5.         P2 = 0x55;
  6.         P3 = 0xFF;
  7.         while (1);
  8. }
复制代码

[ 本帖最后由 fritlizt 于 4-3-2009 07:53 PM 编辑 ]
回复

使用道具 举报

 楼主| 发表于 4-3-2009 08:17 PM | 显示全部楼层
好的,我明天试了,再发结果上来!!
回复

使用道具 举报

发表于 4-3-2009 09:33 PM | 显示全部楼层
原帖由 fritlizt 于 4-3-2009 11:42 AM 发表


我直接给你那我和抢手有什么分别?
现在我已经是半个抢手的了。


当看到自己调教出來的人成功的时候,那种滿足感不是言语可形容的(尤其是给人做半个/全抢手)。

fritlizt与pic兩位版主,加油!加油!
回复

使用道具 举报

 楼主| 发表于 4-3-2009 10:37 PM | 显示全部楼层
先test完上面的i/o port后,在test这个,
void system_init (void)
{
        P0 = 0xFF;          //port initialization
        P1 = 0xAA;
        P2 = 0x55;
        P3 = 0xFF;
        while (1);
}
回复

使用道具 举报

发表于 5-3-2009 09:18 AM | 显示全部楼层
原帖由 freeman_long 于 4-3-2009 09:33 PM 发表
当看到自己调教出來的人成功的时候,那种滿足感不是言语可形容的(尤其是给人做半个/全抢手)。
fritlizt与pic兩位版主,加油!加油!

没有半点满足感, 然而忧虑, 再说,调教后毕业了也不一定会回流, 过去几年的没一个回流, 论坛青黄不接, 一直处在调教的过程?不健康, 但很无奈。|||

楼主从 2月17日09年新手上路, 讨论到现在的#91楼, 养成了依赖心,  因为要讲的都已经讲完了, 仁至义尽了。fritlizt, 看来要适可而止了, 不然是害了他。

数码电路很单纯, 电脑模拟成功, 实际操作也是99%的了。。如果不行, 一定有接错, 要不然就是零件坏了。fritlizt 也发飙了。。。我想应该总结了。
回复

使用道具 举报

发表于 5-3-2009 09:20 AM | 显示全部楼层
原帖由 gabrielloy 于 4-3-2009 05:25 PM 发表
刚刚试过了led,还是不会亮,但是是用旧的ic!我也换过了ic chip,也换了crystal,也换了33pF的capacitor,可是screen还是不会run.但是忘了用新的ic试led了,等我明天试了led再告诉各位热心大大。

基本闪灯成功了?
回复

使用道具 举报

发表于 5-3-2009 11:14 AM | 显示全部楼层
原帖由 pic 于 5-3-2009 09:18 AM 发表

没有半点满足感, 然而忧虑, 再说,调教后毕业了也不一定会回流, 过去几年的没一个回流, 论坛青黄不接, 一直处在调教的过程?不健康, 但很无奈。|||

楼主从 2月17日09年新手上路, 讨论到现在 ...


还有我这你的学生在这里回流。


有一天,所调教的人会回来做你所做的,一同来这里帮助有心学习的人。

gabrielloy加油!再加油!千万别让fritliztpic两位版主失望。

回复

使用道具 举报

发表于 5-3-2009 11:35 AM | 显示全部楼层
原帖由 fritlizt 于 2-3-2009 10:41 AM 发表


你的schematics, pcb layout有吗??
要你的。不是我的。 这样比较容易看出问题在那里。

原帖由 fritlizt 于 3-3-2009 09:48 PM 发表


不如你画schematics, 你的circuit怎样接。再post上来。
你用pic大大的这个图?还是我的图?不一样的。
我的是4 bit interface, read busy flag
这个8 bit interface, 用delay.
现在你用哪一个?

原帖由 fritlizt 于 4-3-2009 07:46 PM 发表


画出来吧。简单的电路图。
哪怕是用paint也好。 microsoft word也好。
单靠那几个component,我怎样知道你的circuit怎样接。


fritlizt  版主问了你几次,上传电路图。。。还没画好啊! 。。

搞到版主 fritlizt 都发飚了:@ ,电路图给了,软件也给了,仔细检查你的电路接线。

[ 本帖最后由 rothmans 于 5-3-2009 12:59 PM 编辑 ]

评分

参与人数 1积分 +15 收起 理由
pic + 15 我很赞同.

查看全部评分

回复

使用道具 举报


ADVERTISEMENT

发表于 5-3-2009 12:14 PM | 显示全部楼层
原帖由 freeman_long 于 5-3-2009 11:14 AM 发表
还有我这你的学生在这里回流。

有吗? 不记得了。。。
老师, 你现在在那间学院/大学里教书?不乖的孩子不可以赏巴掌, 等下被告。。呵呵。。

有一天,所调教的人会回来做你所做的,一同来这里帮助有心学习的人。

不敢说调教, 都只是有限度帮助而已。。。。
回复

使用道具 举报

发表于 5-3-2009 12:21 PM | 显示全部楼层
原帖由 rothmans 于 5-3-2009 11:35 AM 发表
你什么人来的哦fritlizt  版主问了你几次,上传电路图。。。那图呢?都跑到哪里去了???
搞到版主 fritlizt 都发飚了,电路图给了,软件也给了。你还要怎样噢!。。。。。

不要太凶, 温柔点嘛。。
回复

使用道具 举报

发表于 5-3-2009 01:00 PM | 显示全部楼层
原帖由 pic 于 5-3-2009 12:21 PM 发表

不要太凶, 温柔点嘛。。


这样温柔些了吧!
回复

使用道具 举报

 楼主| 发表于 5-3-2009 06:44 PM | 显示全部楼层
大家说的都很有道理,关于led testing,发现了很奇怪的事。我burn了这个program进去mcu里面,准备做port 1,2 testing,
#include<at89x51.h>
int main (void)
{
    P1 = 0xAA;
    P2 = 0x55;
    while (1);
}
依照以上的program,port1即p1.0~p1.7会是10101010,可是我用led测试,得出port1的output很小,led只是亮了一点点,但是是全都亮!!不是10101010。还有,port2,全部不亮,而不是program里面的01010101,反而是port3的pin亮了。可是把mcu拿上来,在从新插入,情况又变成port2全亮全部都是5Voutput,而port1保持不变。
为什么?难道是我的mcu有问题?我才刚刚换了一个新的
回复

使用道具 举报

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

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 8-1-2025 01:13 PM , Processed in 0.126862 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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