Page 1 of 3 123 LastLast
Results 1 to 10 of 22

Thread: 8051 my first love

  1. #1

    Default 8051 my first love

    hi guys. u know what . the more i work with8051 more i fall in love with it.
    i can say this after completing another project with 8051.many ppl say 8051 is waste and dont learn it. but i find 8051 still better than many Uc pics and probably avrs. they(8051) r peripherially weak but they are architecturally and instruction set wise they r strong. pic and avr are good if programmed in c or basic type high level lnguage. what do u feel guys . pl pour in ur thought


    asimov

  2. #2
    Administrator T-1000 vikas's Avatar
    Join Date
    Feb 2004
    Location
    Delhi
    Posts
    1,922
    Blog Entries
    14

    Default

    Asimov .... the one vs other debates never ends, I was a AVR fanboy but after using ARM and some other series ... AVR seems like pathetic. Such debates are everywhere php , java and ruby people fighting .... XBOX , ps3 and Wii [].

    For me its the price,performance and TIME, It really dosent matter if x51 is cheapest and ARM is most expensive , which ever will get the job done fastest i will go for that. Cause as we go along and work more, ull see that u have more money and less time , unlike in college where its the vice versa ( hence the choices ).
    Vikas Patial

  3. #3
    Super Moderator T-1000 docel's Avatar
    Join Date
    Sep 2005
    Location
    BANGALORE
    Posts
    1,441
    Blog Entries
    3

    Default

    Asimov, I have posted links on some fantastic new 8051 deivatives earlier....Silicon labs (Cygnal) etc.,

    ....but still, I use AVR now....after years of 8051, ever since it was born in the '70s :!: :!:

    Like Vikas said: we get along and find the next best thing.....
    docel
    ^Anything is possible..
    after YOU prove it!!

    http://bangalorerobotics.tripod.com

  4. #4
    Senior Member T-1000
    Join Date
    Oct 2006
    Location
    Agra, India
    Posts
    406

    Default Re: 8051 my first love

    Quote Originally Posted by asimov_18
    pic and avr are good if programmed in c or basic type high level lnguage.
    Far from it! These devices are resource limited (read limited RAM, program memory, I/O). Often in real-world applications (like consumer products) one has to work hard to fit in code, use the available RAM carefully. And you don't have the liberty to select the biggest, baddest uC around as price is an issue. So what do you do?... You try to write the tightest code possible. Which is where assembly language helps.

    Of course, where price is not a factor, like in one-off designs, you can go ahead and code in whatever language you please.

    Point is - in 8-bitter PICs, AVRs, etc. assembly is as relevant, if not more, as HLL compilers.

    --
    Mohit Mahajan,
    www.biozen.co.in

  5. #5
    Super Moderator T-1000 docel's Avatar
    Join Date
    Sep 2005
    Location
    BANGALORE
    Posts
    1,441
    Blog Entries
    3

    Default

    ...but - nobody writes Assembly!!! only the inefficient C- the only useful thing they seem to pick up in college!!
    But, how many have tried the 68HC???

    Coding in C is the main factor, apart from the cost and the programming Hw/SW.
    ...I'm NOT mentioning the juicy Holteks/ Hitachis/texas/st/dallas/Zilog/Infineon/National... and other 'funny' Micros that are CHEAP and Versatile (secretive and Industrial)!!!

    The student looks at something That is FREE- SW/HW/Programmer/available next road and C compatible.

    I dont think the price of the Microcontroller is important to them.
    docel
    ^Anything is possible..
    after YOU prove it!!

    http://bangalorerobotics.tripod.com

  6. #6
    Senior Member Cyborg
    Join Date
    Apr 2007
    Location
    Mumbai
    Posts
    213

    Default 8051 will become your second love in future

    For hellow world project definately 8051 may be your first love.

    but when you need very accurate delays, timing in short time then may you find avr as your first love.

    Assembly langauge is ok for smalll project. but C syntax is most of the time common for avr , pic ,8051 etc.

    if you are new then it is highly recommened to go for C only for ease and fast code writing.

    regards

    ulhas

  7. #7
    Senior Member T-1000 debu's Avatar
    Join Date
    Jun 2007
    Location
    New Delhi, India
    Posts
    338

    Default

    In my opinion, most modern chips have a fairly easy to learn Assembly Language, any one with a good understanding of basic digital electronics should not have any trouble dealing with it. Its also quite simple to migrate to another chip.


    AVR:

    .ORG 0x0000
    main:
    ADD R4, R5 ;R4<-R4+R5
    CP R4, R16 ;Compare R4 & R16
    BRNE 0xC90A ;Branch if not equal to 0xC90A

    ;===============;

    .ORG 0xC90A
    .....



    ARM:

    AREA Program, CODE, READONLY

    Main

    ADD R4, R4, R5 //R4<-R4+R5
    CMP R5, R9
    BEQ branch

    //==================//

    branch:
    ......



    As you can see from my example above (even though its very basic), that even using assembly language can be fairly simple, you can get a great instruction/cycles and a finer degree of control, all the while using easy and almost-high-level-like instructions.

    You can always use C where you feel the assembly code is getting to complex.

  8. #8

    Default

    in my opinion i think c is better since it is easier to modify the program to make it adaptable to any controller ...also the knowledge of c is would be enough as u dont want to know which bank to use... which register is free and use .. u can write the data in integer ,char ,hex format...

  9. #9

    Default

    Is getting a simple ARM development environment up and running very expensive? There is a free gcc port for ARM, but what about the programmer and actual IC? Can ARM be programmed using a simple "dongle" style programmer? Are there (reasonably cheap) ARM processors on breakout boards available locally?

    My two paise on the C vs assembly debate. In most programs only a small sections of the code eat up most of the processor time, writing this part in inline assembly (if necessary) in a C program makes sense. I guess a fully assembly program is only needed if there is a real shortage of space for the program (which is rarely the case).

  10. #10
    Senior Member T-1000 debu's Avatar
    Join Date
    Jun 2007
    Location
    New Delhi, India
    Posts
    338

    Default

    Is getting a simple ARM development environment up and running very expensive? There is a free gcc port for ARM, but what about the programmer and actual IC? Can ARM be programmed using a simple "dongle" style programmer? Are there (reasonably cheap) ARM processors on breakout boards available locally?
    WinARM is made by the same folks who made WinAVR (I think). It uses the same 'Programmers Notepad', a similar command line GCC and Assembler etc. Its free and simple to set up.
    I've only worked with the NXP LPC2129, which is fairly simple to learn and setup, its available for Rs. 1350 (consider Rs. 950 for a ATMega128, and a LPC2129, with 256KB of Flash, 16KB of RAM, and 32 Bit etc.) from almost all channels, (official and unofficial). Unipro makes fairly cheap universal JTAG's for all chips, this includes ARM's, AVR's, 8051's(silicon labs etc.), 68xxxx (et al) together, so you can use the same JTAG for ISP. They also make the breakout boards for TQFP/MLF 32/44/62/100/144 etc.this again is quite cheap and readily available in the market. (they have a Distributor in Lajpat Rai, Delhi), and their head office in Mumbai.


    But my debate wan't AVR versus ARM. It was; how the chip doesnt matter, and how easy it is to port code from one processor to another.

    My two paise on the C vs assembly debate. In most programs only a small sections of the code eat up most of the processor time, writing this part in inline assembly (if necessary) in a C program makes sense. I guess a fully assembly program is only needed if there is a real shortage of space for the program (which is rarely the case).
    I partly agree. The great part about using WinARM,is that you can use Assembly Language as your main preference and fill in the difficult parts with 'C'. Since ARM is a 100% thoroughbred RISC style processor,it has all those high-level-style easy to use instructions. Also there is this C-compiler called 'Eclipse', which supposedly gives you mostly all single cycle execution.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •