PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 13-05-2013, 11:27 AM   #1
electronical
Nhập môn đệ tử
 
Tham gia ngày: Oct 2007
Bài gửi: 3
:
Post Phần mềm mô phỏng Proteus

Mình thì không có Proteus 6.8, chỉ có Proteus 7.9SP1 Full, nên post lên cho ai có cần thì dùng.
Link:
https://www.box.com/s/1x4jhfaisb2ne4nxx9p4


Trích:
Nguyên văn bởi nhh View Post
À tiện thể xin hỏi các bác có bác nào có cái crack của protues 6.8 không.
Cái 6.7 tại hạ đang xài dù đã crack nhưng nó vẫn còn lủng củng dùng nhiều khi phát bực vì nó không cho save nếu để lâu!
Thanks!
electronical vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 06-03-2006, 09:16 AM   #2
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
Đôi lời giải thích với các bạn như sau:

- picvietnam hay dientuvietnam hoặc diendandientu cũng chỉ là nơi để trao đổi và học tập. F cũng là mod của dientuvietnam và diendandientu. Do vậy, khi phát triển hoạt động, chúng ta phát triển cho cộng đồng điện tử VN. Vì vậy không có sự khác biệt và so sánh.

- Điều F quan tâm ở đây, đó là chúng ta có một nơi chuyên để thảo luận những vấn đề chúng ta quan tâm, và đi sâu vào đó. Ở dientuvietnam hay diendandientu, đó là những diễn đàn rộng, vì vậy, có rất nhiều người có những kiến thức khác nhau về điện tử tập hợp lại, và nó hình thành được nhiều bài viết khi ứng dụng PIC vào những vấn đề thực tế, và kinh nghiệm thực tế được trao đổi và thảo luận.

- Trong khi đó ở picvietnam, nó là một lớp học online, do chính những thành viên tự học và tự dạy cho nhau. Có thể về mặt thảo luận và đề tài ứng dụng, thì việc trao đổi không nhiều. Nhưng F sẽ phân tích dưới đây để các bạn thấy được vấn đề tại sao picvietnam vẫn được xây dựng và tồn tại, và đó là lời động viên của F dành cho các bạn.

Diễn đàn của chúng ta chủ yếu nghiên cứu các tool, các công cụ, các vấn đề lý thuyết, thuật toán, và tập trung vào việc khai thác PIC. Ví dụ như trong luồng đố vui của dientuvietnam, một câu đố vui đó, có thể ứng dụng cho rất nhiều loại vi điều khiển, không chỉ riêng gì PIC, nhưng lực lượng người dùng PIC online hiện nay đã và đang phát triển rất mạnh. Chính vì vậy, vấn đề thảo luận này được đặt trong luồng về PIC, và do những người dùng PIC phát triển ra.

Nhưng đó là nhưng bài toán mang tính chất ứng dụng vào thực tế. Và bài toán ứng dụng thì không thể trang bị tool, công cụ, lý thuyết, để phát triển tất cả những sản phẩm sau này.

Các bạn để ý một điều rằng, hầu như các bạn sinh viên học PIC, khởi đầu ở picvietnam, sau đó bắt đầu học dần lên, và có thể tự học, tự làm, rồi bắt đầu "đủ công lực" sẽ đem nhưng học thuật, hiểu biết của mình, phát triển ở các diễn đàn khác.

Trong khi đó, picvietnam cung cấp các công cụ làm việc, những bài học cơ bản, nhằm mục đích phát triển riêng về PIC. Vd như khi nói về điều khiển LED ma trận, hoặc khi điều khiển LCD, LED 7 đoạn... tất cả những cái đó là những ứng dụng thực tế. Trong khi đó, trên picvietnam, chúng ta thảo luận về cái gỉ? PORT I/O và kỹ thuật bảng.

Đứng trên vị trí của PIC mà nói, chỉ cần PORT I/O và kỹ thuật bảng, đã đủ và dư sức để có thể làm được LED ma trận, led 7 đoạn và LCD... có phải vậy không?

Chính vì điều này, chúng ta nghiên cứu các công cụ, các bước cơ bản, các thuật toán tính toán cơ sở để có thể phát triển các giải thuật trên PIC.

Ở các luồng thảo luận về PIC khác, ít người chú ý đến việc tính toán các hàm delay, nhưng ở đây, chúng ta viết khá nhiều cách để xây dựng hàm delay. Chúng ta cũng viết nhiều bằng MPASM để hiểu PIC và đi vào các tương tác gần nhất với PIC.

Có thể điều này hơi mang tính chất academic với các bạn, và nó hơi mơ hồ!

Nhưng không, chính những gì chúng ta làm và chuẩn bị ở đây, đó là những công cụ, những có sở nền tảng vững chắc. Chúng ta sẽ đi chậm, nhưng rồi chúng ta sẽ có những nghiên cứu xử lý thuật toán, và những bài toán dần dần đang được nhóm PIC vietnam thực hiện.

Ví dụ như một niềm tự hào của picvietnam, đó là bộ thư viện ORCAD. Kể cả những trang nước ngoài cũng không làm được. Bộ thư viện này đã có ít nhất 100 lượt người tải về sử dụng, chưa kể những người download bằng đường link trực tiếp.

Có ít nhất 300 lượt người duyệt bài và link vào trang. Các bạn hãy thử tưởng tượng rằng 1 người hết 5 phút để vẽ một con linh kiện. Vậy 10 người là 50 phút (coi như 1 giờ cho chẵn). Thì 100 người là 10 giờ (một ngày làm việc).

Đó là thời gian 1 tháng sau khi nó được đưa lên. Cứ 1 tháng thì nó tiết kiệm 1 ngày làm việc.

Đây chính là xu hướng mà picvietnam sẽ đi và sẽ phát triển xã hội bằng việc mỗi một việc làm của picvietnam sẽ tiết kiệm một ngày làm việc cho toàn cộng đồng. Hãy vững tin về điều đó. Chúng ta sẽ làm được nhiều và rất nhiều.

Sắp tới, bộ tiny bootloader sẽ được picvietnam chuẩn hoá, kèm theo việc giới thiệu về I2C bằng CCS C (I2C bằng MPASM đã được bạn Mạnh phổ biến rồi). Tiến tới là multi master I2C. Đó là hai công việc picvietnam đang làm và sắp xong.

Giao tiếp RS232 cũng đã tạm ổn (chưa được ổn cho lắm hehehe...) Nhưng sẽ xong. Như vậy, sau khi xong tinybootloader cũng đồng thời xong luôn phần cứng cho RS232. Cứ như vậy, từng bước, từng bước, chúng ta không đi sau mà đi sâu các bạn ạ.

Những câu hỏi và trả lời không thể làm thành cơ sở thư viện được, chỉ có những bài viết như nhh vừa gửi mới có thể hình thành cơ sở, thư viện, và tài liệu hữu ích cho sự phát triển mà thôi. Đó là hướng đi của picvietnam.

Mong rằng các bạn hiểu và vững tin theo ý nghĩa này của picvietnam.

Chúc vui.
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-07-2006, 09:41 PM   #3
friends
Đệ tử 1 túi
 
Tham gia ngày: Jul 2006
Bài gửi: 19
:
lap trinh pic 16f876a

cac anh oi , cho em noi la : lap trinh voi pic 16f877a cung giong het voi lap trinh cho con pic 16f876a phai khong? a`, phan mem asm de viet cho pic down o dau vay cac anh
friends vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-07-2006, 10:33 PM   #4
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Câu hỏi 1: Đúng, ngoại trừ PIC16F877A có một số chân và thanh ghi tương ứng mà PIC16F876A không có.

Câu hỏi 2: vào link sau download MPLAB IDE, trong đó có trình hợp dịch, bộ mô phỏng, và một số thứ khác
http://www.microchip.com/stellent/id...&part=SW007002

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 06-03-2006, 02:25 PM   #5
ntc
Đệ tử 8 túi
 
ntc's Avatar
 
Tham gia ngày: Oct 2005
Nơi Cư Ngụ: HCM city
Bài gửi: 264
:
Send a message via Yahoo to ntc
Talking

Các ứng dụng của nhh được xây dựng dựa trên một số thông tin cơ bản:
_ Về phần cứng: đó là các thông tin về phím nhấn, thông tin về LED 7 đoạn, thông tin về cấu tạo, tổ chức các PORT I/O và các ngắt ngoài của PORT B, ...
_ Về phần mềm: đó là thông tin về kĩ thuật bảng, thông tin về chương trình ngắt và cách xử lí ngắt, một số thao tác lập trình với PIC (khai báo biến,...) ...
_ Về kĩ năng: đó là các kĩ năng phân tích tìm hiểu thông tin trong tài tiệu (datasheet chẳng hạn), kĩ năng xây dựng ứng dụng dựa trên các thông tin thu thập được.
Ứng dụng của nhh rất hay, nhưng nhìn chung lại, hầu hết mọi ứng dụng đều được xây dựng dựa trên một số thông tin và kĩ năng cơ bản. Trường hợp ứng dụng của nhh cũng không ngoại lệ.
Bây giờ, nhh thử tưởng tượng coi, nếu một thành viên mới tìm hiểu PIC, đọc ứng dụng của nhh thì số lượng thông tin thu thập được là bao nhiêu. Sẽ có rất nhiều thắc mắc: làm sao mà viết chương trình như vậy thì con PIC sẽ hiển thị được con số đó ra LED 7 đoạn, làm sao mà viết như vậy thì PIC sẽ nhận diện được sự thay đổi muắc logic ở PORT B để tạo ra ngắt.
Đó là cái mà picvietnam đang cố gắng lí giải thông qua các tutorial được viết rất cơ bản, thông qua các module, các công cụ, ...đó là một phần vai trò của picvietnam trong các diễn đàn điện tử. Hướng đi này có thể hơi khác biệt, nhưng không hề lạc hướng.

Nếu tìm hiểu thêm một số thông tin về timer, nhh có thể xây dựng được một ứng dụng mới: một đồng hồ điện tử.. Chỉnh giờ được luôn (bạn đã có được các module cơ bản về xử lí nút bấm, về hiển thị LED 7 đoạn, rồi một số module về kĩ thuật lập trình, ...). Thử coi. Phần cứng cũng đã có sẵn rồi, chỉ còn mỗi việc viết chương trình.

PIC16F877A nếu chỉ để tìm hiểu thì được, chứ nếu để xây dựng các ứng dụng thực tế thì có đôi khi ... hơi phí phạm, vì hiếm khi nào ta sử dụng được hết các chức năng của nó trong một ứng dụng. Việc xây dựng các module và trang bị các thông tin cơ bản có thể cho phép ta sử dụng bất cứ PIC nào mà không hề cảm thấy bỡ ngỡ.
__________________

ntc vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 06-03-2006, 04:06 PM   #6
nhh
Đệ tử 9 túi
 
nhh's Avatar
 
Tham gia ngày: Feb 2006
Bài gửi: 174
:
Send a message via Yahoo to nhh
Thanks bác F và mod NTC!
Vậy thì phần tutorial cơ bản bác sẽ viết bên đó,còn về vọt những ứng dụng viết được anh em có thể post bên "PIC6F877A từ dễ đến khó" hoặc trong luồng này cũng tốt!
NHH sẽ cố gắng viết những ứng dụng bậy bạ từ những cái tutorial của bác mod!
Cùng nhau phá PIC bà con ơi!
À phiền bác F sửa lại giúp tiêu đề cái thread này,do sơ ý nên em viết nhầm tên Pic !
Thanks!
__________________
Ngày mai bắt đầu từ ngày hôm nay

Bạn có thắc mắc, bạn cần sự hỗ trợ của các thành viên. Hãy đọc luồng này:
http://www.picvietnam.com/forum//showthread.php?t=1263
nhh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-03-2006, 07:52 PM   #7
picpicpic
Đệ tử 2 túi
 
picpicpic's Avatar
 
Tham gia ngày: Jan 2006
Bài gửi: 36
:
Chào cả nhà!
picpicpic đã copy và cho chạy thử bài viết của bác nhh,kết quả rất tốt!Bác có viết vài ý về các cách ngắt của con pic này được không?
Hẹn câu trả lời của các bác!
__________________
************************************************** **
The only wrong thing would be to deny what your heart truly feels!
************************************************** **
picpicpic vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-03-2006, 12:16 PM   #8
nhh
Đệ tử 9 túi
 
nhh's Avatar
 
Tham gia ngày: Feb 2006
Bài gửi: 174
:
Send a message via Yahoo to nhh
Trích:
Nguyên văn bởi picpicpic
Chào cả nhà!
picpicpic đã copy và cho chạy thử bài viết của bác nhh,kết quả rất tốt!Bác có viết vài ý về các cách ngắt của con pic này được không?
Hẹn câu trả lời của các bác!
Ăc ăc...Cái này picpicpic làm khó anh em rồi ! Mình biết rất lung tung không thể trình bày một cách bài bảng và chuyên nghiệp được, viết ra làm các bác khó hiểu....nhh nghĩ cái này nên để mod Chính viết!
__________________
Ngày mai bắt đầu từ ngày hôm nay

Bạn có thắc mắc, bạn cần sự hỗ trợ của các thành viên. Hãy đọc luồng này:
http://www.picvietnam.com/forum//showthread.php?t=1263
nhh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-10-2006, 11:23 PM   #9
pisco
Nhập môn đệ tử
 
Tham gia ngày: Oct 2006
Bài gửi: 1
:
pic

em cung moi nghien cuu ve con pic6f877a , em cung thay mach nap cua may bac nhung sao ko thay co bo nguon cung cap cho no vay
pisco vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-02-2009, 05:21 PM   #10
phandinh
Đệ tử 6 túi
 
Tham gia ngày: Nov 2008
Nơi Cư Ngụ: Di Linh
Bài gửi: 131
:
cho em hỏi trong bài đếm ngắt ngoài chân RB0 của bác nhh có lệnh:
INCF COUNT,F
Vậy lệnh này có giống như lệnh : INCF COUNT,0 hay không
(có khi nào F---->False---->0)
phandinh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-02-2009, 05:57 PM   #11
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi phandinh View Post
cho em hỏi trong bài đếm ngắt ngoài chân RB0 của bác nhh có lệnh:
INCF COUNT,F
Vậy lệnh này có giống như lệnh : INCF COUNT,0 hay không
(có khi nào F---->False---->0)
Không giống đâu bạn, với các lệnh thao tác trên thanh ghi, F (= 1) ở phần destination có nghĩa là đích đến của kết quả là thanh ghi toán hạng đó, còn W (= 0) ở phần destination có nghĩa là đích đến của kết quả là W.

Với lệnh INCF COUNT, F (tương đương với INCF COUNT, 1), kết quả của lệnh tăng giá trị trong thanh ghi COUNT sẽ được lưu trở lại thanh ghi COUNT.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-02-2009, 11:06 PM   #12
phandinh
Đệ tử 6 túi
 
Tham gia ngày: Nov 2008
Nơi Cư Ngụ: Di Linh
Bài gửi: 131
:
Thanks bác nhiều nha. Em hiểu rồi.
À nếu bác rảnh thì xem dùm bài bên luồng " pic từ dễ tới khó " hộ em
phandinh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 12-02-2009, 12:53 PM   #13
ITfire
Nhập môn đệ tử
 
Tham gia ngày: Dec 2008
Bài gửi: 5
:
Cái này hay à ngen...

các bro giúp mình tính cái PWM Period=[(PR2+1)]*4*Tosc *TMR2 prescale. Và tương tự với cái PWM duty cycle=... luôn ngen (mình đang làm PÍC6F877A với CCS v 4.065).Thanks
ITfire vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 24-04-2010, 01:23 AM   #14
nhockhochoai
Nhập môn đệ tử
 
Tham gia ngày: Apr 2007
Bài gửi: 10
:
pic6f877a va ds12c887

Em đang mô phổng lịch âm dương với PIC6f877a va DS12c887 nhưng không hiểu sao LCD không thể hiển thị.chỉ sáng xanh mà thôi.các bác giúp em phát hiên lỗi với.thank nhiều nhiều...mới học về PIC nên em không hiểu chắc lắm.mong mọi ngưới giúp đỡ
protues_hex:http://www.mediafire.com/?ixdwoylnyya
title "DONG HO SO"
;processor P16f877a
;#include <P16F77a.inc>
LIST P=16F877A
#INCLUDE P16F877A.INC

__CONFIG _CP_OFF&_PWRTE_ON&_WDT_OFF&_HS_OSC&_LVP_OFF
;+++++++++++++++++++++++++++++++++++++++++++++++++ +++++++
; CAC BIEN
CBLOCK 020H
COUNT1
COUNT2
COUNT3
CHUC_P
DV_P
CHUC_G
DV_G
C_P
DVP
C_G
G
MAPHIM
MAQUET
R4
R7
R6
BIENTAM
ENDC
;----------------------------------------------------------------------------------------
CT ORG 0x000
CLRF STATUS
MOVLW 00H
MOVWF PCLATH
GOTO START
;-----------------------------------------------------------------------------------------
; KHAI BAO PORT
START
ORG 0x005
BCF STATUS,RP1
BSF STATUS,RP0
errorlevel -302
CLRF TRISB
errorlevel -302
CLRF TRISC
errorlevel -302
CLRF TRISD
errorlevel -302
BCF STATUS,RP0

; CHUONG TRINH CHINH
MOVLW 0X05
MOVWF C_P
MOVLW 0X07
MOVWF DVP
MOVLW 0X06
MOVWF C_G
MOVLW 0X07
MOVWF G
MOVLW 0XFE
MOVWF MAQUET

LB CALL BCD_7DOAN
CALL DELAYHIENTHI

;GIAM DVI GIAY
DECF G,1
MOVF G,0
XORLW 0XFF
BTFSS STATUS,2
GOTO LB
DECF C_G,1
MOVLW D'9'
MOVWF G

;GIAM CHUC GIAY
MOVF C_G,0
XORLW 0XFF
BTFSS STATUS,Z
GOTO LB
DECF DVP,1
MOVLW 05H
MOVWF C_G

; GIAM DVI PHUT
MOVF DVP,0
XORLW 0FFH
BTFSS STATUS,Z
GOTO LB
DECF C_P,1
MOVLW 09H
MOVWF DVP

;GIAM CHUC PHUT
MOVF C_P,0
XORLW 0FFH
BTFSS STATUS,Z
GOTO LB
BCF PORTC,4
GOTO CT

BCD_7DOAN
MOVF G,0
CALL TABLE
MOVWF DV_G

MOVF C_G,0
CALL TABLE
MOVWF CHUC_G

MOVF DVP,0
CALL TABLE
MOVWF DV_P

MOVF C_P,0
CALL TABLE
MOVWF CHUC_P

RETURN
DELAYHIENTHI
MOVLW 0x004
MOVWF COUNT1
DEL1
MOVWF 0x100
MOVWF COUNT2
DEL2
CALL HIENTHI
DECFSZ COUNT2,1
GOTO DEL2
DECFSZ COUNT1,1
GOTO DEL1
RETURN
;quetphim
KEYPRES
MOVLW D'10'
MOVWF R4
KEYPRES1
CALL KEY
BTFSS STATUS,0
GOTO PN1
RETURN
PN1
DECFSZ R4,1
GOTO KEYPRES1
MOVWF BIENTAM
KEYPRES2
MOVLW D'10'
MOVWF R4
KEYPRES3
CALL KEY
BTFSS STATUS,0
GOTO KEYPRES2
DECFSZ R4,0
GOTO KEYPRES3
MOVF BIENTAM,0
RETURN
KEY MOVF MAQUET,0
MOVWF R7
MOVLW D'4'
MOVWF R6
MOVLW 0X00
MOVWF MAPHIM
KEY1
MOVF R7,1
MOVWF PORTD
MOVF PORTD,0
ANDLW 0XF0
XORLW 0XF0
BTFSS STATUS,Z
GOTO KEY2

RLF R7,1
MOVF MAPHIM,0
ADDLW 4
MOVWF MAPHIM
DECFSZ R6,1
GOTO KEY1
CLRF STATUS
MOVLW 0XFF
RETURN
KEY2
MOVWF BIENTAM
SWAPF BIENTAM,1
KEY4
RRF BIENTAM,0
BTFSS STATUS,0 ;THIEU BIT KIEM TRA CHO LA BIT THU 0
GOTO KEY3
INCF MAPHIM,1
GOTO KEY4

KEY3
MOVF MAPHIM,0
BSF STATUS,0 ;THIEU BIT KIEM TRA CHO LA BIT THU 0
RETURN
;+++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++
HIENTHI
MOVF DV_G,0
MOVWF PORTB
MOVLW 0xFE
MOVWF PORTC

CALL DELAY

MOVF CHUC_G,0
MOVWF PORTB
MOVLW 0xFD
MOVWF PORTC

CALL DELAY

MOVF DV_P,0
MOVWF PORTB
MOVLW 0xFB
MOVWF PORTC

CALL DELAY

MOVF CHUC_P,0
MOVWF PORTB
MOVLW 0xF7
MOVWF PORTC
CALL DELAY

RETURN
;+++++++++++++++++++++++++++++
DELAY
MOVLW 0xFF
MOVWF COUNT3
DELA1
DECFSZ COUNT3,1
GOTO DELA1
RETURN

TABLE
ADDWF PCL,1
DT 0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90
END
nhockhochoai vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 25-04-2010, 03:05 PM   #15
nhockhochoai
Nhập môn đệ tử
 
Tham gia ngày: Apr 2007
Bài gửi: 10
:
Trích:
Nguyên văn bởi nhockhochoai View Post
Em đang mô phổng lịch âm dương với PIC6f877a va DS12c887 nhưng không hiểu sao LCD không thể hiển thị.chỉ sáng xanh mà thôi.các bác giúp em phát hiên lỗi với.thank nhiều nhiều...mới học về PIC nên em không hiểu chắc lắm.mong mọi ngưới giúp đỡ
protues_hex:http://www.mediafire.com/?ixdwoylnyya
title "DONG HO SO"
;processor P16f877a
;#include <P16F77a.inc>
LIST P=16F877A
#INCLUDE P16F877A.INC

__CONFIG _CP_OFF&_PWRTE_ON&_WDT_OFF&_HS_OSC&_LVP_OFF
;+++++++++++++++++++++++++++++++++++++++++++++++++ +++++++
; CAC BIEN
CBLOCK 020H
COUNT1
COUNT2
COUNT3
CHUC_P
DV_P
CHUC_G
DV_G
C_P
DVP
C_G
G
MAPHIM
MAQUET
R4
R7
R6
BIENTAM
ENDC
;----------------------------------------------------------------------------------------
CT ORG 0x000
CLRF STATUS
MOVLW 00H
MOVWF PCLATH
GOTO START
;-----------------------------------------------------------------------------------------
; KHAI BAO PORT
START
ORG 0x005
BCF STATUS,RP1
BSF STATUS,RP0
errorlevel -302
CLRF TRISB
errorlevel -302
CLRF TRISC
errorlevel -302
CLRF TRISD
errorlevel -302
BCF STATUS,RP0

; CHUONG TRINH CHINH
MOVLW 0X05
MOVWF C_P
MOVLW 0X07
MOVWF DVP
MOVLW 0X06
MOVWF C_G
MOVLW 0X07
MOVWF G
MOVLW 0XFE
MOVWF MAQUET

LB CALL BCD_7DOAN
CALL DELAYHIENTHI

;GIAM DVI GIAY
DECF G,1
MOVF G,0
XORLW 0XFF
BTFSS STATUS,2
GOTO LB
DECF C_G,1
MOVLW D'9'
MOVWF G

;GIAM CHUC GIAY
MOVF C_G,0
XORLW 0XFF
BTFSS STATUS,Z
GOTO LB
DECF DVP,1
MOVLW 05H
MOVWF C_G

; GIAM DVI PHUT
MOVF DVP,0
XORLW 0FFH
BTFSS STATUS,Z
GOTO LB
DECF C_P,1
MOVLW 09H
MOVWF DVP

;GIAM CHUC PHUT
MOVF C_P,0
XORLW 0FFH
BTFSS STATUS,Z
GOTO LB
BCF PORTC,4
GOTO CT

BCD_7DOAN
MOVF G,0
CALL TABLE
MOVWF DV_G

MOVF C_G,0
CALL TABLE
MOVWF CHUC_G

MOVF DVP,0
CALL TABLE
MOVWF DV_P

MOVF C_P,0
CALL TABLE
MOVWF CHUC_P

RETURN
DELAYHIENTHI
MOVLW 0x004
MOVWF COUNT1
DEL1
MOVWF 0x100
MOVWF COUNT2
DEL2
CALL HIENTHI
DECFSZ COUNT2,1
GOTO DEL2
DECFSZ COUNT1,1
GOTO DEL1
RETURN
;quetphim
KEYPRES
MOVLW D'10'
MOVWF R4
KEYPRES1
CALL KEY
BTFSS STATUS,0
GOTO PN1
RETURN
PN1
DECFSZ R4,1
GOTO KEYPRES1
MOVWF BIENTAM
KEYPRES2
MOVLW D'10'
MOVWF R4
KEYPRES3
CALL KEY
BTFSS STATUS,0
GOTO KEYPRES2
DECFSZ R4,0
GOTO KEYPRES3
MOVF BIENTAM,0
RETURN
KEY MOVF MAQUET,0
MOVWF R7
MOVLW D'4'
MOVWF R6
MOVLW 0X00
MOVWF MAPHIM
KEY1
MOVF R7,1
MOVWF PORTD
MOVF PORTD,0
ANDLW 0XF0
XORLW 0XF0
BTFSS STATUS,Z
GOTO KEY2

RLF R7,1
MOVF MAPHIM,0
ADDLW 4
MOVWF MAPHIM
DECFSZ R6,1
GOTO KEY1
CLRF STATUS
MOVLW 0XFF
RETURN
KEY2
MOVWF BIENTAM
SWAPF BIENTAM,1
KEY4
RRF BIENTAM,0
BTFSS STATUS,0 ;THIEU BIT KIEM TRA CHO LA BIT THU 0
GOTO KEY3
INCF MAPHIM,1
GOTO KEY4

KEY3
MOVF MAPHIM,0
BSF STATUS,0 ;THIEU BIT KIEM TRA CHO LA BIT THU 0
RETURN
;+++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++
HIENTHI
MOVF DV_G,0
MOVWF PORTB
MOVLW 0xFE
MOVWF PORTC

CALL DELAY

MOVF CHUC_G,0
MOVWF PORTB
MOVLW 0xFD
MOVWF PORTC

CALL DELAY

MOVF DV_P,0
MOVWF PORTB
MOVLW 0xFB
MOVWF PORTC

CALL DELAY

MOVF CHUC_P,0
MOVWF PORTB
MOVLW 0xF7
MOVWF PORTC
CALL DELAY

RETURN
;+++++++++++++++++++++++++++++
DELAY
MOVLW 0xFF
MOVWF COUNT3
DELA1
DECFSZ COUNT3,1
GOTO DELA1
RETURN

TABLE
ADDWF PCL,1
DT 0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90
END
không ai giúp em với sao...hix
nhockhochoai vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến

Similar Threads
Ðề tài Người gửi Chuyên mục Trả lời Bài mới
TUT về USART trong PIC16F877A mafd_47a MPASM 16 19-02-2025 05:32 AM
TUT ve I2C ( pic16f877a ) mafd_47a MPASM 28 28-01-2025 10:45 PM
Bộ so sánh và PWM cho PIC16F877A anhquangngai Cơ bản về vi điều khiển và PIC 24 08-09-2012 09:00 AM
Pic16f877a TỪ DỄ TỚi KhÓ ntc Cơ bản về vi điều khiển và PIC 373 23-05-2009 10:24 PM
CCS C for PIC16F877A nhh Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) 405 24-04-2008 12:00 PM


Múi giờ GMT. Hiện tại là 03:42 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam