1. Tuyển Mod quản lý diễn đàn. Các thành viên xem chi tiết tại đây

Cho hỏi về cổng LPT

Chủ đề trong 'Điện - Điện tử - Viễn thông' bởi enti, 02/11/2003.

  1. 1 người đang xem box này (Thành viên: 0, Khách: 1)
  1. enti

    enti Thành viên quen thuộc

    Tham gia ngày:
    18/01/2002
    Bài viết:
    334
    Đã được thích:
    0
    Cho hỏi về cổng LPT

    Tôi thử dùng cổng LPT để điều khiển thiết bị. TRước tiên tôi muốn thử xem cổng có sử dụng được không nên tôi gắn trực tiếp các chân 2-9 qua led xuống chân 25, rồi tôi chạy chương trình viết bằng C xuất lần lượt giá trị 1 ra từng chân thì thấy đèn sáng nhưng thường thì phải sau hai lần xuất đèn mới sáng.
    vd:
    ....
    outportb(baseadd,0x01);
    ....
    nếu chương trình chạy một lần đèn chưa sáng, tôi cho chương trình thêm một lần nữa thì đèn mói sáng, vậy là sao, và cách khắc phục như thế nào. Tôi cho dòng lệnh trên trong một vòng lặp thì giải quyết được nhưng không hay.
    Còn địa chỉ cơ sở của cổng LPT 1 là 3bc chứ không phải là 378, là tại sao.
    Còn cách sử dụng các chân số 1, 14 hoặc các chân có giá trị đảo như thế nào. tôi gắn trực tiếp qua led thì led sáng nhưng tôi thử xuất giá trị ra thì không ảnh hưởng gì hết.
    Ai biết xin chỉ giùm một tí.

    Ai them nho anh ...
  2. biettiti

    biettiti Thành viên mới

    Tham gia ngày:
    23/12/2002
    Bài viết:
    1.573
    Đã được thích:
    0
    Bạn có thể dùng debug để kiểm tra trực tiếp việc xuất dữ liệu qua cổng LPT .Thường thì chỉ cần chạy 1 lần là đèn sáng ngay .
    Địa chỉ cổng LPT trên máy bạn là 3BC thay vì 378 là do bạn thiết lập trong cấu hình CMOS máy tính .Các chân 1,14... là các chân xuất tín hiệu đảo->khi chưa đk thì nó luôn ở mức 5v nên đèn led luôn sáng .Tuy nhiên để đk được các chân này thì bạn phải thay đổi địa chỉ bằng cách tăng thêm 2 vào địa chỉ cơ sở(3BC+2=3BE).Ví dụ outportb(addr+2,0x1);
    PS :nếu không được bạn cứ post mã nguồn lên tôi sửa dùm cho.

    Gac kiem ... gia tu vu khi !
  3. dodo143

    dodo143 Thành viên mới

    Tham gia ngày:
    09/04/2002
    Bài viết:
    28
    Đã được thích:
    0
    Bạn xài Turbo C hoặc BC trong môi trường Windows XP fải hông ?
  4. thinker

    thinker Thành viên mới

    Tham gia ngày:
    09/09/2003
    Bài viết:
    450
    Đã được thích:
    0
    Cẩn thận, chơi trực tiếp kiểu như trên chỉ chạy được với Win95/98 thôi.
  5. Quen_mang_kinh

    Quen_mang_kinh Thành viên quen thuộc

    Tham gia ngày:
    23/05/2002
    Bài viết:
    542
    Đã được thích:
    1
    Bạn nên cho qua đệm - Bạn đang mạo hiểm với cái LPT của mình đấy
  6. TuLa

    TuLa Thành viên quen thuộc

    Tham gia ngày:
    24/10/2002
    Bài viết:
    413
    Đã được thích:
    0
    Bạn xem lại manual đi, đặc biệt là hướng OUT hay IN của chân (PIN) ấy ! Ngày trước tớ làm thấy ngon re mà :-)
    http://tula.alturl.com
    http://tula.dk3.com
  7. enti

    enti Thành viên quen thuộc

    Tham gia ngày:
    18/01/2002
    Bài viết:
    334
    Đã được thích:
    0
    Cám ơn.
    Tôi dùng win XP ngày trước tôi vẫn dùng được bình thường, còn bây giờ thì không.
    Bây giờ nó còn bị như thế này. Nếu tôi dùng dòng lệnh
    outportb(baseadd,0x01);
    thì led 1(nối vơichấn D0) sáng
    outportb(baseadd,0x02);
    thì led 2 (nối với chân D1) không sáng
    còn nếu dùng lệnh
    outportb(baseadd,0x03)
    thì cả hai đèn (1 và 2) đều sáng.
    đèn thứ 3 tức nối với chân D2 củng bị tương tự.
    Cách nao khắc phục.
    Còn chân 16 (INIT) cũng không điều khiển được dù tôi chạy dòng lệnh
    outportb(baseadd+2,0x04);
    --> đèn không sáng.
    Ai them nho anh ...
  8. biettiti

    biettiti Thành viên mới

    Tham gia ngày:
    23/12/2002
    Bài viết:
    1.573
    Đã được thích:
    0
    Bạn ơi như thế thì đúng rồi.Chú ý
    0H->0000 0000B
    1H->0000 0001B
    2H->0000 0010B
    3H->0000 0011B
    ..............
    Các chân với mức 0 thì đèn tắt còn mức 1 thì đèn sáng.Từ trái qua phải tương ứng chân D7...D0

    Gac kiem ... gia tu vu khi !
  9. thinker

    thinker Thành viên mới

    Tham gia ngày:
    09/09/2003
    Bài viết:
    450
    Đã được thích:
    0

Chia sẻ trang này