About Me (TS Pradeep Kumar)

Working at VIT University and having great interest towards embedded wireless systems and e-learning. This site caters to most of the Indian Engineering/technology students to know about embedded systems, network simulator, e learning tools/techniques, etc. If you are a student or a learner, you can always request a title or post..

Subscribe by Email

Enter your email address:

Delivered by FeedBurner

Square Wave Generation using Delay in 8051

To create a square wave generation using Delay.
let us say we want to construct a 1khz square waveform
the processor instruction cycle of 8051 is 1.085microseconds
so for 1khz (1milli seconds =1/1khz), is 1ms/1.085microseconds = 921.6 (this value is set to the for loop)
#include <reg51.h>
void delay()
{
for(i=0;i<922;i++)
}
void main()
{
P0=0xff;
delay();
P0=0×00;
delay();
}

Continue reading Square Wave Generation using Delay in 8051

  • Share/Bookmark

To find the processor instruction cycle of 8051

 
To find processor instruction cycle (Machine cycle) of 8051 microcontroller
Clock frequency of 8051 is 11.059MHz.
12 machine cycle makes 1 clock cycle
so,
12 * machine cycle = 11.059MHz.
Machine cycle = 11.059Mhz/12 = 921583 Hz.
Instruction cycle = 1/921583 = 1.085 microseconds

Continue reading To find the processor instruction cycle of 8051

  • Share/Bookmark

Main Algorithms of a Linux Kernel

Signals

Signals are one of the oldest facilities of Inter Process Communication.

Signals are used to inform the processes about the events.

signals will be sent via the following function (by the Kernel)

int send_sig_info(int sig, struct siginfo *info, struct task_struct *);
sig – refers the signal number
info – refers the sender
t – refers to the tasks [...]

Continue reading Main Algorithms of a Linux Kernel

  • Share/Bookmark

Kernel Data Structures

Task Structure
The fundamental entity of any operating system is the task or a process. The task structure is defined in the linux/sched.h and it is the important data structure and following are some of its parameters.struct task_struct {volatile long state; //determines the current state of the process like unrunnable, runnable and stoppedunsigned long flags; // [...]

Continue reading Kernel Data Structures

  • Share/Bookmark

Introduction to Linux Kernel

The Linux or the unix kernel is just developed under the microkernel architecture…
The Microkernel provides only the necessary minimum of functionality (inter process communication and the memory management) and can be accordingly be implemented in a small and compact form. Building on this microkernel, the remaining functions of the operating system are relocated to [...]

Continue reading Introduction to Linux Kernel

  • Share/Bookmark

Kernel Directory Structure

In Linux the Kernel source is available under /usr/src/linux.

Architecture dependent code is available in the following directory structure

arch/alpha – for the DEC Alpha Architecture
arch/x86 – for the Intel 32 bit Architecture
arch/arm – for the ARM Architecture
arch/ia64 – for the intel 64 bit architecture
arch/m68k – for the 68000 architecture and [...]

Continue reading Kernel Directory Structure

  • Share/Bookmark

Characteristics of Linux

Linux is

Multiuser – allows number of users to work with the system at the same time
Multitasking – supports true preemptive multitasking. All processes independently of each other.
Multiprocessing – from kernel Version2.0 onwards, linux supports multiprocessor architectures. Applications are distributed across several processors.
Architecture Independent – runs almost on all platform that are able [...]

Continue reading Characteristics of Linux

  • Share/Bookmark

8051 Program to handle the Ports

 
Tool used: Keil Compiler for 8051
Microcontroller used: Intel 8051AH (with 32 I/O Pins, Two timers/counters, 5 interrupts with 2 priority levels)
//Program to handle ports of 8051
#include <reg51.h>
void main()
{
P0=0×50;
P1=0×10;
P0=P1+P0;
}
The Port0 holds the data of 50H and Port1 holds 10H, both added together and result is in Port0 as 0×60;

Continue reading 8051 Program to handle the Ports

  • Share/Bookmark