Ðề tài: CCS C for PIC16F877A
View Single Post
Old 20-11-2007, 03:45 AM   #2
LeDuc
Đệ tử 6 túi
 
LeDuc's Avatar
 
Tham gia ngày: Mar 2007
Bài gửi: 150
:
Chế độ ghi dịch cho cổng nối tiếp USART

Giúp em với ... em cần tiết kiệm chân của con Pic 887 , nên em muốn dùng cổng nối tiếp để truyền dữ liệu cho con 74LS164 qua 2 chân C6 va C7 của cổng nối tiếp quét 4 con led 7 đoạn , em viết mãi mà không được , mong các anh giúp đỡ .
đây là đoạn code em viết để quét 4 led 7 đoạn qua port D cua con pic ...Mong các anh sửa lại để có thể truyền dữ liệu qua 2 chân C6 va C7 giúp em ..
CODE :
Code:
/
#include <16f887.h>
#include <luutinh.h>

int8 i,a,b,k=0;
int8 so[4],led[]={0,1,2,3,4,5,6,7,8,9},quet[]={128,64,32,16};

#int_rtcc
void quetled()
{
   set_timer0(99);b=a;
   so[0]=a%10;a/=10;
   so[1]=a%10;a/=10;
   so[2]=a%10;a/=10;
   so[3]=a;   a=b;
   portD=(led[so[k]]+quet[k]);
   k++;
   if(k==4)k=0;
}
void xet_nhiet_do()
/*..................*/
void main()
{
   setup_timer_0(rtcc_internal|rtcc_div_128)
   set_timer0(99);
   setup_adc(adc_clock_internal);
   setup_adc_ports(all_analog);
   enable_interrupts(int_rctt);
   enable_interrupts(global):
   trisa=255; 
   trisb=trisc=trisd=0;
   while(true)
   {
        if(xet_nhiet_do>31) che_do(1);
//................................
    }
nếu sử dụng cách quét led qua 1 con giai mã 7447 thi phải tốn đến 8 chân pic ở port D , em muốn sử dụng thanh ghi dịch 74ls164 để quét led qua 2 cổng nối tiếp .Nhưng kô biết trong CCS qui đinh code như thế nào cả . Rất mong các anh giúp đỡ ...
__________________
_________________________________________________
Le Trung Duc
Industry Research & Application Center
NTT Institute of Hi_technolog
ltduc@ntt.edu.vn
leduc_cktd@yahoo.com.vn
http://www.nttc.edu.vn
CNC DIY : http://quangcaosanpham.com/shop/driverservo
0909300332
LeDuc vẫn chưa có mặt trong diễn đàn