Em đang có ý định dùng ARM LPC2148(phillip) để điều khiển GLCD 128x64 (KS0108) nhưng chưa biết phải làm thế nào .Bác nào biết chỉ giáo giúp em ( Có code luôn thì tốt quá) . Thanks!
Thông báo
Collapse
No announcement yet.
Thảo luận về ARM LPC 2138/2148
Collapse
X
-
Nguyên văn bởi hbaocr Xem bài viếtBác trongnghia85 có thi NXP contest hả?Bác lấy 5 chip LPC2000 để bán sao????Sao ko để mà làm!
tiep đây là 1 chương trình
http://f1.grp.yahoofs.com/v1/EMtjSIp...g/baudcalc.zip
đây la chuong trinh tinh toán để nap gia vao cac thanh ghi control UART của LPC2000 để có tốc độ baud fu hop thiet ke
Comment
-
Nguyên văn bởi trongnghia85 Xem bài viếtMình vẫn tiếp tục làm dự án NXP đấy chứ ,nhưng mình thấy ứng dụng của mình chỉ cần con LPC2148 thôi là đủ ,loại LPC2378 nhiều chân quá vừa khó thiết kế mạch vừa khó hàn do vậy mình mới để lại cho các bạn có nhu cầu dùng .
Công Ty NXP chúng tôi rất hoan nghênh khi bạn tham gia cuộc thi Thiết kế MCU. Đề tài "ỨNG DỤNG CÔNG NGHỆ GPS TRONG VIỆC CHẾ TẠO THIẾT BỊ ĐỊNH VỊ PHỤC VỤ TÀU THUYỀN ĐÁNH BẮT XA BỜ" được các chuyên gia của chúng tôi đánh giá rất cao. Hi vọng bạn có thể hoàn thành dự án để tranh tài với các đội trong khu vực vào tháng 9/2008. Về việc ứng dụng của bạn cảm thấy không cần thiết sử dụng LPC2378, bạn có thể liện hệ đơn vị phân phối chip để đổi lại LPC2148 (công ty Vijatech). chúng tôi hi vọng có thể giúp bạn hoàn thành sản phẩm một cách tốt nhất. Chân trọng cám ơn.Challenges are chances!
Comment
-
Mình có làm 1 hàm Delay_uS đơn giản có thể delay khá chính xác từ 100us trở lên, nếu thời gian chờ là ms thì sai số rất nhỏ, hàm này có thể xài trong các ứng dụng không cần delay cực kỳ chính xác, ví dụ như dùng cho LCD chẳng hạn. Hàm này hoạt động ở xung CCLK = 60MHz. Mình đã test thử, khi delay 5ms thì sai số là 0.00027ms.
void Delay_uS (DWORD uS);
{
DWORD i = uS * 12;
while (i--);
}
Khi muốn delay 5ms thì gọi hàm Delay_uS (5000);
Comment
-
Nguyên văn bởi trongnghia85 Xem bài viếtTui thấy cái thread này buồn buồn thế nào ấy ,cái dòng này ít dùng nên khi động vào gặp rất nhiều khó khăn thế mà post bài hỏi thì chả thấy ai chả lời cả.Buồn...........!Last edited by tuansoibk; 24-07-2008, 23:52.
Comment
-
hic,mình cũng đang Busy lắm đang đau đầu với con 2148....code viet debug bằng JLINK trên Eclipse codesourcesery toolchain tự động reset JTAG hoài ah thứ 6 này là deadline phải release cho sếp rồi!đáng nghiên cứu cái BIG BUG đó!hic các bác thông cảm!Đề tài NXP của em còn làm chưa xong nữa nè!sory các bác nhiều!mà các bác cũng phải pót bài lên share kiến thức cho anh em!
Chứ em thấy way đi quẩn lại chỉ có bác Nghĩa(trọng nghĩa --hunter_pro) hỏi!hic nếu em biết thì em trả lời!nếu không thì ngu luôn chẳng biết sao nữa!
mọi người tham ja cùng đóng góp chứ!chứ để 1 mình em pót bài thế này nhiều khi cũng chán!
Bác Nghĩa đề tài ứng dụng GPS trong đánh bắt cá xa bờ của bác tới đâu rồi! còn cái vụ GLCD KIs108 với LPC2138 em đã pót vd lên trên hethongnhung.com rồi mà!sao bác không chia sẽ kinh nghiệm với anh em!
so sorry các pác!vài hôm nữa em rãnh sẽ pót tiếp bài về cách sử dụng SPI và điều khiển GLCD PCF8833Last edited by hbaocr; 25-07-2008, 08:37.
Comment
-
Em thì mới chỉ là 1 newbie thôi, từ lúc tìm hiểu con 8051 tới giờ được nửa năm nên cũng chưa biết gì nhiều, chủ yếu là học hỏi kinh nghiệm thôi. Thấy bác Bảo nói thể, em đọc lại trên này thấy chưa có ai post phần PWM và code (cả timer và PWM) nên em mạo muội post lên, đây là phần cơ bản thôi (vì em còn gà mà!) bác nào có ý kiến gì thì góp ý cho em với nhé.
Bộ tạo xung PWM được thiết kế dựa trên bộ Timer/Counter, hoạt động theo xung PCLK. Nguyên tắc hoạt động dựa trên các Match events của 7 match register. Có 2 loại xung:
- Single Edge: tất cả các xung đều được set lên 1 ngay khi bắt đầu 1 xung PWM, xung được set về 0 khi giá trị của timer counter bằng với giá trị của 1 trong các Match register 1-6. Có thể có tối đa 6 xung Single Edge đồng thời, tất cả các xung đều có cùng tần số được điểu khiển bởi Match register 0 (khi giá trị của timer counter bằng giá trị trong Match register 0 thì kết thúc 1 xung PWM và bắt đầu 1 xung mới).
- Double Edge: các xung được set bằng 0 khi bắt đầu 1 xung PWM, được set lên 1 bằng 1 Match register và set về 0 bằng 1 Match register khác. Các xung double edge cũng có tần số được điều khiển bởi Match register 0.
Bảng các kênh PWM:
Kênh Single Edge Double Edge
Set by Reset by Set by Reset by
1 Match 0 Match 1 - -
2 Match 0 Match 2 Match 1 Match 2
3 Match 0 Match 3 Match 2 Match 3
4 Match 0 Match 4 Match 3 Match 4
5 Match 0 Match 5 Match 4 Match 5
6 Match 0 Match 6 Match 5 Match 6
Ta có thể thấy có tối đa 3 xung double edge đồng thời (kênh 2, 4 & 6) có thể được điều khiển độc lập bằng 7 Match register.
Các thanh ghi điều khiển PWM:
• PWM Interrupt Register (PWMIR):
Khi xảy ra ngắt do 1 kênh PWM (xảy ra match trên các Match registers) thì bit tương ứng trong PWMIR sẽ được set lên 1. Sau khi xảy ra ngắt phải ghi 1 vào bit đó để xóa cờ ngắt (tương tự T0IR & T1IR).
Bit Ký hiệu Ý nghĩa Giá trị sau Reset
0 PWM0_Int cờ ngắt PWM kênh 0 0
1 PWM1_Int cờ ngắt PWM kênh 1 0
2 PWM2_Int cờ ngắt PWM kênh 2 0
3 PWM3_Int cờ ngắt PWM kênh 3 0
7:4 - Reserved n/a
8 PWM4_Int cờ ngắt PWM kênh 4 0
9 PWM5_Int cờ ngắt PWM kênh 5 0
10 PWM6_Int cờ ngắt PWM kênh 6 0
15:11 - Reserved n/a
• PWM Timer Control Register (PWMTCR):
Bit Ký hiệu Ý nghĩa Giá trị sau Reset
0 Counter Enable 0: disable Counter,1: enable Counter 0
1 Counter Reset khi bit này bằng 1, TC và PC được Reset. 0
tình trạng Reset được giứ nguyên tới khi
bit Counter Enable = 0.
2 - Reserved n/a
3 PWM Enable 0: disable PWM, 1: enable PWM 0
7:4 - Reserved n/a
• PWM Timer Counter (PWMTC):
Tương tự T0TC & T1TC.
• PWM Prescale Register (PWMPR):
Tương tự T0PR & T1PR.
• PWM Prescale Counter (PWMPC):
Tương tự T0PC & T1PC.
• PWM Match Register (PWMMR0-6):
Tương tự các Match register của Timer, khi xảy ra match trên các thanh ghi PWMMR0-6 ta có thể cho dừng timer, reset hoặc yêu cầu ngắt.
• PWM Match Control Register (PWMMCR):
Bit Ký hiệu Ý nghĩa Giá trị sau Reset
0 PWMMR0I 1: ngắt khi PWMTC = PWMMR0 (match 0) 0
1 PWMMR0R 1: reset timer khi match 0 0
2 PWMMR0S 1: dừng timer khi match 0 0
20:3 tương tự cho PWMMR1-6 0
31:21 - Reserved n/a
• PWM Control Register (PWMPCR):
Kích hoạt và chọn loại xung trên các kênh PWM.
Bit Ký hiệu Ý nghĩa Giá trị sau Reset
1:0 - Reserved n/a
2 PWMSEL2 0: xung PWM2 là xung single edge 0
----------- 1: xung PWM2 là xung double edge
6:3 tương tự cho các xung PWM3-6 0
8:7 - Reserved n/a
9 PWMENA1 0: disable PWM1 0
----------- 1: enable PWM1
14:10 tương tự cho PWM6-2 0
15 - Reserved n/a
• PWM Latch Enable Register (PWMLER):
Khi ghi lên các thanh ghi PWMMR0-6, dữ liệu được lưu giữ trong các shadow register. Khi xảy ra match 0 (bắt đầu 1 xung PWM), dữ liệu đó chỉ được ghi lên các thanh ghi PWMMR0-6 khi các bit tương ứng trong PWMLER được set bằng 1, xung PWM mới sẽ hoạt động dựa trên các giá trị mới. Nếu xảy ra việc chuyển giá trị từ các shadow register sang các match register thì các bit tương ứng trong PWMLER sẽ được xóa tự động.
Bit Ký hiệu Ý nghĩa Giá trị sau Reset
6:0 các bit tương ứng cho PWMMR0-6 0
7 - Reserved n/a
Đây là code em viết trên Realview, chương trình dùng để tạo 1 xung 500Hz từ 3 nguồn: PWM1, PWM3 và MAT0.0 (xung trên PWM1 va MAT0.0 co duty cycle là 50%, CCLK =60MHz, PCLK = 15MHz)
#include "LPC214x.h"
int main (void)
{
PINSEL0 = 0x8A;
// P0.0: PWM1, P0.1: PWM3, P0.3: MAT0.0
T0EMR = 0x30;
T0MCR = 2;
T0MR0 = 14999;
// dao gia tri tren chan MAT0.0
PWMPCR = (1 << 3) | (1 << 9) | (1 << 11);
// PWM1: single edge, PWM3: double edge, enable PWM1 & PWM3
PWMMCR = 2;
PWMMR0 = 29999;
PWMMR1 = 14999;
PWMMR2 = 4999;
PWMMR3 = 9999;
T0TCR = 1;
// enable timer 0
PWMTCR = 9;
// enable counter va PWM
while (1);
}Last edited by tuansoibk; 25-07-2008, 10:46.
Comment
-
Bác Bảo chỉ em cách đưa bài viết vô 1 cái khung kéo lên kéo xuống được như của bác với (đưa vào cái khung có chữ code ấy), viết thế này dài quá, lại bị mất cái khoảng trắng nên hơi khó chịu.
cheer!
Comment
-
GLCD KIS107 for ARM LPC2000
hi vọng là nó giúp các bác nhiều!Attached Files
Comment
-
Tui thấy hơi lạ cuộc thi của NXP có đến hơn 50 đội tham gia mà chẳng thấy ai thắc mắc hay gặp khó khăn post bài lên hỏi gì cả,toàn thấy tui hỏi thui ,chắc các bác đều nắm chắc dòng vi điều khiển này rồi hay sao ấy .Tui thì mới làm quen kiến thức gần như Zero động vào đâu cũng khó khăn , do vậy các bác thông cảm giúp đỡ dùm .
Comment
-
Nguyên văn bởi trongnghia85 Xem bài viếtTui thấy hơi lạ cuộc thi của NXP có đến hơn 50 đội tham gia mà chẳng thấy ai thắc mắc hay gặp khó khăn post bài lên hỏi gì cả,toàn thấy tui hỏi thui ,chắc các bác đều nắm chắc dòng vi điều khiển này rồi hay sao ấy .Tui thì mới làm quen kiến thức gần như Zero động vào đâu cũng khó khăn , do vậy các bác thông cảm giúp đỡ dùm .
Hôm trước mình kiếm datasheet của LPC2148 cũng khá vất vả, search nó ra cái gì đâu không, nên hôm nay post lên cho anh em ai có nhu cầu và chưa kiếm ra sử dụng.Attached FilesDiễn đàn Vi điều khiển:
Comment
Bài viết mới nhất
Collapse
-
bởi bqvietNếu áp-tô-mát đầu công tơ loại thông dụng 40A, dây tiết diện 8 mm2 đồng đỏ thực thì 8 KW thừa sức, 10 KW vẫn an toàn. Đường 3 pha cho dân dụng giờ cũng không còn hiếm/khó như xưa nữa, vấn đề chỉ là cân đối bài toán kinh tế giữa...
-
Channel: Điện tử gia dụng
hôm nay, 15:26 -
-
bởi bqvietLoại công tắc cò bấm, tất nhiên rồi. Bất tiện khi cứ phải bấm giữ liên tục, nhưng nó có sẵn tính năng an toàn : khi sảy ra sự cố hay tai nạn bất kỳ, người sử dụng buông tay ra khiến cho máy bị cắt điện. Một dạng "dead man's switch"...
-
Channel: Điện tử gia dụng
hôm nay, 15:21 -
-
bởi ittcChào các bác, em định sắp mua một số máy công cụ cầm tay cơ bản về để sử dụng khi cần trong gia đình, cụ thể là máy mài cắt cầm tay và máy khoan cầm tay. Em tham khảo trên thị trường thì các máy này nó có 3 kiểu công tắc tắt mở máy đó là:
- Loại gạt trượt (Slide)
- Loại nhấn bóp (Trigger) hoặc
-
Channel: Điện tử gia dụng
hôm nay, 06:10 -
bởi dinhthuong80Vâng, em cảm ơn bác. Em đưa ra vấn đề này đương nhiên có hướng để tính và khắc phục ạ.
Công thức tính lưu lượng không khí đó, tổng quát thì có khó gì đâu, chỉ là em không có công thức tính chính xác thiết diện của các...-
Channel: Đánh giá sản phẩm DTVN
hôm nay, 04:56 -
-
bởi dinhthuong80Em thật lấy làm tiếc vì thấy bác nói toàn vẻ uyên thâm mà nhìn hình, nhìn vấn đề qua loa rồi kết luận một cách quá hồ đồ như vậy ạ!
Bác chịu khó nhìn cho kĩ các cái bo mạch trên đi, đường mạch, mối hàn của nó, đừng...-
Channel: Đánh giá sản phẩm DTVN
hôm nay, 04:43 -
-
Trả lời cho Biết gì nói nấy, cãi chửi thoải máibởi nhathung1101Con mẹ mày! Thằng bố mày!
Ngủ với nhau rồi đẻ ra mày!
Với bao nhiêu hy vọng, niềm tin....
Giờ mày ngu thế thì bố mẹ mày nghĩ thế nào???
Ít nhất thì phải biết lo thân chứ, hả con...
Bố...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 23:42 -
-
bởi nhathung1101Vì những sản phẩm loại này, tôi vứt đầy dưới gầm bàn.
Bạn đăng lên để bán hay gián tiếp quảng cáo cho họ???...-
Channel: Đánh giá sản phẩm DTVN
Hôm qua, 23:29 -
-
bởi nhathung1101Bạn thử kiểm nghiệm với thiết bị nào???
Tôi xưa nay ghét hàng TQ. Nhưng phải có bằng chứng.
Và tôi đang nghi ngờ bạn bán hàng TQ thì phải???
Nếu vậy là xong luôn!-
Channel: Đánh giá sản phẩm DTVN
Hôm qua, 23:20 -
-
bởi nhathung1101Còn không hiểu, đổ tội cho "CÔNG NHÂN LÀM ẨU", thì bạn tự xem bản thân nhé.
Nói láo là không được. Bằng chứng đâu?
Cho bạn 3 ngày để chứng minh. Nếu không khóa luồng để tránh thị phi.-
Channel: Đánh giá sản phẩm DTVN
Hôm qua, 23:13 -
Comment