心形灯原理图
编译软件:Keil uVision5
(如有需要可点此链接下载:https://download.csdn.net/download/qq_36931762/11343174)
单片机程序下载软件:STC-ISP
(如有需要可点此链接下载:https://download.csdn.net/download/qq_36931762/11343157)
程序代码:
灯状态处于0亮1灭
发送方:
#include sbit k1=P3^2; sbit k2=P3^3; sbit k3=P3^4; sbit k4=P3^5; #define LED1 P0 #define LED2 P2 void UsartInit(){ SCON=0x50; TMOD=0x20; PCON=0x80; TH1=0xF4; TL1=0xF4; ES=1; EA=1; TR1=1; } void delay(unsigned int ms) { unsigned int i,j; for(i=0;i } unsigned char keyscan(void){ unsigned char key='.'; if (k1==0) { delay(1); if(k1==0) { key='1'; while(!k1); } } if (k2==0) { delay(1); if(k2==0) { key='2'; while(!k2); } } if (k3==0) { delay(1); if(k3==0) { key='3'; while(!k3); } } if (k4==0) { delay(1); if(k4==0) { key='4'; while(!k4); } } return key; } void Tras(unsigned char key) { SBUF=key; while(!TI); TI=0; } void main() { unsigned char key; UsartInit(); while(1) { key=keyscan(); if(key!='.') { Tras(key); key='.'; } } } 接收方: #include #define uchar unsigned char; #define uint unsigned int; uchar receiveData; uchar flag; uchar code table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff}; sbit LED17=P3^6; void UsartInit(){ SCON=0x50; TMOD=0x20; PCON=0x80; TH1=0xF4; TL1=0xF4; ES=1; EA=1; TR1=1; } void Delay(unsigned int a){ unsigned char b; for(;a>0;a--){ for(b=110;b>0;b--); } } void AllOn(){ P0=0x00; P2=0x00; LED17=0; } void AllDown(){ P0=0xff; P2=0xff; LED17=1; } void RFlow(){ int i; for(i=0;i<=7;i++){ P2=table[i]; Delay(300); } P2=table[8]; for(i=7;i>=0;i--){ P0=table[i]; //P2=table[i]; Delay(300); } P0=table[8]; LED17=0; Delay(300); LED17=1; } void LFlow(){ int i; for(i=0;i<=7;i++){ P0=table[i]; //P2=table[i]; Delay(300); } P0=table[8]; for(i=7;i>=0;i--){ //P0=table[i]; P2=table[i]; Delay(300); } P2=table[8]; LED17=0; Delay(300); LED17=1; } void main(){ UsartInit(); while(1) { switch(receiveData) { case '1': AllOn();break; case '2': AllDown();break; case '3': LFlow();break; case '4': RFlow();break; default:break; } } } void Usart() interrupt 4{ receiveData=SBUF; RI=0; P0=0xff; P2=0xff; LED17=1; }
上一篇:51单片机心形灯实现旋转呼吸灯流水编程
下一篇:基于51单片机的8个LED流水灯的设计
推荐阅读最新更新时间:2024-11-09 11:35
设计资源 培训 开发板 精华推荐
- LTC2143-12 的典型应用 - 12 位、80Msps 低功耗双通道 ADC
- F3L2020E12-F-P_EVAL、F3L300R12PT4_B26/F3L400R12PT4_B26 IGBT模块评估板
- CN0374
- 单火线智能开关
- 使用 ROHM Semiconductor 的 BD4840 的参考设计
- OLED-Boy ,基于 ATmega328P 的迷你 OLED 游戏机
- NSV45020T1G 大电流 LED 灯串的典型应用
- LT3598EUF 演示板,具有 2% 电流匹配的 6 串 30mA LED 驱动器
- LTC3789、高效率 4 开关降压-升压控制器提供准确的输出电流限制
- EVAL-ADF4206-7EB1,双 PLL 频率合成器评估板