#include<reg51.h>
unsigned char x=1; //高电平变量
unsigned char y=0; //周期数
sbit PWM=P1^0; //输出
sbit PB1=P1^6; //按键
sbit PB2=P1^7;
void delay(int); //延时函数
void main()
{ TMOD=0x01; //定时器工作方式1
TH0=(65536-10000)/256;
TH0=(65536-10000)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{ if(!(PB1&&PB2)) //判断是否有按键按下
{ delay(10);
if(!(PB1&&PB2))
{ if(PB1==0) //pb1按下,用于增加占空比
{ if(x<9)
x++;
}
if(PB2==0) //pb2按下,用于减小占空比
{ if(x>1)
x--;
}
while(!(PB1&&PB2)); //判断按键是否松开
}
}
}
}
void timer0(void)interrupt 1
{ TH0=(65536-10000)/256;
TH0=(65536-10000)%256;
y++; //把周期分成十份
if(y>9)
y=0;
if(y<=x) //高电平占整个周期多少,即占空比PWM
PWM=1;
else
PWM=0;
}
void delay(int x)
{ int i,j;
for(i=0;i<x;i++)
for(j=0;j<120;j++);
}
czppzc
- 粉丝: 4
- 资源: 12
最新资源
- 基于 B 站评论区数据构建大语言模型训练用对话数据集详细文档+全部资料+源码.zip
- 基于 Apache Flink 构建赤兔实时计算平台是的企业级、一站式、高性能、低门槛实时大数据实时计算平台,广泛适用于流式数据应用开发场景详细文档+全部资料+源码.zip
- 基于 JavaFX+Pcap4J 开发的一个强大的跨平台底层数据包工具箱 sunny详细文档+全部资料+源码.zip
- 基于 vue、datav、Echart 框架的大数据可视化(大屏展示)模板详细文档+全部资料+源码.zip
- 基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统详细文档+全部资料+源码.zip
- 基于.Net8+AntBlazor+SemanticKernel 和KernelMemory 打造的AI知识库智能体,支持本地离线AI大模型。可以不联网离线运行
- 基于Apache POI导出大数据量(百万级)Excel的实现详细文档+全部资料+源码.zip
- 基于Android中原生SDK操作SQLite的封装,提升App的开发效率详细文档+全部资料+源码.zip
- 基于ak-design可视化低代码快速开发平台,通过可视化的操作,可轻松快速完成拖拽表单编辑设计器、数据列表页设计、流程管理设计器、数据大屏可视化拖拽设计编辑器
- 基于BufferedRandomAccessFile+Forkjoin读取大数据文件详细文档+全部资料+源码.zip
- 基于C#,数据库的大学生宿舍管理系统详细文档+全部资料+源码.zip
- 基于CNN训练的一套 "端到端" 的验证码识别模型,使用深度学习+训练数据+大量计算力,纯数字识别率高达 99.99%,数字+字母识别率 96%详细文档+全部资料+源码.zip
- 基于easyexcel大数据量数据导入导出异步处理组件详细文档+全部资料+源码.zip
- 基于Element-UI的Table 组件开发的虚拟滚动组件,支持动态高度,解决数据量大时滚动卡顿的问题详细文档+全部资料+源码.zip
- 基于Echarts的可视化数据大屏设计器(包含设计、预览、分享等全部流程)详细文档+全部资料+源码.zip
- 基于Echarts实现的数据中心超大屏幕监控详细文档+全部资料+源码.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈