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
-
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.#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?#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
-
Trả lời cho tìm mua đồng hồ vạn năngbởi mèomướpDạ chú mua cái kẹp dòng ấy ạ. Chị hàng xóm nhà cháu có 1 cái thấy lâu lâu rùi chưa hỏng ạ. Ví dụ như mẫu này trên shoppee đầy ạ...
https://vn.shp.ee/dWYVgq7-
Channel: Điện tử dành cho người mới bắt đầu
21-01-2025, 12:48 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi vi van phamBác Đinh Vặn sai rồi,bây giờ con nít mẫu giáo đã giải phương trình 2 ẩn số rồi.
Tôi chứng minh bác lên youtube đầy video đơn giản tựa rất hot, chỉ 1 transistor hay 1 con diode và hướng dẩn cách làm, tác giả không vẽ sơ đồ mạch điện...-
Channel: Điện tử công suất
21-01-2025, 11:55 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi nguyendinhvanBây giờ mới có tháng giêng, bao giờ mới đến tháng mười ?
Các cháu mẫu giáo mới lên lớp 1 được có 4 tháng. Nên đừng lấy lý do chúng nó đã đi học rồi để bắt nó viết một bài luận văn, hay là giải bài toán hàm. Phải kiên nhẫn...-
Channel: Điện tử công suất
21-01-2025, 00:47 -
-
Trả lời cho tìm mua đồng hồ vạn năngbởi nguyendinhvanKhông có loại nào đủ một vạn chức năng đâu. Nó chỉ được 2345678 , hoặc khủng lắm thì được 10 chức năng.
-
Channel: Điện tử dành cho người mới bắt đầu
21-01-2025, 00:16 -
-
bởi since0501Cảm ơn bác đã chia sẻ!...
-
Channel: Điện tử dành cho người mới bắt đầu
19-01-2025, 19:00 -
-
bởi Lê Gia TứMình muốn tìm mua đồng hồ vạn năng giá khoảng 200k có đo tần số cao khoảng 0~1mhz mọi người tư vấn giúp mình với
-
Channel: Điện tử dành cho người mới bắt đầu
19-01-2025, 15:47 -
-
Trả lời cho Mạch tự động bật nguồnbởi davidcopyChỉ cần dùng R C mắc vô phím power là ok....
-
Channel: Điện tử gia dụng
18-01-2025, 20:47 -
-
Trả lời cho Hỏi cách điều chế xungbởi davidcopydùng mach khuếch opamp...
-
Channel: Kỹ thuật điện tử tương tự
18-01-2025, 20:42 -
-
Trả lời cho Thắc mắc về hạ áp cho adapter laptopbởi davidcopy
-
Channel: Điện tử dành cho người mới bắt đầu
18-01-2025, 18:56 -
-
bởi bqvietĐấy gọi là cái "điểm gãy" trong đồ thị điện áp - dung lượng còn lại. Dùng điện áp hở cực để xác định sắp hết hoặc gần đầy thì vẫn tạm ổn. Dùng để đo SOC/DOD thì đừng. Ngay cả số km đã đi cũng chả xác định được...
-
Channel: Điện tử dành cho người mới bắt đầu
17-01-2025, 21:36 -
Comment