III. C cho 8051
1. Keil Variable Extensions
data địa chỉ trực tiếp MOV A, 07Fh
idata địa chỉ gián tiếp MOV R0, #080h
MOV A, R0
xdata bộ nhớ ngoài MOVX @DPTR
code bộ nhớ chương trình MOVC @A+DPTR
VD
unsigned int data bien = 0; // them data vao khai bao kieu bien
Chú ý rằng , bạn có thể không cần khai báo cụ thể , chỉ cần
unsigned int checksum = 0;
2. Địa chỉ ngắt
Interrupt
Vector
address
Interrupt
number
External 0 0003h 0
Lập trình C cho VXL - Cơ bản VAGAM - giotdang
Timer 0 000Bh 1
External 1 0013h 2
Timer 1 001Bh 3
Serial 0023h 4
org 00h
ljmp main
org 0003h
ljmp ngat0
org 30h
main: // chuong trinh chinh
...
Here: sjmp Here // vong lap vo tan
ngat0:
...
reti
code C
Code:
void main // chuong trinh chinh
{
...
while(1) //vong lap vo tan sau khi thuc hien xong cong viec
}
void ngat0(void) interrupt 0 // chuong trinh ngat
{
...
}