AVR学习 --74HC164应用

发布者:电子艺术大师最新更新时间:2015-11-16 来源: eefocus关键字:74HC164 手机看文章 扫描二维码
随时随地手机看文章
#include
#include

#define uchar unsigned char
#define uint  unsigned int

//定义74LS164时钟和数据引脚状态
#define CLK_H() PORTA|=BIT(1)
#define CLK_L() PORTA&=~BIT(1)

#define Dat_H() PORTA|=BIT(0)
#define Dat_L() PORTA&=~BIT(0)


void delay(void)
{
 uint i;
 for(i=1;i<100;i++)
    ;
}


void delay_1ms(void)//1ms
{
 uint i;
 for(i=1;i<(uint)(8*143-2);i++)
    ;
}

void delay_ms(uint time)//time*1ms
{
   uint i="0";
   while(i    {
   delay_1ms();
    i++;
   }
}

void Port_init(void)
{
 DDRA  = 0xff;   //A口设为输出  
 PORTA = 0x00;
 
 DDRB  = 0xff;         //B口为输出,
 PORTB = 0xff;
 
 DDRC  = 0x00;   //C口
 PORTC = 0x00;
 
 DDRD  = 0x00;   //D口
 PORTD = 0x00;
}

void Led_flowing(void)
{
  uchar i;
  for(i=0;i<8;i++)
  {
   PORTB=~(1<    delay_ms(150);
  }
}


void Send_byte(uchar Dat)
{
 uchar i;
 for(i=0;i<8;i++)
 {
  CLK_L();
  if(Dat&0x80)
   Dat_H();
  else Dat_L();
  CLK_H();
  Dat<<=1;
 }
}

void main(void)
{
 Port_init();
 while(1)
 {
   Send_byte(0x01);
   delay_ms(200);
   Send_byte(0x02);
   delay_ms(200);
   Send_byte(0x80);
   delay_ms(200);
 }
}

关键字:74HC164 引用地址:AVR学习 --74HC164应用

上一篇:AVR单片机相关
下一篇:多功能导盲车的系统实现

推荐阅读最新更新时间:2024-03-16 14:39

高效学习AVR单片机的方法
怎样可以成为单片机高手,下面是一些建议学习的流程。 一、购买一两本书,笔者推荐两本 《单片机 C语言开发入门指导》,《高档8位单片机ATmega128原理与开发应用指南》。买书的目的:看书大体了解单片机的结构和工作原理,了解基本概念和基础知识,其实新手是不可能完全看懂一本书的,如果你能,你已经是高手了,所以不要期望一字一句去搞懂书上说的到底是什么东西。看完书对相关内容有个概念性的了解就可以了。 二、开始动手配置开发环境,动手去做,实践出真知。笔者推荐使用ICC AVR + AVR studio +AVR mega16 + JTAG&ISP下载仿真器的组合。抄几个程序,增强一下自己的信心,看到自己的程序在单片机上跑起来,那种愉悦
[单片机]
51单片机与74HC164静态显示接口
在单片机应用系统中,显示器显示常用两种方法:静态显示和动态扫描显示。所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种方法单片机中CPU的开销小。可以提供单独锁存的I/O接口电路很多,这里以常用的串并转换电路74LS164为例,介绍一种常用静态显示电路,以使大家对静态显示有一定的了解。 MCS-51单片机串行口方式0为移位寄存器方式,外接6片74LS164作为6位LED显示器的静态显示接口,把8031的RXD作为数据输出线,TXD作为移位时钟脉冲。74LS164为TTL单向8位移
[单片机]
AVR学习笔记--红外遥控接收器使用
目前大多使用的是一体化红外接收头,它将红外接收二极管、放大、解调、整形等电路做在一起,只有三个引脚.分别是+5V电源、地、信号输出。所以只需要关心接收头的输出编码格式。 指令格式:前导码 + 地址码 + 地址码反码 + 数据 + 数据码反码 指令编码:脉宽调制编码 识别算法:每两次信号的下降沿表示1位数据,根据两次下降沿之间的间隔时间,就可以判断出是前导码,还是数据1或数据0。 A、前导码: 9ms B、数据 1 :2.25ms C、数据 0 :1.12ms 注意: 虽然0和1的占用时间长度不同,但因为同时其反码的存在,所以整条指令的总长度是
[单片机]
74HC164键扫+显示实例
源代码: /***************************************************** * main.c 中如此这般: *****************************************************/ kd_init(); // ...... while (1) { if( should_update_kd ) { kd_update(); } // Other code // ......
[单片机]
<font color='red'>74HC164</font>键扫+显示实例
AVR 单片机学习ATmega16 ADC
转换速率:每秒钟采样的次数。常用单位: SPS(每秒次) KSPS(每秒千次) MSPS(每秒百万次)。越快越好。 转换精度:转换结果的有效位数(二进制)。单位:位 AVR的片上ADC: 最高转换速率:15kSPS 最高转换精度:10位 AVR片上ADC的特点: 10 位 精度 0.5 LSB 的非线性度 ± 2 LSB 的绝对精度 65 - 260 μs 的转换时间 最高分辨率时采样率高达15 kSPS 8 路复用的单端输入通道 7 路差分输入通道 2 路可选增益为10x 与200x 的差分输入通道 可选的左对齐ADC 读数 0 - VCC 的 ADC 输入电压范围 可选的2.56V ADC 参考电压 连
[单片机]
<font color='red'>AVR</font> 单片机<font color='red'>学习</font>ATmega16 ADC
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved