[C7] Nhắn nhủ về Bài tập tốt nghiệp :D

Manhdd

Cố Vấn CLB
Staff member
Chào các em C7! :D
Hôm nay là buổi thi chính thức cuối cùng của học kỳ I. Chúng ta có thể gấp sách vở, xoá phim, gỡ game, ... để trở lại hoạt động bình thường ở CLB =))

Công việc trước mắt mà các em còn nợ là Đề tài Tốt nghiệp của khoá C7:
"Sản phẩm cơ bản là FanLED: 1 giải cho sản phẩm có tính mỹ thuật nhất, một giải có ý tưởng kỹ thuật sáng tạo nhất và bạn nào có sản phẩm hoàn chỉnh sẽ đc kết nạp thành viên chính thức PIF. Bạn nào làm sản phẩm nào phức tạp hơn có thể mang đến trình bày đều được... "
Lễ tốt nghiệp dự kiến được tổ chức vào chiều thứ 7, 19/1/2013 (các em chú ý theo dõi cập nhật thời gian, địa điểm chính thức)

Ngay từ bây giờ, các em hãy bắt tay thi công, phát triển sản phẩm của mình một cách thật hoàn thiện. Thêm vào đó những tính năng mới để có thể "ưỡn ngực" trình bày với các anh chị :4cool_beauty:
Các em cũng nên post câu hỏi, "nhá hàng" tại box này để Forum trở lại nhộn nhịp như trước khi thi nhé :3cool_adore:

Một chú ý quan trọng nữa là các em chú ý theo dõi và tham dự Lễ tổng kết hoạt động CLB (dự kiến tổ chức vào 18/01/2013) nhé. Sẽ rất là vui đó :D
 

ctcngh

Thành Viên PIF

Cái cổng hồng ngoại để tạo ngắt capture mình làm vậy có được k?
Trở R2 cho khoảng 47K.
 

omega5161

Thành Viên PIF
Code:
#include <msp430g2553.h>
#include "Basic_config.h"
#include "SPI.h"
 
int i=0,j=0xff,k,l=0;
int b[80]={0x40,0x7F,0x40,0x40,0x00,0x00,0x00,0x00,0x7F,0x08,0x08,0x08,0x7F,0x00,0x00,0x00,0x03,
        0x3C,0x44,0x3C,0x03,0x00,0x00,0x00,0x7F,0x30,0x08,0x06,0x7F,0x00,0x00,0x00,0x7F,0x08,0x08,
        0x08,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x08,0x08,0x08,0x7F,
        0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x49,0x49,0x49,0x00,0x00,0x00,
        0x00,0x7E,0x01,0x01,0x01,0x7E,0x00,0x00,0x00};
void main(void)
{
    WDTCTL = WDTPW + WDTHOLD;
    Config_SPI_A();
    Config_Clocks();
    TA0CCTL1 = CCIE;                        // CCR1 toggle/set
    TA0CCR1=j;
    TACTL = TASSEL_2 + MC_2+ TAIE;                  // SMCLK, Contmode
    P1DIR |= BIT5;
    P1OUT |= BIT5;
    P2IE |= BIT1;    // Enable P1.0 Interrupt
    P2IES |= BIT1;    // Falling Edge Interrupt
    P2IFG &= ~BIT1;    // Clear Interrupt Flag
 
    while(1)
    {
        if(i<80)
            Send_byte_A(b[i], 0);
        else
            Send_byte_A(0x00, 0);
        Send_byte_A((~(i&0xff)), 0);
        Send_byte_A(i&0xff, 0);
        Send_byte_A(0x00, 0);
        i++;
        _BIS_SR(LPM0_bits + GIE);                // Enter LPM4 w/interrupt
        P1OUT &= ~BIT5;
        P1OUT |= BIT5;
    }
}
#pragma vector=PORT2_VECTOR
__interrupt void P2_ISR (void)
{
    j=(65536*l + TA0R)/200;
    l=0;i=0;
    TA0CTL |= TACLR;                        // Clear Timer_A TAR
    P2IFG &= ~BIT1;    // Clear P1.0 interrupt flag
    //_bic_SR_register_on_exit(LPM0_bits);
}
 
// Timer_A3 Interrupt Vector (TA0IV) handler
#pragma vector=TIMER0_A1_VECTOR
__interrupt void Timer_A(void)
{
switch( TA0IV )
{
  case  2:
      TA0CCR1+=j;
      _bic_SR_register_on_exit(LPM0_bits);
      break;                          // CCR1 not used
  case  4: break;                          // CCR2 not used
  case 10: l++;                  // overflow
            break;
}
}
mọi người xem giúp em với, e code cho hiện một dòng chữ, với tốc độ động cơ quay chậm thì chữ hiện lên nhưng bị nhấp nháy, nếu tăng tốc thì chữ ko hiện nữa mà biến mất luôn
 

Manhdd

Cố Vấn CLB
Staff member
em muốn dùng con này cho gọn giúp em sơ đồ nguyên lý con này với.tks
Nó là cặp led thu phát tương tự hình của bạn ctcngh phía trên thôi. Nó tích hợp cả đầu phát và đầu thu, tín hiệu ra hình như được chuẩn hoá thành 2 mức 0, 1 luôn thì phải ?!
 

phucuong23192

Thành Viên PIF
bữa trước tìm google có vẽ nguyên lý giờ sao kiếm lại không được . anh mạnh có biết giúp em với.đang kẹt chổ này
 

phucuong23192

Thành Viên PIF
bài hướng dẫn fanled buổi cuối học delay_cycle sai rùi. nó báo lỗi.giờ làm sao
void main (void)
{
WDTCTL = WDTPW + WDTHOLD; //Stop Watchdog Timer
P2SEL = 0;
P2SEL2 = 0;
P2DIR = 0xff; //Configure Port 2 as Output
while (1)
{
count++; //count is reset by an interrupt program
if (count < 6)
P2OUT = Data[count];
else
P2OUT = 0x00;
_delay_cycles(cycle / 100);
}
}
 

2death

Cố Vấn CLB
Staff member
haizz, đâu cần ảnh to thế chứ.
Nhìn qua thì chưa thấy có vấn đề gì, nếu ko có ai còm men tiếp thì em cứ làm đại đi, sai thì sửa :))
Nhưng mà chỗ chân RST ngay con 2553 em phải có treo trở lên nguồn chứ, ko thì con chip 2553 ko hoạt động ổn định được, bị reset liên tục. Em xem lại sơ đồ mạch main msp cho c7 đó, chân RST có trở kéo lên.

(Nếu em ko cần nút nhấn reset thì bỏ phần nút nhấn, nhưng vẫn phải giữ con trở lại)
 

omega5161

Thành Viên PIF
bài hướng dẫn fanled buổi cuối học delay_cycle sai rùi. nó báo lỗi.giờ làm sao
void main (void)
{
WDTCTL = WDTPW + WDTHOLD; //Stop Watchdog Timer
P2SEL = 0;
P2SEL2 = 0;
P2DIR = 0xff; //Configure Port 2 as Output
while (1)
{
count++; //count is reset by an interrupt program
if (count < 6)
P2OUT = Data[count];
else
P2OUT = 0x00;
_delay_cycles(cycle / 100);
}
}
trong _delay_cycles(); phải là hằng số, ko dc dùng biến, nếu muốn sử dụng có thể sử dụng delay_us() và delay_ ms() sau khi add 2 file driver Basic_config.h và Basic_config.c vào
 

Kisses Hacker

Art Supporter
Staff member
bài hướng dẫn fanled buổi cuối học delay_cycle sai rùi. nó báo lỗi.giờ làm sao
void main (void)
{
WDTCTL = WDTPW + WDTHOLD; //Stop Watchdog Timer
P2SEL = 0;
P2SEL2 = 0;
P2DIR = 0xff; //Configure Port 2 as Output
while (1)
{
count++; //count is reset by an interrupt program
if (count < 6)
P2OUT = Data[count];
else
P2OUT = 0x00;
_delay_cycles(cycle / 100);
}
}
Nếu dùng CCS thì phải là __delay_cycles() nha bạn (2 cái gạch "_").
Xin lỗi các bạn, mình nói bậy, CCS chỉ có 1 dấu gạch "_" :2cool_burn_joss_stick: Xin được nhận gạch.
Đối số của hàm delay phải là một số, không xài biến được :doc

Nếu muốn delay theo một biến thì có thể mần với vòng lặp.
500đ code cho sinh động: :D
Code:
int n = 1000;
for (i=1;i<=n;i++)
{
      __delay_cycles(1000); // 1ms
}
 

zealotnt

Cố Vấn CLB
Hình như con 595 chân dán chỉ có loại SOIC thì phải ??
đúng thế thật, đọc trong datasheet thấy tên nó là SSOPchọn đại footprint SSOP trong lib của clb, in về đem so sai tè le hết
 
Top