Tôi muốn dùng 6 bít P1.2 tới P1.7 làm chân ra của AT89C2051. Còn P1.0 và P1.1 làm chân vào cho bộ so sánh tương tự. Vậy làm thế nào để set 6 bit trên (như set byte ấy) mà không ảnh hưởng tới 2 bit P1.0 và P1.1.
Thông báo
Collapse
No announcement yet.
Nhờ các cao thủ giúp đỡ
Collapse
X
-
Có 1 cách như sau:Nguyên văn bởi Imhotep Xem bài viếtTôi muốn dùng 6 bít P1.2 tới P1.7 làm chân ra của AT89C2051. Còn P1.0 và P1.1 làm chân vào cho bộ so sánh tương tự. Vậy làm thế nào để set 6 bit trên (như set byte ấy) mà không ảnh hưởng tới 2 bit P1.0 và P1.1.
1. Đọc cổng P1 và AND cổng P1 với 00000011b ( giữ lại 2 bit 0 và 1)
2. 6 bit cần đưa ra nằm trong 1 byte và bít 0 và 1 phải =0
3. OR 1 với 2 và đưa ra P1
Khi lập trình cụ thể thì giải thuật có thể ngắn hơn
Chúc bạn thành công
email:mahaco@fpt.vn
-
Cái giải thuật trên đã giải quyết đúng mong muốn của bạn rồi màNguyên văn bởi Imhotep Xem bài viếtNhưng còn một vấn đề là tôi phải set P1 liên tục, lúc đó có ảnh hưởng tới đầu vào ở hai chân P1.0 và P1.1 không? Vì tôi phải đọc trạng thái của P3.6 liên tục từ hai chân này. Tôi thấy là P3.6 có thể bị sai tại thời điểm set P1.
email:mahaco@fpt.vn
Comment
-
Xem lại hộ mình với
Dưới đây là CTC để làm nhiệm vụ này, nhưng tôi mô phỏng = Keil thì nó chạy không đúng lắm. Không hiểu có bị sai gì kô? Giúp mình với?
void output()
{
led=0;
x=P1; //đọc cổng P1
y=x&&0x03; //AND nó với 00000011b
P1=steps[step||y]; //lấy một phần tử trong mảng và OR với y trước khi xuất ra P1.
wait_a_second();
}
Nhưng kết quả là khi mô phỏng, trên P1 chỉ luôn có giá trị 00000001b, mà đáng nhẽ nó phải biến đổi liên tục theo các phần tử trong mảng.
Comment
Bài viết mới nhất
Collapse
-
bởi Abril9Chào mọi người, động cơ bước có hộp số (https://www.oyostepper.es/category-2...eductores.html) trên thiết bị của tôi đã được sử dụng khoảng sáu tháng. Gần đây, tôi nhận thấy dầu rò rỉ từ trục đầu ra. Mỡ bôi trơn đã bị chảy và nhỏ giọt...
-
Channel: Các hệ thống tự động hóa khác
Hôm qua, 13:26 -
-
bởi AbirChào mọi người, gần đây tôi có một ý tưởng mới.
Tôi muốn nâng cấp thiết bị của mình để tăng tốc độ, vì vậy tôi đã thay đổi nguồn cấp cho mạch điều khiển từ 24V lên 48V. Động cơ vẫn giữ nguyên và dòng điện định...-
Channel: Điện tử công nghiệp
Hôm qua, 09:49 -
-
bởi nguyendinhvanCó một chi tiết sai cơ bản trong kỹ thuật điện tử....
-
Channel: Tâm tình dân kỹ thuật
26-03-2026, 19:31 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Bài hát mới, nhạc Phật: Về Giữa Chiêm Bao, sáng tác: Hoàng Đình Thường.
[Verse 1] Nhân gian bao thay đổi
ĐỜI là giấc CHIÊM BAO
Người mê lầm tranh đấu
KHỔ ĐAU mãi LUÂN HỒI.
VÔ THƯỜNG nào ai thấu
THAM vơ...-
Channel: Tâm tình dân kỹ thuật
25-03-2026, 19:01 -
-
Trả lời cho Giúp mình vẽ sơ đồ và phân tích nguyên lý làm việc của khảo sát các mạch nguồn ổn áp vớibởi davidcopyBạn muốn hỏi nguyên lý làm việc của mạch nào...
-
Channel: Hỗ trợ học tập
24-03-2026, 22:50 -
-
Trả lời cho Giúp mình vẽ sơ đồ và phân tích nguyên lý làm việc của khảo sát các mạch nguồn ổn áp vớibởi N_Tu_Hoc_HoiBạn cần sơ đồ mạch ổn áp bao nhiêu Volt, Nếu giống anh bạn guiwr có khả năng ổn áp dùng iC họ 78XX, 79XX. Những mạch này bạn tim kiếm trên google sẽ thấy!!
-
Channel: Hỗ trợ học tập
23-03-2026, 02:32 -
-
bởi chinhnguyen9
Điến âp vào 24V;Điên áp ra 30V;Dòng điện ra 10A
Trên nền tảng mạch Boost thay đổi như sau: cự âm tụ lọc C không nối mas mà nối vào Vc +24V
Mach phản hồi tao điê áp trên tụ lọc này ổn đinh ở 6V
Kết quả:
· Điện áp ra =24V+ 6V=30V
· Công...-
Channel: Hướng dẫn sử dụng diễn đàn
21-03-2026, 19:33 -
-
bởi chinhnguyen92. Các yếu tố để dòng điện đầu ra không bị "thiếu"
Dòng điện đầu ra bị "thiếu" có thể hiểu là không đủ 10A theo yêu cầu hoặc bị sụt áp khi tải thay đổi. Để đảm bảo điều này, bạn cần xem xét các yếu tố sau:
a. Khả năng chịu dòng của cuộn cảm- Dòng bão hòa (I_sat): Như
-
Channel: Hướng dẫn sử dụng diễn đàn
21-03-2026, 19:06 -
bởi chinhnguyen9
1. Tính toán cuộn cảm (Inductor)
Để tính giá trị cuộn cảm, chúng ta cần thực hiện các bước sau:
a. Xác định chu kỳ nhiệm vụ (Duty Cycle - D)
Với mạch tăng áp lý tưởng, chu kỳ nhiệm vụ được tính theo công thức :
D=1-VinVout=1-24V30V=0.2
Vậy D = 0.2 (20%)
b....-
Channel: Hướng dẫn sử dụng diễn đàn
21-03-2026, 19:03 -

Comment