15
TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ BỘ MÔN ĐIỆN TỬ -VIỄN THÔNG BÀI BÁO CÁO ĐỒ ÁN 1 MÔN KỸ THUẬT VI XỬ LÝ THIẾT KẾ MỘT BIỂU TƯỢNG TÌNH YÊU NHÂN NGÀY LỄ VALENTINE

baibaocao.doc

Embed Size (px)

Citation preview

Page 1: baibaocao.doc

TRƯỜNG ĐẠI HỌC CẦN THƠKHOA CÔNG NGHỆ

BỘ MÔN ĐIỆN TỬ -VIỄN THÔNG

BÀI BÁO CÁO ĐỒ ÁN 1 MÔN KỸ THUẬT VI XỬ LÝ

THIẾT KẾ MỘT BIỂU TƯỢNG TÌNH YÊUNHÂN NGÀY LỄ VALENTINE

Sinh viện thực hiện: Nguyễn Đức MỹMSSV:1117986Lớp Kỹ thuật Máy tính K37

GVHD:Trần Hữu Danh

Page 2: baibaocao.doc

Các bước thực hiện:-Phân tích-Vẽ sơ đồ mạch-Viết code cho mạch-Kết luận

I.Phân tích -Mạch sử dụng vi điều khiển MSP430G2211,sử dụng 4 chân từ PORT 1.0 ->1.3 và một công tắc reset được mắc với tụ pi 102.- Để mở rộng số port trên sử dụng cho led ta sử dụng 4 IC 74HC595.- PORT 1.0 là chân tạo xung ck nối vào chân 11 của IC số.PORT 1.1 là chân data được nối vào chân 14 của IC số đầu tiên,Q7’ được mắc nối tiếp chân data của IC tiếp theo.Các chân ra được lấy từ Q0-Q7.PORT 1.2 được nối với chân số 12 của IC số để lấy dữ liệu xuất ra từ Q0->Q7 khi có xung.PORT 1.3 nối với chân 10 để reset lại IC số.Chân 13 của IC 74HC595 nối với ground.-Để kích dòng cho led ta sử dụng transistor c1815 với sơ đồ mạch như sau:

-Sử dụng nguồn cho MSP430G2211 là 3,3v.Các PORT lấy ra chuyển đổi thành 5v qua IC 74HC245.Nguồn cấp cho khối 74HC595 là 5v.

1

Page 3: baibaocao.doc

II.Các bước vẽ sơ đồ mạch

-Đây là sơ đồ toàn mạch:

SƠ ĐỒ TOÀN MẠCH

2

Page 4: baibaocao.doc

Hình 1.1-KHỐI NGUỒN MSP430G2211

Hình 1.2-KHỐI MỞ RỘNG PORT DÙNG IC 74HC595

Hình 1-3-ĐIỆN TRỞ 4,7K Ohm GẮN VỚI CHẦN IC 74HC595

3

Page 5: baibaocao.doc

Hình 1.5-ĐIỂN TRỞ NỐIVỚI CHẦN B

Hình 1.4-KHỐI TRANSISTOR DÙNG ĐỂ TRỢ DÒNG CHO LED

4

Page 6: baibaocao.doc

LED ĐƯỢC LẮP THEO SƠ ĐỒ HÌNH TRÁI TIM

5

Page 7: baibaocao.doc

III.Viết code cho mạch#include "io430.h"#define CK BIT0;#define DATA BIT1;#define LATCH BIT2;#define CLEAR1 BIT3;void chot();void dichbit1(int solan){ for(int j=0;j<solan;j++){ P1OUT|=CLEAR1; P1OUT|=DATA; P1OUT|=CK; __delay_cycles(5000); P1OUT&=~CK; __delay_cycles(5000); } }void dichbit1chot(int solan){ for(int j=0;j<solan;j++){ P1OUT|=CLEAR1; P1OUT|=DATA; P1OUT|=CK; __delay_cycles(100000); P1OUT&=~CK; __delay_cycles(100000); chot(); } }void dichbit0(int solan){ for(int j=0;j<solan;j++){ P1OUT|=CLEAR1; P1OUT&=~DATA; P1OUT|=CK; __delay_cycles(5000); P1OUT&=~CK; __delay_cycles(5000); }}void dichbit0chot(int solan){ for(int j=0;j<solan;j++){ P1OUT|=CLEAR1; P1OUT&=~DATA; P1OUT|=CK;

6

Page 8: baibaocao.doc

__delay_cycles(100000); P1OUT&=~CK; __delay_cycles(100000); chot(); } }

void chot(){ P1OUT|=LATCH; __delay_cycles(100); P1OUT&=~LATCH; __delay_cycles(100);}void reset(){ P1OUT&=~CLEAR1; P1OUT|=LATCH; __delay_cycles(10); P1OUT&=~LATCH; __delay_cycles(10);}void a1(int sobit1,int sobit0){ dichbit1(sobit1); dichbit0(sobit0); chot();}void a2(int sobit1,int sobit0){ dichbit1chot(sobit1); chot(); dichbit0chot(sobit0); chot();}void main( void ){ unsigned int a[32]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32}; // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; //KHAI BAO PORT 1 NGO RA P2DIR&=~BIT6; if((P2IN&BIT6)==0){ P1DIR|=0XFF; while(1){ for(int i=0;i<2;i++){//1

7

Page 9: baibaocao.doc

dichbit1(36);chot();__delay_cycles(1000000); dichbit0(36);chot();__delay_cycles(1000000); } dichbit1chot(32);//2 dichbit0chot(32);//3 for(int i=0;i<32;i++){//4 a1(a[i],a[30-i]); } for(int i=0;i<32;i++){//5 a1(a[30-i],a[i]); } for(int i=0;i<5;i++){//6 a2(8,8); } __delay_cycles(100000); for(int i=0;i<5;i++){//7 a2(4,4); } for(int i=0;i<6;i++){//8 dichbit1chot(1); dichbit0chot(15); } reset(); for(int i=0;i<6;i++){//9 dichbit0chot(1); dichbit1chot(15); } reset(); for(int i=0;i<2;i++){//10 a2(1,36); } for(int i=0;i<2;i++){//11 a2(36,1); } reset(); }}}

8

Page 10: baibaocao.doc

IV.Kết luận

-Thiết kế đúng theo yêu cầu của đồ án-Mở rộng được số port của chip vi xử lý msp430G2211.-Mạch chạy ổn định với nhiều hiệu ứng khác nhau.

9