anh newuser ah. em da đọc bài của bác về lâp trình về ché tạo đờng hồ dùng rtc nhưng em ko hiểu các chân mà bác chọn nối với selec,dec,..có tác dụng gì em mong bác giải thích rõ hộ em vì emcung đang làm về dề tai dấy bác có thể giải thích cho em dược ko? với lại em muốn thiết kế thêm các phím ấn để điều chỉnh thời gian tùy ý nhưng chưa lập trình được anh giúp em được ko?
Thông báo
Collapse
No announcement yet.
HƯỚNG DẪN LẬP TRÌNH KEIL C CHO 8051-[Chỉ dành post bài hướng dẫn]
Collapse
X
-
Qua đây down tài liêu I2C nhé, cái này là tổng quan và áp dụng cho PIC, nhưn các loại VDK khác thì như nhau thôi.
Về CCS cho PIC:
http://www.picvietnam.com/forum//showthread.php?t=612
Về I2C:
http://www.picvietnam.com/forum/showthread.php?t=301
Có bài viết về I2C dùng CCS nhưng tôi chua tìm lại dc. nếu bạn cần thì gửi mail cho tôi rồi tôi send lại cho.
Chúc thành công!
linhnc308@yahoo.comEthernet-RS232, PIC Webserver, RFID Reader
CallerID, Cảnh báo BTS, ...
0988006696
linhnc308@gmail.com
http://linhnc308.blogspot.com
Comment
-
Anh NgoHaiBac ơi , qua forums em thấy anh hiểu biết rất rộng về mảng đề tài mà anh đã trả lời , theo sự hướng dẫn của anh , em đã download được phần mềm Keil C 8.02 nhưng để ***** theo địa chỉ anh hướng dẫn "Lic: http://www.mcubbs.net/bbs/uploadfile...1057467280.rar" em chẳng tìm thấy cái mình cần , anh có thể giúp em được không.
Thành thật cám ơn.Last edited by btram104; 04-12-2006, 10:24.
Comment
-
http://www.tailieuvietnam.net/downlo...aibac/Keil.zip
Em download file này vài giải nén vào ổ C:\ nhé. File này anh ***** rùi. Nên chạy bình thường.
Chúc bạn thành công.Technical sale at WT Microelectronics S'pore
Hỗ trợ dự án sử dụng các hãng Texas Instrument, STMicro, Freescale, Fairchild, International Rectifier, Ublox, Lumiled, Maxim
Liên hệ: 0915.560.511 hoặc ngo.haibac@wtmec.com
Comment
-
Chào các bạn, như đã hứa với các bạn gửi mail cho mình cũng như các bạn trong diễn đàn. Nay mình gửi các bạn mốt số file trong đĩa mà bọn www.keil.com cho mình nhé:
1/Các appnote của keil. Các bạn có khi chẳng cần đặt câu hỏi gì nữa khi có nó
.
http://www.tailieuvietnam.net/downlo...%20Appnote.zip
(32.6 MB)
2/ File hướng dẫn debug trong Keil C.
http://www.tailieuvietnam.net/downlo...ibac/debug.zip
(34.6MB).
3/File hướng dẫn mô phỏng trong Keil C.
http://www.tailieuvietnam.net/downlo...c/simulate.zip
(28.7 MB)
4/Phần mềm Keil C 8.05 bản Full. Đã có hướng dẫn *****. Anh em xem ở các bài trước nhé.
http://www.tailieuvietnam.net/downlo...ac/C51v805.zip
Chúc các bạn thành công.Technical sale at WT Microelectronics S'pore
Hỗ trợ dự án sử dụng các hãng Texas Instrument, STMicro, Freescale, Fairchild, International Rectifier, Ublox, Lumiled, Maxim
Liên hệ: 0915.560.511 hoặc ngo.haibac@wtmec.com
Comment
-
Em là dân mới tập tành viết VXL , xin nhờ các anh chị giúp giùm em một việc như thế này , đây là đoạn code viết bằng assembler cho AT89C51 dùng cổng T0 P3.4 để đếm , nhưng nó chỉ đếm được 255 lần ghi trong TL0 mà TH0 chẳng thay đổi giá trị gì , em muốn đếm sự kiện bằng 16 bít thì phải làm sao , anh chị nào chỉ em với , cám ơn nhiều nhiều ... lắm.
; Counter.asm
org 0000h
setb T0
mov a, TMOD
anl a, #0f0h
orl a, #5 ; counter 0 mode 1
; --------------------------------------------------------
mov TMOD, a
setb TR0 ; counter 0 on
mov b, #0
mov a, b
mov P0, a
mov a, b
loop:
mov a, TL0 ; lay TL0 vao a
anl a, #255
xrl a, b ; so sanh gia tri dem
jz loop ; nhay neu bang
inc b ; tang b
anl b, #0Fh
mov a, b
mov P0, a ; chi thi ra cong P0
mov a, b ;
sjmp loop ; lap lai mai mai...
ENDLast edited by btram104; 21-12-2006, 10:01.
Comment
-
Chú này viết loằng ngoằng quá. Cụ thể toi hiển thị số đếm ra cổng P0 và P1 nhé.
org 0
setb P3.4 ;xac lap P3.4 la dau vao
mov a,TMOD ;doc TMOD vao A
anl a,#0F0H ;xoa 4 bit thap
orl a,#00000101B ;05H(xac lap timer0:mode 1(16 bit), counter
mov TMOD,a
mov TH0,#0 ;xoa counter0
mov TL0,#0
setb TR0 ;cho phep counter0 bat dau dem
loop:
mov P0,TL0 ;chuyen so dem byte thap ra P0
mov P1,TH0 ;chuyen so dem byte cao ra P1
jmp loop ;khi dem tran, tu dong quay ve 0 de dem len
Comment
-
troài dùng mạch nạp chíp chứ còn gì nữa dùng phần mềm nạpNguyên văn bởi pace100kCac anh oi em moi tim hieu ve VDK ho 89 (89s52), em co cau hoi the nay :
sau khi bien dich song bang kelvil roi thi lam the nao de nap vao cho no vay ???
mong duoc chi giao' .
89c thì dùng ezdownloader còn 89s thì dùng SPI pgm
đây là một dạng kit có tích hợp mạch nạp
SHARE KHO PHIM LỚN
Comment
-
Cháu nên vào luồng http://www.dientuvietnam.net/forums/...ead.php?t=2968Một bông hồng cho những ai đang còn mẹ,
Đang còn mẹ để lòng vui sướng hơn ..
Comment
-
Help! help! help! mọi người giúp mình cái
... gay go quá.
Mình có một đoạn code được viết bằng C và build thành hex nạp vào con 89C51 thì chạy ngon ơ, thế nhưng nạp vào 89C2051 (Đã chuyển thư viện trong KeilC, nội dung chương trình thì chỉ sử dụng port 1 và 3, sử dụng cả 2 timer) thì nó lại báo lỗi "Verify Failed at 0".
Chú ý rằng... mạch chắc là ko thể lỗi đc vì nạp thử file hex có sẵn trong chaokhun (cái mạch đồng hồ ấy) lại ko sao....
Không biết thiết lập thư viện có sai gì không? Mong mọi người giúp đỡ
Comment
-
Lỗi này là khi cậu include sai header file, nó báo là chưa khai báo các biến. Bạn phải
# include "regx51.h"
vì header file này đã định nghĩa địa chỉ của P1_0, ... thì bạn mới sử dụng được chứ nhỉ:d
Bạn cứ thử mở file regx51.h trong thư mục INC/Atmel/ của thư mục cài đặt ra xem sao sẽ hiểu ngay mà.
chúc bạn thành công.Technical sale at WT Microelectronics S'pore
Hỗ trợ dự án sử dụng các hãng Texas Instrument, STMicro, Freescale, Fairchild, International Rectifier, Ublox, Lumiled, Maxim
Liên hệ: 0915.560.511 hoặc ngo.haibac@wtmec.com
Comment
-
Mình chẳng biết chỗ nào dạy lập trình 8051 bằng C cả. Bạn cứ lên diễn đàn học hỏi down sách vở về mà đọc thôi. Còn chương trình mà bạn gửi lỗi thì bạn hãy đưa cả code của chương trình đó lên nhé k có sao mà biết được. Còn chương trình mà mình viết thì chạy ok mà.
Anh em nếu lên mạng không tiện mang theo quyển sách C51 Primer thì có một địa chỉ đọc nó trực tuyến dạng HTML ở đây:
http://www.esacademy.com/automation/docs/c51primer/
hoặc đây:
http://www.hitex.com/iuk/c51primer/c51primer.html
Tiếp theo, vừa học 8051 để thi vừa viết cho anh em luôn :d. Bài này mình viết về các vùng nhớ của 8051 để có cơ sở viết các bài tiếp theo.

Hình 1: Các không gian nhớ của 8051
1/Vùng nhớ Data
Trong CPU 8051 vùng nhớ đầu tiên là "DATA". Đó là vùng nhớ RAM on-chip. Bắt đầu từ D:0x00 đến D:0x7F (D chỉ rằng đây là vùng nhớ Data). Vùng RAM này có thể được dùng cho các biến chương trình. Đó là vùng nhớ có thể định được địa chỉ trực tiếp, vì thế có thể dùng các lệnh dạng như: "MOV A,x".
D:00 đến D:1F là 4 bank (bank 0 đến bank 3). Mỗi bank gồm 8 byte là địa chỉ của các thanh ghi R0 đến R7. Muốn sử dụng vùng nhớ này thì khai báo với từ khóa data
D:20 đến D:2F là vùng không gian có thể định địa chỉ bít được (bit addressable). Đó là sự khác biệt so với C chuẩn. Ví dụ một biến P ở địa chỉ D:0x21 thì bạn có thể truy nhập vào từng bít của nó như: P.0, P.1, P.3 , P.4,... trong ASM thì phải
. Còn trong C bạn phải định nghĩa với từ khóa sbit. ví dụ:
Từ đó bạn có thể thấy rằng muốn khai báo một biến trong vùng RAM định địa chỉ bít thì các bạn thêm từ khóa bdata.Code:char bdata test; // khai báo biến test nằm trong vùng nhớ định được địa chỉ bit sbit sign = test^7; // biến dấu của test khai báo là bit thứ 7
Vùng nhớ trên 0x80 là vùng nhớ dành cho các thanh ghi đặc biệt (SFR). Đây là vùng nhớ thường định địa chỉ bằng tên như SYSCON. Các tên này bạn có thể thấy là nó khởi tạo bởi các thanh ghi trong header file (thử mở file regx51.h ra xem nó viết kí rì ). Nó không định nghĩa hết mà các địa chỉ không định nghĩa dùng cho các mục đích khác trong tương lai. Các bạn sẽ thấy là nó định nghĩa các thanh ghi với từ khóa sfr.
Ví dụ:
2/ Vùng nhớ thứ 2 là vùng nhớ tồn tại giữa địa chỉ 80H đến FFh. Đây là vùng nhớ IDATA : vùng nhớ không định địa chỉ trực tiếp (indirectly addressable) thường dùng với các lệnh thao tác với địa chỉ tương đối trong ASM (như MOV A,@Ri), vùng nhớ này có tiền tố I và kí hiệu với tên là IDATA.Code:sfr P1=0x90; // định nghĩa tên P1 là địa chỉ của port1
Đây chính là vùng nhớ tiếp theo của RAM nội với 8051 hay nói cách khác khi gắn thêm RAM thì vùng nhớ này chính là vùng RAM ngoài. Còn với 8052 với 256 byte RAM nội thì vùng nhớ này chính là vùng RAM nội.
Đây là vùng nhớ rất thích hợp dùng cho stack SP.
3/ Thứ 3 là vùng nhớ CODE segment là vùng nhớ trong ROM, bắt đầu từ địa chỉ 0 và nó được dành cho CODE chương trình. Nó bắt đầu từ C:0000 đến C:0FFFFh (65536 bytes). Vùng nhớ này được truy nhập qua bộ đếm chương trình (PC) đối với opcode và bởi DPRT cho dữ liệu (cả 2 thanh ghi này là các thanh ghi 16 bit).
Trong ROM chỉ có biến constant mới được đặt tại đây. Tuy nhiên, một vài bộ nhớ Flash có khả năng thay đổi dữ liệu trong CODE space. Một số loại mới cho phép ứng dụng có thể load các blocks của code thông qua giao diện ISP. Cái này có thể thấy ở dòng 89S hay ở PIC đó.
(còn tiếp nữa ở bài sau, giờ tớ phải đi học mấy cái, đang ôn thi mà
.)
Technical sale at WT Microelectronics S'pore
Hỗ trợ dự án sử dụng các hãng Texas Instrument, STMicro, Freescale, Fairchild, International Rectifier, Ublox, Lumiled, Maxim
Liên hệ: 0915.560.511 hoặc ngo.haibac@wtmec.com
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Đấu tắt điện cho máy tính bảngbởi bqvietBqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
-
Channel: Thiết bị điện tử cá nhân
hôm nay, 17:17 -
-
Trả lời cho Xin hỏi về mạch thu FM/AM trong catsettebởi nguyendinhvanTheo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
-
Channel: Điện thanh
Hôm qua, 19:59 -
-
Trả lời cho Đấu tắt điện cho máy tính bảngbởi afrendlyCó vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
-
Channel: Thiết bị điện tử cá nhân
04-12-2025, 01:27 -
-
Trả lời cho Máy điện châm ?bởi nick22Đúng như bạn nói, máy điện châm hiện nay trên thị trường đã khá đa dạng về mẫu mã, chức năng và giá thành.
-
Channel: Điện tử y sinh
01-12-2025, 13:23 -
-
Trả lời cho Làm thế nào để check IC LM358bởi thetungĐể check IC sống hay chết thì đơn giản : bạn lắp cái mạch ( khuếch đại hoặc dao động ) chạy bằng con IC đó ,nhưng vị trí IC thì lắp cái đế .... thế là cứ cắm rút thì biết . Còn không thì kiếm cái này : https://shopee.vn/Xu-M%C3%A1y-ki%E1%...di-%C4%91%E1%B...
-
Channel: Hướng dẫn tìm thông tin linh kiện
28-11-2025, 14:34 -
-
bởi ngochung90Tình hình là em có mua mạch 3s về để hàn vào khối pin 12v, hàn xong em đo tại các chân từ B-, B1, B2, B+ thì điện áp pin vẫn đủ 12,6v, nhưng tại 2 chân ra P- P+ thì đo chỉ được 6,3v là bị sao các bác, và chân P- P + này đồng thời là chân sạc xả thì mình cắm sạc xả cùng lúc được ko ạ
...-
Channel: Điện tử dành cho người mới bắt đầu
28-11-2025, 10:32 -
-
Trả lời cho Làm thế nào để check IC LM358bởi nguyendinhvanViệc đó tùy thuộc trình độ khoa học kỹ thuật công nghệ ứng dụng hiện tại thôi.
Trong datasheet,họ đưa ra nhiều thông số. Tùy theo khả năng , và những thông số họ cần, họ sẽ kiểm tra casc số đo có khớp với số liệu trong datasheet...-
Channel: Hướng dẫn tìm thông tin linh kiện
27-11-2025, 18:00 -
-
bởi kqbn9091Em có mạch AT89s8253 đang cần sửa số serial no của CHIP mà giờ lâu quá rồi không dùng keil nên không biết phải làm sao, trong khi chỉ còn file hex. Mạch nạp thì progris khi viết không sửa được số serial của IC. Rất cần bác nào còn làm về 89...
-
Channel: Vi điều khiển họ 8051
27-11-2025, 11:13 -

Comment