Giao Tiếp MSP430 Và LCD16x2 - Thuanbk55
Có thể bạn quan tâm
Trang
- Trang chủ
- Thiết bị đo điện tử
- MSP430 Tutorial
- MSP430 Library
- All Project
- Algorithm
Saturday, May 24, 2014
Giao tiếp MSP430 và LCD16x2
LCD16x2 là một công cụ hiển thị hết sức cơ bản và quen thuộc với tất cả các bạn đã và đang học điện tử.Vì vậy trong bài này mình không đi sâu giải thích nguyên lý hoạt động của nó nữa.Ở đây mình chỉ hướng dẫn cơ bản cách sử dụng thư viện LCD16x2.h ,các hàm và cách viết chương trình.Bộ thư viện này chỉ là giao tiếp I/O nên dùng được cho mọi dùng MSP430. 1.Sơ đồ mạch Có LCD có 2 chế độ điều khiển đó là có phản hồi và không có phản hồi(cờ bận RW),việc dùng chân RW sẽ tốn thêm 1 chân VĐK tuy nhiêu tốc độ giao tiếp sẽ rất cao,ít xảy ra lỗi(khuyến khích sử dụng).Ngoài ra còn có kiểu truyền dữliệu 4 bit hoặc 8 bit,nhưng hầu hết mọi người đều sử dụng mode 4 bit để giảm số chân điều khiển của VĐK. Sơ đồ nối dây trong mô phỏng(dùng với MSP430F2272) Bộ thư viện chúng ta sử dụng yêu cầu dùng mode truyền dữ liệu 4 bit,4 chân truyền dữ liệu bắt buộc phải liền nhau trong 1 Port ,theo đúng thứ tự từ thấp đến cao ,tuy nhiên không nhất thiết phải là 4 bit cao của port có mà có thêm lựa chọndịch xuống(tức là như hình các bạn nối(D4-P1.4 D5-P1.5 D6-P1.6 D7-P1.7 nhưng cũng có thể nối D4-P1.1 D5-P1.2 D6-P1.3 D7-P1.4).Cấu hình như vậy nhằm giảm số dòng code và tăng tốc độ hoạt động.Khi sử dụng nhất thiết phải cấu hình lại chân trong thư viện cho đúng với mạch. 2.Chương trình Một số chú ý : -Khi chạy trên mô phỏng các bạn có thể gặp warning hoặc có thể không chạy nếu dùng bit RW,tuy nhiên trên mạch thật sẽ không gặp vấn đề gì cả. -Nếu không dùng bit RW thì phải xóa khai báo #define USE_WAIT còn dùng thì để khai báo này. -Nếu không sử dụng bit RW thì phải cài đặt lcd_delay cho phù hợp với tốc độ hoạt động của chip sao cho thời gian thực của số lcd_delay chu kỳ máy ít nhất là 40micros -4 bit data ở vị trí mặc định là 4 bit cao của 1 port,nếu các bạn muốn dùng 4 bit thấp hơn của port đấy thì phải sửa lại define SHIFT_DATA bằng đúng số bit dịch(ví dụ nếu D7-P1.5 thì SHIFT_DATA=2 - Khi mô phỏng thì các bạn cần tạo file hex,có thể vào Properties > Build > Step > Apply predefined Step chọn hex Các hàm cần biết: -LCD_Init(); Hàm khởi tạo các chân điều khiển,gọi ra khi muốn sử dụng LCD. -LCD_Clear();Xóa trắng dữ liệu trên màn hình -LCD_Home();Đưa con trỏ về vị trí đầu tiên hàng trên cùng -LCD_Goto(x,y);Đưa con trỏ đến vị trí hàng x cột y (Các bạn có thể sử dụng thư viện này cho LCD20x4,tuy nhiên phải sửa lại hàm này để nhảy được đến cả 4 dòng). -LCD_Wait();Hàm chờ LCD rảnh -LCD_Display(‘ ’);In ra ký tự trong dấu ‘ ’ -LCD_PrintString(“ “);In ra chuỗi trong dấu “ “ -LCD_PrintDecimal(n,length);In ra số nguyên có dấu n với độ dành length -LCD_PrintFloat(x,length,coma)In ra số thực x với độ dành length(tính cả dấu chấm) và làm trong coma chữ số sau dấu phẩy. Ví dụ tham khảo://////////////////////////////////////////////////////////////////// // CHUONG TRINH TEST LCD16x2 // VIET BOI : PHAM VAN THUANDTVT07-K55 // Email:terran991992@gmail.com // Blog :http://thuanbk55.blogspot.com/ // ................................................................. // AP DUNG CHO MACH UNG DUNG MSP430 //******************************************************************/ #include"msp430f2272.h" #include"stdio.h" #include"LCD_16x2.h" void main() { unsignedint x=100; float y=1.2347; WDTCTL = WDTPW | WDTHOLD;//Stop Watchdog DCOCTL = CALDCO_1MHZ;// Clock=1Mhz BCSCTL1 = CALBC1_1MHZ; LCD_Init(); while(1) { LCD_Clear(); LCD_Home(); LCD_PrintString("Test LCD_16x2"); LCD_Goto(2,0); LCD_PrintDecimal(x,4); LCD_Goto(2,8); LCD_PrintFloat(y,5,3); _delay_cycles(1000000); } } |
13 comments:
- UnknownJanuary 25, 2015 at 9:03 AM
bạn ơi con LCD16x2 này chạy 5v mà con msp430 này chạy 3.3v mà bạn nối dây này thì có làm sao không?
ReplyDeleteReplies- Pham ThuanJanuary 25, 2015 at 1:05 PM
Có loại LCD 3.3V đấy bạn ạ.Còn nếu bạn vẫn dùng LCD 5V thì bạn cấp nguồn 5V cho LCD cũng được,các chân tín hiệu vẫn dùng được 3.3V bình thường,nối trực tiếp với MSP430
DeleteReplies- Reply
- UnknownJanuary 26, 2015 at 12:30 AM
ok, cảm ơn bạn nhé!
DeleteReplies- Reply
- UnknownJanuary 26, 2015 at 1:03 AM
cho mình hỏi câu nữa : sao m add thư viên LCD_16x2 của bạn vào mà nó lỗi tùm lum ấy nhỉ, m dùng ccs 6.0.1
DeleteReplies- Reply
- Pham ThuanJanuary 26, 2015 at 1:18 AM
bạn để ý là thư viện này viết đặc thù cho MSP430G2553,khi dùng với chip khác kể cả cùng dòng chip cũng phải để ý vì có thể cấu hình chân IO vẫn không đúng.Khác dòng nhưng thuộc họ MSP thì vẫn dùng bình thường nhưng phải cấu hình lại chân.Một chú ý khác là một số chip cũ ko có thanh ghi PxSEL2 ,nên thường báo lỗi chỗ này
DeleteReplies- Reply
- UnknownJanuary 27, 2015 at 11:58 PM
ok, cảm ơn bạn đã reply lại nhé! m cũng dùng MSP430G2553 trên kit launchpad mà, m xem nó k phải lỗi I/O đâu, nó lỗi gì gì ấy .....VD: PSELLCD &=~(0xF0>>SHIFT_DATA); //Chon chuc nang I/O //PSEL2LCD &=~(0xF0>>SHIFT_DATA); DDRLCD|=0xF0>>SHIFT_DATA; //Chon xuat du lieu cho 4 chan data PRENLCD &=~(0xF0>>SHIFT_DATA); //Khong co dien tro noi keo len PORTLCD &=~(0xF0>>SHIFT_DATA); //Dau ra muc thap
DeleteReplies- Reply
- Pham ThuanJanuary 30, 2015 at 10:11 AM
Có thể bạn xóa mất mấy cái define rồi,còn thư viện này mình chạy bình thường không thấy có vấn đề gì,bạn có thể trỏ chuột vào biểu tượng error của từng dòng,nó sẽ hiện lỗi cụ thể,chứ bạn nói chung chung thế mình cũng chịu thôi
DeleteReplies- Reply
Reply
- Pham ThuanJanuary 25, 2015 at 1:05 PM
- UnknownApril 4, 2019 at 10:37 AM
bài của anh hay quá anh học bk đúng ko a
ReplyDeleteReplies- Reply
- nguyenNovember 28, 2019 at 3:55 PM
Gán quảng cáo ức chế vcl, có tải được đâu.
ReplyDeleteReplies- Reply
- trungJuly 8, 2021 at 1:43 PM
bài này của anh hay mà thư viện LCD_16x2.h ko tải đc mong a giúp đỡ
ReplyDeleteReplies- Reply
- AnonymousDecember 21, 2021 at 8:10 PM
Em không đọc được giá trị nhiệt độ dht11 lên lcd 16x2 anh có thể giúp em được không ?Em cảm ơn.
ReplyDeleteReplies- Reply
- AnonymousMay 29, 2023 at 12:47 PM
xuống hàng thì sài lệnh gì vậy anh,với lại lệnh LCD_goto(x,y); sử dụng như thế nào vậy
ReplyDeleteReplies- Reply
- AnonymousAugust 23, 2024 at 6:21 PM
nếu em gắn thêm i2c thì code thư viện như nào ạ
ReplyDeleteReplies- Reply
Danh sách chuyên mục
HitechLab.vn
Hitechlab.vn
Dự án đã hoàn thành
- Thiết kế đồng hồ số dùng MSP430
Dự án đang hoàn thiện
- Algorithm
- Tutorial MSP430
Popular Posts
- Bài 8.(MSP430_Basic) I2C USCI
- Phần mềm hỗ trợ giao tiếp UART
- Giao tiếp MSP430 và LCD16x2
- Bài 7.(MSP430_Basic) ADC 10bit
- Bài 1.(MSP430_Basic)Cài đặt phần mềm,tool hỗ trợ,giới thiệu công cụ phát triển
- Bài 1.(Học MSP430 qua ví dụ)Đồng hồ số - Yêu cầu chức năng,thiết kế
Blog Archive
- ► 2020 (1)
- ► August (1)
- ► 2016 (3)
- ► March (2)
- ► February (1)
- ► 2015 (4)
- ► February (1)
- ► January (3)
Labels
MSP430 (20) MSP430_Tutorial (8) MSP430_Application (7) Dien_tu_ung_dung (4) MSP430_Library (4) Algorithm (3) Design_PCB (2) Electronics_Tutorials (2) Altium (1) Co_so_toan_hoc (1) Dien_tu_cong_suat (1) Dynamic (1) MSP430_Product (1) Pham_mem_ho_tro (1) Stack (1)Categories
- Algorithm
- Altium
- Co_so_toan_hoc
- Design_PCB
- Dien_tu_cong_suat
- Dien_tu_ung_dung
- Dynamic
- Electronics_Tutorials
- MSP430
- MSP430_Application
- MSP430_Library
- MSP430_Product
- MSP430_Tutorial
- Pham_mem_ho_tro
- Stack
Popular Posts
- Bài 8.(MSP430_Basic) I2C USCI I2C là một chuẩn truyền thông đa chip chủ được sử dụng khá phổ biến trong rất nhiều thiết bị như bộ nhớ,bộ chuyển đổi ADC,...
- Phần mềm hỗ trợ giao tiếp UART Hercules là một trong những phần mềm được thiết kế rất gọn nhẹ và trực quan cho phép quản lý các kết nối đến máy tính.Các bạn có t...
- Giao tiếp MSP430 và LCD16x2 LCD16x2 là một công cụ hiển thị hết sức cơ bản và quen thuộc với tất cả các bạn đã và đang học điện tử.Vì vậy trong bài này mình ...
- Bài 7.(MSP430_Basic) ADC 10bit Trước hết trước khi bắt đầu các bạn nếu chưa có datasheet của dùng MSP430 thì có thể download tại đây : http://www.ti.com/general/docs/lit/...
- Bài 1.(MSP430_Basic)Cài đặt phần mềm,tool hỗ trợ,giới thiệu công cụ phát triển Chào các bạn! Trước khi bắt đầu,mình giới thiệu qua về loạt bài hướng dẫn lập trình MSP430 này.Đây là loạt bài hướng dẫn chi tiết c...
Từ khóa » Msp430 Với Lcd
-
Giao Tiếp MSP430 Với LCD Bằng 3 Chân GPIO - Tinker IoT
-
(MSP340) MSP430 Hiển Thị LCD Qua Giao Tiếp I2C - YouTube
-
Code Giao Tiếp Giữa MSP430 Và LCD Theo Phương Thức 4bit
-
Giao Tiếp Lcd Với Msp430 - 123doc
-
Học MSP430 Với Kit MSP430 LaunchPad -Bài 5: UART - MLAB
-
Mạch Phần Cứng Giao Tiếp Lcd 16x2 Với Msp430 - Dien Tu Viet Nam
-
Giao Tiếp Msp Và LCD 16*2 | Payitforward Community
-
[PDF] BÁO CÁO PROJECT 2 GVHD: Ths.Dương Thanh Phương
-
Vi Điều Khiển Msp430 - MSP430,74595,LCD | Facebook
-
Alphanumeric 16*2 LCD Display Interfacing With MSP430 Using ...