Chat
Danh mục
Bài 7:lập trình led 7 seg

Bài 7:lập trình led 7 seg

Số lượng:
Thêm vào giỏ
Bài 7:lập trình led 7 seg đã được thêm vào giỏ hàng




a) lập trình cho Led đơn: Led đơn nối với chân P3.0 của VĐK, theo sơ đồ mạch trên thì Led đơn tích cực mức 1 (sáng) và tắt ở mức 0.
Để thuận tiện, ta sẻ định nghĩa chân P3.0 như sau:
sbit LED = P3^0;
b) phím bấm nối với chân P1.0, nếu chân P1.0 bằng 0 tức là phím đang được nhấn, ngược lại nếu bằng 1 thì phím chưa được nhấn.
Ta cũng định nghĩa chân P1.0 như sau
sbit sw1 = P1^0;
c) lập trình cho Led 7 đoạn
Led 7 đoạn chẳng qua là 8 led đơn ghép lại ta có các led a,b,c,d,e,f,g, ghép lại với nhau và nối với VĐK theo thứ tự sau:

ở ví dụ này Led 7 đoạn tích cực ở mức 0 để đèn sáng số 0 ta làm như sau
à giá trị đưa vào P2 như sau 11000000 = C
d) chương trình:

#include"REGX51.h"                       // khai báo thư viện của VDK
sbit sw1 = P1^0;                                // định nghĩa chân P1.0
sbit LED = P3^0;                               // định nghĩa chân P3.0
unsigned char i,a;      // khai báo a,i kiểu unsighned char tức là a và i có
// giá trị từ 0 à 255
void delay(unsigned int x) { // hàm delay tạo thời gian trể tùy vào tham số x
// truyền vào
  while(x--);
}

 unsigned char led_sang[10] =
{0xC0,0xF9,0xA4,0xb0,0x99 ,0x92,0x82,0xf8,0x80 ,0x98};
 //Mảng chứa giá trị sáng của Led 7 đoạn (0à9)
void main (void) // hàm chính
{  
i=0;
a=0;
sw1 = 1;//input
for(;;){
 if(sw1==0)
  {
   P2=led_sang[i];   // HIEN THI LED 7 DOAN
   i=i+1;
   if (i==10) i=0;
  
   a=i%2;                      //KIEM TRA SO CHAN LE
   if (a==0)
   LED = 1;                   //NEU CHAN THI BAT LEN
   if (a==1)
   LED=0;                     //LE THI TAT DI
   delay(50000);
  }
 }
}