完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
#include #define uchar unsigned char #define uint unsigned int ***it duan=P2^6; ***it wei=P2^7; ***it dat=P2^0; ***it clock=P2^1; ***it rs=P2^4; ***it ACC0=ACC^0; ***it ACC7=ACC^7; uchar shu,shu1,sec1,sec2,fen1,fen2,shi1,shi2,temp; uchar sec,fen,shi; uchar code num[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f, 0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00}; void delay(uchar z); void write_byte(uchar c,uchar shuju); uchar read_byte(uchar m); void write(uchar date) { uchar i; ACC=date; for(i=8;i>0;i--) { dat=ACC0; clock=0; clock=1; ACC=ACC>>1; } } uchar read() { uchar i; for(i=8;i>0;i--) { dat=ACC7; clock=1; clock=0; ACC=ACC>>1; } return ACC; } void write_byte(uchar c,uchar shuju) { clock=0; rs=0; rs=1; write(c); write(shuju); delay(20); clock=1; rs=0; } uchar read_byte(uchar m) { clock=0; rs=0; rs=1; write(m|0x01); shu1=read(); delay(20); clock=1; rs=0; return shu1; } void delay(uchar z) { uchar a; for(a=z;a--;a>0); } void ints() { duan=0; wei=0; write_byte(0x8e,0x00); write_byte(0x80,0x01); write_byte(0x82,0x20); write_byte(0x84,0x15); write_byte(0x8e,0x80); } void dvid() { sec=read_byte(0x81); sec1=(sec&0x0f); sec2=(sec>>4); fen=read_byte(0x83); fen1=(fen&0x0f); fen2=(fen>>4); shi=read_byte(0x85); shi1=(shi&0x0f); shi2=(shi>>4); } void display() { wei=1; P0=0xfe; wei=0; P0=0; duan=1; P0=num[sec1]; duan=0; delay(5); P0=0xff; wei=1; P0=0xfd; wei=0; P0=0; duan=1; P0=num[sec2]; duan=0; delay(5); P0=0xff; wei=1; P0=0xfb; wei=0; P0=0; duan=1; P0=num[fen1]; duan=0; delay(5); P0=0xff; wei=1; P0=0xf7; wei=0; P0=0; duan=1; P0=num[fen2]; duan=0; delay(5); P0=0xff; wei=1; P0=0xef; wei=0; P0=0; duan=1; P0=num[shi1]; duan=0; delay(5); P0=0xff; wei=1; P0=0xdf; wei=0; P0=0; duan=1; P0=num[shi2]; duan=0; delay(5); } void main() { ints(); while(1) { P1=read(); display(); } } 我写的是一个关于用DS1302芯片做一个时钟在数码管上显示的,不知什么原因在单片机上显示初值0后不再变化,求给我指一下程序的错误!!!谢谢啊
|
|
相关推荐
9个回答
|
|
先看下对的程序,然后对比你的,你怎么多程序,别人凭什么花费那么多时间给你一个一个分析过去。问问题最好把范围缩小,清晰明了
|
|
|
|
不太懂啊
|
|
|
|
|
|
|
|
不懂啊,纯帮顶,让highhand帮你解决
|
|
|
|
额,好久没玩过单片机了……可以进入Debug调试啊,设置好会出问题的断点,实在不行就一步一步走……再者有时候不一定是程序的问题,硬件也可能有问题,所以问题很多,得自己摸索,远强于别人给的答案。
|
|
|
|
你的延时程序有问题,应该是a=z;a>0;a--;
|
|
|
|
说的对!!!谢谢了!! |
|
|
|
|
|
|
|
苦口良药,我静下心好好找了找,好几天以来的问题总算找的了,我没有在主函数中调用改变参数的函数,所以。。。。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《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积木平台
12055 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-28 06:29 , Processed in 0.524620 second(s), Total 53, Slave 47 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号