Mục lục:
- Bước 1: Thông tin chi tiết
- Bước 2: Khởi tạo cổng
- Bước 3: Công suất cực thấp
- Bước 4: HẸN GIỜ
- Bước 5: Chế độ nguồn điện thấp
- Bước 6: ISR-Timer
- Bước 7: Ngắt phần cứng
- Bước 8: ISR- Đặt lại / Nút nhấn
- Bước 9: MÃ
- Bước 10: Mã tham chiếu
Video: Bộ đếm giây MSP430: 10 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:33
Chào mừng! Tạo bộ đếm giây: Sử dụng CCStudio 8 và MSP430F5529 cho dự án.
Ngôn ngữ C để viết mã bộ điều khiển vi mô. Áp dụng Chế độ nguồn điện thấp, Bộ hẹn giờ và Ngắt. Đầu ra được hiển thị qua 7 Segment.
Bước 1: Thông tin chi tiết
Hãy bắt đầu nào!
Khởi tạo bộ đếm thời gian cơ quan giám sát sang trạng thái TẮT bằng cách sử dụng mật khẩu cần thiết cho bộ định thời cơ quan giám sát (Nó giúp kiểm tra các vòng lặp vô hạn, giữ cho bộ xử lý an toàn).
#bao gồm
/** * C chính */
int main (void)
{
WDTCTL = WDTPW | WDTHOLD; // dừng bộ đếm thời gian của cơ quan giám sát
trả về 0;
}
Bước 2: Khởi tạo cổng
{
P3DIR = 0xFF; // P3DIR = 0x00;
P6DIR = 0xFF;
P4DIR | = 0x00;
P4REN | = 0xFF;
P4OUT | = 0xFF;
}
P3DIR | = 0x00 cho chúng ta biết rằng toàn bộ PORT-3 được khởi tạo để nhận đầu vào.
P3DIR | = 0xFF cho chúng ta biết rằng toàn bộ PORT-3 được khởi tạo để đưa ra kết quả đầu ra.
P3DIR | = 0x01 chỉ có chân P3.0 được khởi tạo để xuất trong PORT-3. Điều này tuân theo ánh xạ Cổng thập lục phân.
P4REN | = 0xFF, điều này chỉ ra rằng các chân của PORT-4 đã bật điện trở kéo lên / xuống.
Để chọn chúng giữa Kéo lên hoặc Kéo xuống, lệnh P $ OUT | = 0xFF được sử dụng.
Nếu 0xFF được sử dụng, chúng định cấu hình làm điện trở Kéo LÊN và nếu 0x00, chúng định cấu hình là Kéo XUỐNG.
Bước 3: Công suất cực thấp
MSP430F5529 cho phép chúng tôi giảm tổn thất điện năng từ bộ xử lý. Điều này rất hữu ích trong các ứng dụng độc lập.
Điều này yêu cầu khai báo tất cả các pin hoặc Cổng để xuất.
{
P7DIR | = 0xFF;
P6DIR | = 0xFF;
P5DIR | = 0xFF;
P4DIR | = 0xFF;
P3DIR | = 0xFF;
P2DIR | = 0xFF;
P1DIR | = 0xFF;
}
Bước 4: HẸN GIỜ
Sử dụng bộ hẹn giờ để tạo độ trễ một giây. Điều này sử dụng SMCLK 1MHz, đồng thời cũng chạy ở Chế độ nguồn điện thấp (trong bước tiếp theo, sau khi quá trình đếm của nó bị gián đoạn từ LPM). Quá trình này tiết kiệm điện năng và gánh nặng cho bộ xử lý
TA0CCTL0 = CCIE;
TA0CCR0 = 999;
TA0CTL = TASSEL_2 + MC_1;
Giá trị là 999, vì cần thêm một lần đếm nữa để quay trở lại 0 trong thanh ghi hẹn giờ.
Bước 5: Chế độ nguồn điện thấp
_BIS_SR (LPM0_bits + GIE);
Điều này cho phép Kích hoạt ngắt chung (GIE) và đặt CPU đến LPM0, nơi MCLK hỗ trợ cpu bị tắt và SMCLK và ACLK chạy để giữ cho bộ đếm thời gian hoạt động. vì vậy chúng ta có thể thấy CPU bị tắt, ở đó tiết kiệm điện năng.
Bước 6: ISR-Timer
#pragma vector = TIMER0_A0_VECTOR
_interrupt void Timer_A (void)
{
z ++;
if (z> delay)
{
P3OUT = mã [x];
P6OUT = mã1 [y];
x ++;
nếu (x == 10)
{
x = 0;
y ++;
}
nếu (y == 6)
y = 0;
z = 0;
}
}
vectơ pragma dành cho biểu diễn ISR trong C embd.
code [x] và code1 [y] là các mảng chứa các giá trị đầu ra cho hai bảy đoạn, để hiển thị bộ đếm 60 giây.
Bước 7: Ngắt phần cứng
P2DIR = 0x00;
P2REN = 0x02;
P2OUT = 0x02;
P2IE | = BIT1;
P2IES | = BIT1;
P2IFG & = ~ BIT1;
Ở đây P2.1 được khai báo là ngắt phần cứng, nếu nhấn nút, bộ đếm sẽ đặt lại giá trị.
chương trình còn lại được viết bên trong ISR của ngắt này.
Bước 8: ISR- Đặt lại / Nút nhấn
#pragma vector = PORT2_VECTOR
_interrupt void port_2 (void)
{
P2IFG & = ~ BIT1;
x = 0; y = 0;
P3OUT = mã [x];
P6OUT = mã1 [y];
v ++;
cho (i = 0; i
{
P1OUT | = BIT0; //P1.0 = chuyển đổi
_ Xe_may_day (1048576);
P1OUT & = ~ BIT0; // P1.0 = chuyển đổi
_ Xe_may_may (1048576);
}
ISR này đặt lại bộ đếm và đếm số lần phần còn lại được nhấn.
(Đây là màn hình được thực hiện thông qua bật tắt đèn led, cũng có thể sử dụng một mảng và bộ đếm thời gian khác, để hiển thị các giá trị đó dưới dạng đầu ra trong 7 phân đoạn).
Bước 9: MÃ
#bao gồm
#define độ trễ 1000
mã char = {0xFC, 0x60, 0xDA, 0xF2, 0x66, 0xB6, 0xBE, 0xE0, 0xFE, 0xE6};
mã char1 = {0x7E, 0x30, 0x6D, 0x79, 0x33, 0x5B};
biến không dấu int x = 0, y = 0, z = 0;
biến không dấu int v = 0, i = 0;
void main ()
{
WDTCTL = WDTPW | WDTHOLD; // dừng bộ đếm thời gian của cơ quan giám sát
P7DIR | = 0xFF;
P7OUT | = 0x00;
P8DIR | = 0xFF;
P8OUT | = 0x00;
P4DIR | = 0xFF;
P4OUT | = 0x00;
P5DIR | = 0xFF;
P5OUT | = 0x00;
P1DIR = 0xFF;
P3DIR = 0xFF;
P6DIR = 0xFF;
P2DIR = 0x00;
P2REN = 0x02;
P2OUT = 0x02;
P2IE | = BIT1;
P2IES | = BIT1;
P2IFG & = ~ BIT1;
TA0CCTL0 = CCIE;
TA0CCR0 = 999;
TA0CTL = TASSEL_2 + MC_1;
_BIS_SR (LPM0_bits + GIE);
}
// Quy trình dịch vụ ngắt Timer A0
#pragma vector = TIMER0_A0_VECTOR
_interrupt void Timer_A (void)
{
z ++;
if (z> delay)
{
P3OUT = mã [x];
P6OUT = mã1 [y];
x ++;
nếu (x == 10)
{
x = 0;
y ++;
}
nếu (y == 6)
y = 0;
z = 0;
}
}
// Quy trình dịch vụ ngắt phần cứng
#pragma vector = PORT2_VECTOR
_interrupt void port_2 (void)
{
P2IFG & = ~ BIT1;
x = 0;
y = 0;
P3OUT = mã [x];
P6OUT = mã1 [y];
v ++;
cho (i = 0; i
{P1OUT | = BIT0; // P1.0 = chuyển đổi
_ Xe_may_day (1048576);
P1OUT & = ~ BIT0; // P1.0 = chuyển đổi
_ Xe_may_may (1048576);
}
}
Bước 10: Mã tham chiếu
Kho lưu trữ GitHub
Đề xuất:
Làm thế nào để tạo bộ đếm bước?: 3 bước (có hình ảnh)
How to Make a Step Counter ?: Tôi đã từng chơi tốt nhiều môn thể thao: đi bộ, chạy, đạp xe, chơi cầu lông, v.v. Tôi thích cưỡi ngựa để đi du lịch trước đây. Chà, hãy nhìn cái bụng đẫy đà của tôi …… Chà, dù sao thì, tôi quyết định khởi động lại để tập thể dục. Tôi nên chuẩn bị những thiết bị gì?
Bảo quản giấy: Tiết kiệm giấy vệ sinh với liệu pháp sốc: 4 bước
Người bảo quản giấy: Tiết kiệm giấy vệ sinh với liệu pháp sốc: Tất cả chúng ta đã nhìn thấy những kệ trống ở cửa hàng tạp hóa và có vẻ như sẽ thiếu giấy vệ sinh trong một thời gian. Nếu bạn không mua hàng sớm thì có lẽ bạn đang ở trong tình huống như tôi. Tôi có một ngôi nhà 6 người và chỉ còn vài cuộn nữa thôi
Cách thực hiện: Buộc giày bằng một tay: 10 bước
Cách thực hiện: Buộc giày bằng một tay: Hướng dẫn cách thắt dây giày bằng một tay
Cách làm bánh xe ô tô RC từ giấy bìa cứng và giấy Kraft: 9 bước (có hình ảnh)
Cách làm bánh xe RC từ giấy bìa cứng và giấy Kraft: Bánh xe RC là bộ phận thiết yếu đối với tất cả các loại xe RC. Có nhiều chủng loại và loại bánh xe RC khác nhau và việc lựa chọn đúng loại bánh xe là một trong những yếu tố quan trọng nhất khi xử lý những chiếc xe này. Khi tôi bắt đầu tự chế tạo ô tô RC, một trong những
Làm cho máy ảnh của bạn thành "chế độ chụp đêm quân sự", thêm hiệu ứng ban đêm hoặc tạo chế độ chụp ảnh ban đêm trên bất kỳ máy ảnh nào !!!: 3 bước
Đặt Máy ảnh của bạn thành "Chế độ chụp đêm quân sự", Thêm Hiệu ứng Ban đêm hoặc Tạo Chế độ Cảnh báo Ban đêm trên Bất kỳ Máy ảnh nào !!!: *** Điều này đã được đưa vào CUỘC THI KỸ THUẬT SỐ DAYS PHOTO , Hãy bình chọn cho tôi ** * Nếu bạn cần bất kỳ trợ giúp nào, vui lòng gửi email: [email protected] Tôi nói tiếng Anh, Pháp, Nhật, Tây Ban Nha và tôi biết các ngôn ngữ khác nếu bạn