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.
13bit :time đếm đến 8192 thì tràn.
16bit:time đếm đến 65356 thì tràn.
bạn muốn biết chính xác hay không lên chạy trên mạch thật.ngoài ra sai số của thạnh anh cũng là nguyên nhân.
không khời tạo TMOD=00
Mình tìm ra chỗ sai rồi, bây giờ thì text chạy thử chính xác đến micro giây luôn! Mô phỏng proteus chính xác thật, chưa bao giờ thấy nó sai toàn thấy mình sai
- Dùng C hay Assembly language đều cần phải biết rõ về cấu trúc của VĐK. Nếu không rành về cấu trúc VĐK, biết rõ C hay không cũng đều là vô dụng...
.
Tôi hoàn toàn nhất trí với bạn Paddy. Ở đây tôi chỉ đưa ra 1 sự so sánh đơn giản để các bạn mới nhập môn có thể tự chọn con đường đi phù hợp với mình hơn.
Tôi cũng muốn bổ sung 1 chút xíu là nếu các bạn bắt đầu với C dành cho VĐK (ko phải C tổng quát) thì sẽ dễ dàng hơn ASM rất nhiều, và cũng ko sợ học những thứ dư thừa hay phức tạp. Bởi vì C dành cho VĐK chỉ bằng khoảng 1% C tổng quát, gồm những phép tính và hàm dành cho VĐK thôi.
Lựa chọn ngôn ngữ nào là tùy ở mục đích và sức lực hiện tại của các bạn.
Vi dụ điển hình nhất trong lập trình VXL
void delayms(int n)
{
int i,j; // khai bao bien chi trong chuong trinh con
for (i=0;i<n;i++)
for (j=0;j<1500;j++) { } // tham so j tuy thach anh toc do vxl ma cac
//ban thay doi cho phu hop
}
em đọc được vd này trên mạng nhưng em chưa hiểu cách tính " j " như thế nào ?
(sao lai là nhỏ hơn 1500 ?)
Xin trả lời như sau:
Biến j chỉ đơn giản là biến đếm thôi.
Khi thực hiện phép tính j=j+1 (trong C viết là j++) thì VXL tốn 1 khoảng thời gian bằng 1 bước thời gian của VXL(gọi là chu kỳ máy).
Ví dụ nếu tần số làm việc của VXL là 1MHz, nghĩa là 1 triệu phép tính/giây, thì mỗi phép tính tốn 1 phần triệu giây.
Nếu thực hiện 1500 phép tính thì VXL tốn 0.0015 giây.
Mỗi vòng lặp FOR tốn 2 phép tính. Vậy nếu 1500 vòng lặp FOR thì tốn 3000 phép tính, và VXL tốn 0.003 giây để thực hiện hết số vòng lặp này.
Để tìm ra số vòng lặp cần thiết khi đã biết thời gian tiêu tốn và tần số của VXL, bạn chỉ cần làm bài toán ngược.
Gọi thời gian là t, tần số là f, số phép toán thực hiện được là n, số vòng lặp là m, ta có công thức tính như sau:
n = t/f
m = n/2
vòng lặp FOR của ta khi đó sẽ viết có dạng:
for (j=0; j<m; j++) { }
Ở đây tôi hướng dẫn cụ thể để các bạn dễ hiểu. Quen dần thì các bạn sẽ tính nhẩm rất nhanh, ko cần phải qua các thao tác trên.
Chúc vui !
À, sản phẩm họ thiết kế ra, họ yêu cầu mình chứng minh là sau chỉnh sửa thì 1 là gỡ jump cắm lại không hư mạch, 2 là gỡ jump thì 220Vdc vẫn dùng được led áp thấp 20V mà không hư led như mình báo, nên họ hiểu rõ mà....
Bài học kiểu trực tuyến dù là loại đơn giản bậc nhất cũng vẫn cần chú tâm. Chỉ bật tai nghe lên thì không có loại nào thấm nổi đâu. Cách hay hơn, dễ hơn là kiếm phim tiếng Anh nào đó xem, ban đầu bật phụ đề tiếng Việt, nghe và...
Ha ha !
Thay đổi cách nghĩ thì sẽ nghĩ ra.
.
.
.
Một thứ cần kiểm soát dòng + nhiệt + công suất tiêu tán. Nhưng lại dùng tư duy ổn áp. Làm sao mà giải quyết được.
Nó là mạch ổn dòng.
Vì thế các anh nước lạ không thèm quan tâm là phải....
Vì cứ phải chỉnh sửa cho mỗi dải điện áp, quên chỉnh thì hư chíp phải bảo hành nên em thấy bất tiện, mới cần cái mạch 1 dải áp cao dùng cho tất cả loại đèn đó bác!...
Mình thỉnh thoảng cũng làm việc với người nước ngoài nói tiếng Anh thì toàn ghép nhặt từ, cộng với quơ tay quơ chân để diễn tả, hix. Nỗi khổ là không biết cách để mô tả sự việc. Tôi muốn tìm các bài giảng tiếng anh nào phù hợp...
Comment