




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#include#define uchar unsigned char#define uint unsigned int#define out P2uchar flag,count,n,m,x;/x是总开关标标志位,flag计数标志位,count变量:控制自动累加的时间长短,m档位标志位uchar temp0,temp1,temp2,temp3;/手动按键设置四个数码管的数值变量uchar tl_temp,th_temp,tl1_temp,th1_temp;/中间变量uchar xz;/uint s;/数码管显示的值/uint pwm13 = 56536,49536,36536; uint pwm23 = 56536,56536,56536;/这两个数组是为了给定时器1一个初值uchar zdm10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/数码管的字段码void keyscan1();/声明键盘扫描函数void dispaly();/声明函数:选择挡位1,2,3三个档位void dispaly1();/声明:功能赋值函数void delay();/声明延时void delay() uchar i,j; for(i=0;i=10;i+) for(j=0;j=120;j+);/延时程序void keyscan1() if(P3_0=0) delay(); if(P3_0=0) while(P3_0=0); flag+; if(flag=2) flag=0; /当p3_0按下falg加1,flag=2时清0;功能:下面说明 if(P1_4=0) delay(); if(P1_4=0) while(P1_4=0); temp0+; if(temp0=10) temp0=0; if(P1_3=0) delay(); if(P1_3=0) while(P1_3=0); temp1+; if(temp1=10) temp1=0; if(P1_2=0) delay(); if(P1_2=0) while(P1_2=0); temp2+; if(temp2=10) temp2=0; if(P1_1=0) delay(); if(P1_1=0) while(P1_1=0); temp3+; if(temp3=10) temp3=0; /按键调整四个数码管的调的数值 if(P3_1=0) delay(); if(P3_1=0) m=1; if(P3_2=0) delay(); if(P3_2=0) m=2; if(P3_3=0) delay(); if(P3_3=0) m=3; /按键控制三个档位if(P1_5=0) delay(); if(P1_5=0) while(P1_5=0); x+; if(x=2) x=0; /总开关void timer() interrupt 1 TH0=0X3C;TL0=0XB0;count+;if(count=20) count=0; s+; temp3=s/1000; temp2=s%1000/100; temp1=s%100/10; temp0=s%10; /用定时器控制累加的时间间隔,s自加然后得出个十百千位的数值void dispaly() P0=zdms%10; P3=0x7f; delay(); P3=0xff; P0=zdms%100/10; P3=0xbf; delay(); P3=0xff; P0=zdms%1000/100; P3=0xdf; delay(); P3=0xff; P0=zdms/1000; P3=0xef; delay(); P3=0xff; /数码管显示void display1() if(m=1) tl_temp=pwm10%256; th_temp=pwm10/256; tl1_temp=pwm20%256; th1_temp=pwm20/256; else if(m=2) tl_temp=pwm11%256; th_temp=pwm11/256; tl1_temp=pwm21%256; th1_temp=pwm21/256; else if(m=3) tl_temp=pwm12%256; th_temp=pwm12/256; tl1_temp=pwm22%256; th1_temp=pwm22/256; /占空比的时间初值,我的意思是把初值付给定时器的高八位低八位 void time2() interrupt 3 if(xz=0) TL1=tl_temp;TH1=th_temp;n=0; /xz=0时把值付给定时器作初值计满电机开转 else TL1=tl1_temp; TH1=th1_temp; n=1; /xz=1时把另外的一个值付给定时器作初值,定时器计满电机停止 xz=xz;/起循环控制作用 /改变他们的初值就改变了速度void main() TMOD=0x11; TH0=0X3C; TL0=0XB0; EA=1; ET1=1; TR0=1; TR1=1; /启用两个定时器 while(1) keyscan1(); display1(); P1_0=n; if(x=1) P3=0X00; P0=0X00; if(s=10000) ET1=0; P1_0=1; s=0; P3=0X0F; P0=0XFF;el
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 跨文化健康行为差异-洞察及研究
- 浙江省2025-2026学年七年级语文上学期第一次月考复习试卷(含答案)
- 数据存储系统的分布式设计与优化方法-洞察及研究
- 部门安全生产培训制度课件
- 部门二级安全培训时长课件
- 避坑房产课件
- 基于循环经济的刮板链废旧部件资源化利用路径探索
- 基于元宇宙技术的虚拟现场重建与跨时空图像传输溯源研究
- 基于AI图像识别的动态分级系统与农业物联网集成瓶颈
- 国际标准对接中国产产床核心部件的供应链韧性研究
- 印刷品供货及质量保障措施服务技术方案投标
- 国家网络安全知识竞赛题库含完整答案【必刷】
- 实验室生物安全程序文件
- 中医技术培训课件:《穴位贴敷临床应用》
- 土方工程设计说明
- TL-PMM180超低烟尘使用及维护培训
- 有趣营销案例分析
- 小学1-6年级英语知识点归纳汇总
- 品质部组织架构与职位体系
- 财政局经建科知识讲座
- 《观察与沟通》课件
评论
0/150
提交评论