Các bạn xem code và mạch nguyên lý trong file đính kèm, tại sao khi bấm nút tăng mà nó không tăng nhỉ?
Thông báo
Collapse
No announcement yet.
Mạch đếm dùng 8051
Collapse
X
-
- Bạn sửa lại data 7 đoạn : mức 0 led sáng.Nguyên văn bởi eclipse_bk47 Xem bài viếtCác bạn xem code và mạch nguyên lý trong file đính kèm, tại sao khi bấm nút tăng mà nó không tăng nhỉ?
- Bạn sửa lại hàm main : để giá trị value = 0 ra ngoài vòng lặp while.
- Bạn sửa lại hàm hiển thị : xuất data 7 đoạn -> chọn led cần hiển thị -> delay.
-
Nguyên văn bởi tramng Xem bài viết- Bạn sửa lại data 7 đoạn : mức 0 led sáng.
- Bạn sửa lại hàm main : để giá trị value = 0 ra ngoài vòng lặp while.
- Bạn sửa lại hàm hiển thị : xuất data 7 đoạn -> chọn led cần hiển thị -> delay.Mình đã sửa theo ý bạn nhưng vẫn không chạy được, bạn xem sơ đồ nguyên lý mình có gì sai không?#include <REGX51.H>
#include <stdlib.h>
#include <stdio.h>
/*********************************define var.port*******************************/
#define data P2
sbit tang = P3^2;
sbit giam = P3^1;
sbit tram = P0^0;
sbit chuc = P0^1;
sbit donvi = P0^2;
/*******************************sub program***********************/
unsigned char code seg[]=(0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0x8f,0x80,0x9 0);
unsigned int value;
void display();
/************************************************** ***********************/
/////////////////////////////////////////////////////////////////////////////
// Main //
/////////////////////////////////////////////////////////////////////////////
void Main()
{
value = 3;
while(1)
{
display();
if(tang==0)
{
while (tang==0) { display();}
value++;
}
}
}
/////////////////////////////////////////////////////////////////////////////
// delay //
/////////////////////////////////////////////////////////////////////////////
void delay(long time)
{
long i;
for(i=0;i<time;i++)
{
;
}
}
/////////////////////////////////////////////////////////////////////////////
// Display //
/////////////////////////////////////////////////////////////////////////////
void display()
{
data = seg[value/100];
tram =1;
delay(1);
tram = 0;
data = seg[value%100/10];
chuc = 1;
delay(1);
chuc = 0;
data = seg[value%100%10];
donvi = 1;
delay(1);
donvi = 0;
}
Comment
-
Nguyên văn bởi eclipse_bk47 Xem bài viếtMình đã sửa theo ý bạn nhưng vẫn không chạy được, bạn xem sơ đồ nguyên lý mình có gì sai không?Bạn đọc code chắc là bạn biết sai chỗ nào rồi ! Bạn sử dụng port 0 mà không dùng trở treo nguồn là sai cơ bản nhé ! Bạn dùng BJT dòng A mà không có trở phân cực B cũng là sai cơ bản lun nhé !#include <REGX51.H>
#include <stdlib.h>
#include <stdio.h>
/*********************************define var.port*******************************/
#define data P2
sbit tang = P3^2;
sbit giam = P3^1;
sbit tram = P0^0;
sbit chuc = P0^1;
sbit donvi = P0^2;
/*******************************sub program***********************/
//unsigned char code seg[]=(0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0x8f,0x80,0x9 0);
const unsigned char seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x9 0};
unsigned char value;
void display();
/************************************************** ***********************/
/////////////////////////////////////////////////////////////////////////////
// Main //
/////////////////////////////////////////////////////////////////////////////
void Main()
{
value = 0;
while(1)
{
display();
if(tang==0)
{
while (tang==0)
{
display();
}
value++;
}
}
}
/////////////////////////////////////////////////////////////////////////////
// delay //
/////////////////////////////////////////////////////////////////////////////
void delay(long time)
{
long i;
for(i=0;i<time;i++)
{
;
}
}
/////////////////////////////////////////////////////////////////////////////
// Display //
/////////////////////////////////////////////////////////////////////////////
void display()
{
data = seg[value/100];
tram =0;
delay(50);
tram = 1;
P2 = seg[value%100/10];
chuc = 0;
delay(50);
chuc = 1;
P2 = seg[(value%100)%10];
donvi = 0;
delay(50);
donvi = 1;
}Last edited by tramng; 12-02-2014, 18:19.
Comment
Bài viết mới nhất
Collapse
-
bởi mylinhattVới thiết kế trục chính nằm ngang và bàn máy nằm ngang, máy phay ngang CNC Kitamura đặc biệt phù hợp cho bài toán gia công chi tiết cần xử lý nhiều mặt, yêu cầu độ ổn định cao và tối ưu thời gian chu kỳ. Điểm nổi bật của dòng máy phay ngang là khả năng tích hợp 2 pallet (hoặc nhiều hơn): một pallet...
-
Channel: Điều khiển - Tự động hóa
hôm nay, 17:17 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Dạ, cảm ơn bác đã nghe qua và có lời khích lệ cháu ạ.
Thật lòng cháu không dám nhận hai danh hiệu Kỹ sư và Nhạc sĩ đâu ạ, vì phải thật hiểu sâu nắm vững cơ, chứ thực lực cháu đây chỉ là biết chút ít thôi à. Về phần...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 11:58 -
-
Trả lời cho Có mạch sạc nlmt nào có mppt không các bácbởi bqvietĐơn giản thì có trải nghiệm này
http://www.dientuvietnam.net/forums/...ch%C3%AA%CC%81
Chỉ phần cứng,...-
Channel: Điện tử công suất
27-01-2026, 21:32 -
-
Trả lời cho Có mạch sạc nlmt nào có mppt không các bácbởi Nexus 6Pphức tạp quá, nếu mà có mạch làm sẵn thì ngon, e dùng 2 tấm pv loại 18v 55w thôi bác
-
Channel: Điện tử công suất
26-01-2026, 08:52 -
-
Trả lời cho Có mạch sạc nlmt nào có mppt không các bácbởi Nexus 6Pcảm ơn bác nhiều nha, để e nghiên cứu
-
Channel: Điện tử công suất
26-01-2026, 07:38 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi vi van phamkỹ sư nhạc sĩ dinhthuong dạo này lên tay nghề khá quá.
-
Channel: Tâm tình dân kỹ thuật
25-01-2026, 21:29 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Hát Mừng Sinh Nhật, sáng tác: HĐT, hòa âm-thể hiện: AI
-
Channel: Tâm tình dân kỹ thuật
24-01-2026, 22:13 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Chào bác, gần Tết công việc bác bận lắm phải không?
Vâng mọi người đều thế cả.
Em mới trả phí cho nó 1 tháng, nhờ nó hát thử ấy ạ. Tiếc vì em đã dốt nhạc lí lại lười học nên sáng tác thì vụng về mà hát demo...-
Channel: Tâm tình dân kỹ thuật
24-01-2026, 21:53 -
-
Trả lời cho Có mạch sạc nlmt nào có mppt không các bácbởi bqvietCảm thấy cứng tay thì làm theo hướng dẫn khá chi tiết ở trang sau
https://www.instructables.com/DIY-1k...ge-Controller/-
Channel: Điện tử công suất
23-01-2026, 16:50 -
-
bởi Nexus 6PNhư tiêu đề, các bác giới thiệu e mạch sạc nlmt mppt có chức năng chỉnh dòng với, tấm PV của em 18V 55W, dùng để sạc cho khối pin sắt 3.2V 45A (sắp tới sẽ thay bằng ắc quy 12V)
e cảm ơn-
Channel: Điện tử công suất
23-01-2026, 11:23 -

Comment