红绿灯程序

红绿灯程序

ID:68783299

大小:127.50 KB

页数:6页

时间:2021-10-20

红绿灯程序_第1页
红绿灯程序_第2页
红绿灯程序_第3页
红绿灯程序_第4页
红绿灯程序_第5页
红绿灯程序_第6页
资源描述:

《红绿灯程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、交通灯硬件原理图及说明一、实验目的1、掌握8255与显示器的接口方法和编程方法。2、掌握数码管的工作原理及编码。3、掌握交通灯工作原理、及电路其控制程序的设计方法。二、实验内容与要求实验电路如图所示,交通灯套件是通过接口平台板中二十六芯插座引出来的并口实验。PA0-2控制(G1、Y1、R1),PA3-5控制(G2、Y2、R2),PC0-2控制(G3、Y3、R3),PC5-7控制(G4、Y4、R4),所有的并口控制信号都先通过74LS04引出。12个灯的另一端接A472J的排阻再接到地。PB口接数码管的8个控制引脚。PC3、PC4分别接两个数码管片选引脚

2、(低电平有效)。电路分析如下:PA0-5是用来控制北面和西面的交通灯(分别为红,黄,绿),PC0-2,PC5-7是用来控制南面和东面的交通灯(分别为红,黄,绿).PB口是来控制数码管.了解了原理图就可以很容易的在程序来编写,使交通灯可以正常运行.原理图如下:数码管管脚图共阴极数码管编码表数字dpgfedcba位选高电平有效(H)0001111113F100000110062010110115b3010011114F401100110665011011016D6011111017D700000111078011111117F9011011116F实验要求

3、实现功能如下:  实现南北、东西交通车辆直行红绿灯控制。南北两面亮起绿灯的时候,东西两面就会亮起红灯.并而这时中间的数码会以50为倒计时,当倒计时为5时,南北两的的绿灯熄灭,黄灯亮起.东西两面的红灯不变.直到倒计时为0时.东西两面亮绿灯,南北两面亮红灯.如此死循环.模拟生活中的交通灯.参考程序(C语言):#include#include#includeintEast_west();intSouth_north();voidmain(){printf("************************

4、**********************");printf("*Advertthetrafficlight--Becarefull!*");printf("**********************************************");outportb(0x303,0x80);do{outportb(0x300,0x24);outportb(0x302,0x21);East_west();outportb(0x300,0x09);outportb(0x302,0x84);South_north();}while

5、(1);}intEast_west(){intset[2]={0x29,0x31};intxu[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};inta,b,t,buf1,num;for(num=50;num>0;num--){a=num%10;b=num/10;buf1=xu[a];if(num>=15){for(t=0;t<2;t++){outportb(0x302,set[t]);outportb(0x301,buf1);if(t==1)delay(300);elsedelay(20

6、);buf1=xu[b];}}else{outportb(0x300,0x24);outportb(0x302,0x42);intset[4]={0x4a,0x08,0x52,0x10};for(t=0;t<4;t++){outportb(0x302,set[t]);outportb(0x301,buf1);if(t==3)delay(300);elsedelay(20);buf1=xu[b];}}}}intSouth_north(){intset[2]={0x8c,0x94};intxu[10]={0x3f,0x06,0x5b,0x4f,0x66,0

7、x6d,0x7d,0x07,0x7f,0x6f};inta,b,t,buf1,num;for(num=50;num>0;num--){a=num%10;b=num/10;buf1=xu[a];if(num>=15){for(t=0;t<2;t++){outportb(0x302,set[t]);outportb(0x301,buf1);if(t==1)delay(300);elsedelay(20);buf1=xu[b];}}else{outportb(0x300,0x12);delay(30);outportb(0x302,0x84);intset[

8、2]={0x8c,0x94};for(t=0;t<2;t++){outportb(0x302,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。