![]() |
|
Tài trợ cho PIC Vietnam |
||||||||
| MPASM Lập trình bằng hợp ngữ là một việc làm vô cùng vất vả, tuy nhiên, để hiểu và làm việc với vi điều khiển, hợp ngữ trở thành một công cụ khá đắc lực ... |
![]() |
|
|
Ðiều Chỉnh | Xếp Bài |
|
|
|
|
#1 |
|
Nhập môn đệ tử
Tham gia ngày: Jan 2010
Bài gửi: 8
: |
Em có đoạn code này, không biết nó sai ở đâu?
Em viết xong, và thử mô phỏng nó thì nó chạy lung tung hết, mọi người xem hộ nó sai ở đâu cái. em muốn sử dụng phương pháp quét led đẻ đỡ tốn chân
// viet chuong trinh cho led 7 doan hien thi tu 00 - 99 dieu khien bang RC0 va RC1 noi PORTB. #include <16F877A.h> #include <def_16f877a.h> #bit RC0 = 0x07.0 #bit RC1 = 0x07.1 #use delay(clock=20000000) const char ma7seg[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x9 0}; char giaima (char x) { char y; y = ma7seg[x]; return (y); } void hienthi(char chuc,dv) { PORTB=chuc; //hien thi hang chuc RC1=1; //chon led hang chuc delay_ms(10); //thoi gian tre PORTB=dv; //hien thi hang don vi RC0=1; delay_ms(10); } void main() { char i=0; //khai bao bien dem char chuc=0; char dv=0; char chuc7s; char dv7s; int j=0; // khai bao PORTB va RC0 va RC1 la dau ra TRISB=0; TRISC0=0; TRISC1=0; while (true) { while (i<=99) { for (j=0;j<=99;j++) { chuc = i/10; dv = i%10; chuc7s = giaima(chuc); dv7s = giaima(dv); hienthi(chuc7s,dv7s ); } j=0; i++; } } } Các bác sửa giúp em với . nếu được thì mô phỏng luôn giúp em Thanks! |
|
|
|
|
|
#2 |
|
Nhập môn đệ tử
Tham gia ngày: Sep 2010
Bài gửi: 3
: |
led 7 thanh
#include <16F877a.h>
//#device ADC=10 //#include <math.h> //#include <string.h> //#include <stdlib.h> #define LED1 PIN_B4 //HANG NGHIN #define LED2 PIN_B5 //HANG TRAM #define LED3 PIN_B6 //HANG CHUC #define LED4 PIN_B7 //HANG DON VI #fuses hs, nowdt, put, nolvp, brownout #use delay(clock=20000000) int16 a,b,i,j,dv,chuc,tram,nghin,n; void led7() { nghin=a/1000; a=a%1000; tram=a/100; a=a%100; chuc=a/10; dv=a%10; output_b(dv|0b10000000); //hien hang don vi delay_us(1000); output_b(chuc|0b01000000);//hien hang chuc delay_us(500); output_b(tram|0b00100000);//hien hang tram delay_us(500); output_b(nghin|0b00010000);//hien hang nghin delay_us(500); } void main() { set_tris_b(0x00);//chon port b lam port dau ra set_tris_d(0x00);//chon port b lam port dau ra while(1) { n++; a=n; led7(); } } ///mach da tes chay ok |
|
|
|
|
|
#3 |
|
Nhập môn đệ tử
Tham gia ngày: Sep 2010
Bài gửi: 3
: |
led 7 thanh
chuong trinh
|
|
|
|
|
|
#4 | |
|
Nhập môn đệ tử
Tham gia ngày: Dec 2010
Bài gửi: 10
: |
Trích:
|
|
|
|
|
![]() |
| Ðiều Chỉnh | |
| Xếp Bài | |
|
|