![单片机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=1739455980-K1QLJTfoOXzcNQwNSrSFyJxUc5Egj872-0-a420ed0363f3a860492e470459bd7b78)
图3-5 LED模拟交通灯电路
1. 程序设计与调试
在程序中,用6行sbit对东西和南北向的红、黄、绿指示灯分别进行定义,以便独立控制各路指示灯。在仿真程序中,将交通指示灯切换时间设置得较短,以便调试时较快观察到运行效果。在真实的交通灯应用中,还要考虑准确的定时问题、数字的显示问题及功率驱动问题等。
2. 实训要求
① 修改程序,模拟实际应用中的交通指示灯切换过程。
② 在掌握后续有关蜂鸣器的程序设计后,添加黄灯闪烁的提示音输出功能。
3. 源程序代码
![](https://epubservercos.yuewen.com/DF9E4A/23020648309755406/epubprivate/OEBPS/Images/42553-00-61-2.jpg?sign=1739455980-RrGBVQn3r7Rj0EN10Yhf2pGu9O4hax13-0-8e9f099becc0e633a5232bba9b8e4ada)
![](https://epubservercos.yuewen.com/DF9E4A/23020648309755406/epubprivate/OEBPS/Images/42553-00-62-1.jpg?sign=1739455980-R5hNTn9qWaofj4Ucfr4c7N2LrS0r29e2-0-776310eecb25e6dd3eeba6c9dfdd6506)
![](https://epubservercos.yuewen.com/DF9E4A/23020648309755406/epubprivate/OEBPS/Images/42553-00-63-1.jpg?sign=1739455980-Fs8qhQHVs7k0T2mNLf9auT5YHkQm1Y57-0-2f2ad676df7df5cd5b1ea929e1e7b115)