Nghiên cứu Khoa học

Lập trình cơ bản Assembly cho vi điều khiển

  • 17/05/2021
  • Nghiên cứu Khoa học

Họ vi điều khiển MC (Microcontroller)là một chíp có thể lập trình được để điều khiển hệ thống, nó được ứng dụng rất rộng rãi trong công nghiệp và tiêu dùng. Bộ vi điều khiển hoạt động nhờ chương trình điều khiển, khi nhận được tín hiệu điều khiển từ bên ngoài vào. Bộ vi điều khiển thực hiện chương trình của nó tuỳ thuộc vào chương trình và cơ cấu chấp hành.

Vào năm 1976 Intel giới thiệu bộ vi điều khiển 8747, một chip tương tự như các bộ vi xử lý và là chip đầu tiên trong họ vi điều khiển MCS-48. 8747 là một vi mạch chứa trên 17000 trasistor bao gồm 1 CPU, 1Kbyte ERPOM, 64 byte RAM, 27 chân xuất nhập và một bộ định thời 8 bit. Và để phục vụ nhu cầu thay thế các thành phần cơ iện trong các thiết bị công nghiệp ngày càng tăng. Vào năm 1980 chip vi điều khiển 8051 đã được công bố, đây là bộ vi điều khiển đầu tiên của họ vi điều khiển MCS-51. Chip 8051 chứa trên 60000 trasistor bao gồm 4 Kbyte ROM, 128 byte RAM, 32 đường xuất nhập, 1 port nối tiếp và 2 bộ định thời 16-bit. Các thành viên mới được thêm vào cho họ MCS-51 và các biến thể ngày nay gần như có gấp đôi các đặc trưng này. Họ 8051 là một trong những bộ vi điều khiển 8-bit mạnh và linh hoạt nhất, đã trở thành bộ vi điều khiển hàng đầu trong những năm gần đây.

Một bộ vi điều khiển là một hệ vi mạch đơn chứa bên trong một CPU và các mạch khác để tạo một hệ máy vi tính đầy đủ. Ngoài CPU, các bộ vi điều khiển còn chứa bên trong nó các RAM, ROM, mạch giao tiếp nối tiếp, giao tiếp song song, bộ định thời và các mạch điều khiển ngắt, tất các hiện diện bên trong vi mạch. Dĩ nhiên dung lượng RAM trong chip không thể bằng dung lượng RAM trong máy tính

 

undefined

Ví dụ mô phỏng về ứng dụng vi điều khiển để kết nối với thiết bị ngoại vi. Với chip vi điều khiển họ 8051 thì việc dùng ngôn ngữ lập trình Assembly giúp ích rất nhiều trong viecj nghiên cứu và tìm hiểu cấu trúc bên trong chip vi điều khiển. Ví dụ chương trình sau:

;R7=2LED CUOI
;R6=2 LED GIUA
;R5=2 LED DAU
LED6 BIT P1.5
LED5 BIT P1.4
LED4 BIT P1.3
LED3 BIT P1.2
LED2 BIT P1.1
LED1 BIT P1.0
ORG 00H
JMP MAIN
DELAY:
HERE: MOV R1,#250
HERE1: NOP
NOP
DJNZ R1,HERE1
RET
BANG:
MOVC A,@A+DPTR
MOV P0,A
CALL DELAY
RET

HIENTHI:MOV A,R7
MOV B,#10
DIV AB
MOV P1,#0
SETB LED5
CALL BANG
MOV P1,#0
SETB LED6
MOV A,B
CALL BANG
MOV A,R6
MOV B,#10
DIV AB
MOV P1,#0
SETB LED3
CALL BANG
MOV A,B
MOV P1,#0
SETB LED4
CALL BANG
MOV A,R5
MOV B,#10
DIV AB
MOV P1,#0
SETB LED1
CALL BANG
MOV A,B
MOV P1,#0
SETB LED2
CALL BANG
RET
MAIN: MOV DPTR,#100H
MOV P1,#00
MOV R7,#0 ;2 LED CUOI
MOV R6,#0 ;2 LED GIUA
MOV R5,#0 ;2 LED DAU
AGAIN1: MOV R3,#10
AGAIN: CALL HIENTHI
DJNZ R3,AGAIN
INC R7
MOV R3,#10
CJNE R7,#99,AGAIN
INC R6
MOV R7,#0
CJNE R6,#99,AGAIN
INC R5
MOV R6,#0
SJMP AGAIN
ORG 100H
TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,98H
END

Để xây dụng được chương trình này, bạn phải tìm hiểu cấu trúc chip 8051 cũng như nguyên tắc hoạt động của led 7 đoạn. Chương trình điều khiển phải tương thích hoàn toàn với phần cứng của mạch thiết kế.

 

Các tin khác