10-08-2012, 11:59 PM | #8 |
Đệ tử 1 túi
Tham gia ngày: Jun 2011
Bài gửi: 18
: |
mình đã làm được rồi, mô phỏng chạy nhưng protues báo lỗi thế này bạn xem giùm mình nha, code
Code:
#include <16f877a.h> #include <def_877a.h> #device ADC=10 #fuses nowdt,noprotect,nolvp,hs #use delay(clock=20000000) const unsigned char ma7[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; int16 kqadc; int dem,dv,ch,tr,ng,i; unsigned char mdv,mch,mtr,mng; void giaima7doan(int16 tam) { ng=tam/1000; tam=tam%1000; tr=tam/100; tam=tam%100; ch=tam/10; dv=tam%10; mng=ma7[ng]; mtr=ma7[tr]; mch=ma7[ch]; mdv=ma7[dv]; mch=mch&0x7f; } //hien thi quet led void hienthi() { for(i=0;i<=30;i++) { output_d(mdv); output_low(pin_b2); delay_us(100); output_high(pin_b2); output_d(mch); output_low(pin_b3); delay_us(100); output_high(pin_b3); output_d(mtr); output_low(pin_b4); delay_us(100); output_high(pin_b4); output_d(0x9c); output_low(pin_b1); delay_us(100); output_high(pin_b1); output_d(0xc6); output_low(pin_b0); delay_us(100); output_high(pin_b0); } } void main() { set_tris_A(0b00000001); set_tris_D(0x00); set_tris_b(0x00); // set_tris_C(0x00); portb=0xff; setup_ADC(ADC_clock_div_32); setup_adc_ports(AN0); set_adc_channel(0); while(1) { kqadc=0; for(i=0;i<10;i++) {kqadc=kqadc+read_adc();} kqadc=kqadc/10; kqadc=kqadc*4.887; giaima7doan(kqadc); hienthi(); kqadc=0.4887*read_adc(); if(kqadc>40) { output_high(pin_c0); } else { output_low(pin_c0); } } } |
|
|