请教各位: 我用74HC164做数码管的段选码,74HC145做数码管的位选码, 编的程序是这样的(硬件没有问题),软件上模拟有输出,但是烧入片子后,测不到RC4管脚的电平变化,请教各位这是为什么啊? 我用的PIC16C63A的 接74HC145的是 RB0;RB1;RB2;RB3;(对应A B C D) 接74HC164的是 RB0;RB4;CLR接高电平 #include "pic.h" #define LS164 RB0 #define CLK164 RB4 void dis_one(unsigned char display_data,unsigned char display_bit) { unsigned char display_tran_data; unsigned char i; switch(display_data) { case 0:display_tran_data=0xef;break;//此处数据随意列出,应该没有什么影响吧 case 1:display_tran_data=0x60;break; default:break; } PORTB=0x1f;//使74HC145不工作 for(i=8;i!=0;i--) { LS164=display_tran_data&0x01; CLK164=0; display_tran_data<<=1; CLK164=1; } PORTB=display_bit; } void main(void) { unsigned char j; unsigned int k; TRISC=0xef; TRISB=0x00;// while(1) { dis_one(j++,2) if(j>2) {j=0;} for(k=0;k<20000;k++) {;} RC4=0; for(k=0;k<20000;k++) {;} RC4=1; } } |