[Thông báo] THÀNH LẬP CÔNG TY TNHH TM & DV EPLUSI
Nhận đặt hàng các sản phẩm từ Texas Instruments
Sản phẩm thương mại của diễn đàn
Kênh video riêng của diễn đàn
Thiết kế - Thi công dự án điện tử theo yêu cầu





Đăng  trả lời 
 
Đánh giá chủ đề:
  • 45 phiếu bầu - Trung bình 2.78
  • 1
  • 2
  • 3
  • 4
  • 5
Code mở rộng port cho msp430
02-10-2011, 07:59 PM (Được chỉnh sửa: 26-11-2011 12:06 AM bởi msp430.)
Bài viết: #1
Code mở rộng port cho msp430
#include "msp430x22x4.h"
void MoRongP2(unsigned int q); // Khai báo hàm mo rong tang thu hai
union reg { // Khai báo 1 byte 8 bit
struct bit {
unsigned char b0:1;
unsigned char b1:1;
unsigned char b2:1;
unsigned char b3:1;
unsigned char b4:1;
unsigned char b5:1;
unsigned char b6:1;
unsigned char b7:1;
}_BIT;
unsigned char _BYTE;
};

union reg* _P3_DIRECT = (union reg*)0x1A ; // Dinh nghia vùng nho 0x1A
union reg* _P3_OUT = (union reg*)0x19 ; // Dinh nghia vùng nho 0x19
union reg* _P2_DIRECT = (union reg*)0x2A ; // Dinh nghia vùng nho 0x2A
union reg* _P2_OUT = (union reg*)0x29 ; // Dinh nghia vùng nho 0x29


int main(void) // Chuong tŕnh chính
{
WDTCTL = WDTPW + WDTHOLD; // Dung ngat
_P3_DIRECT->_BYTE = 0xff; // Dinh nghia Port 3 là xuat
_P2_DIRECT->_BYTE = 0xff; // Dinh nghia Port 2 là xuat
volatile unsigned int a; // Bien khai báo trong RAM
{
a=0xA4BC; // Gán a = A4BC
MoRongP2(a); // Mo rong tang 2 voi 16 bit cua a
}
}
void MoRongP2(unsigned int e) // Hàm mo rong tang thu 2
{
volatile unsigned int f,g,h; // Bien khai báo trong RAM
f=0x8000; // Gán f=8000
g=16; // Cho g=16
while(g>0) // Trong khi g>0 th́ th?c hi?n
{
h = e&f; // h = e and f
if ( h == f) // Neu h=f
{
_P3_OUT->_BIT.b2=1; // bit 2 port 3 là muc 1
}
Else // nguoc lai h không =f
{
_P3_OUT->_BIT.b2=0; // bit 2 port 3 muc 0
}
_P2_OUT->_BIT.b4=0; // bit 4 port 2 muc 0(xung clock)
_P2_OUT->_BIT.b4=1; // bit 4 port 2 muc 1
f=f>>1; // Xoay phai f
g--; // Giam g di 1
}
_P3_OUT->_BIT.b0=0; // bit 04 port 3 muc o(xung chot)
_P3_OUT->_BIT.b0=1; // bit 04 port 3 muc 1
}


Các bạn có thể truy cập vào địa chỉ này để xem rõ hơn về chương trinh code mở rộng port và sơ đồ mạch: http://kimansfield.com/MSP430.html


Có thể liên quan đến chủ đề
Code MSP430 Application UART with TI Launchpad
Code giao tiếp giữa MSP430 và LCD theo phương thức 4bit
Code giao tiếp giữa MSP430G2553 với TRF7970A
Code ứng dụng trên kit MSP -EXP430FG4618
V/v đếm từ 00 - 99 dùng MSP430
Thắc mắc: code dùng MSP đo vận tốc
code struct bit cho MSP430
Code giao tiếp giữa MSP430 và LCD theo phương thức 8bit
loi chay chuong trinh MSP430
Thắc mắc: Khai báo kiểu cấu trúc cho MSP430 trong CCS
Tìm tất cả bài viết của thành viên này
Trích dẫn bài này trong bài trả lời
Đăng  trả lời 


Chuyển nhanh: