历史上的今天
今天是:2024年11月23日(星期六)
2019年11月23日 | AVR中高档单片机内部EEPROM方法!可以用!
2019-11-23 来源:51hei
/**************************************************************
;eeprom.c 在AVR单片机中可以用在ATMEGA16和ATMEGA8中都可以用,在GCC下
;编译通过。09年11月1号! 陈永飞已测试过!
;读/写atmega8515内部EEPROM的例子
;将数据0....9写入eeprom中,再读出用数码管显示出来
***************************************************************/
#include #include #define uchar unsigned char #define uint unsigned int #define Hidden 16 uchar DispTab[17]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xFF}; uchar BitTab[6]={0x7F,0xBF,0xDF,0xEF,0xF7,0xFB}; uchar DispBuf[6]; //显示缓冲区 unsigned char Counter=0; void io_init(void) { // PortA PORTA = 0xff; DDRA = 0xff; // PortB PORTB = 0x0; DDRB = 0x0; // PortC PORTC = 0xfc; DDRC = 0xfc; // PortD PORTD = 0x0; DDRD = 0x0; } void mDelay(uint DelayTim) { uint i; for(;DelayTim>0;DelayTim--) { for(i=0;i<600;i++) {;} } } void disp() { uchar i; uchar tmp; if(++i>=6) i=0; PORTC=0xff; //关闭显示 tmp=DispBuf[i]; PORTA=DispTab[tmp]; tmp=BitTab[i]; PORTC=tmp; mDelay(1); //延时1ms } int main(void) { unsigned int Count=0; unsigned char Addr=1; //向地址1里面写数字 uint8_t temp=0; io_init(); DispBuf[0]=Hidden; DispBuf[1]=Hidden; DispBuf[2]=Hidden; DispBuf[3]=Hidden; DispBuf[4]=0; //次低位显示0 while(1) { temp=eeprom_read_byte (Addr); DispBuf[5]=temp; if(++Count==1000) { Count=0; Counter++; eeprom_write_byte(Addr,Counter); } if(Counter>=10) Counter=0; //计数值在0~9之间循环 disp(); //调用显示程序 } }
史海拾趣
|
我想问下搞射频电子,嵌入式,通信方面分别依次要学些什么啊,最好把要看的书籍的名字写上,还有看这些书的先后顺序。我是一个电子专业的学生,想搞这些方面,虽然问题是多了点,但是那位回答的最好,分加的最多!君子一言,驷马难追! ...… 查看全部问答> |
|
请问我有多个PCI相同的设备插在了同一台主机上,可是只有一个设备功能正常。 请教我怎样修改驱动程序让它驱动多个相同设备呢?希望各位大虾提供些思路 ,小弟是pci的初学者… 查看全部问答> |
|
我最近正在使用IAR 编写atmega128的ucos系统 不过在isr.r90文件中,有一句汇编语句 小弟不太懂 希望高人指教。 RSEG CODE:CODE:NOROOT(0) 这条语句中的0代表什么意思? 在写中断汇编的时候, ...… 查看全部问答> |
|
****************************************Report : timing -path full -delay max -max_paths 1Design : adder_N4Version: Z-2 ...… 查看全部问答> |
|
唉,心血来潮!用MSP430F11101A控制HT1621显示LCD,用2节5号1.5V电池供电,结果电池很快搞完了,一查430只消耗50uA电流(LPM3),那个该死的HT1621居然是150uA,哪位大侠用过,请给个注意,怎样降低HT1621的功耗?(必须保证LCD一直显示,不能关LCD) ...… 查看全部问答> |
|
【MSP430共享】基于MSP430F449的数字频率计设计 摘 要: 本文主要介绍了MSP430F449单片机的性能特点,结合前置双模分频器SAB6456A和高速数字分频器74HC390的典型应用,给出了以MSP430F449为主控芯片的射频数字频率计的硬件设计和软件的主程序流程,设计出了一种全自动、数显的射频频率计。 ...… 查看全部问答> |
|
请各位大虾帮帮忙,怎么判断一个电路板上的一个模块是数字模块还是模拟模块?还是就是模拟器件与数字器件是如何确切定义是区别的?请知道的朋友帮我解答一下,对这两个概念有点混乱,先谢了!… 查看全部问答> |




