Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
新建 文本文档.txt
Package: AVR.rar [view]
Upload User: sophiecyc
Upload Date: 2007-10-14
Package Size: 14856k
Code Size: 2k
Category:
SCM
Development Platform:
C/C++
- void EEPROM_write(unsigned int uiAddress,unsigned char ucData)
- {
- while(EECR & (1<<EEWE)); //等待EEPROM的前一个写操作完成
- EEAR = uiAddress; //设置要写入的EEPROM地址
- EEDR = ucData; //设置要写入的数据
- EECR |= (1<<EEMWE); //写1到EEMWE位
- EECR |= (1<<EEWE);//写1到EEWE位,开始写EEPROM的操作
- }
- unsigned char EEPROM_read(unsigned int uiAddress)
- {
- while(EECR & (1<<EEWE)); //等待EEPROM的前一个写操作完成
- EEAR = uiAddress; //设置要读取的EEPROM地址
- EECR |= (1<<EERE);//写1到EERE位,开始读取EEPROM的操作
- return EEDR; //返回读取的数据
- }
- #pragma data:eeprom //设置数据区到EEPROM
- char key[] = {“RADIO”};
- char password[] = {“CBC:123456%ABC@163.COM: ABCDEFG$”};
- //假设我们用“%”作为密码之间的分割;“$”为密码结束标志
- #pragma data:data //设置数据区回到数据存储器
- unsigned char scan_keyboard(void)
- {
- unsigned char ctemp;
- unsigned char ctempadd;
- unsigned char creturn;
- PORTC = 0XFF;
- for(ctemp=0;ctemp<4;ctemp++)
- {
- PORTC = ~(1<<ctemp); //PC0管脚输出低电平
- delay_us(50); //短延时,等待电平稳定
- ctempadd = PINC&0XF0; //读取列线状态
- if (ctempadd!=0xf0) //有按键按下
- {
- delay_ms(100); //按键消抖
- ctempadd = PINC&0XF0; //再次读取列连状态
- if (ctempadd!=0xf0) //按键仍然处于按下状态
- {
- switch (ctempadd)
- {
- case 0x70 : ctempadd = (ctemp*4+0); break;
- case 0xb0 : ctempadd = (ctemp*4+1); break;
- case 0xd0 : ctempadd = (ctemp*4+2); break;
- case 0xe0 : ctempadd = (ctemp*4+3); break;
- }
- creturn = keytable[ctempadd]; //查表获取键值
- while ((PINC&0XF0)!=0xf0); //等待按键抬起
- return creturn;
- }
- }
- PORTC = 0XFF;
- }
- return 0xaa; //没有按键动作
- }