intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Chương5: CHƯƠNG TRÌNH NHẬP SỐ BCD TỪ BÀN PHÍM

Chia sẻ: Nguyen Van Dau | Ngày: | Loại File: PDF | Số trang:11

158
lượt xem
54
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Để làm một đồng hồ số chính xác và không bị mất giờ khi mất điện thì cách tối ưu nhất là dùng REAL TIMER CLOCK Các linh kiện sử dụng AT89C51 DS1307 3. 4. 4511 74HC138 ĐỒNG HỒ SỐ REAL TIMER CLOCK: DS1307 đếm giờ, phút, giây, thứ, ngày, tháng, năm. Và có thêm 56 byte NVRAM (ram không bay hơi). Xuất xung chuẩn 4 tần số cố định.

Chủ đề:
Lưu

Nội dung Text: Chương5: CHƯƠNG TRÌNH NHẬP SỐ BCD TỪ BÀN PHÍM

  1. Chương5: CHƯƠNG TRÌNH NHẬP SỐ BCD TỪ BÀN PHÍM READ_BCD:;8 bit READ_BCD_1:; DOC SO BCD THU 1 LCALL SCAN_KEYPAD CJNE A,#0AH,NOT_EQUAL1 LJMP READ_BCD_1 NOT_EQUAL1: JNC IS_ESC;CHI DOC NHUNG SO TU 0-9 MOV R7,A LCALL WRITE_DIGIT CLR BIT_ESC LJMP READ_BCD_2 IS_ESC: CJNE A,#27H,READ_BCD_1 LJMP NOT_READ_BCD READ_BCD_2:;DOC SO BCD THU 2 LCALL SCAN_KEYPAD CJNE A,#13H,RB1 LJMP READ_BCD_COMPLISH RB1: CJNE A,#27H,RB2 LJMP NOT_READ_BCD
  2. RB2: CJNE A,#0AH,NOT_EQUAL2 LJMP READ_BCD_2 NOT_EQUAL2: JNC READ_BCD_2 CLR BIT_ESC PUSH ACC MOV A,R7 SWAP A ANL A,#0F0H;LOAI BO 4 BIT THAP MOV R7,A POP ACC ORL A,R7 MOV R7,A LCALL WRITE_DIGIT LJMP READ_BCD_2 NOT_READ_BCD: SETB BIT_ESC READ_BCD_COMPLISH: MOV A,R7 RET CHƯƠNG TRÌNH YEU CAU NHAP PHIM DIEU KHIEN
  3. READ_CONTROL_KEY: LCALL SCAN_KEYPAD CJNE A,#13H,IS_CONTROL_KEY IS_CONTROL_KEY: JC READ_CONTROL_KEY RET CHƯƠNG TRÌNH LẤY GIỜ TỪ BÀN PHÍM VÀ CÀI GIỜ CHO RTC GET_CLOCK: ;GET_HOUR CLR BIT_ESC SETB GET_HOUR;CAC BIT NAY DE CHO CHUONG TRINH GHI SO BIT CLR GET_MINUTE CLR GET_SECOND LCALL READ_BCD JB BIT_ESC,NO_SET_CLOCK MOV HOUR,R7 ;GET MINUTE CLR GET_HOUR
  4. SETB GET_MINUTE CLR GET_SECOND LCALL READ_BCD JB BIT_ESC,NO_SET_CLOCK MOV MINUTE,R7 ;GET SECOND CLR GET_HOUR CLR GET_MINUTE SETB GET_SECOND LCALL READ_BCD JB BIT_ESC,NO_SET_CLOCK MOV SECOND,R7 CLR GET_HOUR CLR GET_MINUTE CLR GET_SECOND LCALL READ_CONTROL_KEY CJNE A,#13H,NO_SET_CLOCK LCALL SET_CLOCK RET NO_SET_CLOCK: SETB BIT_ESC RET
  5. CHƯƠNG TRÌNH GHI SO LÚC PHAM GIO BAN PHIM WRITE_DIGIT: JB GET_HOUR,WRITE_HOUR CHƯƠNG TRÌNH NHẬP SỐ BCD TỪ BÀN PHÍM READ_BCD:;8 bit READ_BCD_1:; DOC SO BCD THU 1 LCALL SCAN_KEYPAD CJNE A,#0AH,NOT_EQUAL1 LJMP READ_BCD_1 NOT_EQUAL1: JNC IS_ESC;CHI DOC NHUNG SO TU 0-9 MOV R7,A LCALL WRITE_DIGIT CLR BIT_ESC LJMP READ_BCD_2 IS_ESC: CJNE A,#27H,READ_BCD_1
  6. LJMP NOT_READ_BCD READ_BCD_2:;DOC SO BCD THU 2 LCALL SCAN_KEYPAD CJNE A,#13H,RB1 LJMP READ_BCD_COMPLISH RB1: CJNE A,#27H,RB2 LJMP NOT_READ_BCD RB2: CJNE A,#0AH,NOT_EQUAL2 LJMP READ_BCD_2 NOT_EQUAL2: JNC READ_BCD_2 CLR BIT_ESC PUSH ACC MOV A,R7 SWAP A ANL A,#0F0H;LOAI BO 4 BIT THAP MOV R7,A POP ACC ORL A,R7 MOV R7,A
  7. LCALL WRITE_DIGIT LJMP READ_BCD_2 NOT_READ_BCD: SETB BIT_ESC READ_BCD_COMPLISH: MOV A,R7 RET CHƯƠNG TRÌNH YEU CAU NHAP PHIM DIEU KHIEN READ_CONTROL_KEY: LCALL SCAN_KEYPAD CJNE A,#13H,IS_CONTROL_KEY IS_CONTROL_KEY: JC READ_CONTROL_KEY RET CHƯƠNG TRÌNH LẤY GIỜ TỪ BÀN PHÍM VÀ CÀI GIỜ CHO RTC GET_CLOCK: ;GET_HOUR CLR BIT_ESC
  8. SETB GET_HOUR;CAC BIT NAY DE CHO CHUONG TRINH GHI SO BIT CLR GET_MINUTE CLR GET_SECOND LCALL READ_BCD JB BIT_ESC,NO_SET_CLOCK MOV HOUR,R7 ;GET MINUTE CLR GET_HOUR SETB GET_MINUTE CLR GET_SECOND LCALL READ_BCD JB BIT_ESC,NO_SET_CLOCK MOV MINUTE,R7 ;GET SECOND CLR GET_HOUR CLR GET_MINUTE SETB GET_SECOND LCALL READ_BCD JB BIT_ESC,NO_SET_CLOCK MOV SECOND,R7 CLR GET_HOUR
  9. CLR GET_MINUTE CLR GET_SECOND LCALL READ_CONTROL_KEY CJNE A,#13H,NO_SET_CLOCK LCALL SET_CLOCK RET NO_SET_CLOCK: SETB BIT_ESC RET CHƯƠNG TRÌNH GHI SO LÚC PHAM GIO BAN PHIM JB GET_HOUR,WRITE_MINUTE JB GET_HOUR,WRITE_SECOND LJMP EXIT_WRITE_DIGIT WRITE_HOUR: MOV A,HOUR ANL A,#0F0H SWAP A CLR EN2 MOV P1,A
  10. SETB EN2;CHOT DU LIEU MOV A,HOUR ANL A,#0FH CLR EN3 MOV P1,A SETB EN3 LJMP EXIT_WRITE_DIGIT WRITE_MINUTE: MOV A,MINUTE ANL A,#0F0H SWAP A CLR EN4 MOV P1,A SETB EN4;CHOT DU LIEU MOV A,MINUTE ANL A,#0FH CLR EN5 MOV P1,A SETB EN5;CHOT DU LIEU
  11. LJMP EXIT_WRITE_DIGIT WRITE_SECOND: MOV A,SECOND ANL A,#0F0H SWAP A CLR EN6 MOV P1,A SETB EN6;CHOT DU LIEU MOV A,SECOND ANL A,#0FH CLR EN7 MOV P1,A SETB EN7;CHOT DU LIEU EXIT_WRITE_DIGIT: RET
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2