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.
các anh ơi em mới học lập trình keil em ko hiểu họ viết câu lệnh có đoạn là:
TMOD=0X01;
WHILE(1)
{
TH0=-2500/256;
TL0=-2500%256;
TR0=1;
while(!TF0);
TF0=0;
TR0=0;
F=~F;}
.....
con nua...
các anh giải thích kĩ một chút nhé.em đọc sách nhiều rồi họ viết em ko hiểu gì hết.em cảm ơn rất nhiều
[QUOTE=hoang_hai;168927]các anh ơi em mới học lập trình keil em ko hiểu họ viết câu lệnh có đoạn là:
TMOD=0X01;// khởi tạo chế độ định thời 16 bit của timer 0
WHILE(1)
{
TH0=-2500/256;//lấy phần nguyên của phép chia gán vào TH0
TL0=-2500%256;// lấy phần dư của phép chia gán vào TL0
TR0=1;//cho timer 0 chạy
while(!TF0);//nhảy tại chỗ cho dến khi cờ tràn TF0 được set thì thoát ra.
TF0=0;// xóa cờ tràn
TR0=0;// cho timer 0 ngừng
F=~F;}//Đảo trạng thái của F
.....
chú ý TH0,TL0 là giá trị đặt trước của bộ định thời.
bạn nên tìm hiểu về bộ định thời trong cuốn 8051 của Tống Văn Ôn để hiểu rõ hơn. các kết quả của phép gán bạn nên chuyển về số Hexa sẽ dễ hiểu hơn.
cố gắng lên nhé.
đổi số -9 ra số hexa có gia trị là F7. đó là giá trị dặt trước vào byte cao.khi giá tri timer đến F7 thì sẽ chuyển về 0 đếm lại lên F7 tiếp tục.hiểu rồi chứ.chú ý là giá trị đếm bắt đầu từ byte thấp nha.sau mỗi lần tràn sẽ tăng byte cao lên 1.
vâng đẻ chút nưa em post lên.nhưng mà.
ví dụ TH0=-9;
vậy -9 có ý nghĩa như thế nào trong câu lệnh.
Đặt như vậy để dễ tính thôi. 255-9=246. Bạn có thể thay TH0=-9 bằng lệnh TH0=246.
Nghĩa là bạn muốn lặp lại 9 lần thì trong câu lệnh có thể gán TH0=-9 hoặc TH0=246. Cách gán = -9 dễ tính hơn vì mình biết rằng cần lặp lại 9 lần mà không phải tính toán gì cả.
cám on nhiều nhá.các đại ca ơi.nếu mình muốn 1 đèn sáng trong 5s thì phải làm thế nào vậy.em thay đổi delay(nhiều rồi) sao mà nó vẫn nhấp nháy nhanh lắm mặc dù thay đổi giá tri rất lớn (trả lời cho em ý trên trước nhé)
.em co ý tưởng như thế này:
mới đầu ta có 4
chữ A B C D
mới đầu D sáng A B C tắt trong 2s
rồi C sáng ABD tắt trong 2s
B sáng ACD tắt 2s
A sáng BCD tắt
đay là sáng từ trái qua phải cuối cùng tất cả cùng sáng trong 10s anh nào có thể viết chương trình cho em tham khảo khảo được không
viết càng rễ hiểu càng tốt nhá.em mới học VDK mà.chỉ muốn tham khảo một chút thôi
tại sao em không dùng thêm 1 biến nhỉ.em chỉ cần tạo chương trình delay với 1 thời gian cố định.chẳng hạn 10ms. muốn được bao nhiêu s thì chỉ cần nhân với giá tri biến của mình trong vòng lặp "for".nếu em đã viết được chương trình delay 1s thì yêu cầu thứ 2 của e ko khó nữa đâu.hiểu rồi chứ. chúc e thành công. Cố gắng lên nhé.
Lễ Hội Tuyết Sapporo – Điểm Đến Mùa Đông Không Thể Bỏ Lỡ
Lễ hội tuyết Sapporo, một trong những sự kiện mùa đông lớn nhất thế giới, được tổ chức hàng năm tại Sapporo, Hokkaido, Nhật Bản. Đây là cơ hội để bạn chiêm ngưỡng các tác...
Gạch thông gió GreenTiles là một vật liệu xây dựng được ưa chuộng nhờ vào khả năng thông gió tự nhiên và tính thẩm mỹ cao. Việc thi công gạch thông gió không chỉ đòi hỏi sự chính xác mà còn cần sự nhanh chóng để đảm bảo tiến độ...
Dạ thời thế giờ thay đổi theo hướng tích cực hơn rồi chú trung sĩ ạ. Kiến thức được chia sẻ ngày càng nhìu nên làm ăn gian dối ko còn dễ dàng như trước đâu ạ. Những thợ nhỏ rồi sẽ thành công nhân sản xuất đồ mới hết thay vì sửa chữa lặt vặt...
Dạ cùng chuẩn tín hiệu thì chắc chắn là nhận ạ. Vì bản chất oled hay lcd thì đều phải có mạch chuyển đổi trên thanh gỗ rồi chuyển sang những chip xử lý hàng nghìn chân gắn trên những tab mỏng dính rồi mới ra các điểm ảnh theo hàng...
Comment