龚家少爷
老兄,东西不复杂的,自己思考,别碰到1+1的问题也要来问。要给你画流程,没人有那么多时间的,硬件:51用p1口接电阻驱动三级管,用三极管驱动二极管动作。软件:网上很多现成的资料,自己去整理。;************;;小灯控制程序;;************;;;************;;中断入口程序;;************;;ORG 0000H ;程序执行开始地址LJMP START ;跳至START执行ORG 0003H ;外中断0中断入口地址RETI ;中断返回(不开中断)ORG 000BH ;定时器T0中断入口地址RETI ;中断返回(不开中断)ORG 0013H ;外中断1中断入口地址RETI ;中断返回(不开中断)ORG 001BH ;定时器T1中断入口地址RETI ;中断返回(不开中断)ORG 0023H ;串行口中断入口地址RETI ;中断返回(不开中断);;************;; 初始化程序 ;;************;;CLEAR: MOV 20H,#00H ;20H单元内存清0(闪烁标志清0) SETB 00H ;位置1(上电时自动执行闪烁功能1) RET ;子程序返回;;************;; 主 程 序 ;;************;;START:ACALL CLEAR ;调用初始化子程序MAIN: LCALL KEYWORK ;调用键扫描子程序 JB 00H,FUN0 ;位为1时执行FUN0 JB 01H,FUN1 ;位为1时执行FUN1 JB 02H,FUN2 ;位为1时执行FUN2 JB 03H,MAIN ;备用 AJMP MAIN ;返回主程序MAIN;;************;; 功能程序 ;;************;;第1种闪烁功能程序FUN0: MOV A,#0FEH ;累加器赋初值FUN00:MOV P1,A ;累加器值送至P1口 LCALL DL05S ;延时 JNB ;累加器最高位为0时转MAIN RL A ;累加器A中数据循环左移1位 AJMP FUN00 ;转FUN00循环;;第2种闪烁功能程序FUN1:MOV A,#0FEH ;累加器赋初值FUN11:MOV P1,A ;累加器值送至P1口 LCALL DL05S ;延时 JZ MAIN ;A为0转MAIN RL A ;累加器A中数据循环左移1位 ANL A,P1 ;A同P1口值相与 AJMP FUN11 ;转FUN11循环;; 第3种闪烁功能程序FUN2:MOV A,#0AAH ;累加器赋初值 MOV P1,A ;累加器值送至P1口 LCALL DL05S ;延时 CPL A ;A中各位取反 MOV P1,A ;累加器值送至P1口 LCALL DL05S ;延时 AJMP MAIN ;转MAIN;************;; 扫键程序 ;;************;;KEYWORK:MOV P3,#0FFH ;置P3口为输入状态 JNB ;读口,若为0转KEY0 JNB ;读口,若为0转KEY1 JNB ;读口,若为0转KEY2 JNB ;读口,若为0转KEY3 RET ;子程序返回;;闪烁功能0键处理程序KEY0:LCALL DL10MS ;延时10毫秒消抖 JB ;为1,子程序返回(干扰) SETB 00H ;位置1(执行闪烁功能1标志) CLR 01H ;位清0 CLR 02H ;位清0 CLR 03H ;位清0OUT0:RET ;子程序返回;; 闪烁功能1键处理程序KEY1:LCALL DL10MS JB SETB 01H ;位置1(执行闪烁功能2标志) CLR 00H CLR 02H CLR 03HOUT1:RET;;闪烁功能2键处理程序KEY2:LCALL DL10MS JB SETB 02H ;位置1(执行闪烁功能3标志) CLR 01H CLR 00H CLR 03HOUT2:RET;;闪烁功能(备用)键处理程序KEY3:LCALL DL10MS JB SETB 03H ;位置1(执行备用闪烁功能标志) CLR 01H CLR 02H CLR 00HOUT3:RET;;************;; 延时程序 ;;************;;毫秒延时子程序,执行一次时间为513微秒DL512:MOV R2,#0FFHLOOP1: DJNZ R2,LOOP1 RET;;10毫秒延时子程序(调用20次毫秒延时子程序)DL10MS:MOV R3,#14HLOOP2: LCALL DL512 DJNZ R3,LOOP2 RET;;延时子程序,改变R4寄存器初值可改变闪烁的快慢(时间为15×25毫秒)DL05S:MOV R4,#0FHLOOP3: LCALL DL25MS DJNZ R4,LOOP3 RET;;25毫秒延时子程序,用调用扫键子程序延时,可快速读出功能按键值DL25MS:MOV R5,#0FFHLOOP4:LCALL KEYWORK DJNZ R5,LOOP4 RETEND ;程序结束
winnie1103
家用可燃气体报警器的设计·基于数字温度计的多点温度检测系统·基于凌阳单片机的语音实时采集系统设计·基于单片机的数字频率计的设计·基于单片机的数字电子钟设计·设施环境中温度测量电路设计·汽车倒车防撞报警器的设计·篮球赛计时记分器·基于单片机的家用智能总线式开关设计·设施环境中湿度检测电路设计·基于单片机的音乐合成器设计·设施环境中二氧化碳检测电路设计·基于单片机的水温控制系统设计·基于单片机的数字温度计的设计·基于单片机的火灾报警器·基于单片机的红外遥控开关设计·基于单片机的电子钟设计·基于单片机的红外遥控电子密码锁·大棚温湿度自动监控系统·基于单片机的电器遥控器的设计·单片机的语音存储与重放的研究·基于单片机的电加热炉温度控制系统设计·红外遥控电源开关·基于单片机的低频信号发生器设计·基于单片机的呼叫系统的设计·基于PIC16F876A单片机的超声波测距仪·基于单片机的密码锁设计·单片机步进电机转速控制器的设计·由AT89C51控制的太阳能热水器·防盗与恒温系统的设计与制作·AT89S52单片机实验系统的开发与应用·基于单片机控制的数字气压计的设计与实现·智能压力传感器系统设计·智能定时器·基于单片机的智能火灾报警系统·基于单片机的电子式转速里程表的设计·公交车汉字显示系统·单片机数字电压表的设计·精密VF转换器与MCS-51单片机的接口技术·基于单片机的居室安全报警系统设计·基于89C2051 IC卡读/写器的设计·PC机与单片机串行通信毕业论文·球赛计时计分器 毕业设计论文·松下系列PCL五层电梯控制系统我这有,肯定有你满意的QQ 89 ........................................后面接着输入...... 36........................................后面接着输入...... 28........................................后面接着输入...... 136 (4行连着输入就是我的QQ)
yiyiling1221
单片机交通灯毕业设计
在日常生活中,交通灯是一项必不可少的公共设施,可以维护道路的畅通和交通的秩序。如若交通灯发生故障,那么后果可想而知。因此,交通灯的正常工作就显得尤为重要。由于交通灯对于公共安全的重要性,本文基于51单片机模拟双向交通灯的设计。下面是我整理的单片机交通灯毕业设计,欢迎来参考!
一、交通灯的设计要求
双向交通灯红、黄、绿灯对应相同,红灯5s,黄灯1s,绿灯5s。当有急救车到达时,双向交通信号为全红,以便让急救车通过。假定急救车通过路口时间为10s,急救车通过后,交通灯恢复中断前状态。
二、AT89C51单片机的中断系统介绍
计算机系统中止当前的正常工作,转入处理突发事件,等到突发事件处理完毕之后,再回到原来被中断的地方,继续原来的工作,这样的整个过程称为中断。能够实现这种功能的.部件称为中断系统。产生中断请求的事件称为中断源。其中AT89C51单片机具有5个中断源,在本次设计中我们采用的是外部事情中断请求源0,以及T1计数溢出事情中断请求这两个中断源。
三、AT89C51单片机的定时/计数器介绍
在单片机中,通常计数器和定时器设计成一个部件――计数器,当计数脉冲的周期一定时,计数器就作为定时器,定时时间就是计数器计数次数和计数脉冲周期的乘积。在此我们采用的就是计数器的这个定时功能。
四、交通灯的硬件电路搭建
本次设计的硬件电路搭建如图1。两路交通灯的6个灯依次接在51单片机P1口的到,另外在单片机的口接一个按压式开关作为救护车到来时的中断源。
五、交通灯的软件编程设计
中断部分的程序设计。首先,应将51单片机中中断允许寄存器IE的EA位设为1,这代表允许中断源向CPU申请中断,即CPU开放中断。同时将IE的EX0位设为1,这代表允许外中断0向CPU申请中断。这样的话,当救护车来的时候,可以借此发出中断请求。接下来,应将定时器控制寄存器TCON的IT0位设为1,这代表外部中断0的触发方式选择为边沿触发方式。由于笔者采用了按压式的开关作为中断的发出方式,这样会产生一个脉冲,因此应当选择边沿触发方式。定时部分的程序设计。首先,应将控制寄存器TCON的TR1位置1,启动定时器T1计数。接下来,应将方式寄存器TMOD的值设为0x01,使得定时器T1工作在方式1,即16位定时/计数方式。然后,由于计时器的定时周期是1s,笔者使用定时/计数器T1精确定时50ms,则20次50ms中断时,定时时间就是1s。在定时器中断部分,笔者采用的是查询方式,即CPU不断查询TF1的状态,当TF1为1时,表示50ms定时已到,在主程序中判断是否20次50ms定时已到,如是,则时间恰好为1s。同时TF1位软件清0。根据公式,当定时时间为50ms时,计数初值应为15536,换算成十六进制是3CB0H,即计数器T1中TL1的初值为B0H;TH0的初值为3CH。当救护车到来时,双向交通灯置红,即将双向交通灯的红灯所对应的P1口位置1,其他位清0即可。时间长短的设置方法同上。最后,由于双向交通灯红灯5s,黄灯1s,绿灯5s,共11个状态,我们利用switch语句为这11个状态分别设置相应P1口的值,再利用一个循环即可。
六、结语
在机动车数量激增的今天,车辆拥堵、交通崩溃的现象还是时有发生的。其原因多半是交通灯时长设置的不合理,抑或无法根据一天之内不同时间的车流状况,对交通灯的状态进行调整。因此,合理地设计交通系统,同时对于交通灯的适当调试无疑将会派上很大用场。
交通信号灯模拟控制系统设计
什么题目的论文。有需要可以联系
一、毕业设计题目及要求 (2个) 1、基于单片机控制的电动机Y-△启动的设计 要求:1)控制器为单片机,电动机为三相异步电动机;2)启动时间为3秒;3)由按键设
1.6一盒神价了 直接拍下就是68元,如果价格不对就是变价了 速度!!!随时结束!每个号限购2单每人只能买2单,多买换号!
一.设计目的:1、通过交通信号灯控制系统的设计,掌握8255A并行口传输数据的方法,以控制发光二极管的亮与灭;2、用8255作为输出口,控制十二个发光二极管熄灭