Tải bản đầy đủ - 0 (trang)
3 Những vấn đề đạt được và không đạt được:

3 Những vấn đề đạt được và không đạt được:

Tải bản đầy đủ - 0trang

ĐỒ ÁN 2

trang 18 / 18



TÀI LIỆU THAM KHẢO

Tiếng việt

[1] Datasheet AT89C51, IC 7805.



[2]. Giáo trình vi xử lý vi điều khiển_ Thầy Phạm Hùng Kim Khánh.

[3] Bài giảng Điện Tử Số Thầy giáo Nguyễn Minh Tùng (Học viện hàng

không Việt Nam).

[4].Bài giảng Mạch Điện Tử thầy giáo Nguyễn Thanh Dũng (Học viện hàng

không Việt Nam).

[5].Bài giảng Linh Kiện Điện Tử , cô giáo Lê Thị Hồng Thắm ( Đại học cơng

nghiệp Tp.Hồ Chí Minh)



MẠCH ĐẾM SẢN PHẨM CĨ CÀI ĐẶT THÔNG SỐ



ĐỒ ÁN 2

trang 19 / 18



PHỤ LỤC

Code chương trình:

#include

#include

#include

#include

#include

// p1 ma led p0 quet led



#define l1



P2_5



#define l2



P2_6



#define l3



P2_7



#define led1 P3_0



#define k1



P1_2



#define



k2



P1_1



#define



k3



P1_0



#define



k4



P1_3



#define



k5



P1_4



MẠCH ĐẾM SẢN PHẨM CĨ CÀI ĐẶT THƠNG SỐ



ĐỒ ÁN 2

trang 20 / 18



#define



cb



P3_4



char str[15];

unsigned int sodem,sodat;



unsigned char tram,chuc,dvi;



unsigned char so[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};

// ma 7 doan

//unsigned char so[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

//unsigned char

so_1[10]={0xBF,0x86,0xDB,0xCF,0xE6,0xED,0xFD,0x87,0xFF,0xEF};



void hienthi()

{



int i;

P0 = so[sodem%10]; l1 = 0;

for (i = 0;i<200;i++){}

l1 = 1;

P0 = so[(sodem%100)/10]; l2 = 0;

for (i = 0;i<200;i++){}

l2 = 1;

P0 = so[sodem/100]; l3 = 0;

for (i = 0;i<200;i++){}

l3=1;



}

void hienthicd()

{



int i;

P0 = so[dvi]; l1 = 0;



MẠCH ĐẾM SẢN PHẨM CĨ CÀI ĐẶT THƠNG SỐ



ĐỒ ÁN 2

trang 21 / 18



for (i = 0;i<200;i++){}

l1 = 1;

P0 = so[chuc]; l2 = 0;

for (i = 0;i<200;i++){}

l2 = 1;

P0 = so[tram]; l3 = 0;

for (i = 0;i<200;i++){}

l3=1;

}



/***************Ham gui ki tu *********************/

void send_char(unsigned char c){//Ham gui ki tu qua UART

SBUF = c;//Gui 1 ki tu

while(!TI); TI=0;//xoa co truyen

}

/***************Ham gui chuoi *********************/

void send_string(unsigned char *s){//Ham gui chuoi ki tu qua UART

unsigned char n,i;

n=strlen(s); //Dem xem co bao nhieu ky tu

for(i=0;i
send_char(s[i]);

}

}

void uart_init()



MẠCH ĐẾM SẢN PHẨM CÓ CÀI ĐẶT THÔNG SỐ



ĐỒ ÁN 2

trang 22 / 18



{

TMOD=0x20; //Timer 1 che do 8bit nap lai tu dong, timer0 cho delay

che do 16bit

SCON=0x50;//01010000 che do 1, cho phep nhan

TH1=TL1=0xFD;//Nap 253 tao baud 9600 ko nhan doi baud

TR1=1; //khoi dong timer1

ES=1; //Ngat UART

EA=1; //Cho phep ngat

}



void main(void)

{

uart_init();

stop:

sodem=0; tram = 0; chuc = 0; dvi = 0;

while(1)

{ led1=1;

hienthicd();

if(k1==0) { while(k1==0) hienthicd(); if(tram<9) tram++; else tram =0; }

if(k2==0) { while(k2==0) hienthicd(); if(chuc<9) chuc++; else chuc =0; }

if(k3==0) { while(k3==0) hienthicd(); if(dvi<9) dvi++; else dvi =0; }

if(k4==0) { while(k4==0) hienthicd(); break; }

}

start:

sodem=0; led1 =0 ;



MẠCH ĐẾM SẢN PHẨM CĨ CÀI ĐẶT THƠNG SỐ



ĐỒ ÁN 2

trang 23 / 18



while(1)

{

hienthi();

if(cb==0) { if(sodem
if(sodem==tram*100+chuc*10+dvi)led1 = 1;while(cb==0)

hienthi();

}

if(k5==0) { while(k5==0) hienthi(); goto stop; }

if(k4==0) { while(k4==0) hienthi(); goto start; }



sprintf(str, "So sp: %i\n", sodem);

send_string(str);

}

}



MẠCH ĐẾM SẢN PHẨM CÓ CÀI ĐẶT THÔNG SỐ



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

3 Những vấn đề đạt được và không đạt được:

Tải bản đầy đủ ngay(0 tr)

×