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
-
Trả lời cho Hỏi về bơm màng bldcbởi nhathung1101Thì đây là 4r điên nặng điện mà, nên họ show phần điện thôi. Phần "cốt lõi" có cái tay biên chắc sang Văn Môn rồi....
-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 18:54 -
-
Trả lời cho Chọn dây dẫn cho điện DC?bởi nhathung1101Điện DC đương nhiên là khác với AC rồi. Chỉ cần biết mặt chữ là thấy khác như gà trống với gà mái mà.
Còn về bản chất, AC là dòng điện hoạt động theo tần số. Tần số càng cao thì dây dẫn càng mỏng, nhẹ, vì hiệu ứng...-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 18:46 -
-
Trả lời cho Công thức điện tửbởi nhathung1101Ăn ít => Nói nhiều.
Nói nhiều => Làm ít.
Làm ít => Vợ mắng.
Vợ mắng => Cáu nhiều.
Cáu nhiều => Ngủ ít.
Ngủ ít => Râu nhiều.
Râu nhiều =>...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 18:39 -
-
Trả lời cho Chọn dây dẫn cho điện DC?bởi mèomướpDạ vài chục mét thì chú tính như vậy được ạ. Chứ chuẩn thì phải tính cả điện trở của toàn bộ chiều dài dây dẫn nhân với dòng điện xem sụt áp có trong khoảng chấp nhận đc hông ạ. Trong mạch điện tử khoảng cách ngắn và mạch...
-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 14:49 -
-
bởi vietroadTheo mình biết thì chọn dây dẫn dựa vào dòng tải. Thường thì tiết diện 1mm2 cho dòng 6A. Nhưng trong các mạch điện tử, như mạch nguồn tổ ong chẳng hạn, dòng đến vài chục Ampe mà đường mạch mỏng dính. Phải chăng điện DC nó khác với...
-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 14:19 -
-
Trả lời cho Hỏi về bơm màng bldcbởi vi van phamPhải xem cơ cấu bơm, chứ xem cơ cấu rotor, thì chỉ làm thầy bói xem voi.
-
Channel: Điện tử dành cho người mới bắt đầu
29-11-2024, 08:19 -
-
Trả lời cho Xin hỏi về màn hình laptopbởi yname11vg, cám ơn bác...........
-
Channel: Thiết bị điện tử cá nhân
28-11-2024, 14:37 -
-
bởi khoine9899
Em chào các anh và mọi người.
Hiện em đang có 1 con bơm màng trong thiết bị y tế đang gặp tình trạng yếu dần hoặc ngừng hoạt động sau thời gian sử dụng
Sau khi tìm hiểu về thông tin của bơm trên mạng thì em được biết...-
Channel: Điện tử dành cho người mới bắt đầu
28-11-2024, 11:22 -
-
Trả lời cho Cần mọi người giúp mạch tạo sóng siêu âm máy rửabởi bqviet
-
Channel: Điện tử công suất
27-11-2024, 20:26 -
-
bởi Minhdai95Em chào mọi người, e đang sửa mạch tạo sóng siêu âm cho máy rửa mà chưa có tài liệu để tham khảo sửa, mọi người cho e xin tài liệu ạ...
-
Channel: Điện tử công suất
27-11-2024, 11:37 -
Comment