版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、/整个控制过程为先键入所要的控制角,控制角被汁算成相应的触发延时时间, 并等待当单片机检测到外部中断信号。当检测到外部中断信号后启动定时器1延时 相应的时间,/之后接着启动定时器0并产生发出六脉冲信号经过变换放大触发相应的晶闸管导 通,以获得相应的电压#include/SincludeO#include#define uint unsigned int#define uchar unsigned charuchar code table=0x3f, 0x06, 0x5b, 0x4f,0x66, 0x6d, 0x7d, 0x07,0x7f, 0x6f, 0x77, 0x7c,0x39, 0x5e
2、, 0x79, 0x71, 0;uchar temp;uchar num;/键盘返回值uchar jishu;uchar ge;uchar shi;uchar shijian;float dingshi;uint dingshi_l;sbit dula=P26;sbit wela=P27;/sbit A_1 二P2飞;/sbit B_1二P2"7;sbit ug_l=Pr2; /脉冲输出引脚定义sbit ug_2=Pl"3;sbit ug_3二F4;sbit ug_4二Pl/5;sbit ug_5二Fl/6;sbit ug_6二F7;uchar js=0;/六脉冲计数器vo
3、id init ()/定时器、中断初始化函数TM0D二0x11;EA二 1;ET0二1;ET1二1;TR1二0;TR0二0:IP二0x08; /Tlwei gao you xian ji IP二0x09 /IPH=0x01;ITO二1;/外中断0为下降沿触发 TCON中设置THO二(65536-1667)/256;定时时间,即脉冲宽度TLO二(65536-1667)%256;void delay (uint z)/1ms 延时uint x, y;for (x二z;x>0;x-)for (y=U0;y>0;y);void display(uchar shi, uchar ge)dul
4、a=l;Portableshi;dula=0;P0二Oxff;wela=l;F0二Oxfe;wela=0;delay(5);dula=l;Portablege;dula=0;P0二Oxff;wela=l;P0二Oxfd;wela=0;delay(5);uchar Keyboard()P3=0xfe;temp二P3;temp=temp&0xfO;while(temp!=0xf0)delay (5);temp二P3; temp=temp&0xfO;while(temp!=0xf0) jishu+;temp二P3;switch(temp)case Oxee:num=l; break;
5、case Oxde:num=2; break;case Oxbe:num=3; break;case 0x7e:num=4; break; while (temp !=OxfO)/松手检测 temp二P3; temp=temp&OxfO;P3二Oxfd;temp二F3;temp=temp&OxfO;while(temp!=OxfO)delay (5);temp二P3; temp二temp&OxfO; while(temp!=OxfO) jishu+;temp=P3; switch(temp)case 0xed:num=5; break;case Oxdd:num=6;
6、break;case 0xbd:num=7: break;case 0x7d:num=8; break;wh订e(temp!=OxfO) temp=P3; temp=temp&OxfO;P3二Oxfb;temp=P3;temp=temp&OxfO;while(temp!=OxfO)delay(5);temp二P3; temp二temp&OxfO;while(temp!=OxfO) jishu+;temp=P3;switch(temp)case Oxeb:num=9; break;case 0xdb:num=10; break;case Oxbb:num=ll; brea
7、k;case 0x7b:num=12; break;while(temp!=OxfO) temp二P3; temp=temp&OxfO;P3二Oxf7;temp二F3;temp=temp&OxfO;while(temp!=OxfO)delay (5);temp二P3;temp二temp&OxfO; wh订e(temp!=OxfO) jishu+;temp二P3;switch(temp)case 0xe7:num=13; break;case 0xd7:num=14; break;case 0xb7:num=15; break;case 0x77:num=16; brea
8、k;while(temp!二Oxf0)temp二P3; temp=temp&0xfO;return num;void main()init();EXO二1; dula=l;PO二0x3f; dula=0;PO二Oxff; wela=l;PO二Oxfc; wela=0; delay (5);while(1) Keyboard ();/按键一次shiwei/按键两次geweiif(jishu=l) shi=num;if(jishu=2)ge=num; jishu=O;shijian=shi*10+ge;T二20MSdisplay (shil, gel);/*从同步电压跳跃点算起经控制角a+
9、30。的延时,将a+30。转化为C/T1的时间常 数,在同步电压跳跃点开始定时,C/T1溢出时,在中断中置入新的时间常数,其 数据对应的定时时间为工频交流电的30°脉宽时间,并且启动T0,在TO中断中输 出6路脉冲。*/3最后进入的中断void zhongduan() interrupt 1/定时器 t0 中断函数js+; /js为6脉冲计数值,执行完该语句JS二1TH0二(65536-1667)/256;TL0二(65536-1667)%256;辻(js 二二 1)ug_6二0;Ug_l二0;辻(js=2)Ugl=l;ug_2二1;辻(js3)ug_l=0;ug_2二0;if (j
10、s=4)ug_2二1;ug_3二1;辻(js=5)ug_2=0;ug_3二0;辻(js=6)ug_3二1;ug_4二1;辻(js=7)ug_3二0;ug_4二0;辻(js二二8)ug_4二1;ug_5二1;if(js=9)ug_4二0;ug_5二0;if(js=10)ug_5二1;ug_6二1;辻(js=ll)ug_5=0;ug_6二0;if (js=12)ug_6=l;Ug_l二1;js 二0;/2其次进入的中断void Tl_dingshi() interrupt 3TR1=O;THO二(65536-1667)/256;/脉宽定时时间为脉冲宽度30°所对应的时间约,其 中晶振12MHZ,工频f二50HZTL0二(65536-1667)%256;TR0二1;/启动定时器0/I首先进入的中断 同步脉冲为矩形脉冲(经变换过的)且为反向(经过
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年秋季小学数学北京课改版五年级【数学(北京版)】小数除法解决问题(第一课时)-3学习任务单
- 电视机原理练习题(判断选择)(2024年)
- 电商员工绩效考核方案
- 【7历期末】安徽省亳州市蒙城县2023-2024学年七年级上学期期末历史试题(含解析)
- 实施消费品以旧换新策略的关键因素
- 微课程设计小学体育
- 促进制造业企业经营管理流程优化实施方案
- 冰雪经济前景展望与市场趋势研究报告
- 利用数字媒体提高小学生阅读兴趣的探讨
- 光电课程设计目的
- 2024年全国《考评员》专业技能鉴定考试题库与答案
- 道法全册知识点梳理-2024-2025学年统编版道德与法治七年级上册
- 《网络系统管理与维护》期末考试题库及答案
- 人教版数学六年级上册期末考试试卷
- 警务指挥与战术学总论学习通超星期末考试答案章节答案2024年
- 绘本小狐狸卖空气
- 媒体创意经济:玩转互联网时代学习通超星期末考试答案章节答案2024年
- 实验室安全准入学习通超星期末考试答案章节答案2024年
- 华东师大版(2024新版)七年级上册数学期末素养评估测试卷(含答案)
- 中考二次函数应用题(含答案)
- 画说学习通超星期末考试答案章节答案2024年
评论
0/150
提交评论