版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、以下程式,为T8试烧台的控制程式 :器件有六位数码管显示、报警器、和控制交流接触器的12V继电器 。#include <reg52.h>#define uint unsigned int#define uchar unsigned charsbit set=P30; /设置时间,按一下相应的位闪烁;sbit jia=P33; /设置位 按一下加1;sbit jian=P36; /设置位 按一下减1;sbit go=P31; /功能启动按钮;sbit relay1=P27; /控制功率;sbit relay2=P26; /控制警报;sbit relay3=P25; /控制功率;sbi
2、t relay4=P24; /控制警报;uchar code table= /显示编码0,1,2,3,4,5,6,7,8,9,-,H,E,L,U,R0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x76,0x79,0x38,0x3e,0x77,0x49,0x79,0x38,0x3f;uchar fen,miao,t0,t1,t2,set_flag,set_wei_flag,jia_flag,jian_flag,go_flag;uchar shi_qianwei,shi_baiwei,shi_shiwei,shi_gewei,fen
3、_shiwei,fen_gewei, miao_shiwei,miao_gewei;uchar set_fen,set_miao,shan,shan_over; char set_shi_q,set_shi_b,set_shi_s,set_shi_g,set_fen_s,set_fen_g,set_miao_s, set_miao_g,set_wei;int shi,set_shi,jingbao; void delay(uint z) /延时函数 1ms ;uint t1,y;for(t1=z;t1>0;t1-)for(y=100;y>0;y-);void MCUinit() /
4、初始化 MCU; P0=0; P1=0; P2=0; P3=0; set=1; jia=1; jian=1; go =1; set_shi_q=0; set_shi_b=0; set_shi_s=0; set_shi_g=0; set_fen_s=0; set_fen_g=0; set_miao_s=0; set_miao_g=0; set_wei=7; set_flag=0; jia_flag=0; jian_flag=0; go_flag=0; shi=0; fen=0; miao=0; t0=0; t1=0; shan=0; jingbao=0; TMOD=0x11; /使能定时器并加入
5、初值 TH0=(65536-50000)/256; TL0=(65536-50000)%256; TH1=(65536-50000)/256; TL1=(65536-50000)%256; EA=1; ET0=1; ET1=1; TR1=1;void setscanf() / 设置函数 while(set_flag=1) if(set_shi<=99) if(set_wei_flag=1) /设置位自左往右循环 ; set_wei_flag=0; set_wei-; if(set_wei<1) set_wei=6; switch(set_wei) case 1: if(jia_fl
6、ag=1) jia_flag=0; set_miao_g+; if(set_miao_g>9) set_miao_g=0; if(jian_flag=1) jian_flag=0; set_miao_g-; if(set_miao_g<0) set_miao_g=9; /时十位 ;= P0=tableset_shi_s; P1=0x20; delay(1); P0=0xff;/时个位 ;= P0=tableset_shi_g; P1=0x10; delay(1); P0=0xff;/分十位 ;= P0=tableset_fen_s; P1=0x08; delay(1); P0=0x
7、ff;/分个位 ;= P0=tableset_fen_g; P1=0x04; delay(1); P0=0xff;/秒十位 ;= P0=tableset_miao_s; P1=0x02; delay(1); P0=0xff; /秒个位 ;= if(shan<20) /数码管闪烁占空比的控制 1:1 P0=tableset_miao_g&0x7f; else if(shan>=20) P0=0xff; P1=0x01; delay(1); P0=0xff; break; case 2: if(jia_flag=1) jia_flag=0; set_miao_s+; if(se
8、t_miao_s>5) set_miao_s=0; if(jian_flag=1) jian_flag=0; set_miao_s-; if(set_miao_s<0) set_miao_s=5; /时十位 ;= P0=tableset_shi_s; P1=0x20; delay(1); P0=0xff;/时个位 ;= P0=tableset_shi_g; P1=0x10; delay(1); P0=0xff;/分十位 ;= P0=tableset_fen_s; P1=0x08; delay(1); P0=0xff;/分个位 ;= P0=tableset_fen_g; P1=0x0
9、4; delay(1); P0=0xff;/秒十位 ;= if(shan<20) /数码管闪烁占空比的控制 1:1 P0=tableset_miao_s&0x7f; else if(shan>=20) P0=0xff; P1=0x02; delay(1); P0=0xff; /秒个位 ;= P0=tableset_miao_g; P1=0x01; delay(1); P0=0xff; break; case 3: if(jia_flag=1) jia_flag=0; set_fen_g+; if(set_fen_g>9) set_fen_g=0; if(jian_fl
10、ag=1) jian_flag=0; set_fen_g-; if(set_fen_g<0) set_fen_g=9; /时十位 ;= P0=tableset_shi_s; P1=0x20; delay(1); P0=0xff;/时个位 ;= P0=tableset_shi_g; P1=0x10; delay(1); P0=0xff;/分十位 ;= P0=tableset_fen_s; P1=0x08; delay(1); P0=0xff;/分个位 ;= if(shan<20) /数码管闪烁占空比的控制 1:1 P0=tableset_fen_g&0x7f; else if
11、(shan>=20) P0=0xff; P1=0x04; delay(1); P0=0xff;/秒十位 ;= P0=tableset_miao_s; P1=0x02; delay(1); P0=0xff; /秒个位 ;= P0=tableset_miao_g; P1=0x01; delay(1); P0=0xff; break; case 4: if(jia_flag=1) jia_flag=0; set_fen_s+; if(set_fen_s>5) set_fen_s=0; if(jian_flag=1) jian_flag=0; set_fen_s-; if(set_fen_
12、s<0) set_fen_s=5; /时十位 ;= P0=tableset_shi_s; P1=0x20; delay(1); P0=0xff;/时个位 ;= P0=tableset_shi_g; P1=0x10; delay(1); P0=0xff;/分十位 ;= if(shan<20) /数码管闪烁占空比的控制 1:1 P0=tableset_fen_s&0x7f; else if(shan>=20) P0=0xff; P1=0x08; delay(1); P0=0xff;/分个位 ;= P0=tableset_fen_g; P1=0x04; delay(1);
13、P0=0xff;/秒十位 ;= P0=tableset_miao_s; P1=0x02; delay(1); P0=0xff; /秒个位 ;= P0=tableset_miao_g; P1=0x01; delay(1); P0=0xff; break; case 5: if(jia_flag=1) jia_flag=0; set_shi_g+; if(set_shi_g>9) set_shi_g=0; if(jian_flag=1) jian_flag=0; set_shi_g-; if(set_shi_g<0) set_shi_g=9; /时十位 ;= P0=tableset_s
14、hi_s; P1=0x20; delay(1); P0=0xff;/时个位 ;= if(shan<20) /数码管闪烁占空比的控制 1:1 P0=tableset_shi_g&0x7f; else if(shan>=20) P0=0xff; P1=0x10; delay(1); P0=0xff;/分十位 ;= P0=tableset_fen_s; P1=0x08; delay(1); P0=0xff;/分个位 ;= P0=tableset_fen_g; P1=0x04; delay(1); P0=0xff;/秒十位 ;= P0=tableset_miao_s; P1=0x0
15、2; delay(1); P0=0xff; /秒个位 ;= P0=tableset_miao_g; P1=0x01; delay(1); P0=0xff; break; case 6: if(jia_flag=1) jia_flag=0; set_shi_s+; if(set_shi_s>9) set_shi_b+; set_shi_s=0; if(jian_flag=1) jian_flag=0; set_shi_s-; if(set_shi_s<0) set_shi_s=9; /时十位 ;= if(shan<20) /数码管闪烁占空比的控制 1:1 P0=tableset
16、_shi_s&0x7f; else if(shan>=20) P0=0xff; P1=0x20; delay(1); P0=0xff;/时个位 ;= P0=tableset_shi_g; P1=0x10; delay(1); P0=0xff;/分十位 ;= P0=tableset_fen_s; P1=0x08; delay(1); P0=0xff;/分个位 ;= P0=tableset_fen_g; P1=0x04; delay(1); P0=0xff;/秒十位 ;= P0=tableset_miao_s; P1=0x02; delay(1); P0=0xff; /秒个位 ;=
17、P0=tableset_miao_g; P1=0x01; delay(1); P0=0xff; break; else /画面 三9999三= if(set_shi>99) if(set_wei>5) set_wei=4; if(set_wei_flag=1) set_wei_flag=0; set_wei-; if(set_wei<2) set_wei=5; switch(set_wei) case 2: if(jia_flag=1) jia_flag=0; set_shi_g+; if(set_shi_g>9) set_shi_g=0; if(jian_flag=1
18、) jian_flag=0; set_shi_g-; if(set_shi_g<0) set_shi_g=5; /三位 ;= P0=table16; P1=0x20; delay(1); P0=0xff;/时千位 ;= P0=tableset_shi_q; P1=0x10; delay(1); P0=0xff;/时百位 ;= P0=tableset_shi_b; P1=0x08; delay(1); P0=0xff;/时分位 ;= P0=tableset_shi_s; P1=0x04; delay(1); P0=0xff;/时个位 ;= if(shan<20) /数码管闪烁占空比的
19、控制 1:1 P0=tableset_shi_g&0x7f; else if(shan>=20) P0=0xff; P1=0x02; delay(1); P0=0xff; /三个位 ;= P0=table16; P1=0x01; delay(1); P0=0xff; break; case 3: if(jia_flag=1) jia_flag=0; set_shi_s+; if(set_shi_s>9) set_shi_s=0; if(jian_flag=1) jian_flag=0; set_shi_s-; if(set_shi_s<0) set_shi_s=9;
20、/时千位 ;= P0=table16; P1=0x20; delay(1); P0=0xff;/时百位 ;= P0=tableset_shi_q; P1=0x10; delay(1); P0=0xff;/时分位 ;= P0=tableset_shi_b; P1=0x08; delay(1); P0=0xff;/时个位 ;= if(shan<20) /数码管闪烁占空比的控制 1:1 P0=tableset_shi_s&0x7f; else if(shan>=20) P0=0xff; P1=0x04; delay(1); P0=0xff;/秒十位 ;= P0=tableset_
21、shi_g; P1=0x02; delay(1); P0=0xff; /秒个位 ;= P0=table16; P1=0x01; delay(1); P0=0xff; break; case 4: if(jia_flag=1) jia_flag=0; set_shi_b+; if(set_shi_b>9) set_shi_b=0; if(jian_flag=1) jian_flag=0; set_shi_b-; if(set_shi_b<0) set_shi_b=9; /时十位 ;= P0=table16; P1=0x20; delay(1); P0=0xff;/时个位 ;= P0=tableset_shi_q; P1=0x10; delay(1); P0=0xff;/分十位 ;= if(shan<20) /数码管闪烁占空比的控制 1:1 P0=tableset_shi_b&0x7f; else if(shan>=20) P0=0xff; P1=0x08; delay(1); P0=0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025北京海淀区高三(上)期中物理试题及答案
- 《 工程制图基础习题集 第2版》课件 第2章 点、直线、平面(习题答案)
- 总经理助理职业规划指南
- 脑出血及脑血管疾病诊疗护理试题
- 十个一次工作制度
- 单位内部会计惯例制度
- 南通加强内部控制制度
- 卫生所综合管理制度汇编
- 卫生间清洗日常管理制度
- 卫生院结核项目工作制度
- 水性漆喷涂工艺流程图
- 灭火器使用操作安全指导手册
- 生物安全培训理论考核试题(含答案)
- 公司干部晋升管理办法
- 儿童重症肺炎课件图片
- 危重症患者早期识别与评估考核试题及答案
- 模具改造加工合同协议
- 消防整改维修工程施工方案范文模板
- 多轴加工项目化教程课件 项目三 任务3-1 三叉左阀体的多轴加工
- 《插花艺术课件》课件
- 2025届云南师大附中高一下数学期末检测试题含解析
评论
0/150
提交评论