Chào mừng đến với Câu Lạc Bộ Sáng Tạo
Chia sẻ kinh nghiệm
Kết nối đam mê
Đang cập nhật thời gian...
BÀI VIẾT NỔI BẬT
Xin chào! Tôi là Ếch Sáng Tạo :-)
Chia sẻ trang




Chuyên mục
Bài mới
Xem nhiều
Thống kê
  • Bài viết: 334/334
  • Thành viên: 10.085
  • Đang online: 8
  • Khách hôm nay: 1.957
  • Khách hôm qua: 3.625
  • Tổng khách: 16.184.913
Bài viết
Mạch Đếm lùi sử dụng ic AT89C52 hoậc AT89C51 - SangTaoClub.Net
Mạch Đếm lùi sử dụng ic AT89C52 hoậc AT89C51
Đăng bởi: vanthang - Thời gian: 14-04-2016, 00:52
Chuyên mục: MCU 8051, AVR, PIC - Lượt xem: 3.226

Tình hình là em có đang làm một bài tập về 8051 đếm lùi từ 999999 về 0.
mà e có viết code cho nó rồi mà không hiểu e sai chỗ nào các bác chỉ em với 
code:

#include
#define led0 P1_0
#define led1 P1_1
#define led2 P1_2
#define led3 P1_3
#define led4 P1_4
#define led5 P1_5
unsigned char so[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};
int i;
int lap_1s;
void delay(unsigned int ms) // Tao ham tre
{
unsigned int k,j;
for (k=0;k for (j=0;j<120;j++)
{}
}

void hienthi()
{
P0=0xff;
P1=0xff;

P0=so[((((i%100000)%10000)%1000)%100)%10]; //hien so hang don vi
led0=0;
delay(2);
led0=1;

P0=so[(((i%100000)%10000)%1000)%100/10]; //hien so hang chuc
led1=0;
delay(2);
led1=1;

P0=so[(((i%100000)%10000)%1000)/100]; //hien so hang tram
led2=0;
delay(2);
led2=1;

P0=so[(((i%100000)%10000)/1000)]; //hien so hang nghin
led3=0;
delay(2);
led3=1;

P0=so[((i%100000)/10000)]; //hien so hang chuc nghin
led4=0;
delay(2);
led4=1;

P0=so[(i/100000)]; //hien so hang tram nghin
led5=0;
delay(2);
led5=1;

}

void main ()
{

while (1)
{
for(i=999999;i>=0;i--)
{
for(lap_1s=0;lap_1s<10;lap_1s++ ){ //125*8ms(hàm hienthi)=1s
hienthi();}
}
}
}
có file mô phỏng proteus đính kèm 


Tải về đính kèm:
led7_1460569944.rar
Kích thước: 15.61 KB
  • Bạn chưa đăng nhập, không thể viết bình luận!
    Bấm vào đây để Đăng nhập hoặc Đăng ký!
  • Vũ Văn Thái lúc 14-04-2016, 23:13
    Bạn sửa lại code như thế này xem sao:

    unsigned *ẩn*g dem=999999; //Khai báo biến 32bit
    unsigned int time=0;
    .....
    while (1) //while trong main()
    {
          if(++time>500){ //Căn chỉnh giá trị này để có tốc độ đếm phù hợp
              if(dem)dem--; //Giảm giá trị cho đến khi =0 thì dừng lại
              time=0;
          }
          hienthi(); //Viết lại hàm này, sao cho hiển thị được 6 led 7 và hiển thị đúng giá trị đếm
          delay_ms(1);
    }
  • Trang 1/1: 1

    Bài viết cùng chuyên mục
    Cần giúp nút ấn với hiệu ứng 8051 Cần giúp nút ấn với hiệu ứng 8051
    Đăng bởi: phan_anh_17371 - Thời gian: 06-09-2018, 10:53
    Chuyên mục: MCU 8051, AVR, PIC - Lượt xem: 2.338
    [SHARE] Thư viện chơi nhạc bằng module DFPLayer Mini Library [SHARE] Thư viện chơi nhạc bằng module DFPLayer Mini Library
    Đăng bởi: Vũ Văn Thái - Thời gian: 05-04-2018, 15:15
    Chuyên mục: MCU 8051, AVR, PIC - Lượt xem: 5.159
    có bạn nào tìm hiểu về stm8 ko có bạn nào tìm hiểu về stm8 ko
    Đăng bởi: ngocsi - Thời gian: 13-03-2017, 12:16
    Chuyên mục: MCU 8051, AVR, PIC - Lượt xem: 3.142
    Mạch đo tốc độ và quãng đường xe đạp sử dụng cảm biến hall hiển thị lcd Mạch đo tốc độ và quãng đường xe đạp sử dụng cảm biến hall hiển thị lcd
    Đăng bởi: leacebach - Thời gian: 04-03-2017, 20:57
    Chuyên mục: MCU 8051, AVR, PIC - Lượt xem: 3.355
    ỨNG DỤNG LM35 PIC16F877A CODE CCS ỨNG DỤNG LM35 PIC16F877A CODE CCS
    Đăng bởi: lam3ngon - Thời gian: 05-06-2016, 21:35
    Chuyên mục: MCU 8051, AVR, PIC - Lượt xem: 5.689
    BÀI 13 : EEPROM PIC16F877A XC8 BÀI 13 : EEPROM PIC16F877A XC8
    Đăng bởi: lam3ngon - Thời gian: 17-05-2016, 10:56
    Chuyên mục: MCU 8051, AVR, PIC - Lượt xem: 4.610
    giao tiếp eeprom với pc qua 89s52 giao tiếp eeprom với pc qua 89s52
    Đăng bởi: quangmanhvk - Thời gian: 04-05-2016, 10:04
    Chuyên mục: MCU 8051, AVR, PIC - Lượt xem: 3.105
    Tạo delay dùng timer 8051 Tạo delay dùng timer 8051
    Đăng bởi: andipanda - Thời gian: 18-04-2016, 11:09
    Chuyên mục: MCU 8051, AVR, PIC - Lượt xem: 3.784
    Chia sẽ code đèn giao thông ngã tư PIC16F877A CCS ! Chia sẽ code đèn giao thông ngã tư PIC16F877A CCS !
    Đăng bởi: lam3ngon - Thời gian: 11-03-2016, 23:25
    Chuyên mục: MCU 8051, AVR, PIC - Lượt xem: 8.721
    BÀI 11 : TIMER 1 PIC16F877A XC8 BÀI 11 : TIMER 1 PIC16F877A XC8
    Đăng bởi: lam3ngon - Thời gian: 19-02-2016, 20:47
    Chuyên mục: MCU 8051, AVR, PIC - Lượt xem: 4.337
    
    Chào mừng hieutrang đã tham gia câu lạc bộ sáng tạo!
    Vũ Văn Thái - vuthai
    Hôm nay là sinh nhật của thien_tai_bk, nguyenvanly10153023, congnam1994, Tubaden, phamvanle, tranhung_09, kakaricardo, kakuta827, minhtrieudtv, tranconganhtu, ngochoanvfone, vantung2004, huynhngoctan_04dhdt, superprofessorA30, ntt762001, huynhngoctan95, phamnhatcuongddt, quangthang25, nguyenhuuphuoc2096, tan00123, gauxam, hvhieu, music1234, huynhngoctan, malacuda, NguyenCuong, caotrungtruc2041996, Quachdaik, Nhattanfc, minhk45, hoangthuong052, trancaoson181945, tuphuong, sangtaoclup_96, khaiptc2, Ngoctram27, no1bestrivenpt, ← Gửi tin nhắn chúc mừng
    Múi giờ: UTC+07:00 - Asia/Ho Chi Minh ***** IP của bạn: 18.221.85.33 ***** Status: Cache Update thành công!