Thông báo
Collapse
No announcement yet.
led 7 thanh từ 0-9
Collapse
X
-
giờ bác tạo một hàm ngắt timer 0 chẳng hạn ! 100us ngắt 1 lần sau khi vào hàm ngắt bác kiểm tra xem phím nào được nhấn thì gán 1 giá trị cụ thể ! rồi trong chương trình chính bác cho chạy chương trình con tương ứng với giá trị đó thôi .bác làm đi nếu không được commen lại tôi sẽ giúp !Email :
Phone : 0902 5777 39
Branch: LẬP TRÌNH CÁC DÒNG CHIP NXP, ST, ATMEL
Comment
-
Nguyên văn bởi daily84 Xem bài viếtgiờ bác tạo một hàm ngắt timer 0 chẳng hạn ! 100us ngắt 1 lần sau khi vào hàm ngắt bác kiểm tra xem phím nào được nhấn thì gán 1 giá trị cụ thể ! rồi trong chương trình chính bác cho chạy chương trình con tương ứng với giá trị đó thôi .bác làm đi nếu không được commen lại tôi sẽ giúp !
Comment
-
Sau 1 ngày mày mày mò mò, tìm tòi chịu khó + thêm có người gợi ý cũng làm được nhưng vẫn chưa hoàn thiện lắm
/*viet ct cai dat so dem tu 0-9
- nhan nut up tang len 1 so
- nhan down giam dj 1 so
- nhan nut start dem len tu dong
- nhan stop dung, dung start lai
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/
#include <regx51.h>
unsigned char code ma[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x9 0}; // code luu trong rom, ko co thi no tu luu vao ram
sbit start=P1^0;
sbit stop=P1^1;
sbit up=P1^2;
sbit down=P1^3;
int n=0 ;m=0;i=0;
void delay(long time) //ham delay
{
while(time--);
}
void main()
{
while(1)
{
if (up==0 && down==1 && n<9)
{
while (!up);
n=n+1;
}
if (up==1 && down==0 && n>0)
{
while (!down);
n=n-1;
}
P2=ma[n];
if (start ==0 && stop ==1)
{
m=n;
i=1;
}
if (start ==1 && stop ==0)
{
i=0;
}
if (m==10)
{
m=n;
}
if(i==1)
{
P2=ma[m];delay (2500);
m=m+1;
}
}
}
Comment
-
Nguyên văn bởi bienhoacc Xem bài viết- Cám ơn bạn đã góp ý, nhưng mình chỉ mới học về lập trình C, hàm ngắt bên ASM mình có học rồi (nhưng ko hiểu lắm)
- Mình có làm 1 bài như này
- Viết chương trình cài đặt số đếm từ 0-9
- Nhấn nút up thì tăng lên 1 số
- Nhấn nút down thì giảm xuống 1 số ( VD nhấn up tăng len đến số 8, nhấn down sẽ giảm xuống số 7 nhấn tiếp thì giảm tiếp cho đến khi về 0)
- Nhấn nút start thì đếm lên tự động (vd: đang nhấn up đếm lên được số 2 rồi mình nhấn start nó sẽ tự động tăng lên tiếp số 3 cho đến số 9 rồi lại về 0 tiếp tục đếm đến 9, cứ như vậy)
- Nhấn stop thì dừng ( dừng cho nó về 0 hoặc là led không sáng nữa, rồi lại tiếp tục nhấn up nhấn down, nhấn start tùy ý )
Đây là code của mình
/*xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/
#include <regx51.h>
unsigned char code ma[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x9 0};
sbit start=P1^0;
sbit stop=P1^1;
sbit up=P1^2;
sbit down=P1^3;
int n=0 ;
void delay(long time) //ham delay
{
while(time--);
}
void main()
{
while(1)
{
if (up==0 && down==1 && n<9)
{
while (!up);
n=n+1;
}
if (up==1 && down==0 && n>0)
{
while (!down);
n=n-1;
}
P2=ma[n];
}
}
/*Mình chỉ viết được nhấn up với nhấn down còn nhấn start với stop thì chịu thua, các bạn có thể giúp mình được ko, sử dụng hàm ngắt cũng được mình cũng có thể tham kháo thêm, xin cám ơn*/
Đây là fire mô phỏng của mình
con day la fire mo phong cua minh.rar
unsigned char code ma[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x9 0};
sbit start=P1^0;
sbit stop=P1^1;
sbit up=P1^2;
sbit down=P1^3;
int n=0 ;
void delay(long time) //ham delay
{
while(time--);
}
void main()
{
while(1)
{
if (up==0 && down==1 && n<9)
{
while (!up);
n=n+1;
}
if (up==1 && down==0 && n>0)
{
while (!down);
n=n-1;
}
if(start==0)
{ start=0;
n++;
delay(2000);
if(n==10)
n=0;
}
if(stop==0)
{start=1;
}
P2=ma[n];
}
}[/CODE]
Không být có đúng với ý bạn koNguyễn Huy Biên - 01649 802 694
gmail :
Comment
-
http://www.dientuvietnam.net/forums/...767foto005.jpg
giúp mình giải thích nguyen lý này với mấy A.
Comment
-
Nguyên văn bởi maibatam Xem bài viếthttp://www.dientuvietnam.net/forums/...767foto005.jpg
giúp mình giải thích nguyen lý này với mấy A.Nguyễn Huy Biên - 01649 802 694
gmail :
Comment
Bài viết mới nhất
Collapse
-
bởi Tư Vấn LuậtTrình tự thực hiện
Theo Nghị định 31/2018/NĐ-CP, thủ tục cấp C/O bao gồm các bước sau:- Đăng ký hồ sơ thương nhân: Thương nhân cần đăng ký hồ sơ với cơ quan có thẩm quyền (VCCI hoặc Bộ Công Thương) trước khi đề nghị cấp C/O lần đầu. Hồ sơ bao
-
Channel: Quảng cáo
hôm nay, 11:42 -
bởi Tư Vấn LuậtQuy trình đăng ký thuế
- Đăng ký thuế cùng với đăng ký kinh doanh: Khi thành lập doanh nghiệp, hộ kinh doanh, bạn sẽ đồng thời hoàn thành thủ tục đăng ký thuế trong bộ hồ sơ đăng ký kinh doanh.
- Đăng ký thuế trực tiếp với cơ quan thuế: Áp dụng cho các tổ chức phi kinh doanh hoặc
-
Channel: Quảng cáo
hôm nay, 11:40 -
bởi Tư Vấn LuậtNguyên tắc chung: Giấy ủy quyền thường không bắt buộc phải công chứng, trừ khi pháp luật có quy định riêng.
Theo Khoản 1, Điều 14, Thông tư 01/2020/TT -BTP do Bộ Tư pháp ban hành ngày 03/3/2020 có quy định Chứng thực chữ ký trong giấy ủy quyền đối với trường...-
Channel: Quảng cáo
hôm nay, 11:38 -
-
Trả lời cho Hỏi về bơm màng bldcbởi khoine9899vì hiện tại em đang gặp vấn đề về phần động cơ nên em mới show ảnh phần rotor, stator và mạch điện bên trong liên quan. Ngoài ra em xin phép gửi thêm cơ cấu bơm cũng như thêm thông tin để các anh và mọi người tham khảo thêm ạ
...-
Channel: Điện tử dành cho người mới bắt đầu
hôm nay, 10:47 -
-
bởi phuocan1912Bạn đang tìm kiếm một chiếc điện thoại cũ chất lượng cao với giá cả phải chăng? Hãy cùng khám phá iPhone 15 Pro Max cũ đang được sale với mức giá hấp dẫn. Đây là một trong những mẫu điện thoại hàng đầu, mang đến cho bạn những trải nghiệm tuyệt vời mà không cần phải chi quá nhiều tiền.
Tại Sao...-
Channel: Quảng cáo
hôm nay, 09:53 -
-
Trả lời cho Hỏi về bơm màng bldcbởi nhathung1101Thì đây là 4r điên nặng điện mà, nên họ show phần điện thôi. Phần "cốt lõi" có cái tay biên chắc sang Văn Môn rồi....
-
Channel: Điện tử dành cho người mới bắt đầu
30-11-2024, 18:54 -
-
Trả lời cho Chọn dây dẫn cho điện DC?bởi nhathung1101Điện DC đương nhiên là khác với AC rồi. Chỉ cần biết mặt chữ là thấy khác như gà trống với gà mái mà.
Còn về bản chất, AC là dòng điện hoạt động theo tần số. Tần số càng cao thì dây dẫn càng mỏng, nhẹ, vì hiệu ứng...-
Channel: Điện tử dành cho người mới bắt đầu
30-11-2024, 18:46 -
-
Trả lời cho Công thức điện tửbởi nhathung1101Ăn ít => Nói nhiều.
Nói nhiều => Làm ít.
Làm ít => Vợ mắng.
Vợ mắng => Cáu nhiều.
Cáu nhiều => Ngủ ít.
Ngủ ít => Râu nhiều.
Râu nhiều =>...-
Channel: Tâm tình dân kỹ thuật
30-11-2024, 18:39 -
-
Trả lời cho Chọn dây dẫn cho điện DC?bởi mèomướpDạ vài chục mét thì chú tính như vậy được ạ. Chứ chuẩn thì phải tính cả điện trở của toàn bộ chiều dài dây dẫn nhân với dòng điện xem sụt áp có trong khoảng chấp nhận đc hông ạ. Trong mạch điện tử khoảng cách ngắn và mạch...
-
Channel: Điện tử dành cho người mới bắt đầu
30-11-2024, 14:49 -
-
bởi vietroadTheo mình biết thì chọn dây dẫn dựa vào dòng tải. Thường thì tiết diện 1mm2 cho dòng 6A. Nhưng trong các mạch điện tử, như mạch nguồn tổ ong chẳng hạn, dòng đến vài chục Ampe mà đường mạch mỏng dính. Phải chăng điện DC nó khác với...
-
Channel: Điện tử dành cho người mới bắt đầu
30-11-2024, 14:19 -
Comment