Thứ Ba, 2 tháng 10, 2012

LED sáng từ trái sang phải.

Chương trình mẫu:

Chip type : ATmega16
Program type : Application
AVR Core Clock frequency: 8.000000 MHz
Memory model : Small
External RAM size : 0
Data Stack size : 256
*****************************************************/

#include "mega16.h"
#include "delay.h" //khai bao thu vien ham tao tre
#define LED PORTC //dinh nghia LED la PORTC

void main(void)
{
char i; //khai bao mot bien su dung de dem so lan dich bit
// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=Out
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=1
PORTC=0xFF; //LED duoc noi vao PORTC vi vay chon trang thai led sau khi mach duoc cap nguon la LED tat
DDRC=0xFF; //chon trang thai cho phep xuat ra dieu khien led

while (1)
{
for(i=0;i

{
LED = ~(1 << i);

delay_ms(500); //tre 500ms
}

};
}

Tải về: http://www.mediafire.com/?43op9tq2qbv4957
Nguồn sangthai.com.vn

Led sáng từ phải qua trái

Chương trình mẫu:


Chip type : ATmega16
Program type : Application
AVR Core Clock frequency: 8.000000 MHz
Memory model : Small
External RAM size : 0
Data Stack size : 256
*****************************************************/

#include "mega16.h"
#include "delay.h" //khai bao thu vien ham tao tre
#define LED PORTC //dinh nghia LED la PORTC

void main(void)
{
char i; //khai bao mot bien su dung de dem so lan dich bit
// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=Out
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=1
PORTC=0xFF; //LED duoc noi vao PORTC vi vay chon trang thai led sau khi mach duoc cap nguon la LED tat
DDRC=0xFF; //chon trang thai cho phep xuat ra dieu khien led

while (1)
{
for(i=0;i {
LED = ~(0x80>>i); //dich so 128 di i don vi ( bit cao nhat la 1)sau do dao trang thai bit
delay_ms(500); //tre 500ms
}

};
}

Tải về:  http://www.mediafire.com/?oiq23cbh84zoh0j
Nguồn sangthai.com.vn

LED từ phải qua trái và từ trái qua phải


LED từ phải qua trái và từ trái qua phải.


Chương trình mẫu:

Chip type               : ATmega16
Program type            : Application
AVR Core Clock frequency: 8.000000 MHz
Memory model            : Small
External RAM size       : 0
Data Stack size         : 256
*****************************************************/

#include  "mega16.h"
#include   "delay.h" //khai bao thu vien ham tao tre
#define LED PORTC   //dinh nghia LED la PORTC

void main(void)
{    
    char i; //khai bao mot bien su dung de dem so lan dich bit
    // Port C initialization
    // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=Out 
    // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=1 
    PORTC=0xFF;  //LED duoc noi vao PORTC vi vay chon trang thai led sau khi mach duoc cap nguon la LED tat 
    DDRC=0xFF;   //chon trang thai cho phep xuat ra dieu khien led

    while (1)
    {
          for(i=0;i          {   
                LED = (0x7f>>i); //dich so 128 di i don vi ( bit cao nhat la 1)sau do dao trang thai bit
                delay_ms(500); //tre 500ms
          }
         
          for(i=0;i          {   
                LED = (0xfe<                delay_ms(500); //tre 500ms
          }
    };
}


Tải về: http://www.mediafire.com/?yb92e667uzc32fp 
Nguồn sangthai.com.vn

INT_8Leds_1Button(Ngắt)


Chương trình mẫu:

Chip type : ATmega32
Program type : Application
Clock frequency : 7.372800 MHz
Memory model : Small
External SRAM size : 0
Data Stack size : 512
*****************************************************/


#include "mega32.h"


// User's define
#define LED PORTC
#define DELAY_VALUE 50000


// Global variables
unsigned char counter;


// External Interrupt 0 service routine
interrupt [EXT_INT0] void ext_int0_isr(void)
{
counter = (counter >= 3) ? 0 : (counter + 1);
}


void my_delay(unsigned long int delay_value, unsigned char compare)
{
while ((counter == compare) && (delay_value--));
}


// Declare your global variables here


void main(void)
{
// Declare your local variables here


// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTA=0x00;
DDRA=0x00;


// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;


// Port C initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTC=0x00;
DDRC=0xFF;


// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;


// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;


// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;


// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;


// External Interrupt(s) initialization
// INT0: On
// INT0 Mode: Rising Edge
// INT1: Off
// INT2: Off
GICR|=0x40;
MCUCR=0x03;
MCUCSR=0x00;
GIFR=0x40;


// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;


// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;


// Global enable interrupts
#asm("sei")


counter = 3;


while (1)
{
switch (counter)
{
case 0:
while(1){
LED = 0xFF;
my_delay(DELAY_VALUE, 0);
if (counter != 0) break;
LED = 0x00;
my_delay(DELAY_VALUE, 0);
if (counter != 0) break;
}
break;
case 1:
while(1){
LED = 0b10101010;
my_delay(DELAY_VALUE, 1);
if (counter != 1) break;
LED = 0b01010101;
my_delay(DELAY_VALUE, 1);
if (counter != 1) break;
}
break;
case 2:
LED = 0xFF;
while(1){
if (LED == 0){
LED = 0xFF;
my_delay(DELAY_VALUE, 2);
}
if (counter != 2) break;
LED = (LED << 1)& 0b11111110;
my_delay(DELAY_VALUE, 2);
if (counter != 2) break;
}
break;
case 3:
LED = 0x00;
while(1){
if (counter != 3) break;
}
break;
default:
break;
}
};
}

Tải về: http://www.mediafire.com/?29tif7w6axhc23c

Nguồn sangthai.com.vn

Kỹ thuật SEO cho Blogspot

SEO cho blogger là 1 công việc hết sức cần thiết vì đa số các blogger template chưa được tinh chỉnh on page SEO (xem bài viết trước) hợp lí,1 phần cũng do code của blogger không được thân thiện cho lắm.Bài viết này sẽ giúp các bạn tối ưu hóa template của mình đang xài những yếu tố SEO căn bản nhất.

 

Hiện nay đang thịnh hành thủ thuật SEO blogspot là All in one SEO pack for blogger đây là tên 1 plugin của WordPress.Thật ra cách thức hoạt động chỉ giống 80% vì các TIPs này không lấy meta Decription từ nội dung bài viết mà chỉ lấy từ Title+1 phần do mình set mặc định.


Về nội dung:SEO trong năm 2012 là năm thưởng cho các blogger với nội dung hay và chất lượng do đó bạn hãy dừng việc copy bài của người khác .Việc chọn giao diện cho SEO cũng phải cân nhắc
1.All in one SEO pack cho blogspot:
Tìm trong template:
<title><data:blog.pageTitle/></title>
Thay bằng

 <b:if cond='data:blog.pageType == "index"'>
<title><data:blog.pageTitle/></title>
<meta content='Mô tả chính của blog' name='description'/>
<meta content='Từ khóa chính của blog' name='keywords'/>
<b:else/>
<title><data:blog.pageName/> - <data:blog.title/></title>
<meta expr:content='data:blog.pageName + ".
Mô tả chính của blog"' name='description'/>
<meta expr:content='data:blog.pageName + ",
Từ khóa chính của blog"' name='keywords'/>
</b:if>

2.Tạo liên kết bánh mì breadcrumb cho blogger



Thủ thuật seo blogspot (blogger) toàn diện Seo

Tại sao phải tạo thanh trạng thái Breadcrumb cho blogger ? Việc này hoàn toàn có lợi cho SEO blogger để giúp Google xác định nội dung liên quan trên trang web của bạn và SE có thể hiểu được cấu trúc trang web của bạn điều này bạn có thể thấy ngay trên SERPs(kết quả tìm kiếm).
3.thêm nofollow cho các liên kết ra ngoài:



Mình xin trích tút này của hontap blog: hãy chèn đoạn code trước </body>

<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">

$(function() {
var domain = 'http://domaincuaban.com';

// Them target="_blank" cho tat ca cac link
$('a').attr('target', '_blank');

// Them rel="nofollow" cho cac link den trang web khac (khong cung domain)
$('a:not([href^=' + domain + '])').attr('rel', 'nofollow');
});
</script>



Theo vietnamadword.com
DBS M05479
Quang Cao