Thứ Ba, 2 tháng 10, 2012

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

Cách tạo và chèn Facebook Like Box vào Blogspot thành công!

Bạn là một tín đồ của Blogger và Bạn đang là thành viên tích cực trên Facebook? Bạn muốn chia sẻ những thông tin của mình đến tất cả bạn bè? Bạn muốn kết nối và chia sẻ cùng bạn bè trên cộng đồng mạng?


Hiện nay, Facebook cung cấp rất nhiều công cụ để bạn có thể dễ dàng chia sẻ những bài viết, ứng dụng của bạn từ Blog lên Facebook và ngược lại. Những công cụ này đã và đang rất phổ biến và được nhiều Blogger sử dụng để thu hút sự quan tâm của bạn bè trên Facebook, hướng họ đến với Blog của mình.

Một trong những công cụ mà Facebook cung cấp là “Like Box”. Like Box như một trang Facebook thu nhỏ. Trong đó thể hiện Fans Page và những bài đăng trên trang Facebook riêng của bạn. Khi chèn Like Box vào Blog, bạn bè của bạn có thể xem nhanh nội dung trang Facebook của bạn và họ có thể kết nối để chia sẻ với bạn thông qua nút “Like” (thích) ngay phía trên hộp thoại.

Để tạo nút Like Box cho Blog, trước tiên bạn cần có một tài khoản trên Facebook và bạn cần tạo trang Facebook riêng .

Sau khi đã có tài khoản và trang Facebook riêng, bạn vào trang http://developers.facebook.com/docs/reference/plugins/like-box để bắt đầu.

Bạn chọn vào Like Box trong danh sách Plugin




Trang chủ sẽ xuất hiện như hình bên dưới





Tiếp theo, bạn vào trang Facebook riêng copy link của trang.

VD:https://www.facebook.com/pages/Blog-Điện-Tử-Tin-Học/154690947910240





Dán link vừa copy vào “Facebook Page ID” như trong hình bên dưới, hộp box sẽ thể hiện mẫu để bạn xem trước như trong hình:






Bạn muốn xóa header bài mới up thì nhấn vào

Nhấn “Get code” để tạo code. Facebook tự tạo mã code để bạn chèn vào Blog. nhưng blogspot chỉ chấp nhận IFrame chip cũng mới thử hì hục mãi mới hiểu..^^






Copy đoạn code trên vào đưa vào Blogspot. Để đưa vào Blogspot, bạn cần đăng nhập vào Blogger, chọn “Thiết kế”




Chọn “Thêm tiện ích”




Chọn tiện ích “HTML/ Javascrip” trong các tiện ích Blogspot cung cấp sẵn




Dán đoạn code vừa copy vào phần “Nội dung”




Lưu những thay đổi và vào Blog để xem kết quả.





Chúc bạn thành công!

Tại sao dữ liệu Google AdWords khác Google Analytics

Khi kết nối tài khoản AdWords và tài khoản Analytics với nhau ắt hẳn nhiều bạn nghĩ rằng chúng sẽ có số liệu đồng nhất. Tuy nhiên, có một số lý do khiến cho 2 số liệu đến từ Google Analytics và Google AdWords hoàn toàn khác nhau. Tại sao lại như vậy ?


Đầu tiên, chúng ta thấy rằng trong khi AdWords báo cáo dữ liệu theo click thì Analytics báo cáo theo lượng truy cập.

Thứ hai, một số người có thể tắt Javascript, cookies, hoặc hình ảnh khi truy cập AdWords, điều này có thể làm sai lệch thông số giữa AdWords và Analytics. Trong trường hợp này, Analytics sẽ không báo cáo có click trong khi AdWords lại báo có.

Thứ ba, nếu Tracking code của Analytics ở landing page không đúng, số click vẫn hiện ở AdWords nhưng Analytics lại không có.

Thứ tư, Những cú click không hợp lệ (invalid click) cũng là một nguyên nhân cho sự sai lệch này. AdWords sẽ tự điều chỉnh và bỏ đi những invalid click trong khi Analytics thì vẫn tính các click không hợp lệ đó.

Để so sánh 2 số liệu giữa AdWords và Analytics tốt nhất bạn nên chờ một ngày. Lúc đó, sự sai số của việc đồng nhất dữ liệu cũng nhỏ hơn. Bạn có thể xem chính xác hơn.

Nguồn : giaiphaplienket.com
Tham khảo : AdWords Learning Center

Loạt phím tắt dành cho tín đồ Facebook

Tuy không nhiều, Facebook cũng đã thiết kế một số tổ hợp phím để người dùng có thể truy cập nhanh các chức năng quan trọng của mạng xã hội mà không cần dùng đến chuột.



Nếu dùng trình duyệt Chrome trên máy tính Windows, bạn có thể thực hiện các phím tắt như sau:
Alt + 1: Quay về trang Home.
Alt + 2: Truy cập Timeline/Profile của bạn.
Alt + 3: Truy cập thư mục Friends để tìm bạn, kết nối...
Alt + 4: Truy cập mục Messages (tin nhắn, chat...)
Alt + 5: Truy cập phần nhắc báo Notifications
Alt + 6: Truy cập mục thiết lập tài khoản General Account Settings
Alt + 7: Truy cập mục thiết lập chế độ riêng tư Privacy Settings
Alt + 8: Truy cập tài khoản Facebook chính thức của Facebook.
Alt + 9: Truy cập trang Điều khoản và Chính sách của Facebook.
Alt + 0: Trung cập phần hỗ trợ người dùng (Help Center) của Facebook.
Alt + m: Mở ra mục soạn tin nhắn Facebook.
Alt + ?: Tra cứu



Bấm Alt + m để soạn và gửi tin nhắn


Còn nếu dùng Firefox trên máy tính Windows, thay phím Alt bằng Shift + Alt, ví dụ Shift + Alt + 1, Shift + Alt + 2...
Tương tự, công thức trên máy Mac OS là:
Firefox: Control + số/m/? (ví dụ: Control + 1, Control + 2...)
Chrome: Control + Option + số/m/?
Safari: Control + Option + số/m/?



DBS M05479
Quang Cao