1. THÔNG BÁO TUYỂN ADMIN DIỄN ĐÀN 2013
    Tìm kiếm nhà trọ - Ở ghép
    THÔNG BÁO BÁN ÁO SPKT.NET CHO THÀNH VIÊN DIỄN ĐÀN


    HÃY TÌM KIẾM Ở ĐÂY TRƯỚC KHI ĐẶT CÂU HỎI
    {xen:phrase loading}

Mô phỏng 8051 giao tiếp với máy tính

Thảo luận trong 'Vi điều khiển - Mạch Số' bắt đầu bởi admin, 11 Tháng mười một 2010.

  1. admin Administrator

    Số bài viết: 683
    Đã được thích: 64
    Điểm thành tích: 28
    Hôm nay tớ sẽ nói sang 1 phần mới, đó là mô phỏng giao tiếp với máy tính. Trước hết để chuẩn bị cho bài mô phỏng này các bạn cần cài thêm phần mểm Cổng com ảo,các bạn có thể dow về theo link sau:
    http://www.mediafire.com/?ezmwogag1m2


    Công việc sẽ gồm các bước cụ thể như sau:

    B1: Sau khi dow về, giải nén, sẽ có 1 file cài, 1 file .dll.Khi cài đặt xong, các bạn copy rồi paste file .dll ban đầu vào thư mục cài dặt mặc định trong ổ C. Như vậy là sẽ dùng được mãi mãi:D

    B2: Chạy phần mểm cổng com ảo: Các bạn làm theo như hướng dẫn trong hình nhé:

    [IMG]

    kick vào biểu tượng của cổng com ảo

    [IMG]

    Sau khi xuất hiện thì chọn com 4 ở trên, com 5 ở dưới, rồi án Add Pair

    [IMG]

    Kết quả là có thêm 2 cổng com ảo ở phần Virtual ports. Ngoài ra phần mềm còn hiển thị máy bạn có những cổng com vật lý nào ở phần Physical Ports. Từ các lần sau, kô cần phải mở phần mềm này cũng được vì trong máy đã có 2 cổng com ảo 4, 5 rồi, muốn tạo com ảo khác, hay xem sỗ dữ liệu truyền nhận thi lại làm như trên nha!

    B3: Vừa rồi chúng ta tạo thêm 2 cổng com ảo trên phần mềm, tức là 2 com ảo này có thể giao lưu dũ liệu với nhau rồi đấy,như vậy trên máy chúng ta đã có thêm 2 cổng com ảo, và bây giờ ta tạo phần cứng cho 2 com này, tất nhiên gọi là phần cứng nhưng nó cũng lại ảo nốt:D . Tại sao tớ lại chọn 2 com này, lý do là vì: com 4 là số thứ tự com mặc định của com ảo trong proteus, còn com 5 thì các bạn chọn trong Hyper Terminal hoặc trong phần mềm giao tiếp các bạn tự viết bằng VB, C,C++....Trước mắt chúng ta cứ dùng tạm cái có sẵn trên Win của chúng ta, đó là Hyper Terminal. Để tạo com ảo này, các bạn làm theo như sau: START >> ALL PROGRAMS >> Accessories >> Communication >> Hyper Terminal

    [IMG]

    [IMG]

    [IMG]

    Đến đây ta đã tạo xong phần cứng ảo của cổng com 5, còn cổng com 4 khi ấn Run trong proteus tự nó chạy

    B4: Xong, giờ quay sang phần proteus, có nhiều cách để mô phỏng giao tiếp, ở đây tớ làm như sau: Khi ấn chữ "X" trong HyperTerminal thì led mầu xanh trong proteus sẽ sáng, khi ấn chữ "D" thì led mầu đỏ sáng, led xanh tắt, rất đơn giản thôi. Ah còn thêm phần LCD nữa, sẽ có 1 LCD giao tiếp, khi ấn "X" hay "D"ở Hyper thì trên màn hình LCD này cũng sẽ hiện lên X, D. Trong đoạn code tớ viết trên Hyper cũng sẽ hiện X,D được ấn hoặc bất kỳ phím nào

    [IMG]

    Trên đây là toàn cảnh toàn bộ những cái mà chúng ta vừa làm đang ở trạng thái chạy! Trên phần mềm cổng com ảo thì hiện các thông số của 2 com ảo, còn trên com ảo của proteus thì có các chấm tròn đỏ( xanh lè hết là chưa chạy nha!>.<)

    Sang B5: Mạch đã xong, các thiết bị ảo lỉnh kỉnh đi kèm cũng đã xong, giờ đến phần code C, rồi nạp file hex để nghịch thôi:pirate:
    Trước khi đi vào phần code, các bạn cần đọc thêm :
    +Các thanh ghi liên quan đến phần giao tiếp máy tính như: SCON(chọn các chế độ), TMOD( chọn timer), THx và TLx(chọn tốc độ truyền);
    +Các cờ ngắt TI(ngắt truyền transmit interrup, khi nào truyền xong ngắt này sẽ =1) RI(ngắt nhận, received interrup, khi nào truyền xong ngắt này sẽ = 1);
    + Bộ đệm( cũng là thanh ghi)nhận, đệm truyền SBUF, cùng tên nhưng 1 cái để nhận dữ liệu gửi về, 1 cái để truyền đi
    Để biết cụ thể các bạn dow chương này về đọc nha:
    http://www.mediafire.com/?sharekey=2857f12fe3e5d90be5c3dee5769931ece04e75f6e8ebb871


    Trong đoạn code dưới đây, tớ dùng cả chương trình con dùng ngắt nối tiếp, trong máy tính quy định ngắt nối tiếp là ngắt số 4, thế nên phải viết như sau:

    void truyenthong(void) interrupt 4
    trong main() tớ dùng EA=1; như vậy cho phép mọi ngắt hoạt động, nhưng chỉ dùng mỗi ngắt nối tiếp (chính là đoạn chương trình con void truyenthong(void) interrupt 4). Khi nào chúng ta truyền dữ liệu xuống, chính là gõ chữ trên Hyper ý thì có ngắt, 8051 sẽ nhẩy vào chương trình con truyenthong để xử lý! Còn j chưa hiểu các bạn tiếp tục đọc tài liệu hoặc hỏi google nha:D
    Mã:
    #include <at89x51.h>
    #include <stdio.h>
    //=========================
    #define leddo   P1_0
    #define ledxanh P1_1
    //=========================
    unsigned char ch,abc;
    //==========================
    void SetupSerial()
    {
    SCON = 0x52; 	  /* Che do 1: 8-bit UART, cho phep truyen   */
    TMOD = 0x20;	  /* timer 1 che do 2: 8-Bit tu dong nap lai.          */
    TH1 = 0xfd ;	  /* toc do 9600 baud                */
    TL1 = 0xfd ;
    TI = 0;			  /* co ngat nha^n.=0*/
    RI=0;			  /* co ngat' truye^n =0*/
    TR1 = 1;			 /* timer 1 run                           */
    ES   =1;			 /* cho phep ngat noi tiep */
    }
    //===========================
    void truyenthong(void) interrupt 4	  //Chuong trinh con dung ngat noi tiep
    {
    	char ch;
    	if(RI)
    	{
    		RI=0;
    	        ch=SBUF; //nhan ky tu ve
    		SBUF=ch; // truyen nguoc lai
            }
    }
    //===========================
    void main()
    {
    SetupSerial();	  //Khoi tao cac thong so cho truyen thong noi tiep
    EA = 1;			  //Cho phep ngat nhung chi? có ngat noi tiep duoc dung trong code nay
     if (SBUF==68){		  //68 la ma~ DEC cua chu*~ D
       leddo=0;
       ledxanh=1; }
     if(SBUF==88){		  //88 la ma~ DEC cua chu*~ X
       leddo=1;
       ledxanh=0; }
    }
    
    Kết quả chạy trên mô phỏng:

    [IMG]

    Nhớ viết hoa X và D trên Hyper nha!!!CHÚC CÁC BẠN THÀNH CÔNG ^_^!

    Các bạn chú ý nhé: Các mạch này chỉ có ý nghĩa mô phỏng, nó sẽ khác với mạch thực tế mà cụ thể ở bài mô phỏng giao tiếp máy tính này, đáng lẽ ở mạch thật: chân R1in( chân 13 của Max232) nối với chân 3( chân truyền) của cổng com, còn chân T2out( chân 7 của Max232) nối với chân 2 (chân nhận) của cổng com; thì ở trong mô phỏng lại ngược lại. Mình thử mắc như trong mạch thật đối với proteus thì kô mô phỏng được. Vì thế các bạn chú ý kô nên áp nguyên mạch mô phỏng để làm mạch thật!

    Đây là link dow mô phỏng + code C nha(file hex các bạn tự tạo rồi nạp vô nha!):
    http://www.mediafire.com/?sharekey=2857f12fe3e5d90be5c3dee5769931ece04e75f6e8ebb871
    xuanlienbk thích bài này.
  2. th&ht New Member

    Số bài viết: 53
    Đã được thích: 2
    Điểm thành tích: 0
  3. MrTrinh New Member

    Số bài viết: 91
    Đã được thích: 0
    Điểm thành tích: 0
  4. vthang.mta New Member

    Số bài viết: 1
    Đã được thích: 0
    Điểm thành tích: 0
  5. nangsom122 New Member

    Số bài viết: 4
    Đã được thích: 0
    Điểm thành tích: 0
    Em học thực tập điện tử cơ bản mà không biết kiếm tên linh kiện cầu diode 3a trong proteus có tên là gì ,em có thể dùng cầu 2a có 4 chân vuông hay dùng cầu 8a có 4 chân ngang thay thế được không?
  6. croket_2512 Moderator

    Số bài viết: 2,190
    Đã được thích: 17
    Điểm thành tích: 38
    Giới tính: Nam
    Trong PROTEUS: cầu nào cũng được, miễn là cầu, vì PROTEUS không có khái niệm cháy trong đó! :))
    Trong thực tế: giá trị chính xác hoặc tương đối chính xác, đã qua tính toán chọn lựa đàng hoàng! ^^
  7. phanhuycuong2909 New Member

    Số bài viết: 10
    Đã được thích: 0
    Điểm thành tích: 0
  8. merlin612 New Member

    Số bài viết: 1
    Đã được thích: 0
    Điểm thành tích: 0
  9. thaihe New Member

    Số bài viết: 17
    Đã được thích: 0
    Điểm thành tích: 0
    Hiện nay chúng tôi tổ chức đào tạo các khóa học sau
    1.Đào tạo lập trình Pascal
    *Các học viên tham gia khóa học sẽ nắm bắt được các kiến thức cơ bản sau
    -Có khả năng tư duy với ngôn ngữ lập trình Pascal
    -Có thể dùng Pascal như các công cụ xử lý toán học cơ bản như:
    +Giải phương trình và hệ phương trình toán học
    +Vẽ đồ thị hàm số
    -Có khả năng xây dựng giải thuật lập trình vẽ các vật thể chuyển động và vật thể tĩnh
    2.Đào tạo lập trình C
    *Các học viên tham gia khóa học sẽ nắm bắt được các kiến thức cơ bản sau
    -Có khả năng tư duy với ngôn ngữ lập trình C
    -Có thể dùng C như các công cụ xử lý toán học cơ bản như:
    +Giải phương trình và hệ phương trình toán học
    +Vẽ đồ thị hàm số
    -Có khả năng xây dựng giải thuật lập trình vẽ các vật thể chuyển động và vật thể tĩnh
    3.Đào tạo lập trình C#
    *Các học viên tham gia khóa học sẽ nắm bắt được các kiến thức cơ bản sau
    -Có khả năng tư duy với ngôn ngữ lập trình C
    -Có thể dùng C như các công cụ xử lý toán học cơ bản như:
    +Giải phương trình và hệ phương trình toán học
    +Vẽ đồ thị hàm số
    -Có khả năng xây dựng giải thuật lập trình vẽ các vật thể chuyển động và vật thể tĩnh
    -Thiết kế và lập trình các phần mềm đơn giản
    -Đóng gói phần mềm để chạy trên mọi máy
    4.Đào tạo lập trình dòng vi điều khiển 8051
    *Các học viên tham gia khóa học sẽ nắm bắt được các kiến thức cơ bản sau
    -Có thể dùng ngôn ngữ lập trình Asembly và ngôn ngữ lập trình C để làm công cụ điều khiển các thiết bị.
    -Tạo các hiệu ứng đơn giản và phức tạp trên led đơn
    -Đo nhiệt độ,điện áp
    -Xây dựng các mạch điều khiển các thiết bị trong gia đình như bong đèn,quạt,…

    -Giao tiếp máy tính,quản lý hệ thống thông qua máy tính
    -Mã hóa giải mã tín hiệu điều khiển từ xa
    -Thiết kế và lập trình mạch điều khiển từ xa bằng hồng ngoại
    -Thiết kế và lập trình mạch điều khiển từ xa bằng RF
    -Thiết kế và lập trình mạch điều khiển từ xa bằng ánh sáng
    -Thiết kế và xây dựng mạch hạ áp trực tiếp
    -Thiết kế và lập trình mạch điều khiển động cơ
    -Thiết kế và lập trình mạch chạy chữ trên led ma trận
    -Thiết kế và lập trình mạch đếm sản phẩm
    -Thiết kế và lập trình mạch phát hiện vật trong phạm vi ngắn
    -Điều khiển hệ thống đèn giao thông
    -Thiết kế và lập trình đồng hồ hẹn giờ,đồng hồ vạn niên
    -Điều khiển thiết bị thông qua nhiệt độ và ánh sáng của môi trường
    -Thiết kế và lập trình các mạch tích hợp công nghệ cao đa chức năng
    -Thiết kế và xây dựng phần mềm điều khiển hệ thống
    -Thiết kế và lập trình mô hình điện thoại nhắn tin trong phạm vi gần
    -Xây dựng hệ thống điều khiển thiết bị qua mã số và khả năng bảo mật
    5.Đào tạo lập trình dòng vi điều khiển pic
    *Các học viên tham gia khóa học sẽ nắm bắt được các kiến thức cơ bản sau
    -Có thể dùng ngôn ngữ lập trình C để làm công cụ điều khiển các thiết bị.
    -Tạo các hiệu ứng đơn giản và phức tạp trên led đơn
    -Đo nhiệt độ,điện áp
    -Thiết kế và xây dựng mạch hạ áp trực tiếp
    -Xây dựng các mạch điều khiển các thiết bị trong gia đình như bong đèn,quạt,…
    -Giao tiếp máy tính,quản lý hệ thống thông qua máy tính
    -Mã hóa giải mã tín hiệu điều khiển từ xa
    -Thiết kế và lập trình mạch điều khiển từ xa bằng hồng ngoại
    -Thiết kế và lập trình mạch điều khiển từ xa bằng RF
    -Thiết kế và lập trình mạch điều khiển từ xa bằng ánh sáng
    -Thiết kế và lập trình mạch điều khiển động cơ
    -Thiết kế và lập trình mạch chạy chữ trên led ma trận
    -Thiết kế và lập trình mạch đếm sản phẩm
    -Thiết kế và lập trình mạch phát hiện vật trong phạm vi ngắn
    -Điều khiển hệ thống đèn giao thông
    -Thiết kế và lập trình đồng hồ hẹn giờ,đồng hồ vạn niên
    -Điều khiển thiết bị thông qua nhiệt độ và ánh sáng của môi trường
    -Thiết kế và lập trình các mạch tích hợp công nghệ cao đa chức năng
    -Thiết kế và xây dựng phần mềm điều khiển hệ thống
    -Thiết kế và lập trình mô hình điện thoại nhắn tin trong phạm vi gần
    -Xây dựng hệ thống điều khiển thiết bị qua mã số và khả năng bảo mật
    6.Đào tạo lập trình dòng vi điều khiển avr
    *Các học viên tham gia khóa học sẽ nắm bắt được các kiến thức cơ bản sau
    -Có thể dùng ngôn ngữ lập trình C để làm công cụ điều khiển các thiết bị.
    -Thiết kế và xây dựng mạch hạ áp trực tiếp
    -Tạo các hiệu ứng đơn giản và phức tạp trên led đơn
    -Đo nhiệt độ,điện áp
    -Xây dựng các mạch điều khiển các thiết bị trong gia đình như bong đèn,quạt,…
    -Giao tiếp máy tính,quản lý hệ thống thông qua máy tính
    -Mã hóa giải mã tín hiệu điều khiển từ xa
    -Thiết kế và lập trình mạch điều khiển từ xa bằng hồng ngoại
    -Thiết kế và lập trình mạch điều khiển từ xa bằng RF
    -Thiết kế và lập trình mạch điều khiển từ xa bằng ánh sáng
    -Thiết kế và lập trình mạch điều khiển động cơ
    -Thiết kế và lập trình mạch chạy chữ trên led ma trận
    -Thiết kế và lập trình mạch đếm sản phẩm
    -Thiết kế và lập trình mạch phát hiện vật trong phạm vi ngắn
    -Điều khiển hệ thống đèn giao thông
    -Thiết kế và lập trình đồng hồ hẹn giờ,đồng hồ vạn niên
    -Điều khiển thiết bị thông qua nhiệt độ và ánh sáng của môi trường
    -Thiết kế và lập trình các mạch tích hợp công nghệ cao đa chức năng
    -Thiết kế và xây dựng phần mềm điều khiển hệ thống
    -Thiết kế và lập trình mô hình điện thoại nhắn tin trong phạm vi gần
    -Xây dựng hệ thống điều khiển thiết bị qua mã số và khả năng bảo mật
    7.Các vấn đề liên quan
    *Cách thức giảng dạy
    -Học viên có thể đăng ký học tại trung tâm nếu ở gần,ở xa có thể học trực tuyến.Chúng tôi sẽ cung cấp đầy đủ phần mềm để hộ trợ các học viên học trực tuyến.
    -Đối tượng tham gia khóa học: Áp dụng cho tất cả mọi người,mọi tầng lớp
    *Kết quả
    -Sau khi hoàn thành khóa học đảm bảo học viên có thể tự xây dựng cho mình 1 môi trường làm việc tương đối ổn định.
    -Những học viên có yếu kém chúng tôi sẽ tăng cường bổ sung kiến thức
    8.Tình hình xã hội
    *Tình trạng thất nghiệp:
    -Hiện nay số lượng sinh viên thất nghiệp đang ngày một gia tăng.Nguyên nhân cơ bản là do kiến thức mà sinh viên học được tại trường quá khác với thực tế.Vì thế mà khi tốt nghiệp các bạn sinh viên không thể nào đáp ứng được nhu cầu của nhà tuyển dụng.
    -Chúng tôi là những người đi trước.Đã tham gia làm việc tại các công ty lớn tại việt nam.Do đó những gì khó khăn đối với 1 sinh viên mới ra trường chúng tôi đã trải qua và thấu hiểu được điều đó.Chính vì thế mà chúng tôi đã thành lập nên lớp học rất ý nghĩa đối với các bạn sinh viên cũng như các kỹ sư mới ra trường để có điều kiện bổ xung kiến thức.
    9.Hỗ trợ
    -Sau khi học viên hoàn thành khóa học,nếu còn yếu kém chúng tôi sẽ hỗ trợ từ xa
    -Chúng tôi sẽ tư vấn sử dụng các phần mềm liên quan như phần mềm thiết kế mạch,vẽ mạch điện.Phần mềm đồ họa photoshop,xây dựng Website tĩnh và động để đăng thông tin lên Website cá nhân.
    *Địa điểm học: Tại khu vực mễ trì hạ,từ liêm,hà nội
    -Học phí cho mỗi khóa học là 1,5triệu đối với sinh viên và những người đang thất nghiệp.2 triệu đồng đối với những người đã có việc làm ổn định
    *Mọi thong tin chi tiết các học viên có thể lien hệ theo địa chỉ sau
    -Anh Thái Dương Hệ
    -Nick yahoo: thaihe_vip
    -Nick skype: thaihe_vip
    -Email: thaihe@zing.vn
    Hoặc: thaihetoday@gmail.com
    -Điện thoại: 0166.495.1093
    Học trực tuyến thông qua yahoo,skype,teamview
    Học tại nhà
    Học tại trung tâm

  10. tri_nguyenst New Member

    Số bài viết: 12
    Đã được thích: 0
    Điểm thành tích: 1
    Các bạn ơi có thể chỉ cho mình cách tạo thư viện tv_delay trong kiel c được không ạ? Mình đang thực hành theo tài liệu của thầy nguyễn đình phú nhưng ko biết tạo thu viện tv_delay ra sao cả?

    Cảm ơn các bạn rất nhiều !
  11. gentment_10 New Member

    Số bài viết: 1
    Đã được thích: 0
    Điểm thành tích: 0

Chia sẻ trang này