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);
  }
 }

Đăng nhận xét

Đăng nhận xét

Author Name



Tôi là Ngọc Anh. Tôi đến từ Nghệ An. Tôi tốt nghiệp một trường đại học tại Sài Gòn. Hiện tôi đang phát triển công ty riêng. Liên lạc với tôi qua:






Biểu mẫu liên hệ

Tên

Email *

Thông báo *

Được tạo bởi Blogger.