![单片机C语言程序设计实训100例:基于STC8051+Proteus仿真与实战](https://wfqqreader-1252317822.image.myqcloud.com/cover/270/43738270/b_43738270.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
3.4 LED模拟交通灯
LED模拟交通灯电路如图3-5所示,12只LED分成东西向和南北向两组,各组指示灯均有相向的2只红色、2只黄色与2只绿色的LED,并在程序中对各LED单独进行位定义。程序运行时模拟了十字路口交通指示灯的切换过程与显示效果。
![](https://epubservercos.yuewen.com/DF9E4A/23020648309755406/epubprivate/OEBPS/Images/42553-00-61-1.jpg?sign=1739307353-n3OoaHJvRZz9Di9TjhBQzY68fmUSHhPL-0-01fd079d6a3d8bf2f40374fbb3ebb8f3)
图3-5 LED模拟交通灯电路
1. 程序设计与调试
在程序中,用6行sbit对东西和南北向的红、黄、绿指示灯分别进行定义,以便独立控制各路指示灯。在仿真程序中,将交通指示灯切换时间设置得较短,以便调试时较快观察到运行效果。在真实的交通灯应用中,还要考虑准确的定时问题、数字的显示问题及功率驱动问题等。
2. 实训要求
① 修改程序,模拟实际应用中的交通指示灯切换过程。
② 在掌握后续有关蜂鸣器的程序设计后,添加黄灯闪烁的提示音输出功能。
3. 源程序代码
![](https://epubservercos.yuewen.com/DF9E4A/23020648309755406/epubprivate/OEBPS/Images/42553-00-61-2.jpg?sign=1739307353-9Ab5P0RiKBTdoyUiw7NedBRVpJQf0M3n-0-b419463193d27c30af4b62ce715e6fd6)
![](https://epubservercos.yuewen.com/DF9E4A/23020648309755406/epubprivate/OEBPS/Images/42553-00-62-1.jpg?sign=1739307353-UHaLl6DSaQHMYdytcXSjoQWceu1aZxHD-0-7caa422e2dcbea9479012bdc1b1ed45c)
![](https://epubservercos.yuewen.com/DF9E4A/23020648309755406/epubprivate/OEBPS/Images/42553-00-63-1.jpg?sign=1739307353-7b0LPAsg35sKGD4d18YEOyGeiQPu4TBJ-0-a6b22b4b6e78a46df7a6825cd466c792)