这是老师要求做的项目,现在已经做好了,没有什么大问题。
一, 设计要求与方案论证
1.1设计要求:
1.1.1基本要求:
1、东西方向、南北方向均有红、黄、绿三种信号灯,初始红灯30秒,黄灯闪烁3秒,绿灯30秒,东西方向红灯时刻,南北方向绿灯,南北方向绿灯,东西方向红灯;
2、按键调节与控制功能,通过按键,可以控制某一个方向长时间绿灯,另一个方向长时间红灯;通过按键可以控制某一个方向的红灯时长,比如调整东西方向红灯40秒,绿灯20秒,于此同时,南北方向红灯20秒,绿灯40秒。
3、夜间模式按钮按下,所有方向显示黄灯闪烁
4、实时提醒灯亮的剩余时间
1.1.2拓展部分:
目前还没拓展
1.2系统基本方案选择和论证:
1.2.1单片机芯片的选择方案和论证:
STC公司生产的8051内核,CMOS工艺;
1.2.2数码管显示模块的选择方案和论证:
选择的是共阳的数码管,单片机的驱动能力不是很强,故此选择共阳数码管;。
1.2.3Led灯的选择方案与论证:
通过一个Led灯的电流大约是10ms。
1.3 电路设计最终方案
2.1 表数的产生由定时器T0产生
TH0=0xFC;TL0=0x67; 每1ms中断一下,对整个项目的标志量改变一下它的值。
2.2 略;
3.1 电路设计框图
3.2系统硬件描述
主要的硬件是89C51这个芯片进行输入输出控制。
3.3主要单元电路的设计
3.3.1单片机主控模块的设计
3.3.2数码管模块的设计
3.3.3Led灯模块的设计
3.3.4电源稳压模块
4.1程序流程框图
4.2 数码管模块流程图
4.3 按键调整模块设计框图
5.1 测试仪器
万能表对是否导通,是否短路进行检测。
5.2软件测试平台 Keil C51
5.3 硬件测试
5.3.1 显示模块测试
5.4 测试结果分析与结论
5.4.1测试结果分析
已经可以实现上述功能。
5.4.2测试结论
测试已经完成,已经可以实现了要求的功能。
作品总结
在这一次的作品制作过程中对万用表,c语言,Proteus的使用更加的得心应手,更加的熟练。
附录一:系统电路图
附录二:系统C程序
#include #define uint unsigned int; #define uchar unsigned char; void DigitalTube(); //数码管显示函数 void InterruptT0(); //内部中断0 sbit P10 = P1^0; //红绿灯引脚的初始化 sbit P11 = P1^1; sbit P12 = P1^2; sbit P13 = P1^3; sbit P14 = P1^4; sbit P15 = P1^5; sbit P16 = P1^6; //数码管使能控制 sbit P17 = P1^7; sbit P20 = P2^0; sbit P21 = P2^1; sbit K22 = P2^2; //按键22 sbit K23 = P2^3; sbit K24 = P2^4; sbit dula = P2^5; uint LedBuf[10] = { 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8, 0x80,0x90 }; //0~9的数字显示共阳 uint Kflag = 1; //按键24的标志 uint LedNumNS = 27; //南北的数字显示 uint LedNumEW = 30; //东西的数字显示 uint i = 0; uint j = 0; uint j1 = 0; uint k = 0; uint g = 0; uint z = 0; //计数及状态的变量 uint LedTime1 = 30; uint LedTime2 = 27; uint LedTime3 = 30; uint LedTime4 = 27; uint Kf22 = 1; //按键前一个状态的值 uint Kf23 = 1; uint Kf24 = 1; uint KSta24 = 1; //按键的当前值 uint KSta23 = 1; uint KSta22 = 1; uchar Kflag22 = 0; //按键22的switch函数参数 void main() { EA = 1; //开总中断 ET0 = 1; //开内部中断0 TR0 = 1; TMOD = 0x01; //方式1 TH0 = 0xFC; TL0= 0x67; //1ms中断 P1 = 0xEE; // while(1) { DigitalTube(); //数码管显示 } } void InterruptT0() interrupt 1 { TH0 = 0xFC; TL0 = 0x67; //1ms中断 i++; k++; KSta24 = K24; //按键K24 夜间模式 if(Kf24 != KSta24) //按键有动作 { if(Kf24 == 1) //按键按下 { Kflag = !Kflag; } Kf24 = KSta24; } KSta23 = K23; //按键K23 增减时长 if(Kf23 != KSta23) //按键有动作 { if(Kf23 == 1) //按键按下 { // LedTime = LedTime +2; LedTime1 = LedTime1 +5; //32 34 36 38 30 LedTime2 = LedTime2 +5; //25 23 21 19 17
上一篇:基于单片机的天然气泄漏报警系统设计论文
下一篇:STC89C52RC单片机+串口+红外控制16路舵机程序
推荐阅读最新更新时间:2024-11-15 02:15
设计资源 培训 开发板 精华推荐
- 征集令 |物联网看门狗
- LTM4677EY 双路 18A 模块稳压器的典型应用电路,具有用于控制和监视的数字接口
- 红外遥控+射频遥控+esp8266
- LTC3576/LTC3576-1 的典型应用 - 具有 USB On-the-Go + 三重降压型 DC/DC 的开关电源管理器
- 具有典型半脉冲操作模式的 NCP5007 紧凑型背光 LED 升压驱动器的典型应用
- ADA4000-2ARZ-RL运算放大器建立时间电路的典型应用电路
- LT5514 的典型应用 - 具有数控增益的超低失真 IF 放大器 / ADC 驱动器
- 1064-868-DK,Si1064 868-MHz 无线 MCU 开发套件
- L5300AH7 5 V低压降稳压器典型应用
- z65(f401)
- CGD和Qorvo将共同革新电机控制解决方案
- 是德科技 FieldFox 手持式分析仪配合 VDI 扩频模块,实现毫米波分析功能
- 贸泽开售可精确测量CO2水平的 英飞凌PASCO2V15 XENSIV PAS CO2 5V传感器
- 玩法进阶,浩亭让您的PCB板端连接达到新高度!
- 长城汽车研发新篇章:固态电池技术引领未来
- 纳芯微提供全场景GaN驱动IC解决方案
- 解读华为固态电池新专利,2030 叫板宁德时代?
- 让纯电/插混车抓狂?中企推全球首款-40℃可放电增混电池,不怕冷
- 智驾域控知多少:中低端车型加速上车,行泊一体方案占主体
- Foresight推出六款先进立体传感器套件 彻底改变工业和汽车3D感知