AVR
AVR
春江花月夜晨
这个作者很懒,什么都没留下…
展开
-
EEPROM 数据存储器 读写
/*******************************************************************************1、用内部EEPROM记录CPU启动次数,并在PB口上显示出来(8位LED来显示十六进制)2、进行此实验请插上JP1的所有8个短路块,JP7(LED_EN)短路块。3、通过此实验,可以对对内部EEPROM有个初步认识,了解EEPROM原创 2017-02-28 09:31:18 · 4822 阅读 · 0 评论 -
(UART与COM)
嵌入式里面说的串口,一般是指UART口, 但是我们经常搞不清楚它和COM口的区别, 以及RS232, TTL等关系, 实际上UART,COM指的物理接口形式(硬件), 而TTL、RS-232是指的电平标准(电信号).UART有4个pin(VCC, GND, RX, TX), 用的TTL电平, 低电平为0(0V),高电平为1(3.3V或以上)。COM口是我们台式机上面常用的口(下图),9个pin原创 2017-02-22 16:25:59 · 661 阅读 · 0 评论 -
AVR 定时器中断程序
基于7.3728M晶振作AVR定时器的时钟源进行1S定时! 实验内容: 使用AVR的定时器T1做1S定时,并使用PD口的LED指示灯做简单指示。#include <iom16v.h>#include <macros.h>#define DISP_DDR DDRD#define DISP_PORT PORTD/*--------------------------------------原创 2017-02-22 16:35:52 · 2319 阅读 · 0 评论 -
AVR外部中断INT1检测按键,使用LED作指示
实验内容: 使用AVR的外部中断INT1检测PD3Key,如果有按键按下,则唤醒休眠的MCU,并使它的PB口的LED做加1指示。#include <iom16v.h>#define DISP_DDR DDRB#define DISP_PORT PORTB#define IN_PD3 cbi(DDRD,3) //PD3#define SET_PD3 sbi(PORTD,3)#def原创 2017-02-22 17:37:13 · 852 阅读 · 0 评论 -
SPI实验(数码管显示)
#include <iom16v.h>#include <macros.h> /*--------------------------------------------------------函数名称: void SPImasterInit(void) 函数功能: SPI初始化为主机返 回 值: 无 SPI控制寄存器介绍SPIE SPE DOR原创 2017-02-24 15:24:48 · 2236 阅读 · 0 评论 -
AVR USART接收中断程序
使用AVR的USART进行自发自收(将发送引脚RXD短接到接收引脚TXD),发出数据:0,1,2。。。数据,能接收到自己发出的数据:0,1,2。。。使用LED作出简单指示。 USART自发自收,使用PB口的LED指示接收到的数据,观察是否与发送的数据一致。#include <iom16v>#define DISP_PORT PORTB#define DISP_DDR DDRB/*程序功原创 2017-02-23 16:08:45 · 3693 阅读 · 0 评论 -
AVR USART(UART)发送中断程序 使用缓冲器
使用USART发送数据,需要一定时间,若是用传统方法,等发送完再处理其它任务(如语句 while(!(UCSRA&0x40));),那么,将大大降低了高速的AVR的执行效率! 那么怎样处理才可以解决低速串口与高速AVR之间的矛盾呢?可以采用开辟发送缓冲区的做法: 当AVR需要发送数据时,如果USART口不空闲或者发送缓冲区还有待发送的数据,就将数据放入发送缓冲器中(如果缓冲器未满),AV原创 2017-02-23 17:11:07 · 2265 阅读 · 1 评论 -
AVR 看门狗使用
//观察喂狗与不喂狗的区别,使用PB口的LED指示灯做状态指示。 //将PB口的LED指示灯使能开关切换到"ON"状态。 #include <iom16v.h> #define DISP_DDR DDRB #define DISP_PORT PORTB //看门狗WDT初始化程序 void wdt_init(void) { asm原创 2017-02-27 17:30:34 · 3732 阅读 · 1 评论 -
WDT
#include <iom16v.h>#include <macros.h>#define uchar unsigned char#define uint unsigned int void WDT_init(void){ asm("wdr");//WDR();WDR复位,复位看门狗 WDTCR = 0x0F;//开启看门狗 //2,048K,VCC=5.0V时典型原创 2017-03-13 10:41:13 · 932 阅读 · 0 评论