- 8
- 0
- 约4.55千字
- 约 6页
- 2017-06-14 发布于河南
- 举报
单片机定时器多时段循环控制C程序89C2051
2011-12-21 12:46
单片机定时器多时段循环控制C程序
这是一段多时段定时(延时)程序,硬件组成为AT89C2051和前文提到的两位LED数码管,数码管的显示数据由一片74LS164经串口传输,(注:并非本人习惯使用164,盖因本人手中有几片这样的成品模块,弃之可惜。)另外由两个I/O口控制两位LED数码管的供电,端口分配相见程序,这是一段在用程序,正用于工作间的自动引排风系统,由于手边没有合用的空气检测传感器,只好采用定时启动的方法进行控制,并设置为:早晨有其他设备运行时,系统得电开始运行,经初次的90分钟倒计时延时后启动风机运转,风机运转10分钟后停止进入待机延时,待机40分钟后再次启动风机运转,此后,程序在40分与10分之间转换进行待机和运转的控制,直至所有设备停止(下班了!)后断电;程序主架构采用的是前文“单片机数码时钟带闹铃的C程序”,起初以为,定时控制程序应该很好弄的,但是现在才发现,“简单、容易”永远是深谙编程的人们的专利,对于我这般满脑子外行想法及编程语言都没学全的菜鸟就满不是那么回事了,仅主函数中的那几个选择结构就弄了好几天;另外,以前使用AT89C2051时,并未用全其P1端口,没出过问题,也就没有认真研究其端口结构,正是这个原因导致程序写好后又被乱码纠缠了好久,直到发现其P1.0和P1.1口还有其他功能,需要加入上拉电阻时,才调试完成;但好在程序最终还是按照自己的意愿运行了,累与烦恼也就变成快乐了,谁让咱拿这东东当‘玩意’了呢,累之于斯,乐之于斯,于心坦然。
装置由两位LED数码管显示分钟,倒计时显示,最大设定值99分钟,个位数码管的dp段间隔一秒亮/灭闪动,一个选择按键和加减按键配合可随时修改设定时间,一个即时按键可随时控制风机启动运转。程序如下:
/*******2011/12/18 原创:wannenggong**************/#includeat89x51.h#define uint unsigned int #define uchar unsigned char#define u_s 47575 //经校准后的50MS初值;/***********I/O口位功能定义*****************************/sbit beep=P1^7; //提示音输出端sbit pw_out=P1^6; //继电器控制sbit H=P1^5; //十位显示供电控制sbit M=P1^4; //个位显示供电控制sbit N4=P1^3; //即使启动键sbit N2=P1^2; //加1调整sbit N3=P1^1; //减1调整sbit N1=P1^0; //调整项选择/************应用变量设置*******************************/uchar T,r=0; //按键计数变量uchar s,u,LD,TD,Time; //过渡变量uchar minute,second,ON_time=10,OFF_time=40; //时间变量uchar ms,count; //标志变量/**********低电平有效不显示小数点的0-9显示段码**********/uchar SEG7[10]= {0x24,0x7d,0x16,0x15,0x4d,0x85,0x84,0x3d,0x04,0x05}; /**********低电平有效带小数点显示的0-9显示段码**********/uchar SEG7_dp[10]= {0x20,0x79,0x12,0x11,0x49,0x81,0x80,0x39,0x00,0x01}; /***************延时:12MHZ约pMS*************************/void delay (uint p){ uchar i; while( --p != 0) { for(i = 0; i 125; i++); }}/***********发声函数用微秒延时函数**********************/void Delay_us(int num){while(num--);}/*********设置选择函数************************************/void Choice_set(){ if (N1==0)//选择键 { delay(10); if(N1==0) { r++; if(r2
您可能关注的文档
最近下载
- (T8联考)2025届高三部分重点中学12月第一次联考 英语试卷(含答案解析).docx
- 增材制造医疗器械.docx VIP
- 八年级下册语文第二单元知识总结.docx VIP
- 2024年安徽省公务员行测及答案详解【最新】.docx VIP
- 《林海雪原》章节精读读书笔记.pdf VIP
- 2024级“工商管理学”学术学位硕士研究生培养方案(120200).pdf VIP
- (2025春新版本)一年级下册道德与法治全册教案.pdf
- XX人民医院采购功能性电刺激(低频电子脉冲刺激仪)技术参数(2026年).docx VIP
- T/CARM 002-2023 康复医院建设标准.pdf VIP
- 《Java语言程序设计案例教程》课件第4章.ppt VIP
原创力文档

文档评论(0)