Chia sẻ Một số code và mạch cơ bản cho 8051

nguyenhd21

Học sinh phổ thông
#91
lam sao de viet code cho 4 led chay so le nhi
ORG 0000H

MAIN:

CALL CTA

JMP MAIN

CTA:

MOV P2,#00000000B

MOV P3,#00000000B

MOV P2,#00000001B

CALL DELAY

MOV P2,#00000010B

CALL DELAY

MOV P2,#00000101B

CALL DELAY

MOV P2,#00000010B

CALL DELAY

MOV P2,#00001010B

CALL DELAY

MOV P2,#00000101B

CALL DELAY

MOV P2,#00010101B

CALL DELAY

MOV P2,#00001010B

CALL DELAY

MOV P2,#00101010B

CALL DELAY

MOV P2,#00010101B

CALL DELAY

MOV P2,#01010101B

CALL DELAY

MOV P2,#00101010B

CALL DELAY

MOV P2,#10101010B

CALL DELAY

;----

MOV P2,#10101010B

MOV P3,#00000001B

CALL DELAY

MOV P2,#01010101B

MOV P3,#00000010B

CALL DELAY

MOV P2,#10101010B

MOV P3,#00000101B

CALL DELAY

MOV P2,#01010101B

MOV P3,#00000010B

CALL DELAY

MOV P2,#10101010B

MOV P3,#00001010B

CALL DELAY

MOV P2,#01010101B

MOV P3,#00000101B

CALL DELAY

MOV P2,#10101010B

MOV P3,#00010101B

CALL DELAY

MOV P2,#01010101B

MOV P3,#00001010B

CALL DELAY

MOV P2,#10101010B

MOV P3,#00101010B

CALL DELAY

MOV P2,#01010101B

MOV P3,#00010101B

CALL DELAY

MOV P2,#10101010B

MOV P3,#01010101B

CALL DELAY

MOV P2,#01010101B

MOV P3,#00101010B

CALL DELAY

MOV P1,#10101010B

MOV P3,#10101010B

CALL DELAY

RET

;----Chuong trinh tao thoi gian tre-----

DELAY:

MOV R3,#200

LOOP:

MOV R2,#250

LOOP1:

NOP

DJNZ R2,LOOP1

DJNZ R3,LOOP

RET

END
 

longnnk

Học sinh phổ thông
#93
Chào các bạn, mình có 1 vấn đề nhỏ nhưng không làm được, mình muốn khi có sự thay đổi 0 hay 1 ở BUTTON1 đều xuất ra chân LED1 sáng khoảng 2s rồi tắt, BUTTON2 tương tự đối với LED2,khi có sự thay đổi ở BUTTON thì LED mới sáng khoảng 2s; minh gặp phải vấn đề là chỉ thực hiện được 1 thao tác, còn thao tác còn lại thì LED sáng hẳn, không điều khiển được, hoặc LED nhấp nháy, mong các bạn giúp đỡ, cám ơn các bạn
8051.png
 

hieuanh1405

Học sinh phổ thông
#94
Chip Chỉ được học lập trình trên ngôn ngữ ASM nên các bạn đừng chê nha ^^..Chip vẽ cả mô phỏng chạy ngon trên Protues 7.8 nhé....

-mạch điều khiển led đơn nhiều hiệu ứng Code asm DK LED DON.rar
-Mach điêu khiển led đơn dùng 74HC595 Code Asm 8led_74hc595.rar
-mạch quét ma trận dùng IC 74HC595 code ASM QUET MA TRAN 595.rar
-Mạch led 7 đoạn dùng 74HC595 có nút bấm đếm 7SEG_HC595_BUTTON.rar
-Mạch IC số đếm 00 - 99 dùng 7447 Mach đếm 00 - 99 7447.rar
-Mạch VĐK dùng 595 Mach Dieu Khien 595.rar
-Mạch ma trận phím + led 7 đoạn MA TRAN PHIM_LED 7 DOAN.rar
-mạch ma trận led + ma trận phím MA TRAN LED + MA TRAN PHIM.rar
Chip sẽ còn update tiếp sau nhé..đói quá..đi nấu mum ^^.Hay like chip nhé..Chúc diễn đàn Codientu.org ngày càng phát triển.Nhiều bạn góp bài.
a cho e xin code 32led mở rộng cổng bằng 595 sử dụng mã asm vs ạ
 

Minh Sơnn

Học sinh phổ thông
#95
4: Tạo xung vuông chính xác
Chương trình ASM tạo xung vuông 70/30 tần số 12Khz, với Thạch anh 12Mhz.
Sử dụng trình dịch Reads51, mô phỏng trên Proteus:
Mã:
#include <sfr51.inc>
org 0h
main:
        MOV sp,#60h
 
MOV TMOD,#01H ; Chon Timer0, che do 1 (16 bit)
                            
                  ; Chu ky xung: 1/12K=83 us
                  ;chu ky may: 12/12M=1 us        
                  ; => 70/30 = 58/25
                  ; 58-8=50  
                  ; 25-10=15  
              
HERE: SETB P0.1        ;1 Bat P0.1
  MOV TL0, #0CEH ;2 byte thap;CE
MOV TH0, #0FFH ;2 byte cao
SETB TR0 ;1 Khoi dong Timer0
 
AGAIN1: JNB TF0, AGAIN1 ;1 Kiem tra co bo dinh thoi TF0
CLR TR0 ;1 Dung bo dinh thoi
CLR TF0    ;1 Xoa co bo dinh thoi cho vong sau
 
 
CLR P0.1            ;1 Lat P0.1
  MOV TL0, #0F1H ;2 byte thap;F1
MOV TH0, #0FFH ;2 byte cao
SETB TR0 ;1 Khoi dong Timer0
 
AGAIN2: JNB TF0, AGAIN2 ;1 Kiem tra co bo dinh thoi TF0
CLR TR0 ;1 Dung bo dinh thoi
CLR TF0    ;1 Xoa co bo dinh thoi cho vong sau
 
        SJMP    HERE        ;2
              
end
4: Tạo xung vuông chính xác
Chương trình ASM tạo xung vuông 70/30 tần số 12Khz, với Thạch anh 12Mhz.
Sử dụng trình dịch Reads51, mô phỏng trên Proteus:
Mã:
#include <sfr51.inc>
org 0h
main:
        MOV sp,#60h
 
MOV TMOD,#01H ; Chon Timer0, che do 1 (16 bit)
                            
                  ; Chu ky xung: 1/12K=83 us
                  ;chu ky may: 12/12M=1 us        
                  ; => 70/30 = 58/25
                  ; 58-8=50  
                  ; 25-10=15  
              
HERE: SETB P0.1        ;1 Bat P0.1
  MOV TL0, #0CEH ;2 byte thap;CE
MOV TH0, #0FFH ;2 byte cao
SETB TR0 ;1 Khoi dong Timer0
 
AGAIN1: JNB TF0, AGAIN1 ;1 Kiem tra co bo dinh thoi TF0
CLR TR0 ;1 Dung bo dinh thoi
CLR TF0    ;1 Xoa co bo dinh thoi cho vong sau
 
 
CLR P0.1            ;1 Lat P0.1
  MOV TL0, #0F1H ;2 byte thap;F1
MOV TH0, #0FFH ;2 byte cao
SETB TR0 ;1 Khoi dong Timer0
 
AGAIN2: JNB TF0, AGAIN2 ;1 Kiem tra co bo dinh thoi TF0
CLR TR0 ;1 Dung bo dinh thoi
CLR TF0    ;1 Xoa co bo dinh thoi cho vong sau
 
        SJMP    HERE        ;2
              
end

CHỖ 58-8=50 VỚI 25-10=15 LÀ TÍNH SAO VẬY BẠN
 

Quảng cáo Google