Cơđiệntử.ogr vi xử lý 8051

GT - Vi - Dieu - Khien - 8051 (CDT)

Uploaded by

Thor

0% found this document useful (0 votes)

10 views

62 pages

Original Title

GT_Vi_dieu_khien_8051 ( CDT ).doc

Copyright

© © All Rights Reserved

Available Formats

DOC, PDF, TXT or read online from Scribd

Share this document

Did you find this document useful?

Is this content inappropriate?

Report this Document

0% found this document useful (0 votes)

10 views62 pages

GT - Vi - Dieu - Khien - 8051 (CDT)

Original Title:

GT_Vi_dieu_khien_8051 ( CDT ).doc

Uploaded by

Thor

Full description

Hợp ngữ là một ngôn ngữ lập trình cấp thấp được sử dụng để viết mã chương trình về mặt ghi nhớ. Mặc dù có rất nhiều ngôn ngữ cấp cao hiện đang được yêu cầu, nhưng ngôn ngữ lập trình hợp ngữ vẫn được sử dụng phổ biến trong nhiều ứng dụng, nó có thể được sử dụng cho các thao tác phần cứng trực tiếp. Nó cũng được sử dụng để viết Mã lập trình 8051 hiệu quả với số lượng chu kỳ đồng hồ ít hơn bằng cách tiêu thụ ít bộ nhớ hơn so với các ngôn ngữ cấp cao khác.



Cơđiệntử.ogr vi xử lý 8051

Lập trình 8051

8051 Lập trình bằng hợp ngữ

Hợp ngữ là một ngôn ngữ lập trình hoàn toàn liên quan đến phần cứng. Các nhà thiết kế nhúng phải có đủ kiến ​​thức về phần cứng của bộ xử lý hoặc bộ điều khiển cụ thể trước khi viết chương trình. Hợp ngữ được phát triển bằng kỹ thuật ghi nhớ, do đó, người dùng không thể hiểu dễ dàng để sửa đổi chương trình.


Cơđiệntử.ogr vi xử lý 8051

8051 Lập trình bằng hợp ngữ

Hợp ngữ lập trình được phát triển bởi nhiều trình biên dịch khác nhau và các 'sân chơi bowling' là phù hợp nhất cho vi điều khiểnlập trình phát triển. Microcontrollershoặc bộ xử lý chỉ có thể hiểu ngôn ngữ nhị phân ở dạng ‘0s hoặc 1s’. Một trình hợp dịch chuyển đổi ngôn ngữ hợp ngữ sang ngôn ngữ nhị phân và sau đó lưu trữ nó trongvi điều khiểnbộ nhớ để thực hiện nhiệm vụ cụ thể.



8051 Architecuture Vi điều khiển

8051vi điều khiểnlà Kiến trúc Harvard dựa trên CISC , và nó có các thiết bị ngoại vi như 32 I / O, bộ định thời / bộ đếm, giao tiếp nối tiếp và bộ nhớ. Cácvi điều khiểnyêu cầu chương trình thực hiện các thao tác yêu cầu bộ nhớ để lưu và đọc các chức năng. 8051vi điều khiểnbao gồm bộ nhớ RAM và ROM để lưu trữ các lệnh.

Cơđiệntử.ogr vi xử lý 8051

8051 Architecuture Vi điều khiển

Sổ đăng ký là phần chính trong bộ xử lý vàvi điều khiển được chứa trong bộ nhớ cung cấp cách thu thập và lưu trữ dữ liệu nhanh hơn. Việc lập trình hợp ngữ 8051 dựa trên các thanh ghi bộ nhớ. Nếu chúng ta muốn thao tác dữ liệu với bộ xử lý hoặc bộ điều khiển bằng cách thực hiện phép trừ, cộng, v.v., chúng ta không thể thực hiện điều đó trực tiếp trong bộ nhớ, mà nó cần các thanh ghi để xử lý và lưu trữ dữ liệu.Vi điều khiểnchứa một số loại thanh ghi có thể được phân loại theo hướng dẫn hoặc nội dung hoạt động trong đó.

Các chương trình vi điều khiển 8051 bằng hợp ngữ

Hợp ngữ được tạo thành từ các phần tử được sử dụng để viết chương trìnhCách tuần tự. Tuân theo các quy tắc đã cho để viết chương trình bằng hợp ngữ.


Quy tắc của hợp ngữ

  • Mã lắp ráp phải được viết bằng chữ hoa
  • Các nhãn phải được theo sau bởi dấu hai chấm (nhãn :)
  • Tất cả các ký hiệu và nhãn phải bắt đầu bằng một chữ cái
  • Tất cả các bình luận đều được nhập bằng chữ thường
  • Dòng cuối cùng của chương trình phải là lệnh END

Thuật ngữ hợp ngữ ở dạng mã op, chẳng hạn như MOV, ADD, JMP, v.v., được sử dụng để thực hiện các hoạt động.

Cơđiệntử.ogr vi xử lý 8051

Mã op: Mã op là một lệnh duy nhất có thể được thực thi bởi CPU. Đây là mã op là một lệnh MOV.

Toán hạng: Các toán hạng là một phần dữ liệu duy nhất có thể được vận hành bởi mã op. Ví dụ, phép toán nhân được thực hiện bởi các toán hạng được nhân với toán hạng.

Cú pháp: MUL a,b

Các yếu tố của lập trình hợp ngữ:

  • Nguyên tắc lắp ráp
  • Bộ hướng dẫn
  • Chế độ địa chỉ

Hướng dẫn lắp ráp:

Các chỉ thị lắp ráp cung cấp các hướng cho CPU. 8051vi điều khiểnbao gồm nhiều loại lệnh lắp ráp khác nhau để cung cấp hướng cho đơn vị điều khiển. Các chỉ thị hữu ích nhất là lập trình 8051, chẳng hạn như:

  • ORG
  • DB
  • EQU
  • KẾT THÚC

ORG(gốc): Chỉ thị này cho biết thời điểm bắt đầu chương trình. Điều này được sử dụng để thiết lập địa chỉ thanh ghi trong quá trình lắp ráp. Ví dụ ORG 0000h cho trình biên dịch biết tất cả mã tiếp theo bắt đầu từ địa chỉ 0000h.

Cú pháp: ORG 0000h

Cơđiệntử.ogr vi xử lý 8051

DB(định nghĩa byte): Byte xác định được sử dụng để cho phép một chuỗi byte. Ví dụ: in “EDGEFX” trong đó mỗi ký tự được lấy bởi địa chỉ và cuối cùng in trực tiếp “chuỗi” bởi DB với dấu ngoặc kép.

Cú pháp:

ORG 0000h

MOV a, # 00h
————-
————-
DB “EDGEFX”

Cơđiệntử.ogr vi xử lý 8051

EQU (tương đương): Chỉ thị tương đương được sử dụng để cân bằng địa chỉ của biến.

Cú pháp:

reg bằng,09 giờ
—————–
—————–
MOVreg,# 2 giờ

KẾT THÚC: Lệnh END được sử dụng để chỉ ra sự kết thúc của chương trình.

Cú pháp:

reg bằng,09 giờ

—————–
—————–
MOVreg,# 2 giờ
KẾT THÚC

Chế độ địa chỉ:

Cách truy cập dữ liệu được gọi là chế độ định địa chỉ. CPU có thể truy cập dữ liệu theo nhiều cách khác nhau bằng cách sử dụng các chế độ định địa chỉ. 8051vi điều khiểnbao gồm năm chế độ địa chỉ như:

  • Chế độ giải quyết ngay lập tức
  • Đăng ký chế độ địa chỉ
  • Chế độ địa chỉ trực tiếp
  • Chế độ địa chỉ gián tiếp
  • Chế độ định địa chỉ chỉ mục cơ sở

Chế độ giải quyết ngay lập tức:

Trong chế độ địa chỉ này, nguồn phải là một giá trị có thể theo sau là '#' và đích phải là Thanh ghi SFR, thanh ghi mục đích chung và địa chỉ. Nó được sử dụng để lưu trữ ngay giá trị trong các thanh ghi bộ nhớ.

Cú pháp:

MOV A, # 20h // A làmộtthanh ghi tích lũy, 20 được lưu trữ trong A //
MOV R0,# 15 // R0 là thanh ghi mục đích chung 15 được lưu trữ trong thanh ghi R0 //
MOV P0, # 07h // P0 là thanh ghi SFR07 được lưu trữ trong P0 //
MOV 20h,# 05h // 20h là địa chỉ của thanh ghi 05 được lưu trong 20h //

Trước đây:

MOV R0, # 1
MOV R0, # 20 // R0<—R0[15] +20, giá trị cuối cùng được lưu trữ trong R0 //

Cơđiệntử.ogr vi xử lý 8051

Đăng ký Chế độ Địa chỉ:

Trong chế độ định địa chỉ này, nguồn và đích phải là một thanh ghi, nhưng không phải là các thanh ghi mục đích chung. Vì vậy, dữ liệu không được di chuyển trong sổ đăng ký ngân hàng đa năng .

Cú pháp:

MOV A, B // A là thanh ghi SFR, B là thanh ghi mục đích chung //
MOV R0, R1 // Lệnh không hợp lệ, không thể chuyển GPR sang GPR //

TRƯỚC ĐÂY:

MOV R0, # 02h
MOV A, # 30 giờ
THÊM R0, A // R0<—R0+A, the final value is stored in the R0 register//

Cơđiệntử.ogr vi xử lý 8051

Chế độ địa chỉ trực tiếp

Trong chế độ định địa chỉ này, nguồn hoặc đích (hoặc cả nguồn và đích) phải là một địa chỉ, nhưng không phải là giá trị.

Cú pháp:

MOV A,20h // 20h là một địa chỉ A là một thanh ghi //
MOV 00h, 07h // cả hai đều được định địa chỉ trong các thanh ghi GPS //

Trước đây:

MOV 07 giờ,# 01 giờ
MOV A, # 08h
THÊM A,07h // A<—A+07h the final value is stored in A//

Cơđiệntử.ogr vi xử lý 8051

Chế độ địa chỉ gián tiếp:

Trong chế độ địa chỉ này, nguồn hoặc đích (hoặc đích hoặc nguồn) phải làđếnđịa chỉ gián tiếp, nhưng không phải là một giá trị. Chế độ địa chỉ này hỗ trợ khái niệm con trỏ. Con trỏ là một biến được sử dụng để lưu trữ địa chỉ của biến kia. Khái niệm con trỏ này chỉ được sử dụng cho các thanh ghi R0 và R1.

Cú pháp:

Giá trị MOVR0, # 01h // 01 được lưu trong thanh ghi R0, địa chỉ R0 là 08h //
MOV R1, # 08h // R1 là biến con trỏcửa hàngđịa chỉ (08h) của R0 //
MOV 20h,@ R1 // 01 giá trị được lưu trong địa chỉ 20h của thanh ghi GP //

Cơđiệntử.ogr vi xử lý 8051

Chế độ địa chỉ gián tiếp

Chế độ định địa chỉ chỉ mục cơ sở:

Chế độ địa chỉ này được sử dụng để đọc dữ liệu từ bộ nhớ ngoài hoặc bộ nhớ ROM . Tất cả các chế độ địa chỉ không thể đọc dữ liệu từ bộ nhớ mã. Mã phải đọc qua thanh ghi DPTR. DPTR được sử dụng để trỏ dữ liệu trong mã hoặc bộ nhớ ngoài.

Cú pháp:

MOVC A, @ A + DPTR // C cho biết bộ nhớ mã //
MOCX A, @ A + DPTR // X chỉ ra bộ nhớ ngoài //
EX: MOV A, # 00H // 00H được lưu trong thanh ghi A //
MOV DPTR, # 0500H // DPTR điểm địa chỉ 0500h trong bộ nhớ //
MOVC A, @ A + DPTR // gửi giá trịđếnthanh ghi A //
MOV P0, A // ngày của A gửi đến nhà đăng ký PO //

Bộ hướng dẫn:

Tập lệnh là cấu trúc của bộ điều khiển hoặc bộ xử lý cung cấp các lệnh cho bộ điều khiển để hướng dẫn bộ điều khiển xử lý dữ liệu. Tập lệnh bao gồm các lệnh, kiểu dữ liệu gốc, chế độ định địa chỉ, thanh ghi ngắt, xử lý đặc biệt và kiến ​​trúc bộ nhớ. Các 8051vi điều khiển có thể làm theo hướng dẫn của CISC với kiến ​​trúc Harvard. Trong trường hợp lập trình 8051, các loại lệnh CISC khác nhau bao gồm:

  • Bộ hướng dẫn truyền dữ liệu
  • Bộ hướng dẫn tuần tự
  • Bộ hướng dẫn số học
  • Phân nhánh Instructionbộ
  • Bộ hướng dẫn lặp lại
  • Bộ hướng dẫn có điều kiện
  • Bộ hướng dẫn vô điều kiện
  • Bộ hướng dẫn logic
  • Bộ lệnh Boolean

Bộ hướng dẫn số học:

Các hướng dẫn số học thực hiện các phép toán cơ bản như:

  • Thêm vào
  • Phép nhân
  • Phép trừ
  • Sư đoàn

Thêm vào:

ORG 0000h
MOV R0, # 03H // di chuyển giá trị 3 vào thanh ghi R0 //
MOV A, # 05H // di chuyển giá trị 5 đến bộ tích lũy A //
Thêm A, 00H //addAgiá trị với giá trị R0 và lưu trữ kết quảinA//
KẾT THÚC

Phép nhân:

ORG 0000h
MOV R0, # 03H // di chuyển giá trị 3 vào thanh ghi R0 //
MOV A, # 05H // di chuyển giá trị 5 đến bộ tích lũy A //
THÁNG A, 03H //Nhânkết quả được lưu trữ trong Bộ tích lũy A //
KẾT THÚC

Phép trừ:

ORG 0000h
MOV R0, # 03H // di chuyển giá trị 3 sang thanh ghi R0 //
MOV A, # 05H // di chuyển giá trị 5 đến bộ tích lũy A //
SUBB A, 03H // Giá trị kết quả được lưu trong Bộ tích lũy A //
KẾT THÚC

Bộ phận:

ORG 0000h
MOV R0, # 03H // di chuyển giá trị 3 sang thanh ghi R0 //
MOV A, # 15H // di chuyển giá trị 5 đến bộ tích lũy A //
DIV A, 03H // giá trị cuối cùng được lưu trữ trong Bộ tích lũy A //
KẾT THÚC

Cơđiệntử.ogr vi xử lý 8051

Hướng dẫn có điều kiện

CPU thực hiện các lệnh dựa trên điều kiện bằng cách kiểm tra trạng thái bit đơn hoặc trạng thái byte. 8051vi điều khiểnbao gồm các lệnh có điều kiện khác nhau như:

  • JB -> Nhảy xuống bên dưới
  • JNB -> Nhảy nếu không ở dưới
  • JC -> Nhảy nếu Carry
  • JNC -> Nhảy nếukhông phảiMang
  • JZ -> Nhảy nếu Zero
  • JNZ -> Nhảy nếukhông phảiSố không
Cơđiệntử.ogr vi xử lý 8051

Hướng dẫn có điều kiện

1. Cú pháp:

JB P1.0, nhãn
- - - - - - - -
- - - - - - - -
Nhãn: - - - - - - - -
- - - - - - - -
KẾT THÚC

2. Cú pháp:

JNB P1.0, nhãn
- - - - - - - -
- - - - - - - -
Nhãn: - - - - - - - -
- - - - - - - -
KẾT THÚC

3. Cú pháp:

JC, nhãn
- - - - - - - -
- - - - - - - -
Nhãn: - - - - - - - -
- - - - - - - -
KẾT THÚC

4. Cú pháp:

JNC, nhãn
- - - - - - - -
- - - - - - - -
Nhãn: - - - - - - - -
- - - - - - - -
KẾT THÚC
5. Cú pháp:

JZ, nhãn
- - - - - - - -
- - - - - - - -
Nhãn: - - - - - - - -
- - - - - - - -
KẾT THÚC

6. Cú pháp:

JNZ, nhãn
- - - - - - - -
- - - - - - - -
Nhãn: - - - - - - - -
- - - - - - - -
KẾT THÚC

Hướng dẫn Gọi và Nhảy:

Lệnh gọi và lệnh nhảy được sử dụng để tránh sao chép mã của chương trình. Khi một số mã cụ thể được sử dụng nhiều lần ở các vị trí khác nhau trong chương trình, nếu chúng tôi đề cậptên cụ thểđếnsau đó mãchúng ta có thể sử dụng tên đó ở bất cứ đâu trong chương trình mà không cần nhập mã cho mọi lúc Điều này làm giảm độ phức tạp của chương trình. Lập trình 8051 bao gồm lệnh gọi và lệnh nhảy như LCALL, SJMP.

  • LCALL
  • MỘT CUỘC GỌI
  • SJMP
  • LJMP

1. Cú pháp:

ORG 0000h
- - - - - - - -
- - - - - - - -
ACALL, nhãn
- - - - - - - -
- - - - - - - -
SJMP DỪNG LẠI
Nhãn: - - - - - - - -
- - - - - - - -
- - - - - - - -
đúng
DỪNG LẠI:NOP

2. Cú pháp:

ORG 0000h
- - - - - - - -
- - - - - - - -
LCALL, nhãn
- - - - - - - -
- - - - - - - -
SJMP DỪNG LẠI
Nhãn: - - - - - - - -
- - - - - - - -
- - - - - - - -
đúng
DỪNG LẠI:NOP

Cơđiệntử.ogr vi xử lý 8051

Hướng dẫn Gọi và Nhảy

Hướng dẫn lặp lại:

Các lệnh lặp được sử dụng để lặp lại khối mỗi lần trong khi thực hiện các thao tác tăng và giảm. 8051vi điều khiểnbao gồm hai loại hướng dẫn vòng lặp:

  • CJNE -> so sánh và nhảy nếu không bằng
  • DJNZ -> giảm và nhảy nếu không

1. Cú pháp:

củaCJNE
MOV A, # 00H
MOV B, # 10H
Nhãn: INC A
- - - - - -
- - - - - -
CJNE A, nhãn

2. Cú pháp:

củaDJNE

MOV R0, # 10H
Nhãn: - - - - - -
- - - - - -
DJNE R0, nhãn
- - - - - -
- - - - - -
KẾT THÚC

Bộ hướng dẫn logic:

Tập lệnh vi điều khiển 8051 cung cấp các lệnh logic AND, OR, XOR, TEST, NOT và Boolean để thiết lập và xóa các bit dựa trên nhu cầu trong chương trình.

Cơđiệntử.ogr vi xử lý 8051

Bộ hướng dẫn logic

1. Cú pháp:

MOV A, # 20H / 00100000 /
MOV R0, # 03H / 00000101 /
ORL A, R0 // 00100000/00000101 = 00000000 //

2. Cú pháp:

MOV A, # 20H / 00100000 /
MOV R0, # 03H / 00000101 /
ANL A, R0

3. Cú pháp:

MOV A, # 20H / 00100000 /
MOV R0, # 03H / 00000101 /
XRL A, R0

Người điều hành dịch chuyển

Các toán tử ca được sử dụng để gửi và nhận dữ liệu một cách hiệu quả. 8051vi điều khiểnbao gồm bốn toán tử thay đổi:

  • RR -> Xoay phải
  • RRC -> Xoay phải qua thực hiện
  • RL -> Xoay trái
  • RLC -> Xoay trái qua mang

Xoay phải (RR):

Trong hoạt động dịch chuyển này, MSB trở thành LSB và tất cả các bit dịch chuyển về phía bên phải từng bit một, tuần tự.

Cú pháp:

MOV A, # 25 giờ
RR A

Cơđiệntử.ogr vi xử lý 8051

Xoay trái (RL):

Trong hoạt động dịch chuyển này, MSB trở thành LSB và tất cả các bit dịch chuyển về phía Trái từng bit một, tuần tự.

Cú pháp:

MOV A, # 25 giờ
RL A

Cơđiệntử.ogr vi xử lý 8051

RRC Xoay Phải qua Thực hiện:

Trong hoạt động dịch chuyển này, LSB di chuyển để mang và mang trở thành MSB, và tất cả các bit được dịch chuyển về phía bên phải vị trí từng bit.

Cú pháp:

MOV A, # 27 giờ
RRC A

RLC Xoay Trái qua Thực hiện:

Trong hoạt động dịch chuyển này, MSB di chuyển để mang và mang trở thành LSB và tất cả các bit dịch chuyển về phía bên trái theo vị trí từng bit.

Cú pháp:

MOV A, # 27 giờ
RLC A

Các chương trình C nhúng cơ bản:

Cácvi điều khiểnlập trình khác nhau đối với từng loại hệ điều hành. Có nhiều hệ điều hành chẳng hạn như Linux, Windows, RTOS, v.v. Tuy nhiên, RTOS có một số lợi thế để phát triển hệ thống nhúng. Dưới đây là một số ví dụ lập trình cấp Assembly.

Đèn LED nhấp nháy sử dụng với 8051vi điều khiển:

  • Số Hiển thị trên màn hình 7 đoạn sử dụng vi điều khiển 8051
  • Tính toán bộ định thời / bộ đếm và chương trình sử dụng 8051vi điều khiển
  • Tính toán giao tiếp nối tiếp và chương trình sử dụng 8051vi điều khiển

Các chương trình LED với 8051 Microcontrller

1. WAP để chuyển đổi các đèn LED PORT1

ORG 0000H
TOGLE: MOV P1, # 01 //di chuyển00000001 vào thanh ghi p1 //
CALL DELAY // thực thi delay //
MOV A, P1 // di chuyểngiá trị p1vào bộ tích lũy //
CPL A // bổ sung cho giá trị A //
MOV P1, A // di chuyển 11111110 đến thanh ghi port1 //
CALL DELAY // thực thi delay //
SJMP TOGLE
DELAY: MOV R5, # 10H // tải thanh ghi R5 với 10 //
HAI: MOV R6, # 200 // tải thanh ghi R6 với 200 //
MỘT: MOV R7, # 200 // tải thanh ghi R7 với 200 //
DJNZ R7, $ // giảm R7 cho đến khi nó bằng 0 //
DJNZ R6, ONE // giảm R7 cho đến khi bằng 0 //
DJNZ R5, TWO // giảm R7 cho đến khi bằng 0 //
RET // quay lại chương trình chính //
KẾT THÚC

Tính toán và chương trình hẹn giờ / bộ đếm sử dụng 8051 Microcontroller:

Sự chậm trễ là một trong những yếu tố quan trọng trong việc phát triển phần mềm ứng dụng. Các bộ đếm thời gian và bộ đếm là các thành phần phần cứng củavi điều khiển, được sử dụng trong nhiều ứng dụng để cung cấp độ trễ thời gian chính xác với các xung đếm. Both các nhiệm vụ được thực hiện bởi kỹ thuật phần mềm.

1. WAP để tính toán thời gian trễ 500us.

MOV TMOD, # 10H // chọn chế độ hẹn giờ bằng các thanh ghi //
MOV TH1, # 0FEH // lưu trữ thời gian trễ ở bit cao hơn //
MOV TL1, # 32H // lưu trữ thời gian trễ ở bit thấp //
JNB TF1, $ // giảm giá trị của bộ đếm thời gian cho đến khi nó bằng 0 //
CLR TF1 // xóa cờ hẹn giờbit//
CLR TR1 // TẮT bộ định thời //

2. WAP để chuyển đổi các đèn LEDvới5giâythời gian trễ

ORG 0000H
QUAY LẠI: MOV PO, # 00H
TRỄ TRỞ LẠI
MOV P0, # 0FFH
TRỄ TRỞ LẠI
SJUMP QUAY LẠI
DELAY: MOV R5, # 50H // tải thanh ghi R5 với 50 //
DELAY1: MOV R6, # 200 // tải thanh ghi R6 với 200 //
DELAY2: MOV R7, # 229 // tải thanh ghi R7 với 200 //
DJNZ R7, $ // giảm R7 cho đến khi nó bằng 0 //
DJNZ R6, DELAY2 // giảm R6 cho đến khi bằng 0 //
DJNZ R5, DELAY1 // giảm R5 cho đến khi bằng 0 //
RET // quay lại chương trình chính //
KẾT THÚC

3. WAP để đếm 250 xung sử dụng mode0 count0

Cú pháp:

ORG 0000H
MOV TMOD, # 50H // chọn bộ đếm //
MOV TH0, # 15 // di chuyển xung đếm lên bit cao hơn //
MOV TH1, # 9FH //di chuyểnxung đếm, bit thấp hơn //
ĐẶT TR0 // BẬT bộ định thời //
JNB $ // giảm giá trị đếm xuống 0 //
CLR TF0 // xóa bộ đếm, gắn cờbit//
CLR TR0 // dừng bộ định thời //
KẾT THÚC

Lập trình giao tiếp nối tiếp sử dụng 8051 Microcontroller:

Truyền thông nối tiếp thường được sử dụng để truyền và nhận dữ liệu. 8051vi điều khiểnbao gồm giao tiếp nối tiếp UART / USART và các tín hiệu được truyền và nhận bởiTxvà chân Rx. Giao tiếp UART truyền dữ liệu từng bit một. UART là một giao thức bán song công truyền và nhận dữ liệu, nhưng không phải cùng một lúc.

1. WAP để truyền các ký tự tới Hyper Terminal

MOV SCON, # 50H // thiết lập giao tiếp nối tiếp //
MOV TMOD, # 20H // chọn chế độ hẹn giờ //
MOV TH1, # -3 // đặt tốc độ truyền //
ĐẶT TR1 // BẬT bộ định thời //
MOV SBUF, # ’S’ // truyền S đến cửa sổ nối tiếp //
JNB TI, $ // giá trị giảm của bộ đếm thời gian cho đến khi nó bằng 0 //
CLR RI // xóa nhận ngắt //
CLR TR1 // xóa bộ định thời //

2. WAP để truyền nhận ký tự bằng Hyper Terminal

MOV SCON, # 50H // thiết lập giao tiếp nối tiếp //
MOV TMOD, # 20H // chọn chế độ hẹn giờ //
MOV TH1, # -6 // đặt tốc độ truyền //
ĐẶT TR1 // trên bộ định thời //
MOV SBUF, # ’S’ // truyền S đến cửa sổ nối tiếp //
JNB RI, $ // giá trị giảm dần của bộ đếm thời gian cho đến khi nó bằng 0 //
CLR RI // xóa nhận ngắt //
MOV P0, SBUF // gửi giá trị thanh ghi SBUF tới cổng0 //
CLR TR1 // xóa bộ định thời //

Đây là tất cả về Lập trình 8051 trong ngôn ngữ Hợp ngữ ngắn gọn với các chương trình dựa trên ví dụ. Chúng tôi hy vọng thông tin đầy đủ này về hợp ngữ chắc chắn sẽ hữu ích cho độc giả và chúng tôi mong muốn nhận được ý kiến ​​quý báu của họ trong phần bình luận bên dưới.