//ATtiny85 根据pb3口高低电平 pb4输出脉冲信号和高电平信号
#include <iot85v.h>
#include <macros.h>
#include <AVRdef.h>
/*错误一开始就初始化了中断 导致两个状态都是高低变化*/
unsigned char blink;
void port_init(void)
{
// DDRB = 0x10;
DDRB |= 0x10; //pb4 shuchu
DDRB &= 0xF7; //pb3 shuru
PORTB = 0x00;
}
/*定时器0初始化*/
void time0_init(void)
{
SREG =0x80; //使能全局中断
TIMSK0=0x02; //溢出中断使能
TCNT0 =0xc8; //初始值 256 - 8000000 * 1ms / 8 / 1000 /1000 = 255
TCCR0A=0x00; //定时器普通模式
// TCCR0B=0x03; //预分频/64 启动TIME0
TCCR0B = 0x02; //预分频8 启动TIME0
}
void delay_times(unsigned int t)
{
unsigned int a;
for(a=0;a<=t;a++);
}
void main(void)
{
port_init();
time0_init();
while(1)
{
if((PINB & 0x08) == 0x08) //gaodianping
{
blink = 1;
/*
PORTB |= 0x10;
delay_times(42); r7 right
PORTB &= 0xEF;
delay_times(60);
ATtiny85简单引脚配置
最新推荐文章于 2024-07-25 23:39:01 发布
本文介绍了如何对ATtiny85微控制器进行简单的引脚配置,并重点讲解了利用timer0设置溢出中断的过程,适用于微型电子项目的开发。
摘要由CSDN通过智能技术生成