1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bài báo cáo môn vi xử lý 1

54 475 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 54
Dung lượng 156,5 KB

Nội dung

học vi xử lí để có 1 công viêc tốt hơn. tài liệu vi xử lí cho các bạn tham khảo học vi xử lí để có 1 công viêc tốt hơn. tài liệu vi xử lí cho các bạn tham khảo học vi xử lí để có 1 công viêc tốt hơn. tài liệu vi xử lí cho các bạn tham khảo học vi xử lí để có 1 công viêc tốt hơn. tài liệu vi xử lí cho các bạn tham khảo

Bài Báo Cáo Môn Vi Xử Lý Giáo viên môn: Phạm Thế Duy Người thực hiện: Đỗ Văn Tiến Đạt Lớp: D07VTA1 MS: 407160006 Nội Dung : Giải thích 10 lập trình vi điều khiển, với đoạn code lập lại không giải thích lại mà giải thích lần Bài 1: Điều khiển công tắc đơn led đơn #include // Định nghĩa thư viện #include #define sw1 PINA.0 // Định nghĩa tên thứ tự pin #define sw2 PINA.1 // portA theo sw tương ứng #define sw3 PINA.2 #define sw4 PINA.3 #define sw5 PINA.4 #define sw6 PINA.5 #define sw7 PINA.6 #define sw8 PINA.7 #define led PORTC char ledtam1; char ledtam2; int n,m; void main(void) { // Khai báo biến // Input/Output Ports initialization // Port A initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=P State6=P State5=P State4=P State3=P State2=P State1=P State0=P PORTA=0xFF; // Có điện trở kéo lên nguồn DDRA=0x00; // Set port A ngõ vào // Port C initialization // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 PORTC=0x00; // Ngõ với mức DDRC=0xFF; // Set port C ngõ led=0x00; // Khởi tạo giá trị led ban đầu while (1) //lập liên tục { while(sw1) // Vòng lặp thực sw1 đc nhấn { led=0x01; // Cho giá trị led =1 delay_ms(200); // Đợi 200 ms while(led) // Vòng lặp xảy led khác { led=led1; // Dịch led sang phải (đèn sáng lần //lược qua bền phải) delay_ms(200); // Đợi 200 ms }; }; while(sw2) // Khi sw2 khác vòng lặp thực { led=0x01; // Gán led = 0000 0001 (đèn sáng lại tắt) delay_ms(200); // Đợi 200 ms while(led) { led=(led1); // Dịch led sang phải bit // đèn tắt dần bên phải delay_ms(200); if(led==0x00) // Nếu led = 0000 0000 break; // thoát khỏi vòng lặp đèn tắt hết }; }; while(sw3) // Khi sw3 nhấn vòng lặp thực liên tục { led=0x81; // Gán led = 1000 0001 (đèn sáng lại tắt) delay_ms(200); ledtam1=ledtam2=led; //ledtam1 ledtam2 giữ giá trị led while(led) { ledtam1=(ledtam1>>1)|0x80; //ledtam1 đươc gán //nó dịch sang phải bit //bit với 1000 0000 ledtam2=(ledtam21)&0xf0; // ledtam1 dịch phải bit // bit 1111 0000 ledtam2=(ledtam21); ledtam2=(ledtam21)&0xf0; // ledtam1 dich phải bit // bit với 1111 0000 ledtam2=(ledtam2[...]... trị hàng đơn vị led1 =1; // led1 sáng break; // thoát vòng lặp case 2: led1=led2=led3=led4=0; xuatled=(bien /10 ) %10 ; led2 =1; // xuatled bằng giá trị hàng chục // led 2 sáng break; case 3: led1=led2=led3=led4=0; xuatled=(bien /10 0) %10 ; led3 =1; // xuatled bằng giá trị hàng trăm // led 3 sáng break; case 4: led1=led2=led3=led4=0; xuatled=bien /10 00; // xuatled bằng giá trị hàng nghìn led4 =1; n=0; // led 4 sáng... State4=P State3=0 State2=0 State1=0 State0=0 PORTD=0xF0; // tương tự như set port C DDRD=0x0F; led1=0; led2=0; led3=0; led4=0; while (1) { xuatled=0x00; if(a==0&&nut1) { // nếu a=0 và nut1 =1 thì bien tăng lên 1 // và a =1 bien=bien +1; a =1; }; if(!nut1) // nếu nut1=0 thì a=0 a=0; // nghĩa của các câu lệnh trên là khi nhấn và giữ nguyên nút nhấn thì giá trị bien sẽ chỉ tăng lên 1 lần, tương tự với các câu... void main(void) // Khai báo sử dụng hỗ trợ lcd từ codevisions // khái báo port nối với lcd là port C // LCD module initialization lcd_init (16 ); // khai báo lcd sử dụng là lcd 16 cột lcd_clear(); // xóa màn hình lcd n =15 ; while (1) { for(i=0;i

Ngày đăng: 20/10/2016, 11:44

TỪ KHÓA LIÊN QUAN

w