完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
求助:小弟用ATmega16 单片机在软件上仿真,令一个LED灯闪烁,以下有两个程序,在proteus中仿真时,运行程序一的时候,灯是一直亮着的;运行程序二的时候,灯会闪。我不知道为什么程序一把延时程序做成子函数调用就行不通,执行到延时子函数之前程序就停止不前了。求高手指点。晶振是8M的 程序一:#include #define uchar unsigned char #define uint unsigned int void delay(uint ms)//延时子程序 { uint a,b; for(a=0;a } void main() { DDRD|=BIT(5); PORTD|=BIT(5); delay(50); PORTD&=~BIT(5); delay(50); } 程序二:#include #define uchar unsigned char #define uint unsigned int void main() { uint a,b; DDRD|=BIT(5); PORTD|=BIT(5); for(a=0;a<50;a++) for(b=0;b<1141;b++); PORTD&=~BIT(5); for(a=0;a<50;a++) for(b=0;b<1141;b++); } 电路图: |
|
相关推荐
2个回答
|
|
数据类型int到255就完 了
|
|
|
|
灯会闪烁并不能说明你的程序就正确了,事实上,你的两个程序都不能实现你编程的目的
一般来说,程序都有一个固定的模式: main() { 初始化; while(1) { 循环体; //这是程序的主体 } } |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
4342 浏览 3 评论
5631 浏览 1 评论
5909 浏览 0 评论
Protues中自己封装的芯片元件无Program File、Clock Frequency选项怎么解决,求求大神了!
7634 浏览 1 评论
基于51单片机的车辆倒车雷达报警系统,HC-SR04超声波测距,全套资料
1213 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-20 18:41 , Processed in 0.521939 second(s), Total 45, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号