查看: 1841|回复: 21
|
8051 的问题。
[复制链接]
|
|
请问你们用什么来写 8051 ? 我用 keil c evaluation , 但是很多问题,
一开始就long jump , 然后就算下了也不能用。。。
汗。。。
一定需要crystal 才能用吗?
我有 atmel 89s8252 。
[ 本帖最后由 chan1314 于 13-11-2007 07:28 PM 编辑 ] |
|
|
|
|
|
|
|
发表于 13-11-2007 07:30 PM
|
显示全部楼层
原帖由 chan1314 于 13-11-2007 07:24 PM 发表
请问你们用什么来写 8051 ? 我用 keil c evaluation , 但是很多问题,
一开始就long jump , 然后就算下了也不能用。。。
汗。。。
一定需要crystal 才能用吗?
我有 atmel 89s8252 。
我都是用汇编语言写程序的。 |
|
|
|
|
|
|
|
楼主 |
发表于 13-11-2007 07:47 PM
|
显示全部楼层
原帖由 rothmans 于 13-11-2007 07:30 PM 发表
我都是用汇编语言写程序的。
oo , 那么用什么来assemble 呢? |
|
|
|
|
|
|
|
发表于 13-11-2007 07:55 PM
|
显示全部楼层
chan1314兄,我用ASM (notepad)写8051的,用的是atmel 89s52.
我想学习c languege,你的问题可以放上来吗?好让我学习的时候可以参考啊,谢谢!
不是一定需要crystal 才能用的,有clock就可以了.RC circuit,timer 555,如果有internal clock也可以(但大部分是没有的)。 |
|
|
|
|
|
|
|
楼主 |
发表于 13-11-2007 08:07 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 13-11-2007 08:08 PM
|
显示全部楼层
原帖由 chan1314 于 13-11-2007 07:24 PM 发表
请问你们用什么来写 8051 ? 我用 keil c evaluation , 但是很多问题,
一开始就long jump , 然后就算下了也不能用。。。
汗。。。
一定需要crystal 才能用吗?
我有 atmel 89s8252 。
不懂你在问什么。可以解释清楚吗??
能的话post你的code 上来。 帮你compile看看。
evaluation是没问题的啊。。。我也是用evaluation version. 只是code limitation=2k罢了
crystal会比555 timer, rc oscilator准.
参考datasheet. 通常是crystal + 33pF capacitance load.
[ 本帖最后由 fritlizt 于 13-11-2007 08:10 PM 编辑 ] |
|
|
|
|
|
|
|
发表于 13-11-2007 08:19 PM
|
显示全部楼层
原帖由 chan1314 于 13-11-2007 07:47 PM 发表
oo , 那么用什么来assemble 呢?
用 ASM compiler 咯! |
|
|
|
|
|
|
|
楼主 |
发表于 13-11-2007 08:28 PM
|
显示全部楼层
其实是开始的问题。
写了program , 看来是没有问题,
但是generate hex file , ( 在disassembly 看到一开始 long jump 去address 0x4000)
因为是药用 build in eeprom 2k , 其实 2k limitation 是没问题。
但是jump 出address range. 然后就 install 别的 version , 然后就比较好, 一开始就 long jump 0x0800 , 因为还在 eeprom range 里面所以就不管。
然后要把hex file 下去 development kit ,下了, 完全不能走,
原本的program 不能走, 就试试 on and off Port 123 , 但是也是一样,
不能on off , 然后我拿 digital scope 来量, 发现到 P2.0 的 freq 比较高, 然后就 P2.1 越来越低.
我read eeprom , 但是资料没错。
请问已开始就自动 jump 那么远, 是对的吗?
有可能是 MC 的问题吗?
我换了6 片板和几粒 MC , 难得有一个能program 和 verify 的。
浪费了很多星期, week 6 了, 什么都没学到,
这个sem 最简单的 subject 就是这个 , 这样拖我没多少时间给他了。。 |
|
|
|
|
|
|
|
发表于 13-11-2007 08:28 PM
|
显示全部楼层
回复 #5 chan1314 的帖子
我有你要的program,但我怎样upload来cari?
fritlizt和rothmans 兄很厉害的,你要问他们,我常常来看看东西罢了的 。
[ 本帖最后由 yes1010 于 13-11-2007 08:30 PM 编辑 ] |
|
|
|
|
|
|
|
楼主 |
发表于 13-11-2007 08:39 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 13-11-2007 09:14 PM
|
显示全部楼层
原帖由 chan1314 于 13-11-2007 08:28 PM 发表
其实是开始的问题。
写了program , 看来是没有问题,
但是generate hex file , ( 在disassembly 看到一开始 long jump 去address 0x4000)
因为是药用 build in eeprom 2k , 其实 2k limitation 是没问题。
...
可以post 你的code上来吗??
也是很难明白。 |
|
|
|
|
|
|
|
楼主 |
发表于 13-11-2007 10:21 PM
|
显示全部楼层
#include <AT898252.h>
void main (void){
for (;{
P1=0xff;
P2=0xff ;
P3=0xff;
}
}
这个一开机, port 123 也on ,所以不知道有没有问题,
但是我set 成 P1=0 ; LED 还是亮,
output 也是一样。 在 software 是没有问题, 但是一下了hardware , 问题就来了
#include <AT898252.h>
void main (void){
for (;{
P1=0;
P2=0 ;
P3=0;
}
} |
|
|
|
|
|
|
|
发表于 14-11-2007 12:17 AM
|
显示全部楼层
原帖由 chan1314 于 13-11-2007 10:21 PM 发表
#include
void main (void){
for (;{
P1=0xff;
P2=0xff ;
P3=0xff;
}
}
这个一开机, port 123 也on ,所以不知道有没有问题,
但是我set 成 P1=0 ; LED 还是亮,
output 也是一样。 在 soft ...
用multimeter 量p1, p2, p3.看看1=5v. 0 = 0v对不对。
software看起来没问题,应该是hardware 问题.
看看power supply, ea, reset, crystal接到对不对。
ea = 5v.如果是internel flash 的话。 大多数是。
没有按reset的话, reset pin会是0v.
crystal看看对不对。有没有disconnected的问题。 |
|
|
|
|
|
|
|
楼主 |
发表于 14-11-2007 12:32 AM
|
显示全部楼层
原帖由 fritlizt 于 14-11-2007 12:17 AM 发表
用multimeter 量p1, p2, p3.看看1=5v. 0 = 0v对不对。
software看起来没问题,应该是hardware 问题.
看看power supply, ea, reset, crystal接到对不对。
ea = 5v.如果是internel flash 的话。 大多数是。 ...
因为是development board , 所以现在不能试。
但是我用probe 来量, 一on MCU , P2 P3 都有 signal 5v , 但是是square wave ,
P2.0 的 frequency 很高, 然后 P2.1 会低点, 之后的越来越低, P3 也是那样。
刚刚试了把握的 hex file 丢进proteus , 终于看到能走了, 7segment 都很ok.
看来不能相信学校的东西。。。 |
|
|
|
|
|
|
|
发表于 14-11-2007 12:57 AM
|
显示全部楼层
原帖由 chan1314 于 14-11-2007 12:32 AM 发表
因为是development board , 所以现在不能试。
但是我用probe 来量, 一on MCU , P2 P3 都有 signal 5v , 但是是square wave ,
P2.0 的 frequency 很高, 然后 P2.1 会低点, 之后的越来越低, P3 也是那 ...
要清楚developement board 的connection 。可能p2, p3是拿来做其他用途。 |
|
|
|
|
|
|
|
发表于 14-11-2007 02:23 PM
|
显示全部楼层
原帖由 chan1314 于 13-11-2007 07:24 PM 发表
请问你们用什么来写 8051 ? 我用 keil c evaluation , 但是很多问题,
一开始就long jump , 然后就算下了也不能用。。。
汗。。。
一定需要crystal 才能用吗?
我有 atmel 89s8252 。
我没有反对, 但如果可以的话, 尽量去学Microchip的PIC MCU,然后精通它。
只是小小的善意劝告, 不要因为学校用8051而逼着去学,而忽略了市场最热的是PIC MCU。。。
我知道你们有很多都是学8051的, 是因为学校的关系, 但当你出来工作时, 用PIC 和Freescale的会比较多。。。。你的8051 用不上。。。
也尽量的去学C, 不需要太重视ASM的编程。。。讲求的是效率。。。
我知道你们可能不赞成我的说法, 所以欢迎各位发表你们的意见。 |
|
|
|
|
|
|
|
楼主 |
发表于 14-11-2007 04:32 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 14-11-2007 05:21 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 14-11-2007 08:03 PM
|
显示全部楼层
原帖由 pic 于 14-11-2007 05:21 PM 发表
不会, PIC16F 渐渐已被PIC18F取代。
我要学的是PIC24 和 dsPIC. (24bit MCU)
ARM是用在高档的如PDA, Smartphone 之类, 除非他的价钱下到和 PIC一样, 不然不可能会取代PIC MCU.
PIC MCU的好处就是 ...
arm 也有便宜的。。
arm7tdmi,我上一次买的时候一颗才rm 60.
不过是比较palia一点。 比8051,pic好。差过好料的arm.
32bits micro processor, pic有的他也有, 还有dac.full serial port.可以拿来当modem.lolz.
其实看以后要当什么。如果是想做embedded system design.没什么人注意用什么mcu.大多数os 会handle.只需要找到适合的os和c compiler.
我现在training是做embedded system.知道mcu的型号只是拿来找os,compiler而已。
过后就没有鸟这样多了。program是写给os execute,不是mcu.
就好像windows和linux这样。我们已经没有讲ogram是写给intel还是amd.不过每个人注意的都是program是写给windows还是linux之类。 |
|
|
|
|
|
|
|
发表于 14-11-2007 08:07 PM
|
显示全部楼层
|
|
|
|
|
|
| |
本周最热论坛帖子
|