雷锋杰定稿 - 图文(6)

2019-04-17 14:38

中国地质大学江城学院毕业设计(论文)

附 录

1 系统原理图

S1B109S2B C8E7D6CEDS1LEDDR G Y D4D5D6D9D8D7 YGR S1FAdpG1G GdpAF23A4F5S2 LEDB GAFS4 G1dp2A3F4S15 D12S2BCED 109876S3BCED LEDBDECBS3 D6E7C8B9S210 54321 S4FAG S2FA5432D11D10 RGYY G 1GS1FAdpGR 6D1D2D3 DECBS2LEDD78910DECBVCCS1Q19012SPEAKER 2K4LS 4qiehuan 12

34K6R5 2.2K 1dec P30102RP2 R8R79R68R57R46R35R24R13COM21 VCC ABCDEFG1817161514131211 RP110K(A8)P2.0(A9)P2.1(A10)P2.2(A11)P2.321(A12)P2.4G122(A13)P2.5Y123(A14)P2.6R124(A15)P2.7G225Y226ALE/PROGR2PSEN2728EA/VPP(AD7)P0.729(AD6)P0.630(AD5)P0.5VCC31R8(AD4)P0.432R79(AD3)P0.3G033R68(AD2)P0.2F034R57(AD1)P0.1E035R46(AD0)P0.0D036R35C037R24B038COMR13A0VCC392401VCC VCC74HC24512MHzGNDXTAL1XTAL2P3.7(RD)20P3.6(WR)19 C322 addK5AT89C51U1 642 18P3.5(T1)17P3.4(T0)P3.3(INT1)16P3.2(INT0)15P3.1(TXD)14P3.0(RXD)131211RST10P1.7P1.69P1.58P1.47P1.36P1.25P1.14P1.0321 2 34Y1 12C222 34okK7 12 P30 K3 34nbS4S3S2S1 2 12 34dx553311S12 B0B1B2B3B4B5B6B7A0A1A2A3A4A5A6A7DIRE3456789A0B0C0D0E0F0G0191 642K0 4SY2 4K2 12 P11 POWER 1 VCCR 1C4+ 23 3 310uF 34stopR2 10KK1 1 3

21

中国地质大学江城学院毕业设计(论文)

2 实物图

22

中国地质大学江城学院毕业设计(论文)

3 程序

#include

#define uchar unsigned char #define uint unsigned int

uchar data buf[4];

uchar data sec_dx=20; //东西数默认 uchar data sec_nb=30; //南北默认值

uchar data set_timedx=20; //设置东西方向的时间 uchar data set_timenb=30; //设置南北方向的时间 int n;

uchar data countt0;//定时器0中断次数 //定义5组开关

sbit k4=P3^7; //切换方向 sbit k1=P3^5; //时间加 sbit k2=P3^6; //时间减 sbit k3=P3^4; //确认 sbit k5=P3^1; //禁止 sbit k6=P1^5; //夜间模式

// P3^2 //只允许东西方向通行,中断0 // P3^3 //只允许南北方向通行,中断1

sbit Red_nb=P2^6; //南北红灯标志 sbit Yellow_nb=P2^5; //南北黄灯标志 sbit Green_nb=P2^4; //南北绿灯标志

sbit Red_dx=P2^3; //东西红灯标志 sbit Yellow_dx=P2^2; //东西黄灯标志 sbit Green_dx=P2^1; //东西绿灯标志

sbit Buzz=P3^0; bit Buzzer_Indicate;

bit set=0; //调时方向切换键标志 =1时,南北,=0时,东西 bit dx_nb=0; //东西南北控制位 bit shanruo=0;

uchar code table[11]={ //共阴极字型码 0x3f, //--0 0x06, //--1 0x5b, //--2 0x4f, //--3 0x66, //--4 0x6d, //--5 0x7d, //--6 0x07, //--7

23

中国地质大学江城学院毕业设计(论文)

0x7f, //--8 0x6f, //--9

0x00 //--NULL };

//函数的声明部分

void delay(int ms); //延时子程序 void key(); //按键扫描子程序 void key_to1(); //键处理子程序 void key_to2(); void key_to3();

void display(); //显示子程序 void logo(); //开机LOGO void Buzzer(); //主程序 void main() {

TMOD=0X11; //定时器设置

TH0=0X3C; //定时器0置初值 0.05S TL0=0XB0;

EA=1; //开总中断

ET0=1; //定时器0中断开启 TR0=1; //启动定时0 EX0=1; //开外部中断0 EX1=1; //开外部中断1 logo();

P2=0Xc3; // 开始默认状态,东西绿灯,南北黄灯 sec_nb=sec_dx+5; //默认南北通行时间比东西多5秒 while(1) {

key(); //调用按键扫描程序 display(); //调用显示程序 Buzzer(); } }

//函数的定义部分

void key(void) //按键扫描子程序 {

if(k1!=1) //当K1(时间加)按下时 {

display(); //调用显示,用于延时消抖 if(k1!=1) {

TR0=0; //关定时器 shanruo=0;

24

中国地质大学江城学院毕业设计(论文)

P2=0x00; if(set==0)

set_timedx++; //南北加1S else

set_timenb++; //东西加1S if(set_timenb==100) set_timenb=1;

if( set_timedx==100)

set_timedx=1; //加到100置1

sec_nb=set_timenb ; //设置的数值赋给东西南北 sec_dx=set_timedx; // do {

display(); }

while(k1!=1); } }

if(k2!=1) //当K2(时间减)按键按下时 {

display(); //调用显示,用于延时消抖 if(k2!=1) {

TR0=0; //关定时器 shanruo=0; P2=0x00; if(set==0)

set_timedx--; //南北减1S else

set_timenb--; //东西减1S if(set_timenb==0) set_timenb=99; if( set_timedx==0 )

set_timedx=99; //减到1重置99

sec_nb=set_timenb ; //设置的数值赋给东西南北 sec_dx=set_timedx; do {

display(); //调用显示,用于延时 }

while(k2!=1); } }

25


雷锋杰定稿 - 图文(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:倾情赠送:智能化弱电系统解决方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: