完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
|
相关推荐
9个回答
|
|
{:soso__15924995180334472685_2:}
|
|
|
|
把程序直接贴出来吧
|
|
|
|
|
|
//一定要记住:data是关键字
#include #include #include"timer0.h" //#include"IIC.h" typedef unsigned int uint; typedef unsigned char uchar; ***it SDA=P2^1; ***it SCL=P2^0; void delay()//4~5us延时 11.0592M晶振 { ;; } void IIC_start()//启动IIC:SCL在高电平期间,SDA一个下降沿启动信号。 { SDA=1; SCL=1; delay(); SDA=0; delay(); } void IIC_respons()//应答信号:SCL在高电平期间,SDA被从设备拉为低电平表示应答。 { SCL=1; delay(); SDA=0; delay(); SCL=0; delay(); } void IIC_stop()//停止信号:SCL在高电平期间,SDA一个上升沿停止信号。 { SCL=1; delay(); SDA=0; delay(); SDA=1; delay(); } void IIC_writebyte(uchar date)//一定要记住:data是关键字 { uchar i,temp; temp=date; for(i=0;i<8;i++) { temp=temp<<1; SCL=0; delay(); SDA=CY; delay(); SCL=1; delay(); } SCL=0; delay(); SDA=1; delay(); } uchar IIC_readbyte()// 读一个字节:串行接收一个字节时需要8位一位位接收,然后再组成一个字节。 { uchar i,k; SCL=0; delay(); SDA=1; for(i=0;i<8;i++) { SCL=1; delay(); k=(k<<1|SDA); SCL=0; delay(); } delay(); return k; } void IIC_write_add(uchar address,uchar date)//指定地址的写操作 { IIC_start(); IIC_writebyte(0xa0); IIC_respons(); IIC_writebyte(address); IIC_respons(); IIC_writebyte(date); IIC_respons(); IIC_stop(); } uchar IIC_read_add(uchar address)//指定地址读操作 { uchar date; IIC_start(); IIC_writebyte(0xa0);//先把地址写进去 IIC_respons(); IIC_writebyte(address); IIC_respons(); IIC_start(); IIC_writebyte(0xa1); IIC_respons(); date=IIC_readbyte(); IIC_stop(); return date; } |
|
|
|
//led_dis.c
#include #include"timer0.h" #include"IIC.h" unsigned char LED_7[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff}; void led_dis(uchar j) { P0=LED_7[j]; } //timer0.c #include #include"IIC.h" ***it led=P1^0;//查看是否进入中断计时 uchar counter,miao; void timer0_init() { TMOD=0x01;//0000 0001 定时器0工作方式1 TH0=(65536-50000)/256; TL0=(65536-50000)%256; TR0=1; EA=1; ET0=1; } void timer0() interrupt 1 using 0 { //timer0_init(); TH0=(65536-50000)/256; TL0=(65536-50000)%256; counter++; if(counter==20)//1s时间到 { counter=0; miao++; if(miao==10) miao=0; led=~led; } } |
|
|
|
//main.c
//利用AT24C02存储 //利用定时器0一秒计时 //断电保存上次的秒数值 //上电读取AT24C02 #include #include"IIC.h" #include"timer0.h" #include"led_dis.h" extern miao; void main() { led_dis(IIC_read_add(1)); while(1) { led_dis(miao); IIC_write_add(1,miao); } } |
|
|
|
咋就不直接填出来
|
|
|
|
|
|
不错的文件,值得收藏
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《DNESP32S3使用指南-IDF版_V1.6》第四十二章 录音机实验
359 浏览 0 评论
655 浏览 1 评论
714 浏览 2 评论
《DNESP32S3使用指南-IDF版_V1.6》第四十一章 音乐播放器实验
764 浏览 0 评论
709 浏览 1 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12176 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-16 03:14 , Processed in 0.510482 second(s), Total 54, Slave 47 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号