1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Tài liệu Đếm số nút nhấn 0-9 hiện thị lên LED 7 ppt

7 987 13
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Đếm số nút nhấn 0-9 hiển thị lên LED 7
Tác giả Biendt
Thể loại Bài thuyết trình
Định dạng
Số trang 7
Dung lượng 238,23 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đếm số nút nhấn 0-9 hiện thị lên LED 7 Nguồn : biendt.biz Trong phần này tôi sẽ giới thiệu với các pác số cách đếm số nút nhấn hiện thị lên LED 7 seg.Ta dùng 1 nút nhấn để nhận tín hiệu

Trang 1

Đếm số nút nhấn 0-9 hiện thị lên LED 7

Nguồn : biendt.biz 

Trong phần này tôi sẽ giới thiệu với các pác số cách đếm số nút nhấn hiện thị lên LED 7 seg.Ta dùng 1 nút nhấn để nhận tín hiệu vào chíp Đây là cách nhận tín hiệu từ bên ngoài vào cho chíp xử lý Phương pháp này người ta còn gọi là đọc bàn phím nhưng ở đây là chúng ta đọc 1 phím Nhấn 1 lần thì hiện thị số 1, nhấn tiếp hiện thị số 2 cứ thế cho tới đến lần nhấn thì nó lại quay trở về ban đầu Sau đây là cách làm như sau:

1: Lắp mạch

Cái này mình phải dùng loại LED 7seg thì mới hiện thị được các số lần nhấn được Hiện nay trên thị trường có 2 loại LED 7 thanh đó là loại chung Anot và chung catot

Trang 2

Cấu tạo của nó gồm 8 con LED đơn được ghép với nhau 1 là chung Anot 2 là chung Catot có 1 chân cấp nguồn và 8 chân đầu ra hay vào tùy theo Anot chung hay catot chung.Và trên đó nó được chia ra làm 7 thanh tương ứng với A,B,C,D,E,F,G và 1 chân dot

Ở bài này tôi dùng LED 7 thanh có Anot chung! Cái này các pác có thể ra chợ mua được giá chỉ có 2k 1 con thôi!

Sơ đồ nguyên lý mạch hiện thị!

Trang 3

Ở đây tôi dùng Port 2 để điều khiển hiện thị ra LED 7 thanh Và cách mắc này là bơm dòng cho vi điều khiển Dùng 5 V cấp cho LED 7 và CY8C29466.(Hình vẽ)

Các pác dùng cổng Port 2(Không cứ gì Port này đâulà theo ý tôi) lắp lần lượt từ Port2_0 đến Port2_7 vào các thanh A,B,C,D,E,F,G,Dot Nhớ là phải lắp đúng thứ

tự không có là không hiện thị được đâu.Đầu chung Anot là được nối với 5V

thông qua điện trở 470 hay 1k

Thêm 1 nút nhấn để đếm số nút nhấn Nút nhấn này được mắc vào Port1_7 một đầu được nối với chân P1_7 và một đầu được nối với GND Trong phần mền tôi không dùng phần mền để chống nhiễu cho nó mà ở phần cứng tôi dùng để chống nhiễu cho tụ ở đây tôi dùng thêm 1 con tụ được mắc song song với nút nhấn Tác dụng của tụ này là:

+ Khi chưa nhấn nút thì tụ được nạp điện sau khi nhấn nút thì lúc này tụ sẽ phóng điện từ dương sang âm làm cho tín hiệu lâu về 0 hơn (Trễ cứng)

+ Khi nhấn nút do các tiếp điểm cơ khí nên tín hiệu đó không về không được mà

nó còn có 1 số xung điện Tu điện dùng để giảm nhiễu đó Nếu không muốn phần cứng để khử nhiễu mà ta dùng phần mền khử nhiễu cũng được! (Khử bằng phần mền các pác có thể tự tìm hiểu)

Thêm 1 mạch reset cho mạch: dùng 1 công tắc nối với chân số 19 thông qua 1 điện trở 1k và đầu kia được nối lên VCC Khi công tắc được đóng thì mạch sẽ tự reset Còn 1 tụ được nối giữa chân 28 và 14 là để không bị mất nguồn trong khoảng thời gian ngắn

Trang 4

2 : Nguyên lý hoạt động

Psoc có sự hơi khác so với các dòng vi sử lý khác nó ta phải tự thiết lập phần cứng khi đưa ra các tín hiệu ra Port Đối với bài tập này các pác phải thiết lập chế độ như sau:

Port2 : Tất cả để ở chế độ Strong

Port1_7 " Để ở chế độ Pull up

Nguyên lý ở đây là nguyên lý đếm số nút nhấn Nên thế ta phải cho nó 1 biến đếm để khi ta nhấn thì nó sẽ tăng thêm 1 (Tăng 2 ,3 cũng được) và biến đếm

đó phải được lưu trong Ram Khi biến đếm đó được nhấn 9 lần thì phải trở về 0

do ở đây ta dùng 1 LED 7 nên nó chỉ hiện thị được từ 0-9 thôi Dùng 1 hàm để hiện thị các giá trị này Nói chung cái này khá đơn giản nên các pác có thể tham khảo chương trình là hiểu ngay ấy mà!

3 : Chương trình:

// -

// Dem so lan nut nhan hien thi tren LED 7 vach tu 0-9

// Viet boi : Biendt - biendt.biendt@gmail.com

// Dung P2 lam hien thi so ra LED

// Dung P1-7 lam nut nhan!

// C main line

// -

Trang 5

#include // part specific constants and macros

#include "PSoCAPI.h" // PSoC API definitions for all User Modules

unsigned char dem=0;

unsigned char LED_code[8]={0xfe,0xfd,0xfd,0xf7,0xef,0xbf,0xdf,0x7f}; /* Khai bao ham tao thoi gian tre*/

void delay(unsigned int t)

{

unsigned int i,j;

for(i=0;i<1000;i++)

for(j=0;j

}

/*Ham tra lai unsigned*/

unsigned char dongcongtac()

{

if((PRT1DR&0x04)==0)

{

delay(10);

while((PRT1DR&0x04)==0)

{

;

}

dem++;

if(dem==10)

{dem=0;}

}

return dem;

Trang 6

}

/* Khai bao ham hien thi so tu 0-9*/

void hienthi(unsigned char x)

{

switch(x)

{

case 0:{PRT2DR=0xff;PRT2DR=0x40;break;} //so 0 case 1:{PRT2DR=0xff;PRT2DR=0xf9;break;}

case 2:{PRT2DR=0xff;PRT2DR=0x24;break;}

case 3:{PRT2DR=0xff;PRT2DR=0x30;break;}

case 4:{PRT2DR=0xff;PRT2DR=0x99;break;}

case 5:{PRT2DR=0xff;PRT2DR=0x12;break;}

case 6:{PRT2DR=0xff;PRT2DR=0x82;break;}

case 7:{PRT2DR=0xff;PRT2DR=0x78;break;}

case 8:{PRT2DR=0xff;PRT2DR=0x80;break;}

case 9:{PRT2DR=0xff;PRT2DR=0x10;break;}// So 9 }

}

/* Ham chinh*/

void main()

{

unsigned char m;

PRT1DR=0xff;

PRT2DR=0xff;

while(1)

Trang 7

{

m=dongcongtac(); hienthi(m);

}

}

 

Ngày đăng: 18/01/2014, 13:20

HÌNH ẢNH LIÊN QUAN

Sơ đồ nguyên lý mạch hiện thị! - Tài liệu Đếm số nút nhấn 0-9 hiện thị lên LED 7 ppt
Sơ đồ nguy ên lý mạch hiện thị! (Trang 2)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w