///'#include <reg52.h>//n//nsbit LED1 = P1^0; //定义LED引脚//nsbit LED2 = P1^1;//nsbit LED3 = P1^2;//nsbit LED4 = P1^3;//nsbit LED5 = P1^4;//nsbit LED6 = P1^5;//nsbit LED7 = P1^6;//nsbit LED8 = P1^7;//n//nvoid delay(unsigned int t)//n{//n while(t--);//n}//n//nvoid main()//n{//n while(1)//n {//n LED1 = 0;//n delay(50000);//n LED1 = 1;//n //n LED2 = 0;//n delay(50000);//n LED2 = 1;//n //n LED3 = 0;//n delay(50000);//n LED3 = 1;//n //n LED4 = 0;//n delay(50000);//n LED4 = 1;//n //n LED5 = 0;//n delay(50000);//n LED5 = 1;//n //n LED6 = 0;//n delay(50000);//n LED6 = 1;//n //n LED7 = 0;//n delay(50000);//n LED7 = 1;//n //n LED8 = 0;//n delay(50000);//n LED8 = 1;//n }//n}//n//n#include <reg52.h>//n#include <intrins.h>//n//n#define LCD1602_DATAPINS P0//nsbit LCD1602_RS = P2^0; //定义液晶显示屏引脚//nsbit LCD1602_RW = P2^1;//nsbit LCD1602_EN = P2^2;//n//nvoid delay(unsigned int t)//n{//n while(t--);//n}//n//nvoid LCD1602_WriteCommand(unsigned char cmd)//n{//n LCD1602_RS = 0;//n LCD1602_RW = 0;//n nop();//n LCD1602_EN = 1;//n LCD1602_DATAPINS = cmd;//n nop();//n nop();//n nop();//n LCD1602_EN = 0;//n}//n//nvoid LCD1602_WriteData(unsigned char dat)//n{//n LCD1602_RS = 1;//n LCD1602_RW = 0;//n nop();//n LCD1602_EN = 1;//n LCD1602_DATAPINS = dat;//n nop();//n nop();//n nop();//n LCD1602_EN = 0;//n}//n//nvoid LCD1602_Init()//n{//n LCD1602_WriteCommand(0x38); //8位数据接口,2行显示,5x7点阵字符//n LCD1602_WriteCommand(0x0c); //显示器开,光标不显示//n LCD1602_WriteCommand(0x06); //文字不动,地址递增//n LCD1602_WriteCommand(0x01); //清屏//n}//n//nvoid LCD1602_SetCursor(unsigned char x, unsigned char y)//n{//n unsigned char addr;//n if(y == 0)//n {//n addr = 0x80 + x;//n }//n else//n {//n addr = 0xc0 + x;//n }//n LCD1602_WriteCommand(addr);//n}//n//nvoid LCD1602_DisplayTime(unsigned char hour, unsigned char min, unsigned char sec)//n{//n LCD1602_SetCursor(0, 0);//n LCD1602_WriteData(hour/10 + '0');//n LCD1602_WriteData(hour%10 + '0');//n LCD1602_WriteData(':');//n LCD1602_WriteData(min/10 + '0');//n LCD1602_WriteData(min%10 + '0');//n LCD1602_WriteData(':');//n LCD1602_WriteData(sec/10 + '0');//n LCD1602_WriteData(sec%10 + '0');//n}//n//nvoid main()//n{//n unsigned char hour = 0;//n unsigned char min = 0;//n unsigned char sec = 0;//n //n LCD1602_Init();//n //n while(1)//n {//n LCD1602_DisplayTime(hour, min, sec);//n //n delay(50000);//n sec++;//n if(sec == 60)//n {//n sec = 0;//n min++;//n if(min == 60)//n {//n min = 0;//n hour++;//n if(hour == 24)//n {//n hour = 0;//n }//n }//n }//n }//n}//n//n#include <reg52.h>//n//nsbit LED1 = P1^0; //定义LED引脚//nsbit LED2 = P1^1;//nsbit LED3 = P1^2;//nsbit LED4 = P1^3;//nsbit LED5 = P1^4;//n//nvoid delay(unsigned int t)//n{//n while(t--);//n}//n//nvoid main()//n{//n unsigned char volume = 0;//n //n while(1)//n {//n // 读取声音传感器模块的音量值到volume变量//n //n if(volume < 20)//n {//n LED1 = 0;//n LED2 = 0;//n LED3 = 0;//n LED4 = 0;//n LED5 = 0;//n }//n else if(volume < 40)//n {//n LED1 = 1;//n LED2 = 0;//n LED3 = 0;//n LED4 = 0;//n LED5 = 0;//n }//n else if(volume < 60)//n {//n LED1 = 1;//n LED2 = 1;//n LED3 = 0;//n LED4 = 0;//n LED5 = 0;//n }//n else if(volume < 80)//n {//n LED1 = 1;//n LED2 = 1;//n LED3 = 1;//n LED4 = 0;//n LED5 = 0;//n }//n else//n {//n LED1 = 1;//n LED2 = 1;//n LED3 = 1;//n LED4 = 1;//n LED5 = 1;//n }//n }//n}//n//n所需器件://n1. 51单片机//n2. 8个LED灯珠//n3. LCD1602液晶显示屏//n4. 声音传感器模块//n5. 杜邦线若干//n//n///

51 单片机实现流水灯、时钟显示和音量控制:详细程序及所需器件

原文地址: https://www.cveoy.top/t/topic/pAvi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录