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.
mình đang làm bài tập lớn về vi xử lý sủ dụng 8051 và asm quét led 7 đoạn hiển thị từ 00 đến 9999.
Lâu rùi không động đến nên quên hết rùi mong các bạn giúp đỡ. thank
nhân tiện mọi người giúp mình đoạn code nay nhé. Minh muốn đếm đến 60s thì hang tram giảm. Số đếm sẽ do mình tự cài đặt.
#include <REGX51.H>
#define led1 P2_0
#define led2 P2_1
#define led3 P2_2
#define led4 P2_3
#define chay P1_7
#define led6 P2_4
// ma hex cua led 7 doan
unsigned char ma[]={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};
//khoi tao timer 0 de quyet led
void delay_timer0(void)
{
TMOD=0x10; //chon che do dinh thoi 16bit
TH1=-9215/256; //nap gia tri cho bit cao (26ms)
TL1=-9215%256; //nap gia tri cho bit thap (26ms)
TR1=1; //khoi dong bo dinh thoi timer0 chay
while (!TF1); //cho co tran bat len 1
TF1=0; //xoa co tran
TR1=0; // ngung bo dinh thoi
}
//ham quet led de hien thi so
void quet_led(void)
{
//for(dem=1500;dem>0;dem--) // 30000 thoi gian cai dat de dem lui
//for (i=0;i<20;i++) //thoi gian dua du lieu len port 1 (1s= 20lan lap)
Bqv rất ngại vụ tư vấn kiểu này, vì "văn mình vợ người" kiểu gì cũng có thể chỉ ra cái chưa hợp lý văn viết của người khác nhưng chính mình cũng dễ bị bắt lỗi. Rào trước như vậy, xin viết thêm vài dòng góp ý.
Comment