Top Banner
23/11/2013 Hướng dẫn - Tự học lập trình cơ bản với Msp430G2553 | Cộng đồng cơ điện tử Việt Nam | Mechatronics codientu.org/threads/tu-hoc-lap-trinh-co-ban-voi-msp430g2553.6566/ 1/14 2 Next > Đăng 23/6/13 #1 thanh_nhanbk Moderator Số bài viết: 268 Đã được thích: 488 Hướng dẫn - Tự học lập trình cơ bản với Msp430G2553 Thảo luận trong 'Họ MSP430' Đang xem chủ đề này ( Thành viên: 0, Khách: 1) Moderators: thanh_nhanbk Việc viết 1 bài tut như thế này đối với 1 người đang học msp430 như mình là việc có phần hơi khó khăn, nhưng đã hứa với anh BuiBachTuanAnh là sẽ viết 1 tut về msp430 nên mình xin chia sẻ cho mọi người tại đây . Mặc dù chưa viết xong nhưng cũng xin up lên đây, để mà lấy động lực để viết tiếp. Để có nguồn tư liệu viết này , trước tiên mình xin cảm ơn các anh chị tại CLB nghiên cứu khoa học - khoa điện - điện tử trường Đại học Bách Khoa TP.HCM đã giúp đỡ mình rất nhiều. Mọi việc thảo luận hay góp ý xin các bạn đăng bài tại Thảo luận - Tổng hợp các vấn đề về dòng MSP430 | Cộng đồng cơ điện tử Việt Nam | Mechatronics . Mong các bạn đóng góp ý kiến để tài liệu được hoàn chỉnh hơn nữa . Xin cảm ơn ! Lê Thành Nhân [email protected] Trang chủ Diễn đàn Điện - Điện Tử Vi điều khiển Họ MSP430 1 Trang chủ Diễn đàn Tìm kiếm Có gì mới? Tài Nguyên Video Tutorial Đăng nhập hoặc Đăng ký
14

Tự học lập trình cơ bản với Msp430G2553

Oct 24, 2015

Download

Documents

nguyenxuansy
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Tự học lập trình cơ bản với Msp430G2553

23/11/2013 Hướng dẫn - Tự học lập trình cơ bản với Msp430G2553 | Cộng đồng cơ điện tử Việt Nam | Mechatronics

codientu.org/threads/tu-hoc-lap-trinh-co-ban-voi-msp430g2553.6566/ 1/14

2 Next >

Đăng 23/6/13 #1

thanh_nhanbk

Moderator

Số bài viết: 268

Đã được thích: 488

Hướng dẫn - Tự học lập trình cơ bản với Msp430G2553Thảo luận trong 'Họ MSP430'

Đang xem chủ đề này ( Thành viên: 0, Khách: 1)

Moderators: thanh_nhanbk

Việc viết 1 bài tut như thế này đối với 1 người đang học msp430 như mình là việc có phần hơi khó khăn, nhưng đã hứa

với anh BuiBachTuanAnh là sẽ viết 1 tut về msp430 nên mình xin chia sẻ cho mọi người tại đây .

Mặc dù chưa viết xong nhưng cũng xin up lên đây, để mà lấy động lực để viết tiếp.

Để có nguồn tư liệu viết này , trước tiên mình xin cảm ơn các anh chị tại CLB nghiên cứu khoa học - khoa điện - điện tử

trường Đại học Bách Khoa TP.HCM đã giúp đỡ mình rất nhiều.

Mọi việc thảo luận hay góp ý xin các bạn đăng bài tại Thảo luận - Tổng hợp các vấn đề về dòng MSP430 | Cộng

đồng cơ điện tử Việt Nam | Mechatronics .

Mong các bạn đóng góp ý kiến để tài liệu được hoàn chỉnh hơn nữa .

Xin cảm ơn !

Lê Thành Nhân

[email protected]

Trang chủ Diễn đàn Điện - Điện Tử Vi điều khiển Họ MSP430

1

Trang chủ Diễn đàn

Tìm kiếm Có gì mới?

Tài Nguyên Video Tutorial

Đăng nhập hoặc Đăng ký

Page 2: Tự học lập trình cơ bản với Msp430G2553

23/11/2013 Hướng dẫn - Tự học lập trình cơ bản với Msp430G2553 | Cộng đồng cơ điện tử Việt Nam | Mechatronics

codientu.org/threads/tu-hoc-lap-trinh-co-ban-voi-msp430g2553.6566/ 2/14

Chủ đề cùng chuyên mục

Sử dụng Thạch anh ngoài cho Msp430g2553

[Nhận góp ý] Dùng MSP430 điều khiển...

MSP430 WITH LCD16x2 CIRCUIT BY LUONG9

ĐO NHIỆT ĐỘ ĐỘ ẨM DÙNG DHT11

Đồ án đo cường độ ánh sáng, hiển thị LCD

Tổng hợp các vấn đề về dòng MSP430

Tổng hợp các vấn đề cơ bản về dòng...

[Giúp em] Giải thuật nhập pass cho khóa...

[Giúp em] Dùng 74HC595 hiển thị Ra led...

[giúp em] Tạo hàm gửi kết quả quét...

Chia sẻ

Tự học lập trình cơ bản với Msp430G2553 ~~> http://codientu.org/threads/tu-hoc-lap-trinh-co-ban-voi-msp430g2553.6566/ :x

3

quockhanh, reichperson, huuhung100 và 11 others thích bài này.

#1

Đăng 23/6/13 #2

thanh_nhanbk

Moderator

Số bài viết: 268

Đã được thích: 488

Chương 1 : Giới thiệu qua họ vi điều khiển MSP430G2553.

1.Giới thiệu tổng quát :

Các dòng vi điều khiển msp430 này do hãng TI ( Texas Instruments) sản xuất, ngoài ra thì TI còn sản xuất

và cung cấp nhiều linh kiện điện tử và các module khác , để tìm hiểu thì các bạn có thể tham khảo ở địa chỉ :

www.ti.com để biết rõ hơn .

Vi điều khiển( Micro controller unit – MCU ) là đơn vị xử lý nhỏ, nó được tích hợp toàn bộ các bộ nhớ như

ROM , RAM , các port truy xuất , giao tiếp ngoại vi trực tiếp trên 1 con chip hết sức nhỏ gọn. Được thiết kế

dựa trên cấu trúc VON-NEUMAN , đặc điểm của cấu trúc này là chỉ có duy nhất 1 bus giữa CPU và bộ nhớ

(data và chương trình) , do đó mà chúng phải có độ rộng bit tương tự nhau.

MSP430 có một số phiênbản như: MSP430x1xx, MSP430x2xx, MSP430x3xx,

MSP430x4xx, MSP430x5xx. Dưới đây là những đặc điểm tổng quát của họ vi điều khiển MSP430:

+ Cấu trúc sử dụng nguồn thấp giúp kéo dài tuổi thọ của Pin

-Duy trì 0.1µA dòng nuôi RAM.

-Chỉ 0.8µA real-time clock.

-250 µA/ MIPS.

+ Bộ tương tự hiệu suất cao cho các phép đo chính xác

-12 bit hoặc 10 bit ADC-200 kskp, cảm biến nhiệt độ, Vref ,

-12 bit DAC.

-Bộ giám sát điện áp nguồn.

+ 16 bit RISC CPU cho phép được nhiều ứng dụng, thể hiện một phần ở kích thước Code lập trình.

-Thanh ghi lớn nên loại trừ được trường hợp tắt nghẽn tập tin khi đang làm việc.

-Thiết kế nhỏ gọn làm giảm lượng tiêu thụ điện và giảm giá thành.

-Tối ưu hóa cho những chương trình ngôn ngữ bậc cao như C, C++

-Có 7 chế độ định địa chỉ.

-Khả năng ngắt theo véc tơ lớn.

Facebook social plugin

Comment

Add a comment...

Page 3: Tự học lập trình cơ bản với Msp430G2553

23/11/2013 Hướng dẫn - Tự học lập trình cơ bản với Msp430G2553 | Cộng đồng cơ điện tử Việt Nam | Mechatronics

codientu.org/threads/tu-hoc-lap-trinh-co-ban-voi-msp430g2553.6566/ 3/14

quockhanh, tuanlsbk, Coffee-Bean và 6 others thích bài này.

#2

Đăng 23/6/13 #3

thanh_nhanbk

Moderator

Số bài viết: 268

Đã được thích: 488

+ Trong lập trình cho bộ nhớ Flash cho phép thay đổi Code một cách linh hoạt, phạm vi rộng, bộ nhớ Flash

còn có thể lưu lại như nhật ký của dữ liệu.

Chương 2 : Phần cứng Msp430G2553 .

1.Sơ đồ chân :

Chip MSP430 có kích thước nhỏ gọn , chỉ với 20 chân đối với kiểu chân DIP.

Bao gồm 2 port I/O (hay GPIO general purprose input/ output : cổng nhập xuất chung).

Ta thấy rằng mỗi port đều có 8 chân.

Port 1 : có 8 chân từ P1.0 đến P1.7 tương ứng với các chân từ 2-7 và 14 , 15.

Port 2 : cũng gồm có 8 chân P2.0 – P2.7 ứng với các chân 8 – 13 , 18,19.

Ngoài chức năng I/O thì trên mỗi pin của các port đều là những chân đa chức năng, ta thể thấy rõ trong bảng

sau :

Page 4: Tự học lập trình cơ bản với Msp430G2553

23/11/2013 Hướng dẫn - Tự học lập trình cơ bản với Msp430G2553 | Cộng đồng cơ điện tử Việt Nam | Mechatronics

codientu.org/threads/tu-hoc-lap-trinh-co-ban-voi-msp430g2553.6566/ 4/14

quockhanh, Coffee-Bean, nguyenphuocho và 6 others thích bài này.

#3

Đăng 23/6/13 #4

thanh_nhanbk

Moderator

Số bài viết: 268

Đã được thích: 488

Trên bảng là chức năng của từng chân , ngoài ra đối với các MCU có kiểu chân SMD loại 28 chân thì nó có

thêm port 3 nữa,nhưng ở đây chỉ xét đối với kiểu DIP 20 chân và kiểu TSSOP 20 chân , kiểu còn lại các bạn

có thể tìm hiểu trên trang chủ của nhà sản xuất .

2.Giải thích sơ lược các chân :

- Chân số 1 là chân cấp nguồn Vcc( ký hiệu trên chip là DVcc ) , ở đây nguồn cho chip chỉ được cấp ở mức

3,3V , nếu cấp nguốn cao quá mức này thì chip có thể hoạt động sai hay cháy chip .

Để có được mức nguồn này thì ta phải dùng 1 IC ổn áp riêng có ký hiệu LM1117 hay AD1117 , IC này có

kiểu chân SMD nhỏ gọn , cách mắc chip này thì cũng giống như với những IC nguồn như LM78xx , tuy

nhiên lưu ý ở đây là thứ tự chân ở đây có hơi khác 1 chút.Các bạn có thể xem datasheet của IC mà mắc cho

phù hợp.

-Chân 20 là chân nối cực âm (0V) , chân này thì không có gì đặc biệt.

Các bạn có thể tham khảo mạch nguồn ở đây để phục vụ cho việc thiết kế mạch học tập :

Page 5: Tự học lập trình cơ bản với Msp430G2553

23/11/2013 Hướng dẫn - Tự học lập trình cơ bản với Msp430G2553 | Cộng đồng cơ điện tử Việt Nam | Mechatronics

codientu.org/threads/tu-hoc-lap-trinh-co-ban-voi-msp430g2553.6566/ 5/14

Trên mạch các bạn có thể thấy là có thêm IC 7805 cấp 5V , với mục đích để sử dụng cho các ngoại vi khác

cho ứng dụng của các bạn , mạch trên chỉ giúp các bạn tham khảo, nhưng các bạn yên tâm là mạch này

không hề sai , các bạn có thể lấy đúng giá trị như mạch trên .

-Chân reset : Chính là chân số 16 RST , nếu các bạn đã từng học về PIC thì sẽ thấy chân reset có ký hiệu là

MCLR , các bạn để ý thấy dấu gạch ngang trên có nghĩa là chân này tích cực ở mức thấp . Mục đích của

việc reset là nhằm cho chương trình chạy lại từ đầu .

Mạch reset cho chip :

Các bạn chú ý tụ ở đây là tụ pi và chính xác là tụ 102 nha, nếu thay đổi thì khi kết nỗi Jtag để nạp

code cho chip sẽ không được.

-Mạch dao động : Cũng giống như những dòng vi điều khiển khác thì Msp430 cũng hỗ trợ người dùng thạch

anh ngoài ( external crystal ), nhưng thạch anh ngoại vi cho phép chỉ có thể lên tới 32,768 kHz mà thôi, và

tín hiệu này được mắc trên 2 chân 18 và 19. Nhưng msp430 lại hỗ trợ thạch anh nội có thể lên đến 16Mhz,

tùy vào cách khai báo trong lập trình. Và mặc định của chip là thạch anh nội. Như vậy thì chúng ta không

cần thiết phải sử dụng mạch dao động ngoại cho chip giống như những dòng khác.

- Port I/O :

Port 1 : có 8 chân từ P1.0 đến P1.7 tương ứng với các chân từ 2-7 và 14 , 15.

Page 6: Tự học lập trình cơ bản với Msp430G2553

23/11/2013 Hướng dẫn - Tự học lập trình cơ bản với Msp430G2553 | Cộng đồng cơ điện tử Việt Nam | Mechatronics

codientu.org/threads/tu-hoc-lap-trinh-co-ban-voi-msp430g2553.6566/ 6/14

quockhanh, Coffee-Bean, mta_cdt và 5 others thích bài này.

#4

Đăng 23/6/13 #5

thanh_nhanbk

Moderator

Số bài viết: 268

Đã được thích: 488

Port 2 : cũng gồm có 8 chân P2.0 – P2.7 ứng với các chân 8 – 13 , 18,19.

Trong chế độ nhập (input) thì cả 2 port đều có 1 mạch điều khiển điện trở kéo dương – gọi là PULL UP

nhưng giá trị của điện trở này rất lớn khoảng 47K nên gọi là WEAK PULL UP RESISTAN. Việc điều khiển

PULL UP sẽ được tiến hành thông qua lập trình tác động lên thanh ghi PxREN sẽ được đề cập ở chương

sau .

Điều này cũng giống như việc thiết lập input ở port B của vi điều khiển PIC, ở port B cũng có điện trở kéo

lên , và người lập trình phải thao tác qua thanh ghi OPTION_REG.

ðTóm tắt :

Qua chương này chúng ta phải nắm được các chân cơ bản trước của chip .

ðMạch reset và mạch dao động OSC của chip .

ðCác chân I/O của 2 port và PULL UP .

Chương 3 : Mạch nạp cho MCU.

1 . Kit Lanchpad :

Với bất kỳ 1 con MCU nào thì việc phải thiết kế 1 mạch nạp cho chip là điều không thể bỏ qua ! Và với

Msp430 cũng không là ngoại lệ .

PIC hay 8051 thì có nhiều mạch nạp để nạp code cho chip , từ đơn giản đến phức tạp , nói chung cực kì đa

dạng.Và nói chung thì các mạch nạp cũng đều khá đắt , thấp cũng phải mất 200k hay hơn.

Như đã nói thì Msp430 là dòng value line , power low, và low – cost . Chính vì vậy mà TI đã cung cấp cho

người dùng 1 mạch nạp code + debug chỉ trên 1 mạch nhỏ gọn. Trong kit còn có hỗ trợ :

-1 mạch nạp code có cả debug

-1 dây cáp USB tốt để kết nối kit với máy tính.

-1 chip thạch anh 32,768kHz

-1 chip Msp430G2553

-1 chip Msp430G2453

-1 header female.

Tất cả chỉ có 9,8 USD – rất rẻ để học!

Đây chính là hình ảnh của Kit lanchpad :

Page 7: Tự học lập trình cơ bản với Msp430G2553

23/11/2013 Hướng dẫn - Tự học lập trình cơ bản với Msp430G2553 | Cộng đồng cơ điện tử Việt Nam | Mechatronics

codientu.org/threads/tu-hoc-lap-trinh-co-ban-voi-msp430g2553.6566/ 7/14

quockhanh, Coffee-Bean, mta_cdt và 4 others thích bài này.

#5

Đăng 23/6/13 #6

thanh_nhanbk

Moderator

Số bài viết: 268

Đã được thích: 488

Các bạn có thể mua tại địa chỉ sau : HShopVN

Kit có thể nạp được code cho dòng Msp430G : như msp430g2231, 2553, 2452,…

Kit kết nối với máy tính thông qua cổng USB .

Chương 4 : Trình biên dịch

Bây giờ chúng ta sẽ tiến hành cài đặt chương trình để có thể tiến hành viết code , biên dịch và nạp code cho

chip .

Không giống như chương trình của các dòng vi điều khiển khác , TI đã cung cấp cho người dùng những IDE

đã được tích hợp trong 1 gói phần mềm. Các bạn chỉ cần cài đặt 1 chương trình là đã có thể vừa viết code ,

debug, và nạp code cho chip.

Chắc nhiều bạn sẽ thắc mắc cụm từ debug có nghĩa là gì?

Debug chỉ là việc cho chương trình chạy từng dòng lệnh để kiểm tra lỗi của chương trình cũng như kiểm tra

được cả thanh ghi của chip khi nó thực hiện lệnh .

Có nhiều IDE được TI cung cấp cho người sử dụng , nhưng trong đó có 2 chương trình mạnh và được nhiều

người ưa thích đó là CCS và IAR . Các bạn đừng có nhầm lẫn giữa CCS C cho PIC với CCS cho Msp430

nhé! Hai chương trình này là hoàn toàn khác nhau .

Sau đây , xin được giới thiệu cụ thể 2 chương trình trên :

1 . IAR (IAR Embedded Workbench ) :

Đây là chương trình biên dịch được cung cấp bởi IAR SYSTEMS. Có 3 phiên bản: Kickstart Version – Free

Page 8: Tự học lập trình cơ bản với Msp430G2553

23/11/2013 Hướng dẫn - Tự học lập trình cơ bản với Msp430G2553 | Cộng đồng cơ điện tử Việt Nam | Mechatronics

codientu.org/threads/tu-hoc-lap-trinh-co-ban-voi-msp430g2553.6566/ 8/14

quockhanh, Coffee-Bean, Trần Ngọc Nhân và 5 others thích bài này.

#6

Đăng 23/6/13 #7

thanh_nhanbk

Moderator

Số bài viết: 268

Đã được thích: 488

, Baseline Version ~ $795 và Full Version ~ $2695.

Để tải chương trình , chúng ta có thể vào trang chủ : www.iar.com hoặc từ địa chỉ của TI : www.ti.com ,

sau đó gõ từ IAR trên mục tìm kiếm ,để download được thì các bạn phải tạo 1 tài khoản và đăng nhập để tải

về , các bạn chỉ có thể tải được bản trial mà thôi .

2 . CCS (Code composer studio ) :

Đây là chương trình do TI cung cấp , có nhiều server đã được cung cấp .

Phiên bản mới nhất hiện nay là CCS 5.3 .

Các bạn có thể tải tại : www.ti.com

Đăng nhập vào (sau khi đã đăng ký tài khoản ) , CCS có hỗ trợ cho người dùng bản dùng thử nhưng bị giới

hạn code (limited code ) , chúng ta chỉ được sử dụng 4kB bộ nhớ , nhưng với sinh viên chúng ta thì với 4 kB

cũng đã đủ làm những dự án nhỏ .

Chính vì vậy mà tôi khuyên bạn nên tải bản CCS về , và trong tài liệu này cũng sử dụng CCS để viết code .

CCS có rất nhiều tính năng hay mà sau này chúng ta sẽ cùng nhau nghiên cứu sau .Việc sử dụng phiên bản

nào là tùy thuộc vào các bạn , các version cũng đều giống nhau , nếu CCS 5.3 thì yêu cầu máy của bạn phải

có cấu hình đủ mạnh để dùng.

3 . Cài đặt và sử dụng CCS :

Sau khi tải CCS về , các bạn tiến hành cài đặt , cách cài đặt cũng rất đơn giản. Các bạn chỉ cần chạy file

setup.exe .

Đối với phiên bản CCS 4.3 hay 4.2 thì các bạn cài đặt xong là có thể sử dụng được nhưng với CCS 5.3 thì

các bạn còn phải làm 1 việc nữa đó là chọn : limit free code , thì mới viết code được . Cách làm như sau :

Sau khi cài đặt xong, các bạn khởi động chương trình :

Start -> all program -> Texas Instruments -> Chọn code ….

Hoặc chạy chương trình bằng cách click vào biểu tượng CCS trên desktop .

Sau đó , click chọn Help -> Code Composer code linsce -> upgrade -> active việc cài đặt và sử dụng cũng

như tạo mới 1 project các bạn xem tại mục MSP430 này, đã có gần như đầy đủ các video minh họa việc học

lập trình với msp430.

Phần 2 : Cách lập trình.

Phần này , sẽ giới thiệu cho các bạn cách lập trình trên MCU Msp430G2553 .

Ngôn ngữ lập trình ở đây chính là C (Language programing C).Đây là chủ đề chính của tài liệu .

Chương 1 : GPIO (General purpose input/ouput ) :

Đây sẽ là chương trình đầu tiên của các bạn , cũng tương tự như khi các bạn mới học C thì đầu tiên chúng ta

phải học cách viết chương trình hiển thị dòng chữ “hello word” in ra màn hình .

Ở đây chúng ta sẽ tìm hiểu cách viết 1 chương trình đơn giản , để biết cách bật tắt 1 led trên chân P1.0 . Tại

sao lại là trên chân P1.0 ? đơn giản là vì trên kit lanchpad đã có sẵn 2 chú led được hàn trên 2 chân là P1.0

và P1.6 .

Cũng giống như chức năng I/O của Pic thì chức năng GPIO cũng chỉ làm 1 việc đơn giản đó là việc xuất ra

tín hiệu hay đọc vào tín hiệu . Tín hiệu ở đây hiểu đơn giản là những tín hiệu điện - tín hiệu số .

Tín hiệu số (Binary ) tín hiệu này chỉ có 2 trạng thái đó là 1 và 0 .

Page 9: Tự học lập trình cơ bản với Msp430G2553

23/11/2013 Hướng dẫn - Tự học lập trình cơ bản với Msp430G2553 | Cộng đồng cơ điện tử Việt Nam | Mechatronics

codientu.org/threads/tu-hoc-lap-trinh-co-ban-voi-msp430g2553.6566/ 9/14

1 : Có điện , mức điện áp này bằng với điện áp nguốn cấp cho MCU .

00: không có điện .

1.Các thanh ghi cần thiết lập :

Msp430 có 2 port nhập xuất đó là :

Port1 : Từ chân P1.0 đến P1.7

Port2: 8 chân P2.0 đến P2.7

Để biết rõ các chân này trên MCU thì các bạn chịu khó đọc lại chương 1 trong phần 1 .

a. Thanh ghi PxSEL(x:1 , 2) và PxSEL2(x:1 , 2) :

Thanh ghi này qui định chế độ làm việc cho các chân bao gồm

PxSEL và PxSEL2 .

View attachment 5570

VD: Ta muốn port 1 là GPIO thì ta thực hiện lệnh như sau:

P1SEL = 0;

P1SEL2 = 0 ;

Nếu như muốn chân P1.2 làm chức năng I/O thì khai báo như sau :

P1SEL & = ~0x01 ; // sử dụng lệnh đảo bit , set về mức 0 .

P1SEL2 &= ~0x01;

Lưu ý: Interrupts P1 và P2 sẽ bị vô hiệu hóa khi PxSEL= 1 .

b. Thanh ghi PxDIR(x:1 , 2)

Thanh ghi này qui định loại ngõ vào ra cho các chân (I/O pins)

Mặc định các chân này là input, nên ta chỉ cần set output cho các chân này

VD: P1DIR = 0x01 // chân P1.0 là output.

Mức 1 : ouput ( xuất tín hiệu ) .

Mức 0 : input (đọc tín hiệu về) .

c. Thanh ghi PxREN(x:1 , 2)

Thanh ghi này cho phép tắt hoặc mở chế độ pullup/pulldown resistor cho các pins .

Bit = 0 : Tắt chức năng pull up /down (disable).

Bit= 1 : enable pull up/down.

d. Thanh ghi PxOUT(x: 1 , 2)

_Khi ta muốn xuất giá trị cho các chân I/O, ta sẽ đặt giá trị vào các thanh ghi PxOUT .

Bit = 1 : output mức cao.

Bit = 0 : output mức thấp.

_Khi ta config thanh ghi PxREN sang chế độ pullup/pulldown resistor thì

Bit = 1 : Pull up .

Bit = 0 : Pull down .

Lưu ý là ta phải chỉnh P1DIR trước khi xuất giá trị ra ngoài.

Tóm tắt:

Để thực hiện xuất / nhập trên 1 chân (Pin):

- Cài đặt đúng giá trị cho thanh ghi PxDIR

- Đặt kiểu tín hiệu của pin là GPIO hay các chức năng

khác qua thanh ghi PxSEL

Page 10: Tự học lập trình cơ bản với Msp430G2553

23/11/2013 Hướng dẫn - Tự học lập trình cơ bản với Msp430G2553 | Cộng đồng cơ điện tử Việt Nam | Mechatronics

codientu.org/threads/tu-hoc-lap-trinh-co-ban-voi-msp430g2553.6566/ 10/14

quockhanh, Coffee-Bean, NgoHungCuong và 10 others thích bài này.

#7

Đăng 27/6/13 #8

thanh_nhanbk

Moderator

Số bài viết: 268

Đã được thích: 488

- Xuất tín hiệu bằng cách ghi giá trị “0” hoặc “1” vào

port tương ứng (port P1OUT)

- Đọc giá trị của chân bằng cách đọc mức logic trên port tương ứng.

Code mẫu :

HTML:

#include <msp430g2231.h >void main(void){WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timerP1DIR |= 0x01; // Set P1.0 to output directionP1SEL = 0; // Set P1 GPIO functionP1SEL2 = 0;while(1){P1OUT ̂= 0x01; // Toggle P1.0 using exclusive-OR_delay_cycles(100); // Đối với CCS} }

Tạm thời bài viết sẽ tạm dừng tại đây , mình sẽ viết tiếp và sẽ up lên sớm cho mọi người , mong

các bạn ủng hộ mình ,hãy thể hiện việc làm của các bạn bằng cách thể hiện việc ấn like nhé!

Bài 1 : GPIO tiếp theo .

Bây giờ chúng ta sẽ viết về phần đọc tín hiệu cho msp430 , config chức năng input .

Các bạn lưu ý là trên kit lanchpad của chúng ta đã có sẵn 1 button được mắc vào chân P1.3 , vì

vậy chúng ta sẽ tận dụng điều này để viết code , không cần phải lắp mạch để test .

Như đã nói ở phần đầu thì việc thiết lập chế độ input , có tích hợp sẵn 1 mạch điều khiển điện trở

kéo dương - pull up , điện trờ tầm 47K , để bật được chức năng này , ta sẽ tác động đến thanh

ghi PxREN

Code :

HTML:

Page 11: Tự học lập trình cơ bản với Msp430G2553

23/11/2013 Hướng dẫn - Tự học lập trình cơ bản với Msp430G2553 | Cộng đồng cơ điện tử Việt Nam | Mechatronics

codientu.org/threads/tu-hoc-lap-trinh-co-ban-voi-msp430g2553.6566/ 11/14

quockhanh, nguyenphuocho, thaibinh và 4 others thích bài này.

#8

Đăng 8/10/13 #9

quockhanh, mta_cdt, huuhung100 và 4 others thích bài này.

#9

thanh_nhanbk

Moderator

Số bài viết: 268

Đã được thích: 488

Đăng 9/10/13 #10

// BAI 2 : doc button //

#include "msp430.h"int main (void){WDTCTL = WDTHOLD + WDTPW ;P1SEL &= ~(BIT0 + BIT3);P1SEL2 &= ~(BIT0 + BIT3) ;P1DIR |= BIT0 ; // P1.0 : OUT// BIT 3 : INPUTP1DIR &= ~BIT3 ; // LENH XOA BIT 3P1OUT |= BIT3 ; //BIT3 = 1P1REN = BIT3 ; //PULL UP BIT3

while(1) { if ((P1IN & BIT3)==0) { // se tat khi p1.3 khong co bam nut. P1OUT |= BIT0 ; } else P1OUT &= ~ BIT0 ; // se sang }

}

Thử tài tạo hiệu ứng LED .

Code mẫu thàm khảo từ : LED patterns using msp430 launchpad

PHP:

Code:#includemain(void) {WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timerP1DIR |= 0XFF; // set all the ports as output portsint x = 0X01;long i=0;int j=1;int k=0;int l=0;for(;;){

for(k=1;k<=5;k++){x=0×01;for(j=1;j<=8;j++){

P1OUT = x;x*=2;for(i=0;i<=10000;i++){}}}for(k=1;k<=5;k++){x=0×80;for(j=1;j<=8;j++){

P1OUT = x;x/=2;for(i=0;i<=10000;i++){}}}

for(k=1;k<=5;k++){

P1OUT=0xAA;for(l=0;l<=1;l++){for(i=0;i<=64000;i++){}}

Page 12: Tự học lập trình cơ bản với Msp430G2553

23/11/2013 Hướng dẫn - Tự học lập trình cơ bản với Msp430G2553 | Cộng đồng cơ điện tử Việt Nam | Mechatronics

codientu.org/threads/tu-hoc-lap-trinh-co-ban-voi-msp430g2553.6566/ 12/14

thanh_nhanbk

Moderator

Số bài viết: 268

Đã được thích: 488

Chương 2 : Basic ClocksPhần này có thể hơi khó hiểu, nhưng các bạn cứ đọc kỹ trước, rồi sau này sẽ hiểu dần dần sau .

Chế độ clock được cung cấp trong tất cả các dòng MCUs Msp430 của TI .Trong chương này sẽ giúp các bạn hiểu rõ về

hoạt động các xung clocks cơ bản của msp430.

1. Giới thiệu về clock :

Việc config xung clocks là vô cùng cần thiết đối với bất kỳ 1 con MCUs nào, có xung clock thì con mcu của chúng ta

mới có thể hoạt động đúng được .

Chúng ta có thể hiểu xung clocks chính là trái tim của 1 hệ thống xử lý số, và tốc độ xử lý lệnh phụ thuộc hoàn toàn

vào nguồn xung .

Vấn đề là làm sao chúng ta có thể thiết lập xung clocks này hoạt động .Chúng ta có thể có nhiều cách làm việc đó .

Với dòng msp430 này thì nó 3 loại xung cơ bản như sau :

- Internal Oscillators

- External Crystals

- External Oscillators

2. Internal/External Oscillators :

a. Internal :

Đây là nguồn dao động có sẵn bên trong chip , thông thường sử dụng các mạch RC được tích hợp sẵn với các hệ mạch

.

- Lợi ích của nguồn này đó là việc chúng ta có thể dễ dàng thay đổi được tần số hoạt động mà không cần phải sử dụng

các linh kiện ngoại – làm chiếm diện tích board .

- Trên chip Msp430 đã có sẵn nguồn xung DCO (Digitally Controller Oscillator) hỗ trợ tốc độ cao .

b. External :

Khác với những dòng vi điều khiển khác thì dòng Msp430 chỉ có thể hỗ trợ thạch anh có tần số lên đến 32.768khz ,việc

sử dụng thạch anh ngoại nhằm đáp ứng nhu cầu về ứng dụng cần chạy thời gian thực và cần sự chính xác cao .

Chính vì vậy mà chúng ta nên hạn chế sử dụng nếu có thể được , 1 mặt giảm việc thi công mạch in .

Page 13: Tự học lập trình cơ bản với Msp430G2553

23/11/2013 Hướng dẫn - Tự học lập trình cơ bản với Msp430G2553 | Cộng đồng cơ điện tử Việt Nam | Mechatronics

codientu.org/threads/tu-hoc-lap-trinh-co-ban-voi-msp430g2553.6566/ 13/14

quockhanh, sgesvn, mta_cdt và 4 others thích bài này.

#10

2 Next > (Bạn phải Đăng nhập hoặc Đăng ký để trả lời bài viết.)

Hình ảnh chỉ mang tính minh họa .

Trong chương này , chúng ta sẽ nghiên cứu chi tiết việc thiết lập nguồn xung nội ,như vậy sẽ đơn giản cho việc thiết kế

phần cứng .Và nguồn xung nội hỗ trờ dải tần làm việc tử 400-kHz to 16-MHz .

3. Mode trong xung nội :

Trong nguồn xung nội thì chúng ta có tối đa là 4 mode chế độ hoạt động , các mode này lần lượt là :

LFXT1CLK : Low-frequency/high-frequency oscillator

Module dao động hỗ trợ tần số thấp / cao , có thể được dung cho ứng dụng với bộ theo dõi tần số thấp thạch anh

32.768khz , hoặc từ các nguồn xung khác có tần số từ 400khz đến 16Mhz .

XT2CLK: Optional high-frequency oscillator .

Module lựa chọn làm việc ở tần số cao .

DCOCLK: Internal digitally controlled oscillator (DCO).

Bộ dao động số được tích hợp sẵn trong chip, khi làm việc nếu không có thiết lập gì về nguồn xung thì msp430 sẽ hoạt

động dưa trên bộ DCO này .

VLOCLK: Internal very low power, low frequency oscillator with 12-kHz typical frequency

Module tích hợp , đây là mode hoạt động siêu tiết kiệm năng lượng .

Sơ đồ khối clocks :

(còn nữa ...)

1

Page 14: Tự học lập trình cơ bản với Msp430G2553

23/11/2013 Hướng dẫn - Tự học lập trình cơ bản với Msp430G2553 | Cộng đồng cơ điện tử Việt Nam | Mechatronics

codientu.org/threads/tu-hoc-lap-trinh-co-ban-voi-msp430g2553.6566/ 14/14

Cộng đồng của những người đam mê kỹ thuật, nơi trao đổi, thảo luận, hỏi

đáp những vẫn đề liên quan đến kỹ thuật.

Website đang hoạt động thử nghiệm, chờ giấy phép MXH của Bộ TT & TT.

Chúng tôi không chịu trách nhiệm về nội dung đăng tải của người dùng.

FOLLOW US

OUR LINKS

Điện tử cơ bản

Vi điều khiển

CAD/CAM/CNC

Tài liệu điện tử

Tài liệu cơ khí

Share ACC VIP

THÔNG TIN

Thông báo chung

Bản tin công nghệ

HD sử dụng forum

Thắc mắc- Góp ý

Tài nguyên diễn đàn

Liên hệ - Quảng cáo

LIÊN KẾT BẠN BÈ

PC & Mobile Soft

echipkool.net

vietdesigner.net

nguoibaclieu.com

vntech24h.com

diendan.shpt.info

Diễn đàn sử dụng XenForo™ ©2011 XenForo Ltd. Mechatronics@2013 Tiếng Việt Quy định và Nội quy

Tweet 0 3

Moderators: thanh_nhanbk

Tags: BuiBachTuanAnh

Chia sẻ trang này

Trang chủ Diễn đàn Điện - Điện Tử Vi điều khiển Họ MSP430

13 people like this.Like