程序如下: 绝对没有错 LED灯的一端接P1口的各各引脚,另一端接地。同时在P1口的每个管脚上加1K的上拉电阻,电阻另一端连接至+5V即可 ORG 0000H AJMP START ORG 0030H START:MOV SP,#07H MOV P1,#00H MOV A
delay(100000);//大约延时900ms //从右到左依次点亮 led8=1;delay(50000);//大约延时450ms led7=1;delay(50000);//大约延时450ms led6=1;delay(50000);//大约延时450ms led5=1;delay(50000);//大约延时450ms
利用单片机控制8个发光二极管,实现8个灯同时闪烁的控制程序 - 以51位例,使用P1的八个IO口控制.先定义:sbit LED0=P1^0; sbit LED1=P1^1;以此类推,定义八个.然后在主循环中:LED0=0;延时一段时间;LED0=
P0 = 0x00; //P0.0~P0.7分别接八个发光二极管,刚开始全灭 while(1){ delay(1000);P0 = 0xc0;//点亮前两个发光二极管P0.0和P0.1;delay(1000);//延时1秒 P0 = 0x30;//点亮第三个和第四个LED delay(
看你的电路是怎么画的,有两种方式,一种是LED灯的一端接地另一种是接5V电源,如果接地程序只需要给P1上一次5秒给个高电平,接+5V就是给个低电平。延时5秒就写个延时程序 程序网上,书上一大把一大把,自己搜一下,
求电子系统设计论文 在单片机的P1接8个LED,编写驱动程序使LED依次点亮,间隔为1秒
1、单片机集成度高。单片机包括CPU、4KB容量的ROM(8031 无)、128 B容量的RAM、 2个16位定时/计数器、4个8位并行口、全双工串口行口;2、系统结构简单,使用方便,实现模块化;3、单片机可靠性高,可工作到10^6 ~10^
单片机最小系统是由芯片外部接上时钟电路、复位电路和电源构成的一个基本应用系统。主要包括时钟电路,复位电路。单片机由中央处理器(含部分特殊功能寄存器)、内部RAM、程序存储器、各种外设(IO端口、定时器、串行接口、中断
(2)八路发光二极管显示可以利用P1口接八个发光二极管实现这个功能;(3)各种奏乐、报警等发声功能可以采用P2.0这个引脚接一蜂鸣器来实现。(4)利用单片机的第9脚可以设计成复位系统,我们采用按键复位;利用单片机的18、19
第四步:开始时,8个发光二极管全不被点亮,1秒后一个被熄灭,间隔1秒后,两个被熄灭,再间隔1秒后3个被熄灭,以此类推,直至全部被熄灭。第五步:开始时,8个发光二极管全部被熄灭,然后一个发光二极管被点亮(电量过程是从暗道两的过程,这
用89S52单片机构件建一个彩灯控制系统,系统用P1口外接8个发光二极管,没有键按下时,8支彩灯每隔0.5s全亮全灭一次。按K1时,8支彩灯从左至右循环点亮。按K2时,8支彩灯从右至左循环点亮。按K3时,8支彩灯先右循
单片机是由运算器、控制器、主要寄存器三个模块组成的。运算器由运算部件算术逻辑单元、累加器和寄存器等几部分组成。ALU的作用是把传来的数据进行算术或逻辑运算,输入来源为两个8位数据,分别来自累加器和数据寄存器。ALU能完
4.简述一个单片机系统的主要组成模块,并概要说明如何利用单片机点亮一个发光二极管
基于51单片机的16×16点阵屏流动显示目录一,制作所需器材二,STC89C52简介三,点阵的简介四,程序五,演示六,总结一.制作所需器材1.单片机开发扳一块;2.16*16LED点阵一块;3.杜邦线若干;返回二.STC89C52简介STC89C52是
当今涉及电子电路、集成电路、信息图象处理、信息传输及电子产品安装工程等相关技术的LED显示屏在信息领域显得尤为活跃,在各行业的应用和普及方面也取的了长足的进步。本文设计了一款基于AT89S51单片机的简易LED显示屏。该显示屏系统采用PC机加
·基于单片机的全自动洗衣机·水塔智能水位控制系统·温度箱模拟控制系统·超声波测距仪的设计·基于51单片机的LED点阵显示屏系统的设计与实现 16×16点阵显示屏·基于AT89S51单片机的数字电子时钟·基于单片机的步进电机的控制·基于单片机的
设计名称基于单片机的LED电子广告牌的设计和实现学校陕西电子科技职业学院学院电子工程学院学生姓名雷超凡班级1507指导教师聂弘颖时间2017年10月21日1.1LED点阵汉字显示系统 由于单片机技术的不断发展和高亮度LED发光管的出现,使得
该电路所设计的电子屏可显示10个汉字,需要40个8×8 LED点阵模块,可组成16×160的矩形点阵。由于AT89C52仅有8k存储空间,而显示的内容由PC机控制,因此不可能预先把需要显示的内容做成点阵存在单片机中,而只能由PC机即时地把所需显示的点阵
1.1 方案论证 从理论上讲,不论显示图形还是文字,只要控制与组成这些图形的或文字的各个点所在位置相对的LED器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光电亮灭的方法称为静态驱动显示方式。16×16LED的点阵共
74LS164再接ULN2803以对电流放大后再接16×16点阵。74LS164的移位触发端A、B可以接上一片的相邻输出端,Q1或Q7这样实现能实现多个芯片连续移位,以实现显示屏汉字从右到左或从左到右的移动显示功能。由于百度知道不能插入图片
基于51单片机的LED点阵显示屏系统的设计与实现的论文
LED = 1; //灯灭 } count++;if(count == CYCLE){ count=0;if(PWM_ON!=0) //如果左右时间是0 保持原来状态 LED = 0; //灯亮 }}有什么不明白的可以问我!
是强电的灯可以通过此处控制继电器的合、闭来控制灯的亮灭)。参考程序:if(key==0){delayms(10);if(key==10){while(key==0);//等待按键释放,IO口恢复高电平led=!led;//按键控制程序}}
{ if(!KEY) //如果检测到低电平,说明按键按下 LED=0;else LED=1; //这里使用if判断,如果按键按下led点亮,否则熄灭 //上述4句可以用一句替代 LED=KEY;//主循环中添加其他需要一直工作的程序 } }
如何用单片机点亮LED灯 接好单片机的硬件电路,然后编写程序,再然后烧写程序,然后就可以程序了,没问题的话就可以按你的要求点亮了 如何利用AT89S51单片机控制一个LED灯的亮度 # include
在主函数中编写程序,实现LED点亮和灭的时间控制。可以使用if语句或while语句来判断时间是否达到要求,然后控制LED灯的点亮和灭。在main函数中添加延时函数,以实现上电后30秒后LED灯开始点亮的要求。下面是一个简单的示例程序
1、创建项目,如图所示。2、创建延迟函数。3、创建C语言主函数。设计unsigned char k=0;变量。4、添加循环效果。5、点亮灯,通过k++,改变效果。6、添加延迟效果,单片机就可以控制8个灯依次亮,全亮了,然后再依次灭。
就写代码给P1.0输出1就能亮起LED灯D1。sbit LED_D1= P1^0 ;LED_D1 =1;//=1亮灯 ,=0灭灯当也要看电路,完善的电路还会有驱动电路如三极管点了,也要看LED固定的那端是接地还是接VCC。最终无非就是通过单片
用单片机控制LED灯的亮灭,怎么写程序?
我做过点阵显示,基于protues仿真的,有图有程序,仿真效果还不错,但没写成论文,要不?给你一个源代码吧,自己分析,用汇编写的。本人编写后亲试过,只要一片C8052S的最少系统就能工作 驱动市售$5.0单元板(32*64)。 ;============================================ ; 32*64点阵屏左滚动显示n个汉字程序 ;============================================ D_FR0 EQU 40H ;第一个显示数据缓冲器 D_FR1 EQU 70H D_MB EQU 30H ;数据位移动次数寄存器 D_AM EQU 31H ;显示半角字个数寄存器 DAMT EQU 32H ;显示半角字个数倍数寄存器 OFFSET EQU 33H ;数据指针偏移量 RED0 BIT P1.4 RED1 BIT P3.1 RCK BIT P1.5 ;锁存信号线 SCK BIT P1.6 ;移位时钟信号线 EN BIT P1.7 ;消隐信号线 ;--------程序入口地址---------------- ORG 0000H JMP START ORG 0030H ;==================================== ; 初始化 ;==================================== START: CLR A MOV 60H,A MOV 61H,A MOV 62H,A MOV 63H,A MOV SP, #0AH ;修改堆栈指针 MOV R7, #5 MOV R0,#D_FR0 MOV R1,#D_FR1 ST1:MOV @R0,A MOV @R1,A INC R0 INC R1 DJNZ R7, ST1 ;40H-44H MOV R7, #20H MOV R0, #D_MB ST2:MOV @R0, A INC R0 DJNZ R7, ST2 ;寄存器清0 , MOV P1, #0ffH MOV DPTR,#TABLE1 MOV 62H,DPL MOV 63H,DPH MOV DPTR,#TABLE2 MOV 64H,DPL MOV 65H,DPH MOV DAMT,#1;显示的半角字的个数的倍数 MOV R4, #2 ;==================================== ; 主程序 ;==================================== MAIN: MOV R5, #16 ;扫描16行 MOV OFFSET, #00H ;数据指针偏移量清0 MA1:CALL QUSHU ;调用取数子程序 CALL DSEND ;调用发送子程序 clr EN ;关显示 inc P1 ;修改行值 CLR RCK SETB RCK ;锁存显示数据 setb EN ;开显示 DJNZ R5, MA1 ;16行未完继续 DJNZ R4, MAIN MOV R4,#5 ;移动速度 INC D_MB MOV A,D_MB CJNE A, #8,M_OUT MOV D_MB, #0 ;1个半角字符要移动8次 MOV A,#16 MOV DPL,62H MOV DPH,63H ADD A,DPL MOV DPL,A MOV 62H,DPL MOV A,DPH ADDC A,#00H MOV DPH,A MOV 63H,DPH MOV A,#16 MOV DPL,64H MOV DPH,65H ADD A,DPL MOV DPL,A MOV 64H,DPL MOV A,DPH ADDC A,#00H MOV DPH,A MOV 65H,DPH INC D_AM MOV A,D_AM CJNE A, #30,M_OUT ;显示的半角字符的个数 MOV D_AM, #00H DJNZ DAMT, M_OUT MOV DAMT, #1 ;显示的半角字的个数的倍数 MOV DPTR,#TABLE1 MOV 62H,DPL MOV 63H,DPH MOV DPTR,#TABLE2 MOV 64H,DPL MOV 65H,DPH MOV P1,#0ffH M_OUT: JMP MAIN ;=================================== ; 取一行数子程序 ;=================================== QUSHU: MOV R7,#9 MOV R0,#D_FR0 MOV DPL,62H MOV DPH,63H PUSH DPL PUSH DPH MOV A,OFFSET QUSHU1: ADD A,DPL MOV DPL,A MOV A,DPH ADDC A,#00H MOV DPH,A CLR A MOVC A,@A+DPTR MOV @R0,A INC R0 MOV A,#16 DJNZ R7,QUSHU1 POP DPH POP DPL MOV 62H,DPL MOV 63H,DPH QUSHU2: MOV R7,#9 MOV R0,#D_FR1 MOV DPL,64H MOV DPH,65H PUSH DPL PUSH DPH MOV A,OFFSET QUSHU3: ADD A,DPL MOV DPL,A MOV A,DPH ADDC A,#00H MOV DPH,A CLR A MOVC A,@A+DPTR MOV @R0,A INC R0 MOV A,#16 DJNZ R7,QUSHU3 POP DPH POP DPL MOV 65H,DPH MOV 64H,DPL INC OFFSET RET ;=================================== ; 数据发送子程序 ;=================================== DSEND: MOV R0,#D_FR0 ;第一个显示数据缓冲区地址放人R0 MOV R1,#D_FR1 MOV R6,#8 ;发送n字节(1行) DSE1:MOV R7,#8 ;每次发送8位 MOV 60H,@R0 MOV 61H,@R1 ;显示数据放入A CPL 60H cpl 61H;取反A DSE2: MOV A,60H RLC A ;将A的内容按位移入C MOV RED0,C ;将C的内容送数据总线 MOV 60H,A MOV A,61H RLC A MOV RED1,C MOV 61H,A CLR SCK SETB SCK ;输出移位脉冲 DJNZ R7, DSE2 INC R0 INC R1 ;修改地址指针 DJNZ R6, DSE1 ;--------屏幕左移一位--------------- MOV A,D_MB ;移动位次数放入A JZ TAMEND ;为0转移 MOV R7,D_MB ;移动位次数放入R7 MOV 60H,@R0 MOV 61H,@R1 cpl 60H ;移入的数据存入A CPL 61H DSE3:MOV A,60H RLC A ;将A的内容按位移入C MOV RED0,C ;将C的内容送数据总线 MOV 60H,A MOV A,61H RLC A MOV RED1,C MOV 61H,A CLR SCK SETB SCK ;输出移位脉冲 DJNZ R7, DSE3 ;移位次数未完继续 ;--------移位时间修正--------------- TAMEND: CLR C ;清C MOV A, #100 SUBB A,D_MB ;需要再延时的次数 JZ D_OUT MOV R7, A TA1: NOP NOP NOP NOP DJNZ R7, TA1 ;空操作(延时) D_OUT: RET ;==================================== ; 文字编码表 ;==================================== TABLE1: DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H,00H,0FCH,04H,45H,46H,28H,28H,10H,28H,24H,44H,81H,01H,02H,0CH DB 80H,80H,80H,0FCH,04H,48H,40H,40H,40H,40H,0A0H,0A0H,10H,08H,0EH,04H DB 00H,41H,26H,14H,04H,04H,0F4H,14H,15H,16H,14H,10H,10H,28H,47H,00H DB 00H,84H,7EH,44H,44H,44H,44H,0C4H,44H,54H,48H,40H,40H,46H,0FCH,00H DB 01H,21H,11H,09H,09H,01H,0FFH,04H,04H,04H,04H,08H,08H,10H,20H,40H DB 00H,08H,0CH,10H,20H,04H,0FEH,40H,40H,40H,40H,40H,42H,42H,3EH,00H DB 10H,10H,51H,51H,52H,54H,58H,50H,57H,54H,54H,54H,54H,14H,17H,14H DB 80H,80H,04H,0FEH,00H,80H,60H,24H,0FEH,44H,44H,44H,44H,44H,0FCH,04H DB 00H,01H,03H,03H,03H,03H,03H,01H,01H,01H,00H,01H,03H,01H,00H,00H DB 00H,80H,0C0H,0C0H,0C0H,0C0H,0C0H,80H,80H,80H,00H,80H,0C0H,80H,00H,00H DB 00H,40H,30H,17H,00H,02H,0F1H,10H,10H,10H,10H,11H,12H,28H,47H,00H DB 80H,40H,48H,0FCH,10H,10H,20H,0A0H,40H,40H,0A0H,10H,10H,06H,0FCH,00H DB 00H,3FH,21H,21H,3FH,21H,21H,21H,3FH,01H,01H,7FH,01H,01H,0FFH,00H DB 08H,0FCH,08H,08H,0F8H,08H,08H,08H,0F8H,00H,08H,0FCH,00H,04H,0FEH,00H DB 0FH,08H,08H,0FH,08H,08H,0FH,00H,0FFH,01H,09H,09H,09H,15H,23H,40H DB 0E0H,20H,20H,0E0H,20H,20H,0E0H,04H,0FEH,00H,20H,0F0H,00H,00H,06H,0FCH DB 42H,32H,12H,02H,9FH,62H,22H,0FH,18H,28H,0C8H,48H,48H,4FH,48H,40H DB 04H,3EH,24H,24H,0E4H,3CH,0A4H,0E4H,0A4H,0BCH,0A4H,0A4H,0A4H,0A4H,54H,88H DB 04H,04H,04H,04H,04H,7CH,04H,04H,04H,04H,04H,04H,1CH,0E4H,44H,00H DB 80H,80H,88H,98H,0A0H,0C0H,80H,80H,80H,80H,80H,80H,82H,82H,7EH,00H DB 01H,09H,09H,11H,11H,20H,03H,0CH,3FH,0C8H,0FH,08H,0FH,08H,0FH,08H DB 00H,20H,10H,0CH,24H,0C0H,00H,08H,0FCH,08H,0F8H,08H,0F8H,08H,0F8H,08H DB 01H,01H,7FH,41H,81H,02H,02H,05H,09H,18H,28H,48H,88H,0AH,0CH,08H DB 00H,00H,0FEH,02H,04H,00H,08H,18H,20H,0C0H,80H,40H,30H,0EH,04H,00H DB 04H,04H,04H,04H,44H,24H,24H,14H,14H,14H,14H,04H,04H,04H,0FFH,00H DB 40H,40H,40H,40H,44H,44H,48H,48H,50H,50H,60H,40H,40H,44H,0FEH,00H DB 04H,0EH,0F8H,08H,08H,0FEH,08H,1CH,1AH,29H,28H,48H,88H,08H,08H,08H DB 10H,10H,90H,50H,10H,90H,50H,14H,1EH,0F0H,10H,10H,10H,10H,10H,10H DB 22H,11H,11H,00H,7FH,40H,80H,1FH,00H,01H,0FFH,01H,01H,01H,05H,02H DB 08H,08H,10H,20H,0FEH,02H,04H,0E0H,40H,84H,0FEH,00H,00H,00H,00H,00H DB 00H,78H,4FH,54H,58H,63H,50H,48H,4FH,48H,68H,50H,41H,41H,42H,4CH DB 80H,40H,0FEH,02H,14H,0F8H,00H,08H,0FCH,0A0H,0A0H,0A0H,22H,22H,1EH,00H DB 06H,0F8H,11H,11H,0FFH,39H,55H,91H,11H,0FEH,24H,44H,28H,11H,2AH,44H DB 40H,84H,0FEH,24H,24H,0FCH,24H,44H,0FCH,40H,60H,0A0H,0A8H,22H,22H,1EH DB 01H,01H,01H,0FFH,01H,01H,01H,3FH,00H,02H,11H,50H,50H,90H,0FH,00H DB 00H,00H,04H,0FEH,00H,00H,10H,0F8H,00H,00H,80H,84H,12H,12H,0F0H,00H DB 82H,44H,29H,0FEH,10H,11H,7CH,10H,10H,0FEH,11H,12H,10H,20H,21H,40H DB 00H,04H,0DEH,44H,44H,54H,0CCH,44H,44H,0CCH,54H,64H,44H,44H,54H,88H DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,30H,1EH,0FH,07H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H DB 01H,01H,7FH,01H,05H,09H,31H,0C1H,0FH,00H,01H,7FH,01H,01H,05H,02H DB 00H,08H,0FCH,00H,40H,30H,0EH,04H,0E0H,40H,88H,0FCH,00H,00H,00H,00H DB 08H,08H,08H,08H,0FEH,08H,18H,1CH,2AH,28H,49H,8AH,08H,08H,08H,08H DB 20H,20H,20H,24H,0FEH,20H,60H,70H,0A8H,0AEH,24H,20H,20H,20H,20H,20H DB 00H,7FH,40H,40H,5FH,40H,40H,4FH,48H,48H,48H,48H,4FH,48H,40H,40H DB 04H,0FEH,04H,24H,0F4H,04H,24H,0F4H,24H,24H,24H,24H,0E4H,24H,14H,08H DB 22H,11H,11H,00H,7FH,40H,80H,1FH,00H,01H,0FFH,01H,01H,01H,05H,02H DB 08H,08H,10H,20H,0FEH,02H,04H,0E0H,40H,84H,0FEH,00H,00H,00H,00H,00H DB 10H,10H,22H,7FH,42H,43H,42H,42H,7EH,42H,42H,42H,42H,7EH,42H,00H DB 40H,40H,44H,7EH,84H,04H,04H,84H,64H,24H,04H,04H,04H,04H,28H,10H DB 08H,08H,08H,17H,10H,30H,50H,90H,17H,10H,10H,10H,10H,10H,1FH,10H DB 80H,40H,44H,0FEH,40H,40H,40H,48H,0FCH,40H,40H,40H,40H,44H,0FEH,00H DB 02H,07H,38H,20H,20H,3EH,22H,22H,22H,3EH,22H,20H,21H,42H,84H,00H DB 08H,1CH,0E0H,80H,80H,84H,0FEH,88H,88H,88H,88H,88H,08H,08H,08H,08H DB 00H,01H,03H,03H,03H,03H,03H,01H,01H,01H,00H,01H,03H,01H,00H,00H DB 00H,80H,0C0H,0C0H,0C0H,0C0H,0C0H,80H,80H,80H,00H,80H,0C0H,80H,00H,00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H TABLE2: DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 01H,01H,02H,04H,08H,12H,21H,0C0H,00H,1FH,00H,00H,00H,00H,00H,01H db 00H,00H,80H,40H,20H,10H,8EH,84H,00H,0F0H,10H,20H,20H,40H,80H,00H DB 00H,7FH,01H,01H,01H,01H,0FFH,01H,02H,02H,04H,04H,08H,10H,20H,0C0H db 08H,0FCH,00H,00H,00H,04H,0FEH,00H,80H,80H,40H,40H,20H,10H,0EH,04H DB 00H,08H,7DH,4AH,4CH,4BH,4AH,7AH,4AH,4BH,4AH,48H,78H,49H,02H,04H db 80H,80H,0F8H,10H,24H,0FEH,44H,44H,44H,0FCH,64H,0A0H,0A2H,22H,1EH,00H DB 01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,01H,0FFH,00H db 00H,00H,00H,00H,10H,0F8H,00H,00H,00H,00H,00H,00H,00H,04H,0FEH,00H DB 02H,02H,0FFH,04H,04H,0FH,08H,18H,2FH,48H,88H,0FH,08H,08H,08H,08H db 00H,04H,0FEH,00H,10H,0F8H,10H,10H,0F0H,10H,10H,0F0H,10H,10H,50H,20H DB 01H,01H,01H,01H,01H,7DH,05H,05H,09H,09H,11H,21H,41H,81H,05H,02H db 00H,00H,00H,08H,18H,20H,0C0H,80H,40H,20H,10H,0EH,04H,00H,00H,00H DB 00H,7CH,44H,49H,48H,50H,48H,4BH,44H,45H,45H,69H,51H,41H,41H,41H db 20H,20H,28H,0FCH,20H,20H,24H,0FEH,20H,24H,24H,24H,24H,24H,0FCH,04H DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,60H,20H,20H,40H DB 08H,0BH,12H,12H,23H,4AH,8AH,13H,32H,52H,92H,12H,12H,12H,13H,12H db 08H,0FCH,08H,08H,0F8H,08H,08H,0F8H,84H,8CH,50H,20H,10H,88H,0EH,04H DB 00H,1FH,10H,10H,1FH,10H,10H,1FH,14H,44H,34H,14H,04H,04H,0FFH,00H db 10H,0F8H,10H,10H,0F0H,10H,10H,0F0H,50H,44H,4CH,50H,40H,44H,0FEH,00H DB 10H,10H,10H,1EH,22H,33H,4AH,0A4H,14H,08H,11H,22H,40H,24H,24H,40H db 20H,20H,28H,24H,20H,0FEH,20H,50H,50H,88H,0EH,04H,00H,48H,46H,02H DB 04H,0EH,78H,08H,08H,0FFH,08H,08H,0AH,0CH,18H,68H,09H,0AH,28H,10H db 80H,0A0H,90H,90H,84H,0FEH,80H,90H,90H,60H,40H,0A0H,20H,14H,14H,0CH DB 10H,12H,11H,24H,24H,64H,0A4H,24H,24H,24H,24H,24H,24H,24H,24H,24H db 00H,04H,7EH,84H,04H,04H,04H,04H,04H,04H,04H,04H,04H,04H,14H,08H DB 00H,7FH,10H,10H,10H,08H,08H,04H,04H,02H,01H,02H,04H,08H,30H,0C0H db 00H,0F0H,10H,10H,20H,20H,40H,40H,80H,80H,00H,80H,40H,30H,0EH,04H DB 10H,10H,10H,13H,0FCH,10H,14H,18H,30H,0D0H,10H,10H,10H,10H,50H,20H db 00H,00H,04H,0FEH,20H,20H,20H,20H,20H,20H,20H,20H,20H,20H,0A0H,40H DB 00H,0FFH,00H,00H,01H,01H,03H,05H,09H,11H,21H,41H,01H,01H,01H,01H db 04H,0FEH,80H,80H,00H,00H,40H,20H,18H,0CH,04H,00H,00H,00H,00H,00H DB 00H,40H,20H,17H,00H,00H,0F1H,10H,10H,10H,10H,10H,10H,28H,47H,00H db 10H,10H,10H,0FCH,10H,10H,10H,90H,90H,10H,10H,50H,20H,06H,0FCH,00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H END
51单片机上电复位之后所有I/O口默认为高电平,因此一般都会把LED的阴极通过三极管接在I/O上,LED阳极接VCC,则I/O为低时,LED亮。如果不这样接上电后所有灯都亮了就不爽了。
如图,只要P1.1输出低电平,发光二极管就会导通发光。串联300欧姆电阻 完整程序: #include sbit P11=P1^1; main() {P11=0;}
#include #include #define uchar unsigned char #define uint unsigned int uchar Counter = 0; uchar P1LEDBUF = 0x01;//P1口的灯如果亮了7个,就改成0xFE; main() { P1=0x00; //如果灯全亮了,则全部改为0xFF TMOD = 0x01; //T0工作在定时方式1 TH0 = 0x3C; //T0初值50ms TL0 = 0xB0; ET0 = 1; //开启定时器0中断 EA = 1; //开总中断 TR0 = 1; //启动定时器0 while(1); } /********************************************/ /* 定时器0中断服务程序 */ /********************************************/ void T0_Serve() interrupt 1 { TH0 = 0x3c; //每次定时50ms TL0 = 0xb0; Counter++; if(Counter == 20) //中断20次后进入函数,时间刚好1秒(误差可以忽略) { Counter = 0; //计数清0 P1 = P1LEDBUF ; P1LEDBUF =_crol_(P1LEDBUF,1); //位移P1口LED,准备下一轮 //如果灯亮和灭的刚好反了(熄了一个灯,亮了7个)就把初值改了 } if(Counter == 40) { Counter = 0;//计数清0,周期2秒 P1 = 0x00 ;//如果灯全亮了,则改为P1=0xFF; } }
这是你作业?还是什么?单片机用C语言编好懂啊, #include sbit kz1=P1^0; sbit kz2=P1^1; sbit kz3=P1^2; sbit kz4=P1^3; sbit kz5=P1^4; sbit kz6=P1^5; sbit kg=P1^7; sbit xs1=P2^0; sbit xs2=P2^1; sbit xs3=P2^2; sbit xs4=P2^3; sbit xs5=P2^4; sbit xs6=P2^5; void delay(uint); void main() { while(1) { if(kg==0) { if(kz1==0) { xs1=0; } else { xs1=1; } if(kz2==0) { xs2=0; } else { xs2=1; } if(kz3==0) { xs3=0; } else { xs3=1; } } if(kg==1) { if(kz4==0) { xs4=0; } else { xs4=1; } if(kz5==0) { xs5=0; } else { xs5=1; } if(kz6==0) { xs6=0; } else { xs6=1; } } } }