Em đang làm đề tài Voltmet ứng dụng 89C51 hiển thị lên form C#. Em đã làm phần đo điện áp rồi nhưng khi truyền lên win form thì kí tự bị lỗi sao ấy "/??/?/?? " như vậy đó. Em không tài nào sửa được. Mong pro nào biết chỉ dùm em về phần này tí. Hay có tài liệu gì cho em cũng được. Em cảm ơn nhiều!
tài liệu có liên quan đến C# nhận dữ liệu data từ 89c51 qua cổng rs232(COM)
Collapse
X
-
-
bạn có tài liệu cơ bản về c hay c# ko cÓ thể cho mình xin dc koTổng thống + điện = Ăn mày + điện = die => Tổng thống = ăn mày
Comment
-
Cái này trên mạng có nhiều lắm em.
Post lên đây cũng được tuy nhiên mấy tài liệu kia là bên diễn đàn khác, anh ngại ko dám post lên đây, sợ anh em nghĩ anh PA cho họ.
Em chỉ cần search trên mạng 1 cái là có liền, nó cũng ko quá khó khăn đâu em.
Nên bỏ hẳn ra 1 hoặc 2 hôm để học, anh nghĩ chắc chắn là được thôi.
Comment
-
Đây là code keil C
#include<reg51.h>
int a;
void ini() // Initialize Timer 1 for serial communication
{
TMOD=0x20; //Timer1, mode 2, baud rate 9600 bps
TH1=0XE6; /* 1200 bps for 12 MHz clock */
SCON=0x50;
TR1=1;
}
void transmit(unsigned int value) // Funtion to transmit serial data
{
SBUF=value;
while(TI==0);
TI=0;
}
void main()
{
while(1)
{
ini();
a=9;
transmit(a); //gui a=9 len C#
}
}
Comment
-
Đây là code C#
//-------------------------------
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.IO.Ports;
using System.Xml;
namespace thu_nghiem
{
public partial class demo : Form
{
SerialPort P = new SerialPort(); // Khai báo 1 Object SerialPort mới.
string InputData = String.Empty; // Khai báo string buff dùng cho hiển thị dữ liệu sau này.
delegate void SetTextCallback(string text); // Khai bao delegate SetTextCallBack voi tham so string
public demo()
{
InitializeComponent();
string[] ports = SerialPort.GetPortNames();
// Thêm toàn bộ các COM đã tìm được vào combox cbCom
cbCom.Items.AddRange(ports); // Sử dụng AddRange thay vì dùng foreach
P.ReadTimeout = 500;
}
private void cbCom_SelectedIndexChanged(object sender, EventArgs e)
{
if (P.IsOpen)
{
P.Close(); // Nếu đang mở Port thì phải đóng lại
}
P.PortName = cbCom.SelectedItem.ToString(); // Gán PortName bằng COM đã chọ
}
private void thoat_Click(object sender, EventArgs e)
{
this.Close();
}
private void ketnoi_Click(object sender, EventArgs e)
{
try
{
/*P.BaudRate = 9600;
P.DataBits = 8;
P.Parity = Parity.None;
P.StopBits = StopBits.One;
P.Handshake = Handshake.None;
P.DtrEnable = true;*/
ngat.Visible = true;
ketnoi.Visible = false;
cbCom.Enabled = false;
// Hiện thị Status
P.Open();
status.Text = "Đang kết nối với cổng " + cbCom.SelectedItem.ToString() + ".";
status.ForeColor = Color.Black;
}
catch (Exception ex)
{
ketnoi.Visible = true;
ngat.Visible = false;
cbCom.Enabled = true;
MessageBox.Show("Không kết nối được.", "Thử lại", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void button1_Click(object sender, EventArgs e)
{
P.Close();
status.Text = "Đã Ngắt Kết Nối";
cbCom.Enabled = true;
ngat.Visible = false;
ketnoi.Visible = true;
}
private void status_Click(object sender, EventArgs e)
{
}
string data;
private void ok_Click(object sender, EventArgs e)
{
try
{
data = "";
data = P.ReadExisting();
kq.Text = data + "VAC";
}
catch (System.Exception ex)
{
MessageBox.Show("Không kết nối được.", "Thử lại", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}
Comment
-
Anh eKhanhHoa ah.
Em rất cần! Anh có thể gửi cho em qua mail là: mtuanlatoi@gmail.com được không anh. Cảm ơn anh nhiều.
Comment
-
Em rất cần! Anh có thể gửi cho em qua mail là: mtuanlatoi@gmail.com được không anh. Cảm ơn anh nhiều.Nguyên văn bởi eKhanhHoa Xem bài viếtCái này trên mạng có nhiều lắm em.
Post lên đây cũng được tuy nhiên mấy tài liệu kia là bên diễn đàn khác, anh ngại ko dám post lên đây, sợ anh em nghĩ anh PA cho họ.
Em chỉ cần search trên mạng 1 cái là có liền, nó cũng ko quá khó khăn đâu em.
Nên bỏ hẳn ra 1 hoặc 2 hôm để học, anh nghĩ chắc chắn là được thôi.
Comment
Bài viết mới nhất
Collapse
-
bởi domar123Sự kết hợp giữa vi xử lý siêu cấp AMD Ryzen Threadripper 9960X / 9970X cùng card đồ họa Radeon RX 9060 XT / RX 9070 XT 16GB mang lại một cỗ máy "all-in-one" đúng nghĩa. Đây là cấu hình đáp ứng trọn vẹn cho những người dùng cần một hệ...
-
Channel: Đánh giá sản phẩm DTVN
27-08-2026, 11:43 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Nhân mùa Vu Lan báo hiếu, giới thiệu bài hát về mẹ:
TRỌN GÁNH THƯƠNG YÊU
Sáng tác: Hoàng Đình Thường
Hòa âm & hát: AI, ngày 04/05/2026
[Verse 1]
Ơn sâu nghĩa nặng ngập tràn
Cả đời mẹ đã nhọc nhằn gian...-
Channel: Tâm tình dân kỹ thuật
24-08-2026, 14:58 -
-
bởi domar123Trong môi trường vận hành kinh doanh và công việc văn phòng hằng ngày, tính ổn định, độ bền bỉ và chi phí đầu tư luôn là những ưu tiên hàng đầu. Bộ vi xử lý AMD Athlon 3000G cùng phiên bản Athlon 3000G MPK mang lại giải pháp máy tính phổ...
-
Channel: Đánh giá sản phẩm DTVN
21-08-2026, 10:53 -
-
bởi ittcCác bác ơi, có người bày em là nên đăng ký học qua thầy, thầy sẽ nhiệt tình hơn rồi thầy quen biết trong giới thi dễ đậu hơn bla bla, nhưng đã có nhiều vụ thầy nhận tiền xong trốn luôn, hoặc giữa thầy và trung tâm không đồng nhất...-
Channel: Tâm tình dân kỹ thuật
20-08-2026, 19:27 -
-

Comment