单片机交通灯设计


    摘
    根STC10F04单片机特点交通灯实际控制中特点文提出种单片机动控制交通灯时间显示方法时出软硬件设计方法设计程包括硬件电路设计程序设计两步骤单片机应中遇重设计问题涉足文十字路口状态预设三种种正常状态种紧急状态种方程式状态增设路段遇忙调整时方程式控制状态紧急情况处理模块通手动控制开关钮A0A1方便系统正常状态紧急状态方程式控制间回切换进步完善交通灯控制系统分红黄绿灯组合指挥两方通车禁行LED数码作倒计时指示实时控制前交通灯时间LED显示器进行倒计时工作状态灯保持步保持交通安全时限度提高交通畅交运行文介绍控制基原理控制表现时述系统中交通现状交通理交通规背景信息

    关键词:动控制时间显示器外部中断延时方程式控制






















    Abstract
    According to the characteristics of singlechip STC10F04 and traffic lights in the actual control of the characteristics of this paper a singlechip automatic control with traffic lights and the method of time display At the same time given the hardware and software design methodology design process including the hardware circuit design and program design two major steps in the singlechip applications that may be encountered in the design of the important issues are involved In this paper the default state of the crossroads for three one is the normal state is a state of emergency and the other is a state formula Additional sections of busy status adjustment formula and an emergency control module Through the manual control switch button convenience A0 and A1 system in the normal state and a state of emergency the equation between the control switch back and forth and further improve the traffic light control system And were red yellow and green light to direct different combinations of traffic in both directions and cutline with LED digital tube as a countdown to the instructions realtime control of the current time for traffic lights to LED countdown display work and to keep pace with the state of light in the to maintain safety while minimizing the increase in traffic to alternate running smoothly This paper introduces the basic principles of control as well as the performance of control at the same time traffic on the system status traffic management traffic regulations and background information

    Key words automatic control time display external interrupt delay control equation














    目 录
    摘 1
    Abstract 2
    目 录 3
    1 绪 4
    11 交通灯研究背景意义 4
    12 交通灯国外发展概况 4
    2 系统工作原理设计方案 7
    21 交通灯工作原理 7
    22 交通灯总体设计方案 7
    3 硬件系统设计 11
    31 硬件系统组成 11
    311 单片机系统 11
    312 信号显示驱动电路 15
    313 键盘输入电路 16
    4 交通灯系统详细设计 18
    41 软件总体设计思想 18
    42 交通控制算法实现 20
    43 系统初始化模块 21
    44信息显示模块 22
    441 信号灯模块 22
    442 LED倒计时显示子程序 26
    45键盘扫描模块 29
    5 调式总结 37
    6 致 谢 38
    参考文献 39
    附 录 40
    附录 程序清单 40
    附录二 交通灯PCB图 48
    附录三 交通灯电路原理图 49












    1 绪
    11 交通灯研究背景意义
    交通城市济活动命脉城市济发展民生活水提高起着十
    分重作城市交通问题困扰城市发展制约城市济建设重素
    城市道路增长限车辆增加限矛盾导致城市交通拥挤根原城市街道网络交通容量断增加表明车辆道路容量求然高短期改变开始计算机控制系统控制硬件里取什样实际进展交通控制领域控制逻辑方面始终没取重突破
    肯定说减轻交通拥塞副作特交通网络言然缺乏种真正交通响应控制策略计算机硬件力控制软件力相符造成影响交通控制策略根实现少数例子中新控制策略确实实现没早期控制策略进行改进缺乏提高交通状况特缺乏拥塞网络交通状况实时控制策略说真正成熟控制策略然存智化集成化城市交通信号控制系统发展趋势研究前针交通系统规模复杂性特征控制结构针城市交通瓶颈问题代表智决策阻塞处理智交通控制优化理关键突破口研究基智集成城市交通信号控制系统具相学术价值实价值智控制引入城市交通控制系统中未城市交通控制系统适应城市交通发展长远该研究具巨现实意义
    12 交通灯国外发展概况
    着济发展城市现代化程度断提高交通需求交通量迅速增长城市交通网络中交通拥挤日益严重道路运输带交通拥堵交通事环境污染等负面效应日益突出逐步成济社会发展中全球性问题交通问题已日益成世界性难题城市交通事交通阻塞交通污染问题愈加突出解决车路矛盾常两种方法:控制需求直接办法限制车辆增加二增加供修路两办法局限性交通社会发展民生活水提高基条件济发展必然带出行增加国汽车工业正处起步阶段时期限制车辆增加解决问题方法采取增加供量修筑道路基础设施方法资源环境矛盾越越突出天面越越拥挤交通限源财力环境压力受限制需限制需求提供道路设施外方法满足日益增长交通需求
    交通系统正解决矛盾途径智交通系统先进信息技术数通讯传输技术电子传感技术电子控制技术计算机处理技术等效集成运整面交通理系统建立种范围全方位发挥作实时准确高效综合交通运输理系统城市交通流进行智控制道路畅通提高交通效率合理进行交通控制交通流进行效引导调度交通保持稳运行状态避免缓交通拥挤状况提高交通运输运行效率减少交通事增加交通安全降低污染程度节省源消耗文通交叉路口交通信号智控制达优化路口交通流目
    进入20世纪70年代着计算机技术动控制技术发展交通流理断完善交通运输组织优化理技术水断提高控制手段越越先进形成批商水实效城市道路交通控制系统早1977年Pappis等模糊控制运交通控制通建立规库专家系统种交通状况进行模糊控制取效果年欧美日等相继建立智交通控制系统系统中部分路口附安装磁性环路检测器新型检测器等技术设备现代化设备技术加控制理现代化科学理技术交通控制系统日益完善着研究控制理学者投身交通控制研究中交通信号控制领域提出新方法新思路静态段配时控制准动态段配时控制优控制系统递阶控制模糊控制神网络控制网络路控制等模糊交通控制已成交通信号控制流方国外学者进行类研究
    交通系统作时变具机性复杂系统传统设定种方案建立种预测模型均较困难城市交通控制研究起源较早1868年英国伦敦燃汽信号灯问世标志着城市交通控制开始1913年美国俄亥俄州Cleveland市出现世界早交通信号控制1926年美国芝加哥市采交通灯控制方案交叉口设唯交通灯适单交通流交通控制技术相关控制算法发展改善提高交通控制安全性效性减少环境影响
    然模糊控制效处理模糊信息产生规较粗糙利规表查表进行控制运算速度然较快没学功研究相序固定前提保证相序实际交通流状况致性影响绿灯时间利率研究提出变相序模糊控制方法提高绿灯时间利率弥补相序固定缺点时存足例目前应较交通系统:SCOOT(典交通系统)采统计模型典算法城市交通系统复杂机性强巨型系统想建立实性较强数学模型十分困难利模糊控制智控制技术进行交叉口信号灯控制取定时控制感应控制更效果单交叉路口信号灯控制研究方



































    2 系统工作原理设计方案
    21 交通灯工作原理
    采单片机IO口P1P2P36P37直接交通灯连接P0P4口通限流电阻三极接LED数码控制程序放STC10F04单片机ROM中十字路口四组红黄绿交通灯中单片机P10P17P20P27P36P37控制交通灯发光二极阳极通限流电阻电源正极连接IO口输出低电时相连相应指示灯会亮通LED数码显示时间倒计时IO输出高电时相应指示灯会灭紧急车请求通信号工控制中断方式输入单片机紧急车通时中断引脚INT0(P32)通电阻电源正极连接高电产生中断单片机执行程序紧急车通时中断引脚INT0(P32)采工方法接低电产生中断请求单片机执行中断服务程序紧急车通紧急车通中断引脚INT0(P32)变高电返回程序方程式控制通信号工控制中断方式输入单片机需调整周期时中断引脚INT1(P33)通电阻电源正极连接高电产生中断请求单片机执行程序车辆需增加干道通车时间时中断引脚INT1(P33)采工方法接低电产生中断请求单片机执行中断服务程序系统方程式控制次开关钮A1执行方程式A两次开关钮A1时执行方程式B三次开关钮A1时执行方程式C四次时中断引脚高电返回程序
    22 交通灯总体设计方案
    目前设计交通灯方案应CPLD实现交通信号灯控制器设计应PLC实现交通灯控制系统设计应单片机实现交通信号灯设计方法STC10F04单片机带2计数器6中断源满足系统设计求单片机设计设计简单成低设计交通灯满足求文采单片机设计交通灯
    设计十字路口交通灯控制电路根设定周期时间够指挥车辆十字路口完成左转直行交运行相时间里提高通车质量效率高峰期根实际状况结合方程式控制钮调整次干道通车时间降低交通拥挤堵塞现象交通控制系统具紧急控制救护车救护车通时 两方均亮红灯救护车消防车通恢复原状态增加出现特殊情况处理力
    采STC10F04单片机作控制器通行倒计时显示采LED数码通行指示灯采发光二极LED显示采动态扫描节省端口数特殊紧急车辆通行采实时中断完成车流量变时通方程式开关控制钮A1改变十字路口方通车时间交通更畅减少堵塞系统构架设计STC10F04单片机端口刚满足求该系统具电路简单设计方便耗电较少性高等特点
    紧急情况外部中断INT0控制紧急情况结束发终端恢复前状态方程式控制开关钮外部中断INT1控制时段车流量增加程度样时通方程式控制钮开关ABC三状态选择合适周期
    (1)方红黄绿灯指示外种灯亮时间数码显示器进行显示(采倒计时方法)
    (2)正常状态干道通车时间35s次干道通车时间20s
    (3)车流量增时通方程式控制钮手动控制延长干道通车时间三方程式分ABC方程
    (4)红绿信号灯转换时需亮3s黄灯作渡行驶中车辆时间停禁行线外
    (5)特殊状态功显示进入特殊状态时(119救火车120救护车通时)东西南北方均显示红灯状态
    1)显示器闪烁
    2)计数器停止计数保护数
    3)东西南北路口均显示红灯状态
    4)特殊状态结束恢复现场数继续控制十字路口
    S0:南方绿灯亮东西北三方亮红灯35秒
    S1南方绿灯灭东西方红灯继续亮时南北两方黄灯亮3秒
    S2:南北方黄灯灭南方红灯亮东西两方红灯继续亮时北方绿灯亮持续35秒
    S3 北方绿灯灭南方继续红灯亮时北方东西方黄灯亮持续3秒
    S4:东西北三方黄灯灭北方红灯亮时东西方绿灯亮持续20秒
    S5:东西方绿灯灭北方继续红灯亮时东西南三方黄灯亮持续3秒
    出现特殊情况时(119救火车120救护车通时)钮A0进入状态S7两方亮起红灯持续10秒特殊车利通恢复原状态
    班高峰期时钮A1进行相应调整总ABC三种方程式控制具体:
    1)次A1开关钮时系统A方程式控制交通灯系统南北两方通车时间延长15秒50秒东西方通车时间变20秒
    2)两次A2开关钮时系统B方程式控制交通灯系统南北两方通车时间延长25秒60秒东西方通车时间延长10秒30秒
    3)两次A2开关钮时系统C方程控制交通灯系统南北两方通车时间变35秒东西两方通车时间延长15秒35秒
    表21 状态表
    状态
    南方
    北方
    东西方
    效时间状态


    绿


    绿


    绿
    S0
    1
    1
    0
    0
    1
    1
    0
    1
    1
    35
    S1
    1
    0
    1
    1
    0
    1
    0
    1
    1
    3
    S2
    0
    1
    1
    1
    1
    0
    0
    1
    1
    35
    S3
    0
    1
    1
    1
    0
    1
    1
    0
    1
    3
    S4
    0
    1
    1
    0
    1
    1
    1
    1
    0
    20
    S5
    1
    0
    1
    0
    1
    1
    1
    0
    1
    3
    S6
    1
    1
    0
    0
    1
    1
    0
    1
    1
    35
    S7
    0
    1
    1
    0
    1
    1
    0
    1
    1
    10
    S8
    1
    1
    0
    0
    1
    1
    0
    1
    1
    A50
    S9
    1
    0
    1
    1
    0
    1
    0
    1
    1
    A3
    S10
    0
    1
    1
    1
    1
    0
    0
    1
    1
    A50
    S11
    0
    1
    1
    1
    0
    1
    1
    0
    1
    A3
    S12
    0
    1
    1
    0
    1
    1
    1
    1
    0
    A20
    S13
    1
    0
    1
    0
    1
    1
    1
    0
    1
    A3
    S14
    1
    1
    0
    0
    1
    1
    0
    1
    1
    A50
    S15
    1
    1
    0
    0
    1
    1
    0
    1
    1
    B60
    S16
    1
    0
    1
    1
    0
    1
    0
    1
    1
    B3
    S17
    0
    1
    1
    1
    1
    0
    0
    1
    1
    B60
    S18
    0
    1
    1
    1
    0
    1
    1
    0
    1
    B3
    S19
    0
    1
    1
    0
    1
    1
    1
    1
    0
    B30
    S20
    1
    0
    1
    0
    1
    1
    1
    0
    1
    B3
    S21
    1
    1
    0
    0
    1
    1
    0
    1
    1
    B60

    S22
    1
    1
    0
    0
    1
    1
    0
    1
    1
    C35
    S23
    1
    0
    1
    1
    0
    1
    0
    1
    1
    C3
    S24
    0
    1
    1
    1
    1
    0
    0
    1
    1
    C35
    S25
    0
    1
    1
    1
    0
    1
    1
    0
    1
    C3
    S26
    0
    1
    1
    0
    1
    1
    1
    1
    0
    C35
    S27
    1
    0
    1
    0
    1
    1
    1
    0
    1
    C3
    S28
    1
    1
    0
    0
    1
    1
    0
    1
    1
    C35
    注:(1)0表示灯亮1表示灯灭
    (2)干道南北方次干道东西方
    (3)时候南北两方直行信号灯左转信号灯状态样三状态:
    1)直行左转时通行绿灯
    2)直行左转时黄灯
    3)直行左转时禁行红灯
    (4)东西两方直行时候状态样红灯绿灯时间步












    3 硬件系统设计
    31 硬件系统组成
    311 单片机系统
    单片机系统包括电源()晶振(般110592M者12M)复位电路单片机装入程序三块容单片机够工作外注意点EA(31脚)接高电接电源+5V告诉单片机片外存储器样单片机系统会老老实实执行烧写进程序图31单片机系统示意图:


    图31 系统电路图

    STC10F04单片机单时钟机器周期(IT)单片机高速低功耗超强抗干扰新代8051单片机指令代码完全兼容传统8051速度快812倍部集成高复位电路针高速通信智控制强干扰场合
    STC10F04单片机定时器0 定时器1串行口传统8051兼容增加独特波特率发生器省定时器2传统80511111条指令执行速度全面提速快指令快24倍慢指令快3倍
    1 增强型8051 CPU1T单时钟机器周期指令代码完全兼容传统8051
    2 工作电压:55V~3833V
    3 工作频率范围 :0~35MHz相普通80510~420MHz
    4 应程序空间 4K字节
    5 RAM:256字节
    6 通I O(4036)复位:准双口弱拉(普通8051传统IO)设置成四种模式:准双口弱拉推挽强拉仅输入高阻开漏IO口驱动力均达20mA整芯片超100mA
    7 ISP(系统编程)IAP(应编程)需专编辑器需专仿真器通串口(RXDP30TXDP31)直接载户程序数秒完成片
    8 门狗
    9 部集成MAX810专复位电路(晶体频率 24MHz时选择高复位门槛电压41V复位晶体频率12MHz时选择低复位门槛电压37V复位复位脚接1K电阻)
    10 置部Vcc进行掉电检测掉电检测电路设置中断复位5V单片机掉电检测门槛电压4137V附
    11 时钟源:外部高精度晶体时钟部RC振荡器户载程序时选择部RC振荡器外部晶体时钟常温部RC振荡器频率:4MHz~8MHz精度求高时选择部时钟制造误差温漂实际测试准
    12 216位定时器(传统8051兼容定时器 计数器16位定时器T0T1)
    13 3时钟输出口T0溢出P30T0输出时钟T1溢出P35T1输出时钟
    14 外部中断IO口5路支持传统降中断低电触发中断Power down(掉电)模式外部中断唤醒INT0P32 INT1P33 INTTOP34 INTT1P35 INTRxdP30(INTRxdP16)

    STC10F04单片机采40Pin封装双列直接DIP结构图32引脚配置



    图32 STC10F04引脚配置

    40引脚中正电源线两根外置石英震荡器时钟线两根36IO
    ·VCC:电源电压
    ·GND:
    ·P0口:P0口组8位漏极开路型双I/0口址/数总线复口作输出口时位驱动8TTL逻辑门电路端口写l作高阻抗输入端访问外部数存储器程序存储器时组口线分时转换址(低8位)数总线复访问期间激活部拉电阻
    ·P1口:Pl 带部拉电阻8位双I/O口Pl输出缓级驱动(吸收输出电流)4TTL逻辑门电路端口写l通部拉电阻端口拉高电时作输入口作输入口时部存拉电阻某引脚外部信号拉低时会输出电流(IIL)Flash编程程序校验期间Pl接收低8位址
    ·P2 口:P2 带部拉电阻8 位双I/O 口P2 输出缓级驱动(吸收输出电流)4 TTL逻辑门电路端口写1通部拉电阻端口拉高电时作输入口作输入口时部存拉电阻某引脚外部信号拉低时会输出电流(IIL)访问外部程序存储器16位址外部数存储器(例执行MOVX@DPTR指令)时P2口送出高8位址数访问8 位址外部数存储器(执行MOVX@Ri 指令)时P2 口线容(特殊功寄存器(SFR)区中P2寄存器容)整访问期间改变Flash编程校验时P2接收高位址控制信号
    ·P3 口:P3 口组带部拉电阻8 位双I/0 口P3 口输出缓级驱动(吸收输出电流)4 TTL逻辑门电路P3口写入l时部拉电阻拉高作输入端口作输入端时外部拉低P3口拉电阻输出电流(IIL)P3口作般I/0口线外更重途第二功表31示:
    表31具第二功P1口引脚
    端口引脚
    第二功:
    P30
    RXD(串行输入口)
    P31
    TXD(串行输出口)
    P32
    INT0(外中断0)
    P33
    INT1(外中断1)
    P34
    T0(定时/计数器0外部输入)
    P35
    T1(定时/计数器1外部输入)
    P36
    WR(外部数存储器写选通)
    P37
    RD外部数存储器读选通)
    P3口接收Flash闪速存储器编程程序校验控制信号
    ·RST:复位输入振荡器工作时RST引脚出现两机器周期高电单片机复位WDT 溢出该引脚输出高电设置SFR AUXRDISRT0 位(址8EH)开关闭该功DISRT0位缺省RESET输出高电开状态
    ·ALE/PROG(————):访问外部程序存储器数存储器时ALE(址锁存允许)输出脉锁存址低8位字节访问外部存储器ALE 时钟振荡频率1/6 输出固定正脉信号外输出时钟定时目注意:访问外部数存储器时跳ALE脉F1ash存储器编程期间该引脚输入编程脉(PROG)必通特殊功寄存器(SFR)区中8EH 单元D0 位置位禁止ALE 操作该位置位条M0VXM0VC指令ALE会激活外该引脚会微弱拉高单片机执行外部程序时应设置ALE效
    ·PSEN(————)程序储存允许(PSEN(————))输出外部程序存储器读选通信号AT89S51 外部程序存储器取指令(数)时机器周期两次PSEN(————)效输出两脉访问外部数存储器没两次效PSEN(————)信号
    ·EA(——)/VPP:外部访问允许欲CPU仅访问外部程序存储器(址0000H-FFFFH)EA端必须保持低电(接)需注意:果加密位LB1编程复位时部会锁存EA端状态EA端高电(接VCC端)CPU执行部程序存储器中指令F1ash存储器编程时该引脚加+12V编程电压Vpp
    ·XTAL1:振荡器反相放器部时钟发生器输入端
    ·XTAL2:反振荡器输出
    振荡器特性
    XTAL1XTAL2分反放器输入输出该反放器配置片振荡器石晶振荡陶瓷振荡均采采外部时钟源驱动器件XTAL2应接余输入部时钟信号通二分频触发器外部时钟信号脉宽求必须保证脉高低电求宽度

    312 信号显示驱动电路



    图33 三极电路图

    三极放作通电流控制电流晶体三极种电流控制元件发射区基区间形成PN结称发射结集电区基区形成PN结称集电结晶体三极材料分常见两种:锗硅种NPNPNP两种结构形式硅NPNPNP两种两者电源极性外工作原理相三极工作放区时三极发射结处正偏集电结处反偏集电极电流Ic受基极电流Ib控制Ic 变化量Ib变化量称作三极交流电流放倍数β(βΔIcΔIb Δ表示变化量)实际中常常利三极电流放作通电阻转变电压放作三极电流放器件三极分做集电极C基极B发射极E分成NPNPNP两种仅NPN三极发射极放电路例说明三极放电路基原理

    图34 三极放电路原理图

    面分析仅NPN型硅三极图34示基极B流发射极E电流做基极电流Ib集电极C流发射极E电流做集电极电流Ic两电流方流出发射极发射极E箭头表示电流方三极放作:集电极电流受基极电流控制(假设电源够提供集电极足够电流话)基极电流变化会引起集电极电流变化变化满足定例关系:集电极电流变化量基极电流变化量β倍电流变化放β倍β做三极放倍数(β般远1例十百)果变化信号加基极发射极间会引起基极电流Ib变化Ib变化放导致Ic变化果集电极电流Ic流电阻R根电压计算公式UR*I算电阻电压会发生变化电阻电压取出放电压信号
    313 键盘输入电路
    单片机键盘独立键盘矩阵式键盘两种:独立键盘IO 口接键键端接电源接(般接)种接法程序较简单系统更加稳定矩阵式键盘式接法程序较复杂占IO少根设计需里选独立式键盘接法
    独立式键盘实现方法利单片机IO口读取口电高低判断否键常开键端接端接IO 口程序开始时IO口置高电时键时IO口保护高电键时IO 口短路迫IO 口低电键释放单片机部拉电阻IO口然保持高电做程序中查寻IO口电状态解否键动作
    单片机键盘处理时候涉重程键盘抖动里说抖动机械抖动键盘未界区产生电稳定正常现象键时通注意避免种抖动般10~200毫秒间种稳定电抖动时间说太快时钟微秒单片机言慢长提高系统稳定必须避开目前技术硬件抖动软件抖动硬件抖动部分电路抖动部分加处理实现难度较会提高成软件抖动掉抖动避抖动部分时间等键盘稳定处理里选择软件抖动实现法先查寻键低电出现时立延时10~200毫秒避开抖动(典值20毫秒)延时结束读次IO 口值次值果1 表示低电时间10~200 毫秒视干扰信号读出值0时表示键调相应处理程序硬件电路图34示:



    图35 键盘控制电路图








    4 交通灯系统详细设计
    41 软件总体设计思想
    程序程序定时中断子程序外部中断子程序组成程序负责系统初始化等中断定时中断子程序负责数码显示刷新红黄绿灯种状态切换外部中断子程序负责紧急情况处理处理完成恢复
    STC10F04计数起停STC10F04P0P4口控制STC10F04P0P4口输出1时STC10F04开始计数交通灯正常状态切换工作P0P4口输出0时计数器停止工作交通灯正常状态切换STC10F04开始计数200ms发出中断申请信号中断子程序中先刷新数码然判断前状态进入相应处理程序进行处理紧急情况时进入外部中断服务子程序先STC10F04停止计数然点亮红灯次外部中断处理时恢复原交通灯状况程序流程图图4142示:


























    设置字型码字位码完成显示
    初始化外部中断
    定义状态数组
    宏定义



    返回while(1)函数
    进入while(1)循环
    IO初始化

    定义字位码函数

    定义阴极字型编码表


    调显示控制函数statusdis()
    进入函数main()


    定义函数变量初始化


    定时器0初始化
    调dissmg()函数





    图41 程序流程图






    INT1
    INT0


    保护现场

    保护现场



    方程式控制显示
    红灯全亮维持10S



    恢复现场

    恢复现场



    中断返回
    中断返回


    图42中断子程序


    42 交通控制算法实现
    定时中断子程序设计重点负责完成数码输出数刷新状态处理切换中断子程序包括数码输出数刷新程序状态处理程序中断程序流程图图示

    定义1s
    定时中断入口



    设置字型码字位码完成数码倒计时显示
    启动定时器中断


    关闭定时器0
    初始化定时器0



    计数变量加1



    图43 定时中断流程图

    定时中断服务程序系统中函数:

    void int_t0( ) interrupt 1 using 1
    {
    TR0 0
    time++ tc++
    if(tc>3) {tc0}
    if(time100)
    {
    waittime
    }
    else if(time200)
    {
    waittime
    sec
    time0
    shu0sec10
    shu1 sec10
    }
    TH0 0xee
    TL0 0x00
    if(tc0) { smdismd[shu0] weishuang0 0 weishuang1 1 weishuang2 1 }
    else if(tc1) { smdismd[shu1] weishuang0 1 weishuang1 0 weishuang2 1 }
    else if(tc2) { smdismd[shu2] weishuang0 1 weishuang1 1 weishuang2 0 }
    if(tc>3) {tc0}
    TR0 1
    }
    程序中设定初值知T0定时5毫秒.样T05毫秒时CPU响应溢出中断请求进入中断服务子程序中断服务子程序中CPU先软件计数器加1然判断否200零表示1秒已返回输出时间显示程序计数器变量清0
    43 系统初始化模块
    程序负责系统初始化然数码数输出显示时检测PC键盘键键退出程序
    系统初始化包括STC10F04初始化定时器外部中断量初始化设置交通灯工作初始状态定时器计数器种功软件确定前应进行编程初始化初始化容TCONTMOD编程计算装载T0T1计数初值设计求知定时器T0工作方式1
    系统程序中函数初始化:
    P4SW0xff
    TMOD0x01
    TH0 0xee
    TL0 0x00
    EA 1
    ET0 1
    PT01
    PX00
    PX10
    EX01
    IT00
    EX11
    IT11
    TR0 1
    单片机定时计数器初值计算公式:T初值2N -定时时间/机器周期时间 机器周期12fosc根TMOD0X01TH00xeeTL00x00出定时器工作方式1N16T初值0xee0060928 fosc110592 根面公式:60928216-定时时间12110592 出定时时间5ms
    44信息显示模块
    441 信号灯模块
    信息显示模块包括发光二极模块LED倒计时显示子模块
    程序中开始先定义发光二极IO口接着设定状态量发光二极状态数组第三运行main函数调函数里while循环while循环语句通statusdis函数调状态数组变量显示状态发光二极状态流程图图44示:

    定义发光二极IO口

    While(1)循环调显示控制函数statusdis()




    调状态数组赋值完成发光二极显示
    设定状态量数组


    进入main函数里while(1)循环




    图44 发光二极模块流程图

    发光二极IO口接法表41示

    表41 发光二极IO口接法
    P10
    P11
    P12
    P13
    P14
    P15
    P16
    P17
    北黄
    西黄
    南黄
    东黄
    北左黄
    南左黄
    南左红
    南左绿
    P20
    P21
    P22
    P23
    P24
    P25
    P26
    P27
    东绿
    东红
    南绿
    南红
    西绿
    西红
    北绿
    北红
    P30
    P31
    P32
    P33
    P34
    P35
    P36
    P37
    Rxd
    Txd
    紧急钮
    方式控制钮


    北左红
    北左绿

    程序中IO口定义:
    sfr jtd 0xa0 交通灯控制口P2口
    sfr jtdh 0x90 交通灯控制口 P1口
    sbit NLR P3^6 北左转红灯
    sbit NLG P3^7 北左转绿灯
    初始化状态数组:
    unsigned char S0[]{0x59 0x7f 0x8035 }
    unsigned char S1[]{0xdd 0xca 0xc03 }
    unsigned char S2[]{0x95 0xbf 0x4035 }
    unsigned char S3[]{0xf7 0xa4 0xc03 }
    unsigned char S4[]{0x660xbf 0x8020 }
    unsigned char S5[]{0x7f0xd1 0x803 }
    unsigned char S5[]{0x770xb5 0x803 }
    unsigned char S6[]{0x55 0xbf 0x8010 }

    函数main()运行while循环while循环调statusdis函数实现状态数组程序:
    while(1)
    {
    S0
    东西红灯南绿北红 0x59
    南左转绿灯北左转红灯 0x60
    等35秒 35
    statusdis(S0)

    S1
    东西红南北黄灯 0x11
    东西红灯3秒南北左转均黄灯 0x00
    等3秒 3
    statusdis(S1)
    S2
    东西红灯南红北绿 0x95
    南转左红灯北转左绿灯 0x90
    等35秒 35
    statusdis(S2)
    S3
    东西红灯南红北黄 0x04
    南转左红灯北转左绿灯 0x10
    等3秒 3

    statusdis(S3)
    S4
    东西绿灯南北红 0x66
    南转左红灯北转左红灯 0x50
    等20秒 20

    statusdis(S4)
    S5
    东西黄灯南红北绿 0x44
    南转左红灯北转左红灯 0x50
    等3秒 3
    statusdis(S5)
    }

    Statusdis()显示控制函数程序:
    void statusdis(unsigned char *status)
    {
    sec1+status[3]
    waittime2*sec
    time100
    while( waittime)等35秒
    {
    if(flag)
    {
    flag0
    time0
    sec1+status[3]
    waittime2*sec
    }
    jtdstatus[0] 东西南北灯状态
    jtdhstatus[1] 东西南北灯状态
    jtdljtdl&0x0f
    jtdljtdl|status[1] 南左转北左转灯状态
    p33status[2]
    if(p33&0x40)
    {
    NLR 1 北左转红灯
    }
    else
    {
    NLR 0
    }
    if(p33&0x80)
    {
    NLG 1 北左转绿灯
    }
    else
    {
    NLG 0
    }
    dissmg() 果句增强显示

    }
    }
    442 LED倒计时显示子程序
    4421 LED数码原理
    系统采8位动态数码显示控制数码显示数两部分组成部分笔段亮灭控制信号输入ABCDEFGDP端口输入控制位显示控制信号CS1CS2CS3端口输入时该动态数码显示采阴型数码单片机芯片P0口P4口引脚构成8位LED数码驱动电路P0口控制数码笔段显示P4口控制数码位显示阴型数码笔段引脚二极正极二极负极连起构成公端片选端种数码驱动求片选端提供电流PNP型三极作片选端驱动8三极三极发射机连起接负电源端基极分连P00P07P44P46样P00P07P44P46中某引脚输出高电时三极导通相应位数码供电该位数码笔段亮反果某引脚低电时三极导通相应数码供电该位数码否点亮点亮笔段取决笔段引脚高低电
    8位数码笔段连起通先留电阻接P0口究竟笔段亮取决P0口8根线输出高电低电原理理图中数码8笔划段ADP名端连起显示器公极COM独立受IO线控制CPU字段输出口送出字形码时显示器接收相字形码8NPN三极控制8位位工作具体数码电路原理图图45

    图45 数码电路原理图
    4422 LED数码引脚连接
    里利STC10F04单片机制作三位倒计时器作路口时间显示器P0P4口通三极接数码
    引脚接法表42余三路口样设计稍微修改程序
    表42 数码引脚连接
    P00
    P01
    P02
    P03
    P04
    P05
    P06
    P07
    6
    5
    4
    3
    2
    1
    9
    10
    P44(单片机29脚)
    P45(单片机30脚)
    P46(单片机31脚)
    7
    8
    11

    数码样显示1234呢?数码实际7发光组成8字形构成加数点8分命名ABCDEFGDP
    接法阴接法1(高电)亮0(低电)灭高低排列(P07P00)写成二进制转16进制根硬件接线数码显示数字编制成表格表43 直接调行

    表4522 阴极字型编码表
    显示
    P07
    A
    P06
    F
    P05
    E
    P04
    D
    P03
    DP
    P02
    C
    P01
    G
    P00
    B
    阴笔段码
    0
    1
    1
    1
    1
    0
    1
    0
    1
    0xf5
    1
    0
    0
    0
    0
    0
    1
    0
    1
    0x05
    2
    1
    0
    1
    1
    0
    0
    1
    1
    0xb3
    3
    1
    0
    0
    1
    0
    1
    1
    1
    0x97
    4
    0
    1
    0
    0
    0
    1
    1
    1
    0x47
    5
    1
    1
    0
    1
    0
    1
    1
    0
    0xd6
    6
    1
    1
    1
    1
    0
    1
    1
    0
    0xf6
    7
    1
    0
    0
    0
    0
    1
    0
    1
    0x85
    8
    1
    1
    1
    1
    0
    1
    1
    1
    0xf7
    9
    1
    1
    0
    1
    0
    1
    1
    1
    0xd7
    A
    1
    1
    1
    0
    0
    1
    1
    1
    0xe7
    B
    0
    1
    1
    1
    0
    1
    1
    0
    0x76
    C
    1
    1
    1
    1
    0
    0
    0
    0
    0xf0
    D
    0
    0
    1
    1
    0
    1
    1
    1
    0x37
    E
    1
    1
    1
    1
    0
    0
    1
    0
    0xf2
    F
    1
    1
    1
    0
    0
    0
    1
    0
    0xe2

    段码位
    D7
    D6
    D5
    D4
    D3
    D2
    D1
    D0
    显示段
    A
    F
    E
    D
    DP
    C
    G
    B

    4423 动态扫描
    电路中动态扫描显示方法动态LED显示程序中需停扫描字位口实现字位数动态显示效果
    动态口采数码循环轮流显示方法次数码显示显示8位数必须数码轮流显示时数码显示时间约1ms4ms间保证正确显示必须隔1ms刷新数码刷新时间采单片机定时计数器0控制定时1ms数码刷新次T0采方式2
    进行数码显示时候显示单元开辟8显示缓区显示缓区装显示数
    现实字形码数采查表方法完成
    数码动态显示接口单片机中应广泛种显示方式动态驱动数码8显示笔划abcdefgdp名端连起外数码公极COM增加位选通控制电路位选通独立IO线控制单片机输出字形码时数码接收相字形码究竟数码会显示出字形取决单片机位选通COM端电路控制需显示数码选通控制开该位显示出字形没选通数码会亮通分时轮流控制数码COM端数码轮流受控显示动态驱动轮流显示程中位数码点亮时间1~2ms视觉暂留现象发光二极余辉效应实际位数码非时点亮扫描速度足够快印象组稳定显示数会闪烁感动态显示效果静态显示样够节省量IO端口功耗更低
    4424 数码显示程序功
    (1)定义阴极字型编码表
    确定发光数码字型应单片机中变量参数

    系统程序中阴极字型编码表定义:

    Unsigned char code md[]{0xf50x050xb30x970x470xd60xf60xa1850xf70xd70xe70x760xf00x370xf20xe20x00} 0123456789ABCDEF

    LED数码显示某数字时需调md[]函数中相应数字驱动数码

    (2)显示
    字型字位址字位送数进行数显示显示容包括位十位取模取余确定结果分两6位数码显示(东南西北四路口三)
    程序中LED数码位十位定义:
    shu03510
    shu13510
    程序采三位LED数码程序中必须LED数码位选择进行判断显示系统中位判断显示程序:
    unsigned char shu0shu1shu2tc0
    void dissmg()
    {
    if(tc0) { smdismd[shu0] weishuang0 0 weishuang1 1 weishuang2 1 }
    else if(tc1) { smdismd[shu1] weishuang0 1 weishuang1 0 weishuang2 1 }
    else if(tc2) { smdismd[shu2] weishuang0 1 weishuang1 1 weishuang2 0 }
    }

    判断tc值012进根tc值执行相应if语气else if语气假tc0执行第条if语气md[]数组中选shu0相应值赋smdis判断出LED数码位选择两else if语气类似
    45键盘扫描模块
    中断概念:中断时指中央处理器CPU正执行程序处理某件事情时候外部发生某件事情请求CPU马处理CPU暂时中断前工作转入处理发生事情处理完返回原中断方继续原工作
    中断系统般应功:
    (1)实现中断返回
    某中断源发出中断申请时允许响应中断请求 CPU必须现指令执行完断点处
    PC值(条应执行指令址)压入堆栈保存起称保护断点硬件动完成
    (2)保护现场
    响应中断请求关寄存器容标志位压入堆栈保存起称保护现场
    (3)恢复现场
    执行中断服务程序恢复原保留寄存器容标志位状态称恢复现场执行返回指令
    中断系统介绍:51系列单片机中断系统8位单片机中功较强提供5中断源(52子系列6)具两中断优先级实现两级中断嵌套
    (1) 基概念
    15中断源
    外部中断源:INT0INT1部中断源:定时器计数器01溢出中断串口中断(TR)定时器时溢出会产生中断计数器方式时溢出时会引起中断
    2中断允许部分
    源允许中断总允许中断二者时允许(接通)时产生中断(中断允许寄存器IE控制)
    3中断优先级部分
    中断优先级寄存器IP控制设置成高低优先级
    4查询硬件中断源标识符中断矢()量
    查询中断申请中断排中断响应次序设置相应中断源标识符CPU申请中断CPU响应中断时中断矢量单元中取出中断服务程序入口址程序转中断服务程序
    (2) 中断允许寄存器IE
    中断允许寄存器字节寻址位寻址控制字示
    EA
    X
    ET2
    ES
    ET1
    EX1
    ET0
    EX0
    IE7 IE6 IEO
    EA中断总允许位EA0时关闭总开关禁止切中断EA1时接通总开关中断源请求传CPU
    IE6:保留位
    ET2:定时器计数器2溢出中断允许位0时禁止该类中断1时允许该类中断
    ES:串行口收发中断允许位0时禁止该类中断1时允许该类中断
    ET1:定时器计数器1溢出中断允许位0时禁止该类中断1时允许该类中断
    EX1:外部中断0(INT0P32)允许位0时禁止该类中断1时允许该类中断
    ET0:定时器计数器0溢出中断允许位0时禁止该类中断1时允许该类中断
    EX0:外部中断0(INT0P32)允许位0时禁止该类中断1时允许该类中断
    需注意某中断源中断申请响应必须保证EA1相应允许位1例定时器0外部中断0中断响应必须保证EAET0EX01
    通面中断允许寄存器解释结合设计程序中断初始化:

    EA 1
    ET0 1
    EX01
    EX10
    知允许中断条件:总允许中断源允许中断接通产生中断EA1ET01EX01出初始化程序设定定时器T0外部中断INT0中断
    EA1EX10出初始化程序设定禁止外部中断INT1中断
    (3) 中断优先级控制寄存器IP



    PS
    PT1
    PX1
    PT0
    PX0
    PX0:外部中断0优先级设置位
    PX1:外部中断1优先级设置位
    PT0:定时器计数器中断0优先级设置位
    PT1:定时器计数器中断1优先级设置位
    PS 串行中断优先级设置位
    中断优先级分高低两级位0时低优先级位1时高优先级
    中断优先级控制原:
    1 低优先级中断请求断高优先级中断处理反
    2 果中断请求已响应级中断响应应禁止
    3 时收级中断请求时首先中断服务取决单片机部查询序相种优先级时存辅助优先级结构


    中断源
    级优先级
    外部中断0

    定时器计数器0溢出中断

    外部中断1

    定时器计数器1溢出中断

    串行口


    系统程序中中断优先级初始化:

    PT01 设置定时器0高优先级
    PX00 设置外部中断0低优先级
    PX10 设置外部中断1低优先级

    通面程序知T0优先级高然外部中断INT0外部中断INT1优先级低定时器T0运行时外部中断INT0INT1断T0禁止响应外部中断INT1运行期间假定时器T0外部中断响应优先级先序系统先运行定时器T0T0运行完运行INT0INT0运行完INT1执行中断服务
    (4) 定时器控制寄存器TCON
    寄存器TCON址88HTCON定时器计数器控制功中断控制功中中断关控制位6位格式位含义:
    TF1

    TF0

    IE1
    IT1
    IE0
    IT0
    IT0选择外部中断INT0中断触发方式IT00时采电触发方式IT01时采脉触发方式
    IT1:选择外部中断INT1中断触发方式功IT0类
    IE0:外部中断INT0中断请求标志位检测INT0引脚中断请求信号时位硬件置1中断响应完成转中断处理子程序时硬件动清0
    IE1外部中断INT1终端请求标志位功IE0类似
    TF0片定时器计数器0溢出中断请求标志位定时器计数器0溢出发生时位硬件置1中断响应完成转中断处理子程序时硬件动清0
    TF1:片定时器计数器1溢出中断请求标志位功TF0类
    定时器控制寄存器解释结合系统定时器控制寄存器初始化程序:
    IT00
    IT11
    知外部中断INT0INT1中断触发方式
    外部中断服务子程序处理紧急情况紧急车通时通工控制2方车停止运行点亮红灯持续10s次中断时恢复前状态标志位FLAG半段第次进入恢复状态外部中断服务子程序流程图图46

    CPU响应中断


    调控制函数statusdis运行紧急控制

    中断前程序保护断点




    恢复现场

    转入INT0中断服务入口




    中断返回


    保护现场




    图46 INT0紧急情况中断处理流程图

    设计程序中处理紧急情况中断函数:
    Void int_int0() interrupt 0 using 2
    {
    unsigned char waittimelsec1time1jtd1jtdh1p331 进中断时保存现场
    EX00禁止外部中断0
    waittime1waittimesec1sectime1timejtd1jtdjtdh1jtdhp331p33赋值
    statusdis(S6)调紧急控制函数
    waittimewaittime1secsec1timetime1jtdjtd1jtdhjtdh1p33p331取值
    EX01允许外部中断0
    }



    中断入口




    显示
    0次

    中断前程序保护断点

    YES

    NO
    显示A
    1次
    YES
    定义变量


    NO
    显示B
    2次
    开中断
    YES


    NO
    显示C
    3次
    延时抖
    YES


    键扫描

    NO

    返回
    恢复现场
    延时抖



    图47 INT1方程式控制中断流程图

    方程式状态控制中断函数:

    void int_int1() interrupt 2 using 3
    {
    unsigned long k定义变量k
    EX10禁止外部中断1避免死循环
    for(k65000k>0k) dissmg() 句延时抖增强显示
    fangshi++ 运行方式控制加
    flag1
    if(fangshi>4) fangshi0
    switch(fangshi)
    {
    case 0 默认运行方式
    S2[3]S0[3]35
    S4[3]20

    shu216 显示
    break
    case 1
    S2[3]S0[3]50南北方通车时间变50s
    S4[3]20东西方通车时间变20s

    shu210 显示A
    break
    case 2
    S2[3]S0[3]60南北方通车时间变60s
    S4[3]30东西方通车时间变30s

    shu211 显示B
    break
    case 3
    S2[3]S0[3]35南北方通车时间变35s
    S4[3]35东西方通车时间变35s

    shu212 显示C
    break
    default

    break
    }
    for(k80000k>0k)
    dissmg() 句延时抖增强显示
    EX11允许外部中断1
    }
    车流量增设置正常系统运行时间控制交通灯交运行未路口车快通十字路口导致交通拥挤堵塞时通工手动方程式控制开关钮A1改善路口交通状况方车更快通路口达减轻交通负担交通更合理具更实际作
    次A1方程式控制钮时交通系统A方程式状态指挥路口A方程式控制时方状态量改变: 南北方通车时间增设60s东西方通车时间增设30s
    两次A1方程式控制开关钮时系统B方程式状态量指挥交通路口B方程式控制时两方状态量:南北方通车时间变35s东西方通车时间变35s
    三次A1方程式控制开关钮时系统C方程式状态量指挥交通路口C方程式控制时两方状态量:南北方东西方通车时间35s
    针时候十字交通路口状况车流量增时根实际情况决定选方程式控制交通灯达佳效果避免十字路口常出现干道车辆 放行时间短 车流法规定时间通影响
























    5 调式总结
    设计设计城乡十字路口交通灯设定正常状态情况增加紧急中断钮方程式控制钮通两钮解决急车强行车流量变化增加时状态改变问题明白设计原理基础改变状态数组适路口
    程序调式程中程序运行1秒没计数变量time清0导致数码显示出错没预先设定时间显示设定1秒时计数变量time清0解决问题P3口作IO口P3口第二功开始写程序时P3口P1P2起定义导致显示混乱通研究单独定义P3口解决问题开始写程序时外部中断没写延时抖语句导致单片机没准确读取外部中断加解决问题




























    6 致 谢
    次设计文完成际首先指导老师周坚老师表示真挚谢
    意设计程文写作期间正周老师指点利完成设计
    次感谢学四年位老师悉心教导设计围绕单片机设计需数电模电电路设计C语言等方方面面知识
    老师指导学帮助加努力设计利完成
    学识限设计中文中难免错欢迎位老师设计提出宝贵意见






























    参考文献
    1 张志良单片机原理控制技术 机械工业出版社
    2 王守中51单片机开发入门典型实例 民邮电出版社
    3 刘守义单片机应技术西安电子科技学出版社
    4 余锡存单片机原理接口技术西安电子科技学出版社




































    附 录
    附录 程序清单
    C语言编写交通灯控制程序:
    晶振110592M 定时器0定时方式125ms常数a60010ms常数dc005ms常数ee00
    全红0x55全绿0xaa全黄0x00南北红东西绿0x66南北绿东西红0x99
    #include
    sfr smdis 0x80
    sfr jtd 0xa0
    sfr jtdh 0x90
    sfr P4 0xC0
    sfr P4SW 0xBB

    sbit weishuang0 P4^4
    sbit weishuang1 P4^5
    sbit weishuang2 P4^6

    sbit NLR P3^6
    sbit NLG P3^7

    unsigned char code md[]{0xf50x050xb30x970x470xd60xf60x85
    0xf70xd70xe70x760xf00x370xf20xe20x00}
    0123456789AbCdEF
    unsigned char time0
    unsigned char sec10
    unsigned char waittime10
    unsigned char p33
    unsigned char fangshi0

    bit flag0 运行方式控制立转换标志
    状态数组中第数字P2口数北红绿西红绿南红绿东红绿
    第二数字P1口数北(P10)西南东黄灯南左黄灯北左黄
    南左红(P16)绿(P16)
    第二数字P3口数仅P36接北左红P37接北左绿
    unsigned char S0[]{0x59 0x7f 0x8035 } 状态S0
    unsigned char S1[]{0xdd 0xca 0xc03 } 状态S1
    unsigned char S2[]{0x95 0xbf 0x4035 } 状态S2
    unsigned char S3[]{0xf7 0xa4 0xc03 } 状态S3
    unsigned char S4[]{0x660xbf 0x8020 } 状态S4
    unsigned char S5[]{0x7f0xd1 0x803 } 状态S5
    unsigned char S5[]{0x770xb5 0x803 } 状态S5
    unsigned char S6[]{0x55 0xbf 0x8010 } 状态S6中断状态紧急控制状态

    unsigned char shu0shu1shu2tc0
    void dissmg()
    {
    if(tc0) { smdismd[shu0] weishuang0 0 weishuang1 1 weishuang2 1 }
    else if(tc1) { smdismd[shu1] weishuang0 1 weishuang1 0 weishuang2 1 }
    else if(tc2) { smdismd[shu2] weishuang0 1 weishuang1 1 weishuang2 0 }
    }
    ****************************************************
    定时中断程序
    ****************************************************

    void int_t0() interrupt 1 using 1
    {
    TR0 0
    time++ tc++
    if(tc>3) {tc0}
    if(time100)
    {
    waittime
    }
    else if(time200)
    {
    waittime
    sec
    time0
    shu0sec10
    shu1 sec10
    }
    TH0 0xee
    TL0 0x00
    if(tc0) { smdismd[shu0] weishuang0 0 weishuang1 1 weishuang2 1 }
    else if(tc1) { smdismd[shu1] weishuang0 1 weishuang1 0 weishuang2 1 }
    else if(tc2) { smdismd[shu2] weishuang0 1 weishuang1 1 weishuang2 0 }
    if(tc>3) {tc0}
    TR0 1
    }
    ****************************************************
    显示控制函数
    *****************************************************
    void statusdis(unsigned char *status)
    {
    sec1+status[3]
    waittime2*sec
    time100
    while( waittime)
    {
    if(flag)
    {
    flag0
    time0
    sec1+status[3]
    waittime2*sec
    }

    jtdstatus[0] 东西南北灯状态
    jtdhstatus[1] 东西南北灯状态
    jtdljtdl&0x0f
    jtdljtdl|status[1] 南左转北左转灯状态
    p33status[2]
    if(p33&0x40)
    {
    NLR 1 北左转红灯
    }
    else
    {
    NLR 0
    }
    if(p33&0x80)
    {
    NLG 1 北左转绿灯
    }
    else
    {
    NLG 0
    }
    dissmg() 果句增强显示

    }
    }
    ****************************************************
    中断程序
    ****************************************************
    void int_int0() interrupt 0 using 2
    {
    unsigned char waittime1sec1time1jtd1jtdh1p331 进中断时保存现场
    EX00
    waittime1waittimesec1sectime1timejtd1jtdjtdh1jtdhp331p33
    statusdis(S6) waittimewaittime1secsec1timetime1jtdjtd1jtdhjtdh1p33p331
    EX01
    }

    void int_int1() interrupt 2 using 3
    {
    unsigned long k
    EX10
    for(k65000k>0k)
    dissmg() 句延时抖增强显示
    fangshi++
    flag1
    if(fangshi>4) fangshi0
    switch(fangshi)
    {
    case 0 默认运行方式
    S2[3]S0[3]35
    S4[3]20

    shu216 显示
    break
    case 1
    S2[3]S0[3]50
    S4[3]20

    shu210 显示A
    break
    case 2
    S2[3]S0[3]60
    S4[3]30

    shu211 显示b
    break
    case 3
    S2[3]S0[3]35
    S4[3]35

    shu212 显示C
    break
    default

    break
    }
    for(k80000k>0k)
    dissmg() 句延时抖增强显示
    EX11
    }
    ********************************************
    程 序
    ********************************************
    void main()
    {
    unsigned int i
    P4SW0xff P4口设置成IO口
    TMOD0x01 定时器0方式1
    ********************************************
    中断入口程序
    ********************************************
    TH0 0xee
    TL0 0x00
    EA 1
    ET0 1
    PT01
    PX00
    PX10
    EX01
    IT00
    EX11
    IT11
    TR0 1
    shu03510
    shu13510
    hu216 显示
    ****************************************************
    显示程序
    ****************************************************
    statusdis(S5) while(1)
    while(1)
    {
    S0
    东西红灯南绿北红 0x59
    南左转绿灯北左转红灯 0x60
    等35秒 35

    statusdis(S0)

    S1
    东西红南北黄灯 0x11
    东西红灯3秒南北左转均黄灯 0x00
    等3秒 3
    statusdis(S1)
    S2
    东西红灯南红北绿 0x95
    南转左红灯北转左绿灯 0x90
    等35秒 35
    statusdis(S2)
    S3
    东西红灯南红北黄 0x04
    南转左红灯北转左绿灯 0x10
    等3秒 3

    statusdis(S3)
    S4
    东西绿灯南北红 0x66
    南转左红灯北转左红灯 0x50
    等20秒 20

    statusdis(S4)
    S5
    东西黄灯南红北绿 0x44
    南转左红灯北转左红灯 0x50
    等3秒 3
    statusdis(S5)
    }

























    附录二 交通灯PCB图



















    附录三 交通灯电路原理图





    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 35 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    开题报告-基于单片机的交通灯设计

    开题报告电气工程及自动化基于单片机的交通灯设计一、综述本课题国内外研究动态,说明选题的依据和意义当今社会,随着日益增长的社会发展,人们对于社活的水平也日益提高,不仅在物质享受方面有所提高,在精...

    4年前   
    1247    0

    基于单片机的交通灯显示系统的设计与研究课程设计

     XX学院课程设计课 程 单片机课程设计 题 目 交通灯系统 院 系 机电系 ...

    3年前   
    898    0

    单片机交通灯课程设计交通信号灯设计

    课程设计课程名称: 交通信号灯设计    学 院: 专 业: 测控技术与仪器 姓名: 学 号: ...

    3年前   
    834    0

    基于VHDL语言的交通灯设计

     基于VHDL语言的 交通灯设计 专业班级: 应电班 作 者: 指导老师: ...

    5年前   
    1249    0

    基于plc的交通灯的设计课程设计

    任务说明书一、 控制要求:1、系统控制示意图由十字路口交通灯示意图可以知道,在南北和东西主干道上各有一盏红绿灯;在南北和东西人行道上各有一盏红灯和绿灯。2、控制要求 启动及停止按钮的控制...

    3年前   
    880    0

    基于51单片机的定时闹钟设计单片机课程设计

    单片机 课 程 设 计 报 告 院系: 信息工程学院 ...

    1年前   
    487    0

    PLC交通灯设计教案生活中的交通灯人生中的红绿灯

    《生活中的交通灯 人生中的红绿灯》专业年级: 机电技术应用专业二年级授课教师: 授课班级: 班教材:高教版《PLC技术及...

    3年前   
    777    0

    基于单片机的时钟设计

    随着时间的推移,事物的发展越来越趋向于高科技,单片机的出现,受到了社会各界的广泛关注,这是由于单片机具备丰富的功能。单片机的特点为:尺寸小,价格低,抗干扰强,开发容易等。运用的范围也很广,如检测...

    4年前   
    1028    0

    单片机课程设计报告

    1 方案设计与论证1.1 硬件总体设计设计并制作一个基于单片机的数字电压表的电路其结构框图如图 1-1 所示: 图1-1 硬件结构框图(1)单片机最小系统电路部分 (2)数码管显示部分(3) ...

    5年前   
    1662    0

    S-51单片机开发板设计《单片机及应用设计》实训报告

    S-51单片机开发板设计 ---------《单片机及应用设计》实训报告姓 名: 学 号: ...

    3年前   
    653    0

    单片机简易电子琴单片机课程设计

    XX学院课程设计报告课程名称:单片机原理及应用课程设计设计题目: 电子琴设计 系 别: 通信与控制工程系 专 ...

    2年前   
    489    0

    单片机课程设计报告基于单片机的温控系统

    职业学院机械与电子工程学院基于单片机温控系统课程设计报告班 级 电信班 学生姓名 学 号 指导教...

    3年前   
    989    0

    基于plc的智能交通灯控制系统设计毕业论文

    PLC可编程序控制器是以微处理器为基础,综合了计算机技术、自动控制技术和通讯技术发展而来的一种新型工业控制装置。它具有结构简单、编程方便、可靠性高等优点,已广泛用于工业过程和位置的自动控制中。

    4年前   
    3093    0

    上海大学数字电子技术课程设计交通灯

    电子技术课程设计报告——交通灯控制电路XX大学机自学院自动化系自动化 专业姓名:学号:指导老师: 2018年X月X日一、 主要用途:交通信号灯使交通得以有效管制,对于疏导交通流量、提高道路通行...

    3年前   
    538    0

    基于89C51的交通灯控制系统设计

    自从1858年英国人发明了原始的机械扳手交通灯之后,随后的一百多年里,交通灯改变了交通路况,也在人们日常生活中占据了重要地位,随着人们社会活动日益增加,经济发展,汽车数量急剧增加,城市道路日渐拥...

    5年前   
    1324    0

    单片机红外遥控系统设计

     单片机红外遥控系统设计 摘要:本文设计了一种基于AT89S52单片机的红外遥控系统,可用于控制多种电器的开关,交流电机的转速及启停等方面。阐述了发射部分和接收部分的设计原理和工作...

    5年前   
    1112    0

    单片机课程设计实习报告

    单片机课程设计实习报告  实训任务:  做单一灯的左移右移,八个发光二极管l1-l8分别接在单片机的p1.0→p1.2→p1.3┅→p1.7→p1.6→┅→p1.0亮,重复循环3次。然后左移2...

    11年前   
    812    0

    基于单片机的电子琴设计

    综合课程设计题 目:可演奏的电子琴 学 院:管理科学与工程学院可演奏的电子琴摘要:随着社会的发展进步,音乐逐渐成为我们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。我们...

    2周前   
    67    0

    基于单片机的数控恒流源设计

    该数控直流恒流源采用模块化,主要由单片机控制模块、键盘输入模块、A/D转换模块、恒流源模块、D/A转换模块和显示模块六部分组成。通过开关和按钮的设置,配合AT89S52单片机的编程实现数字控制及...

    3年前   
    906    0

    基于凌阳单片机的红外通信接口设计

    科 研 训 练 报 告报告题目:基于凌阳单片机的红外通信接口设计姓 名 院(系) 电气与电子工程学院 ...

    2年前   
    388    0

    文档贡献者

    山***1

    贡献于2019-05-18

    下载需要 35 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档