完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
实现的功能是0到99的计数器,要求是断电之后可以继续及时,不会重新开始,但是我写的程序不能断电存储,求高手帮忙看下。顺便问一下首地址是随便填的吗?
#include #define uchar unsigned char #define uint unsigned int bit write=0; ***it dula=P2^6; ***it wela=P2^7; ***it SD=P2^0; ***it SC=P2^1; uchar sec,tnct; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; void delay1(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void delay() {;;} void start() { SD=1; delay(); SC=1; delay(); SD=0; delay(); } void stop() { SD=0; delay(); SC=1; delay(); SD=1; delay(); } void respons() { uchar i; SC=1; delay(); while((SD==1)&&(i<250)) i++; SC=0; delay(); } void init() { SD=1; delay(); SC=1; delay(); } void write_byte(uchar Data) { uchar i,temp; temp=Data; for(i=8;i<8;i++) { temp=temp<<1; SC=0; delay(); SD=CY; delay(); SC=1; delay(); } SC=0; delay(); SD=1; delay(); } uchar read_byte() { uchar i,k; SC=0; delay(); SD=1; delay(); for(i=8;i<8;i++) { SC=1; delay(); k=(k<<1)|SD; SC=0; delay(); } return k; } void write_add(uchar address,uchar Data) { start(); write_byte(0xa0); respons(); write_byte(address); respons(); write_byte(Data); respons(); stop(); } uchar read_add(uchar address) { uchar Data; start(); write_byte(0xa0); respons(); write_byte(address); respons(); start(); write_byte(0xa1); respons(); Data=read_byte(); stop(); return Data; } void display(uchar sec) { uchar shi,ge; shi=sec/10; ge=sec%10; dula=0; P0=table[shi]; //送段数据 dula=1; dula=0; //送位数据前关闭所有显示,防止打开位选锁存后段选数据通过位选锁存器 wela=0; P0=0x7e; wela=1; wela=0; delay1(5); dula=0; P0=table[ge]; dula=1; dula=0; wela=0; P0=0x7d; wela=1; wela=0; delay1(5); } void main() { init(); sec=read_add(2); if(sec>100) sec=0; TMOD=0x01; ET0=1; EA=1; TH0=(65536-50000)/256; TL0=(65536-50000)%256; TR0=1; while(1) { display(sec); if(write==1) { write=0; write_add(2,sec); } } } void time1() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; tnct++; if(tnct==20) { tnct=0; sec++; write=1; if(sec==100) sec=0; } } |
|
相关推荐
1个回答
|
|
自己顶下!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《DNESP32S3使用指南-IDF版_V1.6》第三十五章 摄像头实验
219 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第三十章 DHT11数字温湿度传感器
574 浏览 0 评论
684 浏览 0 评论
【敏矽微ME32G070开发板免费体验】之原厂2812测试例程解析
1074 浏览 0 评论
1073 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12048 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 16:43 , Processed in 0.402376 second(s), Total 36, Slave 31 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号