PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Các ngôn ngữ lập trình khác (CCS C, HT PIC,...)

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 06-04-2012, 10:42 AM   #10
lt10dkdt
Nhập môn đệ tử
 
Tham gia ngày: Mar 2012
Bài gửi: 1
:
Trích:
Nguyên văn bởi tyhon View Post
Em có đoạn code sau nhưng em không hiểu là lệnh adcHI và adcLO làm gì (với khai báo
char adcHI,adcLO).Anh nào giải thích hộ em

Code:
   while(TRUE)
        {
               adcValue = read_adc(); // Get ADC reading
 
               adcHI = (char)((adcValue >> 5)& 0x1f);       
               adcLO = (char)((adcValue & 0x1f)|0x80);     
                      
               putc(adcHI);  
               putc(adcLO);   
 
               delay_ms(10);  // Preset delay, repeat every 10ms
        }
}
em có đoạn code sau.tình hình là như thế này.em kết hợp nút ấn bên ngoài với ngắt. đoạn nhấp nháy thì oke hết rùi.nhưng khi khai báo ở void main thì toàn báo lỗi ở *case" ai biết chỉ dùm em với.em đang học về pic thôi.tim mãi mà không ra:

#include "16f877a.h"
#use delay(clock=20000000)
#int_rb

unsigned char x,i,a,b,tre;
int16 mode;

void trai()// chuong trinh con nhay trai sang
{

x=0x01;
output_d(x);
delay_ms(tre);
for(i=1;i<=7;i++)
{x=x<<1;
output_d(x);
delay_ms(tre);
}
}

void phai()//chuong trinh con nhay phai sang
{

x=0x80;
output_d(x);
delay_ms(tre);
for(i=1;i<=7;i++)
{
x=x>>1;
output_d(x);
delay_ms(tre);
}
}

void trong() //chuong trinh con nhay trong ra
{
a=0x01;
b=0x80;
for(i=1;i<=7;i++)
{
a<<=1;
b>>=1;
output_d(a|b);
delay_ms(tre);
}
}
void ngat()
{
if(input(pin_b0))
if(mode<2)mode++;//chuyen che do tang len o b0
if(input(pin_b1))
if(mode<0 )mode--;//chuyen che do tang len o b1
if(input(pin_b2))
if(tre<100) tre=tre+100;//tang thoi gian tre cho led
if(input(pin_b3))
if(tre>100) tre=tre-100;//giam thoi gian tre cho led

}

void main()
{
set_tris_b(0xff);
enable_interrupts(int_rb);
enable_interrupts(GLOBAL);

mode=0;
while (true)
case 0: trai();break;
case 1: phai();break;
case 2: trong();break;
}
lt10dkdt vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 01:32 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam