×
单片机 > 单片机程序设计 > 详情

控制74HC164数据转换程序

发布时间:2020-05-27 发布时间:
|

/* 
//======164数据转换程序======= 
void chuanshu164(uchar data_buf) 

  uchar i; 
  ACC=data_buf;      //数据送累加器 
  for(i=8;i>0;i--) 

 

  { 
  clk=0; 
      data1=a0; 
      clk=1; 
      ACC=ACC>>1; 
  } 
      clk=0; 


//ICC-AVR application builder : 2005-2-24 23:07:53     
// Target : M8     
// Crystal: 8.0000MHz     
    
#include      
#include      
    
unsigned char  n;    
    
//TIMER1 initialISAtion - prescale:256     
// actual value:  1.000Hz (0.0%)     
void timer1_init(void)    
{    
 TCCR1B = 0x00; //stop     
 TCNT1H = 0x85; //setup     
 TCNT1L = 0xEE;    
 OCR1AH = 0x7A;    
 OCR1AL = 0x12;    
 OCR1BH = 0x7A;    
 OCR1BL = 0x12;    
 ICR1H  = 0x7A;    
 ICR1L  = 0x12;    
 TCCR1A = 0x00;    
 TCCR1B = 0x04; //start Timer     
}    
    
//  timer1 中断 ,1秒     
#pragma interrupt_handler timer1_ovf_isr:9     
void timer1_ovf_isr(void)    
{    
    unsigned char  ch,i;    
    
    TCNT1H = 0x85; //reload counter high value     
    TCNT1L = 0xEE; //reload counter low value     
    
    if(++n == 10) n = 0;    
    ch = n | 0x70;    
    PORTB &= ~0x01;      //  消隐     
    PORTD &= ~0x40;      //  CLK    
      
    for(i=0; i<8; i++){    
        if(ch & 0x80)    
            PORTD |= 0x80;    
        else    
            PORTD &= ~0x80;    
        ch <<= 1;    
        PORTD |= 0x40;    
        asm("nop");    
        PORTD &= ~0x40;    
    }    
     
     
    PORTB |= 0x01;      //  显示     
}    
    
//  初始化     
void init_devices(void)    
{    
 CLI();          //  禁止中断     
 DDRB = 0x01;    //  初始化操作74LS164的管脚     
 DDRD = 0xC0;    //  初始化操作74LS164的管脚     
 timer1_init();    
    
 MCUCR = 0x00;    
 GICR  = 0x00;    
 TIMSK = 0x04;   //  设置timer1中断     
 SEI();          //  中断使能     
}    
    
//     
void main(void)    
{    
 unsigned char   x;    
 init_devices();    
 //insert your functional code here...     
 for(;;){    
   x++;    
 }    
}    
*/


关键字:74HC164  数据转换 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
AVR熔丝位操作时的要点和需要注意的相关事项