这是一个51单片机交通灯代码,给每行代码添加注释#include #define uint unsigned int //用uint代替unsigned int #define uchar unsigned char //用uchar 代替unsigned char
51单片机定时器控制LED灯亮灭各两秒.求程序代码
用定时器实现51单片机上LED灯每隔两秒亮暗闪烁
你用的是几个灯啊?比如说8个灯吧,用p0口, 就是直接讲p0口与led直接相连就行了啊,注意led的另一端要接在一起,共地或者高电平都可以,但是为了保护led,最好在每个小灯上串上一个电阻(若单片机采用的是5v电压,电阻可选用500欧左右的就可以了),以减小通过led的电流。剩余的就是单片机的最小系统了,没什么好说的吧,就是晶振,复位而已。 程序嘛,也很简单啊,你说用定时器,每个两秒如果单纯用一个定时器的话肯定不够用的,要结合循环判断语句,比如你采用12m的晶振,并且将定时中断时间定为50ms,那么设置一个变量,每20次就是一秒了,所以40次就是两秒。这样的话,每个40次就让led的状态(用051单片机定时器定时 2秒灯亮 3秒灯灭,如此循环
如果想实现无限循环那就采用死循环方式,可以无限的循环如while(1){};然后设定定时器定时时间为1s(此值需要根据单片机确定是否可以设定这么大),其次,设定一个变量对时间进行计数,根据计数情况做出相应的改变,程序可以这样设定: unsigned char gucledstatus = 0x00; //全局变量,表示灯当前的状态 0为灭,1为亮 volatile unsigned int gustimecnt; //全局变量对时间计数 int main() { //增加定时器初始化并开放中断 while(1) { if(gucledstatus == 0x01) //当前为亮状态 { if(51单片机控制led灯亮两秒灭一秒 用单片机编程,不用c语言。用中断和循环两种,谢谢
您好,这样: P0=0x00; if(a==20) { a=0; P0=0x01; } 如果你是要实现一秒钟亮,一秒钟灭,你可以这样 D=0x00; while(1) { if(a==20) { a=0; D=~D; } }其中D是led对应的一个io口(一定要先定义D)用单片机定时器控制一个LED亮灭,时间间隔两秒的程序。高手来。谢谢。
你有什么教材吗?我用的郭天祥的教材的第74页就有一个控制一秒闪烁的。你这个问题是超简单的问题。 你要程序的话我可以给你51单片机led灯亮一秒停五秒程式怎么写
void delay_s(unsigned char t); void main() { while(1) { led = 1;//led 亮 delay_s(1);//延时1s led = 0;//led 暗 delay_s(5);//延时5s } } 这是主循环,你要把delay_s()这个延时函数补充进去,另外,led亮和暗的电平你得根据你得具体电路看是1亮还是0亮。相关文章
- 详细阅读
-
单片机程序设计,程序已有需要帮忙解详细阅读
单片机程序,能帮忙解读下吗void main( void ) { // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD;//关看门狗 P5OUT=0x00;//P5口输出0 P2DIR=0x
-
89c52单片机设计万年历 DS1302时钟详细阅读
单片机用89c52和时钟芯片ds1302做的时钟.c语言编程。这个是典型的单片机应用,你搜几个单片机教程,就能找到实例了! 用1302和计数器的区别,只是增加了和1302的通信和读写功能替换
- 详细阅读
-
利用按键实现点灯功能:单片机复位详细阅读
单片机如何实现按下按键灯1亮3秒熄灭,灯2亮一秒灭一秒循环 c语言啥单片机啊?好久没写过51的了,写一下,可能有错的地方,不过思路是这样子的。那个S=4和后面那里写错了,不过我觉得你
-
51单片机显示与理想不符合详细阅读
51单片机程序定时器怎么这么不准确啊,求高手指点!这是编译器造成的,你最好用Debug模式看看生成的汇编代码是什么摸样,比较一下你那三种方 式给TH0和TL0赋的是什么样的值。 这是
-
在单片机片内30H开始存放了10个4字详细阅读
c51单片机内30h∼39h单元处存放了10个二进制数,计算它们的累加和,并将结果存放到起始地址SUM: MOV R0,#30H MOV 40H.#0 MOV 41H,#0 MOV R2,#10 LP: MOV A,@R0 ADD A,40H MOV
-
C#编程,52单片机,c语言详细阅读
c表示什么?C(大写) 、c(小写)是英文字母顺数第三个,俄语字母顺数第19个。例如:英语单词cloud和“苏联”的俄语缩写СССР的第一个字母就是c。可表示C语言,C语言是一门面向过程的
-
单片机按下K1实现D1→D4,D8→D5循环详细阅读
大神求助啊单片机急用:开关K1闭合时,实现D1-D8循环点亮,发光二极管点亮的时间间隔依次增长给你个方案 自己慢慢想 然后自己去搞出来 先写一段带参数的子函数 void delayms(uin
-
32单片机HAL库是什么?详细阅读
在STM32开发中,HAL是什么意思?HAL是硬件抽象层的缩写,ST退出的新的库也叫HAL库。STM32 的 HAL 库好用吗别人写的 你参考一下: 半年前接触 STM32,刚开始 MCU 用的 32F1,库用的标