完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
#include
#define uchar unsigned char; void delay02s(void); void main() { while(1) { p1^0=0; delay02s(); p1^0=1; delay02s(); } } void delay02s(void) //延时0.2秒子程序 { uchar i,j,k; for(i=20;i>0;i--) for(j=20;j>0;j--) for(k=248;k>0;k--); }
|
|
相关推荐
7个回答
|
|
像你这样写程序,这风格太乱了,还有你直接就用P1^0这样应该不行吧,4L讲的就不错,一般要使用某个端口总线中的一个引脚的话用位定义***it LED = P1^0;在没用到的引脚不要去占用他,很多场合都需要利用串转并的芯片来节省51的引脚资源的。建议你看宋雪松老师的《手把手教你学51单片机》,想效果更好的话在买书,不要光靠PDF的电子书,纸质的书可以在上面写下你的理解,这样效果更好些。我也是菜鸟,大家可以互相学习哈
最佳答案
|
|
|
|
uchar 定义时多了一个分号
|
|
|
|
#include
#define unsigned char uchar ; void delay02s(void); void main() { while(1) { P1^0=0; delay02s(); P1^0=1; delay02s(); } } void delay02s(void) //延时0.2秒子程序 { uchar i,j,k; for(i=20;i>0;i--) for(j=20;j>0;j--) for(k=248;k>0;k--); } |
|
|
|
看你的程序风格,应该是初学者,建议你这样写代码,对你以后有好处,
#incloude"reg52.h" typedef unsigned char uint8; typedef unsigned int uint16; typedef unsigned long uint32; ***it LED = P1^0; void Delay200ms() //@11.0592MHz { uint8 i, j, k; _nop_(); i = 2; j = 103; k = 147; do { do { while (--k); } while (--j); } while (--i); } void main(void) { while(1) { LED = 0; Delay_200ms(); LED = 1; Delay_200ms(); } } 不明白,可追问 |
|
|
|
头文件应该是#include"reg52.h",不好意思打错了
|
|
|
|
|
|
|
|
嗯嗯,谢谢提醒,添了句***it L=p1^0;果然好了 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
串口发送中断中对发送I/O口定义为GPIO输出,出现发送数据不完整,缺少2个字节,求解答
1168 浏览 3 评论
728 浏览 0 评论
【xG24 Matter开发套件试用体验】10-Bluetooth示例1
836 浏览 0 评论
919 浏览 0 评论
【xG24 Matter开发套件试用体验】power specification电源规格参数配置
747 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
10861 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-26 13:15 , Processed in 0.679052 second(s), Total 55, Slave 47 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191