单片机8个流水灯程序流水灯。 P5口驱动LED。低电平,点亮LED,高电平时LED熄灭。 (1)全亮并闪烁4次。

404 - 找不到文件或目录。
404 - 找不到文件或目录。
您要查找的资源可能已被删除,已更改名称或者暂时不可用。拒绝访问 | www.renrendoc.com | 百度云加速
请打开cookies.
此网站 (www.renrendoc.com) 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(40cf5-ua98).
重新安装浏览器,或使用别的浏览器C51单片机程序。利用外部中断INT0,INT1,当INT0产生中断时,使LED8亮8灭闪烁4次;_百度知道
C51单片机程序。利用外部中断INT0,INT1,当INT0产生中断时,使LED8亮8灭闪烁4次;
INT1产生中断时,使LED右向左流水显示,一次亮2个,循环4次。谢谢
我有更好的答案
Delay(500);开中断1
LED7=0;i&下降沿触发
LED3=1;sbit LED3=P0^2;sbit LED4=P0^3,否则会出错#include&reg52.h&/开中断0
IT0=1;&#47,是51系列则改为51,52则改为
52;这一句中的52根据实际需要修改,程序中默认单片机引脚低电平点亮led,如果是高电平点亮
led,反过来设置引脚电平就可以了;
2、延时时间可以按自己需要修改;
3、#include&reg52.h&
for(i=0、led对应引脚可以修改;stdio:1;sbit LED7=P0^6;sbit LED8=P0^7;
LED2=1;//4;
INT1() interrupt 1{
for(i=0;i&
LED4=1;sbit LED5=P0^4;sbit LED6=P0^5;
}} 备注;//
Delay(500);
LED8=1;// void Delay(uint ms){
Delay(500);
Delay(500);
LED7=1;#include&4;
LED6=1;i++)
LED1=0,一定不能错;/LED初始状态为全灭} void
INT0() interrupt 0{
for(i=0;i&i++)
LED8=0;1141;j++)} void main(){
Delay(500),j;/下降沿触发
EX1=1;i++)
for(j=0;j&lt.h&#define uint unsigned int#define uchar unsigned char sbit LED1=P0^0;sbit LED2=P0^1
采纳率:29%
你可以再主函数里面写一个条件语句,在这个条件语句里写LED8亮8灭闪烁4次。然后在外部中断中写入达成这个条件的表达式
能不能帮我写的详细点?谢谢
你不会写中断吗????我现在还得去做实验,等我中午有空的时候再给你写吧!!
为您推荐:
其他类似问题
外部中断的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。查看: 2884|回复: 6
本人刚学单片机 问个小问题 下面的程序实现实现两个按键控制LED流水灯,按下P3.0,8个LED循环左移,按下P3.1,8个LED循环右移 小灯低电平亮
MOV P1,#00H
MOV P3,#0FFH
MOV P1,#00H
JNB P3.0,KEY1
JNB P3.1,KEY2
ACALL DELAY10
JNB P3.0,ZUOYI
ACALL DELAY10
JNB P3.1,YOUYI
MOV P1,#7FH
ACALL DELAY500
CJNE A,#0FEH,LOOP1
MOV P1,#0FEH
ACALL DELAY500
CJNE A,#7FH,LOOP2
MOV R7,#0CDH
MOV R6,#74H
MOV R5,#09H
DJNZ R6,DL0
DJNZ R7,DL1
MOV R4,#05H
MOV R3,#04H
MOV R2,#0F8H
DJNZ R3,DL2
DJNZ R4,DL3
看不懂,写得不规范
你这代码没有任何规范可言
学51C语言简单吧!!!!
include&reg51.h&
#include&intrins.h&& && & //包含循环左、右移位函数的头文件
#define led P1
sbit key1=P3^2;
sbit key2=P3^3;
unsigned char a,b;
void delay(unsigned char m)
& && &unsigned i,j;
& && & for(i=0;i&=m;i++)
& && && &for(j=0;j&=120;j++);& &//这条语句大概延时1ms
void key1ch()
&&while(key2)& & //如果键2没有按下,循环执行这段程序
& &for(a=0;a&8;a++)
& && && &delay(500);
& && && &led=_crol_(led,1);//左移一位
& && && &while(!key2)//如果键2按下,退出
void key2ch()& &
& & while(key1)& && &//如果键1没有按下,循环执行这段程序
& & {for(b=0;b&8;b++)
& && && & delay(500);
& && && & led=_cror_(led,1);//右移一位
& && && &&&while(!key1)//如果键1按下,退出
include&reg51.h&
#include&intrins.h&& && & //包含循环左、右移位函数的头文件
#define led P1
sbit key1=P3^0;
sbit key2=P3^1;
unsigned char a,b;
void delay(unsigned char m)
& && &unsigned i,j;
& && & for(i=0;i&=m;i++)
& && && &for(j=0;j&=120;j++);& &//这条语句大概延时1ms
void key1ch()
&&while(key2)& & //如果键2没有按下,循环执行这段程序
& &for(a=0;a&8;a++)
& && && &delay(500);
& && && &led=_crol_(led,1);//左移一位
& && && &while(!key2)//如果键2按下,退出
void key2ch()& &
& & while(key1)& && &//如果键1没有按下,循环执行这段程序
& & {for(b=0;b&8;b++)
& && && & delay(500);
& && && & led=_cror_(led,1);//右移一位
& && && &&&while(!key1)//如果键1按下,退出
void main()
&&while(1)
&&{if(!key1)
& & delay(10);
& &&&while(key1);
& && &key1ch();
& & if(!key2)
& && &delay(10);
& && & while(key2);
& && &&&key2ch();
沙发~~~!沙发~~~!沙发~~~!沙发~~~!沙发~~~!沙发~~~!沙发~~~!
Powered byPIC单片机——点亮一个流水灯(含程序) - 单片机/MCU论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
PIC单片机——点亮一个流水灯(含程序)
17:42:59  
MPLAB简介及PIC点亮的第一个流水灯1.PIC16F87X系列单片机引脚简介PIC16F87X系列单片机的引脚分为两种:一种为40脚(包括871,874,877这三种),如图所示;另一种为28脚(包括870,872,873,876这四种)。PIC16F877除了基本电路所占用的7根引脚外,其余的33支引脚都可当成输出、输入引脚,输入输出端口是单片机基本元素,可以与周边电路进行电路控制和信号传输与检测。PIC是8位的单片机,以引脚特性分组,每组尽量凑满8支引脚,并将I/O命名为PORTA(RA0~RA5)、PORTB(RB0~RB7)、PORTC(RC0~RC7)、PORTD(RD0~RD7)和PORTE(RE0~RE2)等,各分组特性说明如下:PORTAPIC16F877的PORTA总共有6位(RA0~RA5),PORTA的引脚可作为数据输出输入端口,而系统重置后,PORTA自动成为模拟输入状态,可读取模拟输入信号。PORTBPORTB总共有8位(RB0~RB7),可以编写程序规划输入输出方向、状态,其中,要进行烧录时,使用到三个引脚,分别是引脚36(RB3/PGM)、引脚39(RB6/PGC)与引脚40(RB7/PGD)。PORTCPORTC总共有8位(RC0~RC7),除了可作为数据I/O外,还和一些特殊功能的外围电路共享引脚,例如CCP(直流马达控制)、I2C、SPI(同步串行通信电路)、UART(异步串行传输电路)等。PORTDPORTD总共有8位(RD0~RD7),可作一般数据I/O外,并与PSP(ParallelSlavePort)并行传输区共享。当整体系统需要多机时,彼此可以经由并行传输区来快速传输资料。PORTEPORTE总共有3位(RE0~RE2),PORTE的引脚8、9、10有三种功能,除了基本I/O功能,还有模拟输入功能,而上述PORTD的并行传输区设定所需的控制引脚,如/RD、/WR、/CS等,也是属于PORTE引脚。2.PIC开发工具的简介首先需要用到的编辑工具是MPLAB,安装好MPLAB后,由于MPLAB只能编译汇编语言,不能编译C语言,所以需要安装PICC编译器,但是PICC是收费软件,网上有破解版的,可以拿来作为学习使用。对PIC进行烧写程序需要用到PC端软件,其装好后打开状态如下图所示:出现错误的原因是串口没有连接好。注意,使用些下载工具时,必需先将目标板连接好,并加上电源,然后再打开这个软件,另外下载完毕后必需先关闭软件,再关闭实验板,否则会出现问题。首次使用MPLAB需要进行设置,具体方法:Project——SelectLanguageToolsuite...——HI-TECH的路径选择。3.新建工程Project——ProjectWizard——Next——选择芯片型号——Next——ActiveToolsuit——HI-TECH——选择该工具正确完整路径——Next——工程名字与存放路径——Next——添加或者Next——Finish。新建一个文本文件,并保存为.c文件,即可在此进行程序编辑了。(好像工程应该建立在\MPLAB\MPLABIDE\Core\目录下才管用,建立在其它地方会出错。)
4.点亮第一个发光管4.1设置端口I/O状态※I/O端口的寄存器,复位后,默认为输入(输出高阻态)※方向控制寄存器:TRISA~E※数据寄存器:PORTA~E为了实现I/O端口的功能必需先对端口进行初始化设置。方向控制寄存器与数据寄存器都是8位的;方向控制寄存器中的每一位与数据寄存器中的每一位相对应;对应关系如下图所示:TRISn复位值为0xff方向控制寄存器的相应位设置为1表示输入,设置为0表示输出;端口控制寄存器的相应位设置为1表示输出高电平,设置为0表示输出低电平。※I/O口编程要点:端口驱动能力每个I/O口允许最大25mA的灌电流和20mA的拉电流,可以直接驱动LED和继电器。因各端口结构不同,RB口提供的总灌电流和总拉电流可达150mA和100mA;其他端口为80mA和50mA;五个端口驱动电流之和不大于200mA。TRISn始终控制着PORTn的输入输出方向。
4.2流水灯程序例子#include&pic.h&#defineucharunsignedchar#defineuintunsignedint__CONFIG(0x3B31);voiddelay(uintx){uinta,b;for(a=x;a&0;a--)for(b=110;b&0;b--);}voidmain(){TRISD=0x00;while(1){PORTD=0x01;for(i=8;i&0;i--){delay(200);PORTD=PORTD&&1;}}}关于程序中的红色标记部分的数值,参考PIC资料的Configurationbit的各位含义。编译通过生成.hex文件后,打开板子电源,然后再打开MicroPro软件,设置好串口号后,点击Program选择下载程序.hex文件。
4.3软件仿真首先进行设置:Debugger——MPLABSIMView下面包含很多调试选项,选择相应选项,即可对各个寄存器的运行状况进行查看。选择watch可以跟踪变量的变化。Debugger——stopwatch:可以对运行时间进行调试。
转自网络。
本帖子中包含更多资源
才可以下载或查看,没有帐号?
高级工程师
18:26:22  
20:33:20  
谢谢分享&&的确非常简单& &
09:12:01  
谢谢分享&&的确非常简单
使用51的更简单,PIC因为MAPLAB是微芯专用的开发环境,
没有Keil普及度高
09:40:32  
顶一下,,,,,,,,,,,,,,
20:06:34  
使用51的更简单,PIC因为MAPLAB是微芯专用的开发环境,
没有Keil普及度高
虽然不懂 但是现在有很多设备上面还用51系列的单片就能说明情况
20:21:10  
虽然不懂 但是现在有很多设备上面还用51系列的单片就能说明情况
是的,51普及度依然遥遥领先
20:30:47  
这个我有一个51单片机的程序下载板 可是由于有时间没有用了 将其程序忘了 而且也联系不到卖家了&&不知该如何处理 望赐教
20:50:14  
这个我有一个51单片机的程序下载板 可是由于有时间没有用了 将其程序忘了 而且也联系不到卖家了&&不知该如何处理 望赐教
单片机下载器很便宜,淘宝几块钱就能买到。
安装个KEIL,你就能自己写程序烧进板子玩起来了。
20:57:37  
单片机下载器很便宜,淘宝几块钱就能买到。
安装个KEIL,你就能自己写程序烧进板子玩起来了。
程序不会写& &只会仿制& && &
21:03:39  
程序不会写& &只会仿制
都是从模仿开始的,
写的多了就会了。
把单片机外设写一遍,就掌握个差不多了。
21:09:33  
都是从模仿开始的,
写的多了就会了。
把单片机外设写一遍,就掌握个差不多了。
不会搞呀& &只能借鉴别人的程序搞些小的DIy
10:07:11  
不会搞呀& &只能借鉴别人的程序搞些小的DIy
你要是C不太会的话,就翻下谭浩强的书,
程序模仿多了,你自然就有出路。
咱上学学东西,也是学习前人成熟的知识体系,
学会了就是自己的了。
20:40:19  
你要是C不太会的话,就翻下谭浩强的书,
程序模仿多了,你自然就有出路。
咱上学学东西,也是学习前人成熟的知识体系,
谭工的C语言有的& &可是看不懂& & 哎&&别提软件好吗
09:57:10  
谭工的C语言有的& &可是看不懂& & 哎&&别提软件好吗
没事,软件也是我的短板
19:56:56  
没事,软件也是我的短板
我中专毕业&&在上学时只上过2个月的单片机基础课 学过不到2章的汇编语言&&连我们老师都是似懂非懂的&&你想我能学到什么&&硬件我可以搞甚至是自学 但是软件牵扯太多 故始终学不会&&现在一看到单片机我头都大&&
10:29:46  
我中专毕业&&在上学时只上过2个月的单片机基础课 学过不到2章的汇编语言&&连我们老师都是似懂非懂的&&你想我能学到什么&&硬件我可以搞甚至是自学 但是软件牵扯太多 故始终学不会&&现在一看到单片机我头都大
嗯,看到你的心酸史,
我也是深有体会,学校教的少,完全自学还是很吃力的。
不过如有需要,可以互相交流哈。
11:08:05  
谢谢分享!!
16:23:24  
16:43:10  
Powered by
供应链服务
版权所有 (C) 深圳华强聚丰电子科技有限公司

我要回帖

更多关于 单片机按键控制流水灯 的文章

 

随机推荐