AVR
文章平均质量分 73
joshua_cyh
这个作者很懒,什么都没留下…
展开
-
M128的熔丝位出厂时默认为ATmega103 兼容模式,带来的问题
只剩下一个 USART,而且只支持异步模式。波特率寄存器只有低8 位可用。 只有一个16位的定时器/计数器,两个比较寄存器,而不是两个16位定时器/计数器, 三个比较寄存器。 不支持两线接口。 端口 C 只能输出。 端口 G 只能用做第二功能,而不能作为通用I/O 端口。 端口 F 只能作为输入,而不能作为ADC 的模拟输入引脚。 不支持引导程序功能。 不能够调节片转载 2011-12-20 20:57:10 · 484 阅读 · 0 评论 -
C语言程序>>SPI
#include #define _V_SPI_#define SPI_PORT PORTB#define SPI_DDR DDRB#define SPI_PIN PINB#define DS1302_MOSI 5 //PB5 MOSI要串10K电阻到MISO,然后把MISO跟DS1302_IO脚短接在一起的#define DS1302_MISO 6 //PB6原创 2011-12-22 17:40:09 · 1161 阅读 · 0 评论 -
C语言程序>>DS18B20
/* * 功能描述:DS18B20(单个)驱动程序 * 温度精度:正温度,1位小数,无校验 * EEPROM 0:温度LSB 1:温度MSB 2:TH 3:TL 4:精度寄存器(9~12)8:CRC * 采用默认值:转换精度默认为12 位,而分辨率是0.625 * DS18B20 复位-->执行ROM 指令-->执行DS18B20 功能指令。原创 2011-12-22 17:39:27 · 1082 阅读 · 0 评论 -
C语言程序>>ADC
#include #include #include "adc.h"#include "key.h"#define MaxAdcBufSize 9#define AdcBufStep 3static volatile unsigned int ADCBuffer[MaxAdcBufSize];/**************************************原创 2011-12-22 17:39:08 · 1366 阅读 · 0 评论 -
C语言程序>>LCD12864
/*****************************************************************程序说明CA12864K(ST7920)内核的点阵型LCD12864子程序日 期:2010-09-10修改日期:引脚图|-------------------------------------------------------------原创 2011-12-22 17:39:00 · 915 阅读 · 0 评论 -
C语言程序>>USART
#include #include #include #include "usart.h"//常量定义#define BAUDRATE 9600 //波特率#define F_CPU 16000000 //这个已经在makefile里面定义了void init_USART(void)//USART 初始化{ //USART 9600原创 2011-12-22 17:40:23 · 745 阅读 · 0 评论 -
C语言程序>>LCD1602
unsigned char address; if (y == 0) address = 0x80 + x; else address = 0xc0 + x; LCD_write_char( address, 0 ); }*//*****************************************************原创 2011-12-22 17:40:01 · 713 阅读 · 0 评论 -
C语言程序>>DS1302
#include #include #include "DS1302.h"/* DS1302 IO口定义 */#define CLK PC0 #define DATA PC1#define RST PC6#define DS1302_DATA_DDR_OUT() DDRC |= (1#define DS1302_DATA_DDR_IN()原创 2011-12-22 17:39:36 · 683 阅读 · 0 评论 -
ATmega16L 的中断源及在GCC中的中断名
ATmega16L 的中断源及在GCC中的中断名 中断源中断定义在GCC中的中断名SIG_NAMERESET 复位中断 INT0外部中断请求0SIG_INTERRUPT0INT1外部中断请求1SIG_INTERRUPT1TIMER2 COMP定时/计时器 2 比较匹配SIG_OUTPUT_COMP原创 2011-12-22 17:40:32 · 580 阅读 · 0 评论 -
AVR 内部EEPROM读写范例(M16)
#include #include #include "EEPROM.h"void EEPROM_Read(unsigned int addr,unsigned char *pbuf,unsigned char length){ unsigned char i; for(i = 0;i { pbuf[i]=eeprom_read_byte(addr + i);转载 2011-12-20 20:58:52 · 2122 阅读 · 0 评论 -
C语言程序>>INTERRUPT
#include #include #include #define uchar unsigned char#define uint unsigned int#define BIT(x) (1int main(void){ DDRA = 0xff; MCUCR |= BIT(ISC11)|(ISC00)|(ISC01); //INT0上升沿中断 INT1下降沿原创 2011-12-20 20:57:57 · 672 阅读 · 0 评论 -
正确配置AVR熔丝位的建议
正确配置AVR熔丝位 对AVR熔丝位的配置是比较细致的工作,用户往往忽视其重要性,或感到不易掌握。下面给出对AVR熔丝位的配置操作时的一些要点和需要注意的相关事项。有关ATmega128熔丝位的具体定义和功能请查看本书相关章节,在附录中将给出一个完整的汇总表。(1)在AVR的器件手册中,对熔丝位使用已编程(Programmed)和未编程(Unprogrammed)定义熔丝位的状转载 2011-12-20 20:56:14 · 520 阅读 · 0 评论 -
C语言程序>>IIC
#include #include #include #include #define F_CPU 16000000//#include //定义了各种模式下的状态码列表(TWSR已屏蔽预分频位),本文后面附上中文描述//管脚定义#define pinSCL 0 //PC0 SCL#define pinSDA 1 //PC1 SD原创 2011-12-22 17:39:50 · 540 阅读 · 0 评论