tag:blogger.com,1999:blog-21258380289228620322024-03-12T20:59:01.781-07:00Microprocessor and microcontroller: Aseembly language programsInterfacing microprocessors, 8086, MASM 6.11, microcontroller 8085 and assembly language programming, projects, ebooks and tutorials on microprocessors and microcontrollersdigitrackershttp://www.blogger.com/profile/08602387077414431151noreply@blogger.comBlogger119125tag:blogger.com,1999:blog-2125838028922862032.post-75172959574233789812015-09-01T23:20:00.002-07:002015-09-01T23:22:59.726-07:00Where to buy a raspberry Pi in india ?
Folks,
now a days its very easy to build cool project with raspberry pi which is a complete computer in a size of a credit card. and for your engineering projects you can use this wonderful product and build lot of interesting stuff like
1. personal media server at home
2. home automation
3. agriculture motor automation etc etc.
we will discuss on more of these projects in future but this digitrackershttp://www.blogger.com/profile/08602387077414431151noreply@blogger.com2tag:blogger.com,1999:blog-2125838028922862032.post-39719397894218933482010-03-10T02:36:00.000-08:002010-03-10T02:36:00.238-08:00PWM with 89S52Here is the program for Pulse width modulation PWM on basic for 89s52.You could generate pwm using the following psedocode#define high_period #define low_period main(){!!Code to initiate the timer;!!Timer counter register value = high_period;!!set port pin high!!start timerwhile(1);}interrupt void time_interrupt_routine(void){if(port pin is high)!!Timer counter register value = low_period;else!!digitrackershttp://www.blogger.com/profile/08602387077414431151noreply@blogger.com6tag:blogger.com,1999:blog-2125838028922862032.post-84964765418587197162010-03-05T02:31:00.000-08:002010-03-05T02:31:00.803-08:00How to access R0 to R7 registers in Keil C?you can use the following Program to access R0 to R7 registers in Keil C{unsigned char R0Val;_asmMOV A, R0MOV _R0Val, A_endasm}OR{unsigned char R0Val;#pragma ASMMOV A, R0MOV _R0Val, A#pragma ENDASM}C variables have to be prefixed by '_' or underscore character, to be accessible in the assembly section of the C code.Hope this helps.digitrackershttp://www.blogger.com/profile/08602387077414431151noreply@blogger.com2tag:blogger.com,1999:blog-2125838028922862032.post-8711478431935517102010-02-28T02:25:00.000-08:002010-02-28T02:25:00.557-08:00Program to initialise the LCD in 4 bit mode using PIC microcontrollerIt was for 16F72 at 4Mhz written in cc5x. LCD is connected to PORTB.RS at RB7,RW at RB1,EN at RB6. DB7 at RB2,DB6 at RB3, DB5 at RB4, and DB4 at RB5. A function delay_ms() is used , which is not shown here.code will work for 2x16 character LCD modules.void lcdw(unsigned char m){PORTB.2=m.7;PORTB.3=m.6;PORTB.4=m.5;PORTB.5=m.4;en=1;nop();nop();en=0;}void nbw(unsigned char m){PORTB.2=m.7;PORTB.3=m.6digitrackershttp://www.blogger.com/profile/08602387077414431151noreply@blogger.com0tag:blogger.com,1999:blog-2125838028922862032.post-38487183037940422262010-02-25T02:05:00.000-08:002010-02-25T02:05:00.241-08:00Program for multiplexing of led displays for pic microcontrollersSuppose you want to design the ac digital voltmeter rang up to 0-300v or above, by using any pic 8-bit mcu, and want to use 3, 7-segment display for it then there can be a problem as to how do you indicate such large value on displaythen you can go with the following approchuse BCD to 7 segment converter, so that only 4 bits can be used to control a single 7 seven segment display..... so in digitrackershttp://www.blogger.com/profile/08602387077414431151noreply@blogger.com1tag:blogger.com,1999:blog-2125838028922862032.post-64351893550369575802010-02-20T01:53:00.000-08:002010-02-20T01:53:00.875-08:00version control system for keil & MPLAB.Hi when you are working on large project which involve large number of programs and many developers work at same thing then thing will become hard to manage and the project may Fail.so when you are dealing with Such kind of progects while developing Microprocessor microcontroller Projects it is all ways better to use CVS Code version system or Version control sytems.It is the best way to share digitrackershttp://www.blogger.com/profile/08602387077414431151noreply@blogger.com0tag:blogger.com,1999:blog-2125838028922862032.post-16851234570309215052010-02-17T01:42:00.000-08:002010-02-17T01:42:00.674-08:00LED blinking program for Pic microcontrollerHere is the program for Pic microcontroller PIC16F877A to blink a LED connected to B3 of PORTC,This program works for Mplab. or using HiTECH PRO Lite compiler.PICClite code may be#include #include "delay.h"#define _XTAL_FREQ 4000000_CONFIG(MCLREN & UNPROTECT & BORDIS & WDTDIS & PWRTEN & INTIO);void main(){TRISC=0;while (1){PORTC = 8;DelayMs(250);DelayMs(250);PORTC = 0;DelayMsdigitrackershttp://www.blogger.com/profile/08602387077414431151noreply@blogger.com0tag:blogger.com,1999:blog-2125838028922862032.post-69882742565480421872010-02-13T01:13:00.001-08:002010-02-13T01:16:04.156-08:00A microprocessor Program to convert BCD pack and Unpack number for 8085.Please find the Below program to Pack the two unpacked BCD numbers stored in memory locations 4200H and 4201H and store result in memory location 4300H. Assume the least significant digit is stored at 4200H.Here is the Sample problem:(4200H) = 04(4201H) = 09Result = (4300H) = 94Source program for the above logicLDA 4201H : Get the Most significant BCD digitRLCRLCRLCRLC : Adjust the position of digitrackershttp://www.blogger.com/profile/08602387077414431151noreply@blogger.com0tag:blogger.com,1999:blog-2125838028922862032.post-88700678564379671362010-01-10T06:06:00.000-08:002010-01-10T06:18:47.343-08:00How to measure + and - 5 Volts using PIC microcontroller PIC1F4550This post will explain you how to measure postitive and Negative 5 voltage using PIC microcontroller PIC1F4550First config the ADC channel in your controller and in the ADCON Registers you have an option to select +Vref & -Vref values. say ADC is 10bit resolution i.e. 2^10 you will get max count from 0 to 1024. so the count "0" indicates your -Vref (-5v) value, count "512" indicates the 0V digitrackershttp://www.blogger.com/profile/08602387077414431151noreply@blogger.com0tag:blogger.com,1999:blog-2125838028922862032.post-72578301646225943662009-10-15T10:23:00.000-07:002009-10-15T10:23:00.094-07:00Dely loop in AVRAmer: Hello freinds.Can anybody help me regarding how to write a assembly language delay loop (loop-in-loop method no use of internal timers) for AVR microcontroller and how to evaluate the time delay provided by a loop?I have an example of such loop taken from EFY mag's Nov.05 issue. You can help me by explaining the calculations for that code. The code goes as follows:-delay: clr r19ldi r17,$digitrackershttp://www.blogger.com/profile/08602387077414431151noreply@blogger.com0tag:blogger.com,1999:blog-2125838028922862032.post-42772030094853446422009-10-13T10:18:00.000-07:002009-10-13T10:23:12.613-07:00C Programming Options in AVRI am new to AVRsI want to know what all programming options are there for C.I know about BASCOM, but dont personally like BASIC that much.ans:* hey try codvisionavr c compiler .....it good and easy to learn and when u become pro useWinAVR GCC* I think you should see the page http://www.lancos.com and everthing will be clear! U will be able to make ur own circuit to program downloader circuit! as digitrackershttp://www.blogger.com/profile/08602387077414431151noreply@blogger.com0tag:blogger.com,1999:blog-2125838028922862032.post-10846461589803739212009-10-05T11:44:00.000-07:002009-10-05T11:47:29.997-07:00How To to build an ISP for Atmega 128You can check out Electronics For You Vol 31 nov 2005 editionorFirst of all ATMEGA 128 supports ISP. One can use the same ISP programmer used for ATMEGA 16/32 to burn a ATMEGA 128. In your target platform just take out the connections for SPI, (MISO, MOSI, SCK, and RESET) and connect those line to your ISP programmer. For schematic and PCB layout mail me : nibir.chakraborty@gmail.com. You can digitrackershttp://www.blogger.com/profile/08602387077414431151noreply@blogger.com0tag:blogger.com,1999:blog-2125838028922862032.post-89255460305561269682009-06-08T19:35:00.000-07:002009-06-08T19:40:41.645-07:00ADC on LPC2129Here goes the second post on " How to program the onboard adc in LPC2129" As said earlier LPC2129 has 4 onboard 10-bit ADC. Also these ADC's are internally multiplexed. So here i give out a snippet of how you could access the ADC's on LPC21xx.At the time of writing this post,i dnt believe that any further explanation is needed . In case you need please refer to the end of line comment or feel Dj-mareeshttp://www.blogger.com/profile/12872755512247077758noreply@blogger.com1tag:blogger.com,1999:blog-2125838028922862032.post-68983472705005312812009-05-28T04:10:00.000-07:002009-05-28T04:13:46.404-07:00hola ! ARM<!--[if gte mso 9]> 12.00 <![endif]--><!--[if gte mso 9]> Normal 0 false false false EN-US X-NONE X-NONE MicrosoftInternetExplorer4 <![endif]--><!--[if gte mso 9]>Dj-mareeshttp://www.blogger.com/profile/12872755512247077758noreply@blogger.com1tag:blogger.com,1999:blog-2125838028922862032.post-80457208488429134222009-03-16T08:43:00.000-07:002009-03-16T08:43:00.201-07:00Few microprocessor tools you might be interested injSimDOPThis project is application based on NetBeans api providing simulation of DOP microprocessor.Microprocessor USB FirmwareUSB Firmware and Drivers for Microprocessor and 8/16 Bit Home computer.PIC Microprocessor Simulator on Linux Microprocessor simulator for the PIC16F84A on Linux using a GUI to allow for easier programming and debugging of PIC applications.Features : memory viewer, digitrackershttp://www.blogger.com/profile/08602387077414431151noreply@blogger.com0tag:blogger.com,1999:blog-2125838028922862032.post-65961798218809838462009-03-13T08:34:00.000-07:002009-03-13T08:42:33.157-07:00Microprocessor Simulator on Linux [ Screenshot tour ]Microprocessor Simulator on Linux Features: Easy-to-use graphical interface.You may use your regular IBM PC to run simulation software that controls real hardware in real time, through the parallel port on Linux.An open source (for non-commercial products)and easy-to-use IDE that uses the Qt graphics library to help users build effective designs.Download the software on sourceforge.net digitrackershttp://www.blogger.com/profile/08602387077414431151noreply@blogger.com0tag:blogger.com,1999:blog-2125838028922862032.post-30234564113390030482009-02-25T09:22:00.000-08:002009-02-25T09:27:48.963-08:00Embedded Linux/Microcontroller ProjectThe Linux/Microcontroller project is a port of Linux to systems without a Memory Management Unit (MMU). The Linux/Microcontroller Project has grown both in brand recognition and coverage of processor architectures. Today's uClinux as an operating system includes Linux kernel releases for 2.0 2.4 and 2.6 as well as a collection of user applications, libraries and tool chains.For more: uCLinux<!--digitrackershttp://www.blogger.com/profile/08602387077414431151noreply@blogger.com0tag:blogger.com,1999:blog-2125838028922862032.post-19010921671005859662009-01-08T09:38:00.000-08:002009-01-08T09:48:59.485-08:00Microcontroller and Programmer Kit for Beginner buy in indiaGenerally a beginner require a programming kit with following features.General purpose kit with all ports available to you,some interfacing device interfaces ,like stepper motor, LCD, LED, key/keypad, relay's.Some extra's like ADC, DAC.they may choose any microcontroller with 8051 core , depending upon there RAM, flash requirement but 89C51RD2 is one of the good microcontroller.In India you can digitrackershttp://www.blogger.com/profile/08602387077414431151noreply@blogger.com2tag:blogger.com,1999:blog-2125838028922862032.post-50936966890429360142008-12-22T06:20:00.000-08:002008-12-22T06:20:01.100-08:00Our Blog statisticsWe have compiled and published over hundred assembly language programs and tutorials over the past one year now on this blog and we would like to thank our blog subscribers and our loyal visitors for the support, feedback and response.We intend to bring you more tutorials and source codes related to microprocessors and microcontrollers in the future. Following is the summary of the traffic digitrackershttp://www.blogger.com/profile/08602387077414431151noreply@blogger.com2tag:blogger.com,1999:blog-2125838028922862032.post-68001951714590310552008-12-17T06:15:00.000-08:002008-12-17T06:15:00.310-08:00program to find the sum of squares of n numbersprogram to find the sum of squares of n numbersinitially we load the si and di registers and we move contents of si to that of cl and then we continue to increment si and move si to al and multiply the current result with al. Then we move contents of si to that of bl and we multiply bl and add the result in ax to that of di.the code can be analyzed as followsmov si,2000mov di,4000mov cl, [si]digitrackershttp://www.blogger.com/profile/08602387077414431151noreply@blogger.com1tag:blogger.com,1999:blog-2125838028922862032.post-7704641290590723102008-12-14T06:11:00.000-08:002008-12-14T06:11:00.845-08:00program to find the sum of cubes of n numbersprogram to find the sum of cubes of n numbersinitially we load the si and di registers and we initalize ax and cx registers to zero. we move ax to content of di and move contents of si to cl. the we continue to increment si and move si to al and multiply the current result with al. Then we move contents of si to that of bl and we multiply bl and add the result in ax to that of di and we repeat digitrackershttp://www.blogger.com/profile/08602387077414431151noreply@blogger.com0tag:blogger.com,1999:blog-2125838028922862032.post-86653026156855296022008-12-11T06:06:00.000-08:002008-12-11T06:06:00.173-08:00program to find the largest between two numbersfollowing program is to find the largest between two numbersFor the execution of this program we load si and di registers with initial address and move ah to 0 and we move the contents of si to al and we compare the contents of di with that of al register.then we user jump if carry with DOWN label and move the contents of al to that of di and halt the programcode:MOV SI, 2000MOV DI,4000MOV AH,digitrackershttp://www.blogger.com/profile/08602387077414431151noreply@blogger.com0tag:blogger.com,1999:blog-2125838028922862032.post-5869463646339872382008-12-08T06:01:00.000-08:002008-12-08T06:01:00.201-08:00program to perform fibonacci seriesfollowing program is perform fibonacci seriesIn order to perform the fibonacci series, that is 1,1,2,3,5,8,13 .....We initalize SI to 2000 and CX to 0, then we initilaize AX and BX registers. Then we increment SI Register by 1 and we move the contents of AL into SI register. Then we decrement cs by one and move the contents of BL o that of si and decrement CS. Then we add al and the bl digitrackershttp://www.blogger.com/profile/08602387077414431151noreply@blogger.com3tag:blogger.com,1999:blog-2125838028922862032.post-13483070286947103032008-12-05T06:55:00.000-08:002008-12-05T06:55:00.914-08:00program to convert ASCII to packed BCD numbersFollowing program is for conversion of ASCII to packed BCD numbersFor execution of this program, we load the 1st ASCII digit into BL and the second ASCII number into the second AL. Then we mask the upper 4 bits of 1st digit and load CL for 4 rotate required. ROtate BL 4 bit position and combine nibbles, result in AL and finally we HALT the program.CODE:MOV BL,35HMOV AL,39HAND BL,0FAND AL,0FMOV CLdigitrackershttp://www.blogger.com/profile/08602387077414431151noreply@blogger.com0tag:blogger.com,1999:blog-2125838028922862032.post-65129308635951481302008-12-02T08:49:00.000-08:002008-12-02T08:49:00.890-08:00program to find the product of numbers in an arrayThis program is to find the product of numbers in an array: We initalize the registers, then we move the size of the array to a counter and reduce its size bu one. SI is incremented to point to the 1st number of the array and move the 1st number into accumularot.The 2nd number is moved into BL,, we multiply both the numbers abd this is continued till the numbers in the list, exhaust and finallydigitrackershttp://www.blogger.com/profile/08602387077414431151noreply@blogger.com1