Bỏ Số 0 Vô Nghĩa Khi đếm - Dien Tu Viet Nam

  • Đăng ký hoặc đăng nhập
    • Logging in... Ghi Nhớ? Ðăng Nhập Forgot password or user name? hoặc Đăng ký
    • Log in with Facebook
  • Nếu đây là lần đầu tiên đến với Điện Tử Việt Nam, bạn có thể đọc phần Hỏi đáp bằng cách nhấn vào liên kết. Có thể bạn cần đăng kí trước khi có thể gửi bài . Để bắt đầu xem bài viết, chọn diễn đàn bạn muốn thăm dưới đây.
Thông báo Collapse No announcement yet. Bỏ số 0 vô nghĩa khi đếm Collapse X Collapse
  • Bài viết
  • Hoạt động gần đây
  • Tìm kiếm
  • Trang of 1
  • Lọc
  • Giờ All Time hôm nay Last Week Last Month
  • Show All Discussions only Photos only Videos only Links only Polls only Events only
Filtered by: Clear All new posts Trước template Next
  • khachgianlai khachgianlai Thành viên mới
    • Tham gia: Dec 2010
    • Bài viết: 16
    • Share
    • Tweet
    #1

    Bỏ số 0 vô nghĩa khi đếm

    01-03-2012, 10:56 Chào mọi người, Mình làm cái mạch đếm từ 0-999 nhưng không biết cách bỏ số không ở hàng chục và trăm, mọi người giúp minh nhé. Thanks, đây #include <REGX51.H> #define led1 P2_0 #define led2 P2_1 #define led3 P2_2 #define led4 P2_3 #define chay P1_7 unsigned int nghin, tram, chuc, donvi; char i,j,dem,k,n,m; // ma hex cua led 7 doan unsigned char ma[]={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90}; /khoi tao timer 1 de quyet led void delay_timer1(void) { TMOD=0x10; //chon che do dinh thoi 16bit TH1=-9215/256; //nap gia tri cho bit cao (26ms) TL1=-9215/256; //nap gia tri cho bit thap (26ms) TF1=0; //xoa co tran TR1=1; //khoi dong bo dinh thoi timer0 chay while (!TF1); //cho co tran bat len 1 TR1=0; // ngung bo dinh thoi } //ham quet led de hien thi so void quet_led(void) { led1=1; P1=ma[nghin]; delay_timer1(); led1=0; led2=1; P1=ma[tram] ; delay_timer1(); led2=0; led3=1; P1=ma[chuc]; delay_timer1(); led3=0; led4=1; P1=ma[donvi]; delay_timer1(); led4=0; tram= i%10; nghin=i/10; donvi=j%10; chuc= j/10; } void main() { dem=100; while(1) { while (!chay) //khoi dong he thong delay(10); //Chong soc dien { for (i=dem;i>=0;i--) //giam hang nghin, tram { for (j=59;j>=0;j--) //giam hang don vi, chuc { { for (k=0;k<20;k++) //thoi gian chay 1s { quet_led(); }}}} } Tags: None
  • fee_08 fee_08 Thành viên tích cực
    • Tham gia: Mar 2011
    • Bài viết: 201
    • Share
    • Tweet
    #2 01-03-2012, 11:14 Cái này có gì khó đâu nhỉ , giả xử số hàng trăm là a , vậy khi quét so sánh If(a==0) không bật nguồn led hàng trăm đó; else bật nguồn led hàng tram đó ; Chèn đoạn này vào hàm quét led.

    Comment

    Gửi bài viết Huỷ bỏ
  • khachgianlai khachgianlai Thành viên mới
    • Tham gia: Dec 2010
    • Bài viết: 16
    • Share
    • Tweet
    #3 01-03-2012, 16:09 Minh chèn vào thì nó chỉ thiện hiện đúng khi dem>9; moi hien hang chuc nhung khi chay thi an hien hang chuc la sao vay ban!

    Comment

    Gửi bài viết Huỷ bỏ
  • mast090 mast090 Thành viên tích cực
    • Tham gia: Oct 2010
    • Bài viết: 1018
    • Share
    • Tweet
    #4 01-03-2012, 16:23 mỗi 1 con led bạn đều phải khai báo 1 câu lệnh như vậy, nếu giá trị tại led đó =0 thì nguồn =0 else nguồn =1, kiểm tra kĩ lại đi bạn Website chính thức đổi địa chỉ website thành Mời các bạn ghé thăm !!!

    Comment

    Gửi bài viết Huỷ bỏ
  • fee_08 fee_08 Thành viên tích cực
    • Tham gia: Mar 2011
    • Bài viết: 201
    • Share
    • Tweet
    #5 01-03-2012, 16:31 uhm quên mất ở hàng chục phải kiểm tra thêm ,nếu hàng tram bằng 0 và chục bằng 0 thì mới bỏ số 0 hàng đơn vị đi

    Comment

    Gửi bài viết Huỷ bỏ
  • thindcna thindcna Thành viên tích cực
    • Tham gia: Oct 2010
    • Bài viết: 119
    • Share
    • Tweet
    #6 01-03-2012, 18:15 ASM thì chịu

    Comment

    Gửi bài viết Huỷ bỏ
  • chung1608 chung1608 Thành viên tích cực
    • Tham gia: Sep 2009
    • Bài viết: 4162
    • Share
    • Tweet
    #7 01-03-2012, 18:18 Nguyên văn bởi mast090 Xem bài viết mỗi 1 con led bạn đều phải khai báo 1 câu lệnh như vậy, nếu giá trị tại led đó =0 thì nguồn =0 else nguồn =1, kiểm tra kĩ lại đi bạn cho vào bảng mã giá trị thứ 11 là mã thay thế số 0 vô nghĩa, tại phần code chia lấy số, bạn kiểm tra thương nếu là 0 thì gán cho thương mã 11 của giá trị thay thế số 0

    Comment

    Gửi bài viết Huỷ bỏ
  • khachgianlai khachgianlai Thành viên mới
    • Tham gia: Dec 2010
    • Bài viết: 16
    • Share
    • Tweet
    #8 02-03-2012, 00:16 bạn có thể chỉ minh cụ thể vào trong lập trình của minh được không? Minh mới biết lập trình nên không rành lắm, thanks

    Comment

    Gửi bài viết Huỷ bỏ
  • mast090 mast090 Thành viên tích cực
    • Tham gia: Oct 2010
    • Bài viết: 1018
    • Share
    • Tweet
    #9 02-03-2012, 03:47 Nguyên văn bởi chung1608 Xem bài viết cho vào bảng mã giá trị thứ 11 là mã thay thế số 0 vô nghĩa, tại phần code chia lấy số, bạn kiểm tra thương nếu là 0 thì gán cho thương mã 11 của giá trị thay thế số 0 làm thế này cũng đc, nói chung là có nhiều cách nghĩa là khi nó quét con số 0 vô nghĩa thì bạn xuất ra 0xff thay vì xuất ra mã con số 0 Website chính thức đổi địa chỉ website thành Mời các bạn ghé thăm !!!

    Comment

    Gửi bài viết Huỷ bỏ
  • tdm tdm Thành viên tích cực
    • Tham gia: Sep 2005
    • Bài viết: 349
    • Share
    • Tweet
    #10 03-03-2012, 00:21 Nguyên văn bởi khachgianlai Xem bài viết bạn có thể chỉ minh cụ thể vào trong lập trình của minh được không? Minh mới biết lập trình nên không rành lắm, thanks chèn giúp bạn vài dòng code: Code: #include <REGX51.H> #define led1 P2_0 #define led2 P2_1 #define led3 P2_2 #define led4 P2_3 #define chay P1_7 unsigned int h; char k,n,m,nghin,tram,chuc,donvi,dem,i,j,ma_bo_0=0; // ma hex cua led 7 doan unsigned char ma[]={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90}; //khoi tao timer 1 de quyet led void delay_timer1(void) { TMOD=0x10; //chon che do dinh thoi 16bit TH1=-9215/256; //nap gia tri cho bit cao (26ms) TL1=-9215/256; //nap gia tri cho bit thap (26ms) TF1=0; //xoa co tran TR1=1; //khoi dong bo dinh thoi timer0 chay while (!TF1); //cho co tran bat len 1 TR1=0; // ngung bo dinh thoi } //ham quet led de hien thi so void quet_led(void) { tram= i; nghin=i/10; donvi=j; chuc= j/10; if(nghin==0) { ma_bo_0=1;//bo nghin if(tram==0) { ma_bo_0=2;// bo nghin,tram if( chuc==0) { ma_bo_0=3;// bo nghin,tram,chuc if( donvi==0) { ma_bo_0=4;// bo nghin,tram,chuc,dv } } } } switch (ma_bo_0) { case 0: { led1=1; P1=ma[nghin]; delay_timer1(); led1=0; led2=1; P1=ma[tram] ; delay_timer1(); led2=0; led3=1; P1=ma[chuc]; delay_timer1(); led3=0; led4=1; P1=ma[donvi]; delay_timer1(); led4=0; break; } case 1: { led1=0; led2=1; P1=ma[tram] ; delay_timer1(); led2=0; led3=1; P1=ma[chuc]; delay_timer1(); led3=0; led4=1; P1=ma[donvi]; delay_timer1(); led4=0; break; } case 2: { led1=0; led2=0; led3=1; P1=ma[chuc]; delay_timer1(); led3=0; led4=1; P1=ma[donvi]; delay_timer1(); led4=0; break; } case 3: { led1=0; led2=0; led3=0; led4=1; P1=ma[donvi]; delay_timer1(); led4=0; break; } case 4: { break; } } } void main() { chay=1;//input dem=10;//chua gia tri tu 0......99 while(1) { while (!chay) //khoi dong he thong { delay_timer1(); //Chong soc dien ma_bo_0=0; for (i=dem;i>=0;i--) //giam hang nghin, tram { for (j=59;j>=0;j--) //giam hang don vi, chuc { for (k=0;k<1;k++) //giam gia tri de test thuat toan { quet_led(); }} }} }} Last edited by tdm; 03-03-2012, 00:27. |

    Comment

    Gửi bài viết Huỷ bỏ
Trước template Next Về tác giả Collapse khachgianlai Tìm hiểu thêm về khachgianlai Bài viết mới nhất Collapse
  • dinhthuong92 Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây! bởi dinhthuong92 Dạ, cảm ơn bác đã nghe qua và có lời khích lệ cháu ạ. Thật lòng cháu không dám nhận hai danh hiệu Kỹ sư và Nhạc sĩ đâu ạ, vì phải thật hiểu sâu nắm vững cơ, chứ thực lực cháu đây chỉ là biết chút ít thôi à. Về phần...
    • Channel: Tâm tình dân kỹ thuật
    29-01-2026, 11:58
  • bqviet Trả lời cho Có mạch sạc nlmt nào có mppt không các bác bởi bqviet Đơn giản thì có trải nghiệm này http://www.dientuvietnam.net/forums/...ch%C3%AA%CC%81 Chỉ phần cứng,...
    • Channel: Điện tử công suất
    27-01-2026, 21:32
  • Nexus 6P Trả lời cho Có mạch sạc nlmt nào có mppt không các bác bởi Nexus 6P phức tạp quá, nếu mà có mạch làm sẵn thì ngon, e dùng 2 tấm pv loại 18v 55w thôi bác
    • Channel: Điện tử công suất
    26-01-2026, 08:52
  • Nexus 6P Trả lời cho Có mạch sạc nlmt nào có mppt không các bác bởi Nexus 6P cảm ơn bác nhiều nha, để e nghiên cứu
    • Channel: Điện tử công suất
    26-01-2026, 07:38
  • vi van pham Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây! bởi vi van pham kỹ sư nhạc sĩ dinhthuong dạo này lên tay nghề khá quá.
    • Channel: Tâm tình dân kỹ thuật
    25-01-2026, 21:29
  • dinhthuong92 Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây! bởi dinhthuong92 Hát Mừng Sinh Nhật, sáng tác: HĐT, hòa âm-thể hiện: AI https://youtu.be
    • Channel: Tâm tình dân kỹ thuật
    24-01-2026, 22:13
  • dinhthuong92 Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây! bởi dinhthuong92 Chào bác, gần Tết công việc bác bận lắm phải không? Vâng mọi người đều thế cả. Em mới trả phí cho nó 1 tháng, nhờ nó hát thử ấy ạ. Tiếc vì em đã dốt nhạc lí lại lười học nên sáng tác thì vụng về mà hát demo... https://youtu.be
    • Channel: Tâm tình dân kỹ thuật
    24-01-2026, 21:53
  • bqviet Trả lời cho Có mạch sạc nlmt nào có mppt không các bác bởi bqviet Cảm thấy cứng tay thì làm theo hướng dẫn khá chi tiết ở trang sau https://www.instructables.com/DIY-1k...ge-Controller/
    • Channel: Điện tử công suất
    23-01-2026, 16:50
  • Nexus 6P Có mạch sạc nlmt nào có mppt không các bác bởi Nexus 6P Như tiêu đề, các bác giới thiệu e mạch sạc nlmt mppt có chức năng chỉnh dòng với, tấm PV của em 18V 55W, dùng để sạc cho khối pin sắt 3.2V 45A (sắp tới sẽ thay bằng ắc quy 12V) e cảm ơn
    • Channel: Điện tử công suất
    23-01-2026, 11:23
Xem toàn bộ Copyright © 2000-2026 Dientuvietnam.net. Founded by BinhAnh. Developed by R&P. All rights reserved. Forum software powered by vBulletin® Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Múi giờ GMT+7. Trang này được tạo vào lúc 20:54. Đang tải... Ðồng ý Không OK OK Huỷ bỏ X

Từ khóa » Xóa Số 0 Vô Nghĩa