交通灯程序STM8

/* nIludes -c-----------------------------------------------------------------*/

i#cnudel"stm 8.h"s

*我/按照是最简的方单写的法太,杂了我怕复他不懂 看实际过在程中还

要考需虑到东车西南的流量北;来实定现时时间的短*/长

///GIPOA 制控的是 南侧的北红黄绿

///PI _0 南 N红 PN_1I 南黄 IP2 南N绿 PN_4 I红 PI北N5 _黄北 PIN _6北绿

/// G/IPBO 控的是 东制侧的红黄西绿/

//PI N0_ 东 红 IPN1_ 东 PIN2 黄东绿 PIN_ 4 红西 INP5 _西黄 IN_6P 西绿

///PIOGC 对 南北东的西车数进辆登行

记8 urghti_un,melft_numea,s_tun,wmthenu_m/;///东南北西的辆计车数

8 uitme ;r//红/亮的灯时间

////红灯亮50 s 绿亮 4灯5s 灯闪黄5s

v

idoD elyusa(oid) v

{ asm

"nop("; //)一个sam"(opn)"数函经示过器波试代测1表0n0s

sam"(no"p;)

asm"no(")p;

ams"no(p"; ) }

/--/--毫 级秒延时序程---------------------- -

void elDymas(nsiguedn nittim )e

{

unigsen ditn ;i whi

le(imet-- ) f

roi=(900;i0;>i-- ) D

layeus();

}

ovi GPIOd_iint(viod//)/管脚初/始定义化

GPIO_De{nIi(GPtOIA); ///置GP设OIA六个管的脚口高推速挽出输G

PIO_Iit(GnIOPA, GPI_PINO0_|GIOPPIN__1G|PI_POIN2_|PIOGPI_N4_GPIO|PIN__|5GIP_PONI_6, PGOI_ODEM_UTO_PPH_IHGFA_ST;

GPIO_D)enIi(GtPOBI)/;//设置GPIB的O个管脚口六速推挽高输出GP

O_IIit(GPInOB,G IO_PIPN_|G0IPOPIN__1GP|IO_IPN2|_GPOIP_N_4I|GPIO_PI_5|NGPI_PION6, GPIO__OME_ODTU_PP_IHHGFA_TS)

;}

voi

dE XI_init(Tovid)///外中断初部化 始{

PGIODe_nitIGP(OCI;)////置G设IOC所有P脚管为口断输入中式模

GPI_OniI(tPIGCO, GPOI_PNIL_IBN, GIO_MOPD_IN_EUP_T)I

;

ETIX_eDniIt(;)////外部中断始化 仅在下初降触沿中断发

ETI_XSeExtIntSetsitnivtyi(XTI_POETR_GPOC, IXTEI_SNSETIIVTY_IFAL_LONL)Y;

}oidv IMT_Eiint(voi)d ////定器1初时化始{

TIM_1eDnit(I)/;//定器的时始初化 时时间为定1sTI

M_T1iemaseBnIit(x104F, TI01MCO_NTUEROMED_UP, x0308, 0x00);/E/设/定置时的模式为器相计上数式预模频值分0x1为f40

//自动重装/值为0载E8x复重计为数0x0

0TIM1C_d(mENBAEL);//定时/1器能

使IM1_ITToCfnig(TMI_IT_1UPDTEA ,ENABEL)//;/定时/1中断器使

TI能M1_RAPReroalCdonfgi(NAELBE);/////T

IM1_lCeraFaglTI(1_FMLGAUP_DTE)A//;//清除/断标志中T

I1MC_leaITPendingrBtiT(I1M_IT_UPADE);T///清/定除器时1更标志新

}

////////////**/**********/*//////////////

//////////////////*/*********主数应函**用*************8*////////////////////////////////

ovdimai (vnoi)d

{

GPI_iOnit()//;/管脚初/始定化

EXT义I_niti)(

;ITM_Eiit()n;

wileh1(

){if(timer

4)

5{

GPIOW_ire(GtIPAO, x01)1;///北红灯亮南

GIOPWr_ti(GPeOI, 0B4x4;/)东西/绿 亮灯

fi(itmr==45e)

{GP

O_IWrie(tGPOBI 0x00),;/东西绿灯/ 灭}

}

i(tiferm45>&t&meir

0{

GPO_WIrite(GIOP,A x101);///南北灯红续继亮

PGO_WIiterReveserGPI(BO,G IO_PPIN_1) ;///西东灯闪黄

GPI_WOiretReersv(eGIPB, OPGI_OPI_5)N /;/东西/灯黄闪

}

i(tifmer5)

0{

GIP_WOrite(GPIOB,0x 1);1//东/红西亮灯

GPIO_Wirt(GPeOI, 0A4x);//南4绿灯北亮

f(tiimre==9)5

{

PGOI_rWtei(PGIO,A0 x00;)/南北绿灯 亮 /

}

}

if(t

imer95>&ti&erm

/{G

PI_Write(GOPOI, 0B11)x;///东西红灯续亮继

GPO_IWiteReverse(GPIrOA G,PO_PIN_1I) ;//南/黄北闪灯

GPIO_WrietRevrse(eGPIOA,GPI O_INP5); _

}

if(timre>01)0

{

itmer0;=}

}}

/*

***************** *()CCO YRIPHGT2 011 SMiTcreolceroticns *****ND EOF FLE*I**/*

#if

ef dSU_FUEL_LSASRTE

/***

@birfe Reports tehn am eo tfh sourece fie lndath soeuce lrie numnebr

* w erehthe asse t_rpraa merrorha s occrrud.e*

@pa ram ilf:epoint reto t h eosrue fcie nlae

* @paramml ine:a sesr_tparma reor linreso urec umbenr*

@etvarl: onN

e/*

vio dasser_tfailde(u8 *fli,e 32 uilne

{)

/ U*ers an cda hidso nwimp ementatiolnto repo t trh eflein aema d niln eunmbr,ee

x:pri nft("Wong prraaetmers valeu: ile %s ofnli e n%dr\n\" f,ile, lie) *n

/*/I nfiitne olp *o/

wihel(1 )

{

}

}#end

i

f

/* nIludes -c-----------------------------------------------------------------*/

i#cnudel"stm 8.h"s

*我/按照是最简的方单写的法太,杂了我怕复他不懂 看实际过在程中还

要考需虑到东车西南的流量北;来实定现时时间的短*/长

///GIPOA 制控的是 南侧的北红黄绿

///PI _0 南 N红 PN_1I 南黄 IP2 南N绿 PN_4 I红 PI北N5 _黄北 PIN _6北绿

/// G/IPBO 控的是 东制侧的红黄西绿/

//PI N0_ 东 红 IPN1_ 东 PIN2 黄东绿 PIN_ 4 红西 INP5 _西黄 IN_6P 西绿

///PIOGC 对 南北东的西车数进辆登行

记8 urghti_un,melft_numea,s_tun,wmthenu_m/;///东南北西的辆计车数

8 uitme ;r//红/亮的灯时间

////红灯亮50 s 绿亮 4灯5s 灯闪黄5s

v

idoD elyusa(oid) v

{ asm

"nop("; //)一个sam"(opn)"数函经示过器波试代测1表0n0s

sam"(no"p;)

asm"no(")p;

ams"no(p"; ) }

/--/--毫 级秒延时序程---------------------- -

void elDymas(nsiguedn nittim )e

{

unigsen ditn ;i whi

le(imet-- ) f

roi=(900;i0;>i-- ) D

layeus();

}

ovi GPIOd_iint(viod//)/管脚初/始定义化

GPIO_De{nIi(GPtOIA); ///置GP设OIA六个管的脚口高推速挽出输G

PIO_Iit(GnIOPA, GPI_PINO0_|GIOPPIN__1G|PI_POIN2_|PIOGPI_N4_GPIO|PIN__|5GIP_PONI_6, PGOI_ODEM_UTO_PPH_IHGFA_ST;

GPIO_D)enIi(GtPOBI)/;//设置GPIB的O个管脚口六速推挽高输出GP

O_IIit(GPInOB,G IO_PIPN_|G0IPOPIN__1GP|IO_IPN2|_GPOIP_N_4I|GPIO_PI_5|NGPI_PION6, GPIO__OME_ODTU_PP_IHHGFA_TS)

;}

voi

dE XI_init(Tovid)///外中断初部化 始{

PGIODe_nitIGP(OCI;)////置G设IOC所有P脚管为口断输入中式模

GPI_OniI(tPIGCO, GPOI_PNIL_IBN, GIO_MOPD_IN_EUP_T)I

;

ETIX_eDniIt(;)////外部中断始化 仅在下初降触沿中断发

ETI_XSeExtIntSetsitnivtyi(XTI_POETR_GPOC, IXTEI_SNSETIIVTY_IFAL_LONL)Y;

}oidv IMT_Eiint(voi)d ////定器1初时化始{

TIM_1eDnit(I)/;//定器的时始初化 时时间为定1sTI

M_T1iemaseBnIit(x104F, TI01MCO_NTUEROMED_UP, x0308, 0x00);/E/设/定置时的模式为器相计上数式预模频值分0x1为f40

//自动重装/值为0载E8x复重计为数0x0

0TIM1C_d(mENBAEL);//定时/1器能

使IM1_ITToCfnig(TMI_IT_1UPDTEA ,ENABEL)//;/定时/1中断器使

TI能M1_RAPReroalCdonfgi(NAELBE);/////T

IM1_lCeraFaglTI(1_FMLGAUP_DTE)A//;//清除/断标志中T

I1MC_leaITPendingrBtiT(I1M_IT_UPADE);T///清/定除器时1更标志新

}

////////////**/**********/*//////////////

//////////////////*/*********主数应函**用*************8*////////////////////////////////

ovdimai (vnoi)d

{

GPI_iOnit()//;/管脚初/始定化

EXT义I_niti)(

;ITM_Eiit()n;

wileh1(

){if(timer

4)

5{

GPIOW_ire(GtIPAO, x01)1;///北红灯亮南

GIOPWr_ti(GPeOI, 0B4x4;/)东西/绿 亮灯

fi(itmr==45e)

{GP

O_IWrie(tGPOBI 0x00),;/东西绿灯/ 灭}

}

i(tiferm45>&t&meir

0{

GPO_WIrite(GIOP,A x101);///南北灯红续继亮

PGO_WIiterReveserGPI(BO,G IO_PPIN_1) ;///西东灯闪黄

GPI_WOiretReersv(eGIPB, OPGI_OPI_5)N /;/东西/灯黄闪

}

i(tifmer5)

0{

GIP_WOrite(GPIOB,0x 1);1//东/红西亮灯

GPIO_Wirt(GPeOI, 0A4x);//南4绿灯北亮

f(tiimre==9)5

{

PGOI_rWtei(PGIO,A0 x00;)/南北绿灯 亮 /

}

}

if(t

imer95>&ti&erm

/{G

PI_Write(GOPOI, 0B11)x;///东西红灯续亮继

GPO_IWiteReverse(GPIrOA G,PO_PIN_1I) ;//南/黄北闪灯

GPIO_WrietRevrse(eGPIOA,GPI O_INP5); _

}

if(timre>01)0

{

itmer0;=}

}}

/*

***************** *()CCO YRIPHGT2 011 SMiTcreolceroticns *****ND EOF FLE*I**/*

#if

ef dSU_FUEL_LSASRTE

/***

@birfe Reports tehn am eo tfh sourece fie lndath soeuce lrie numnebr

* w erehthe asse t_rpraa merrorha s occrrud.e*

@pa ram ilf:epoint reto t h eosrue fcie nlae

* @paramml ine:a sesr_tparma reor linreso urec umbenr*

@etvarl: onN

e/*

vio dasser_tfailde(u8 *fli,e 32 uilne

{)

/ U*ers an cda hidso nwimp ementatiolnto repo t trh eflein aema d niln eunmbr,ee

x:pri nft("Wong prraaetmers valeu: ile %s ofnli e n%dr\n\" f,ile, lie) *n

/*/I nfiitne olp *o/

wihel(1 )

{

}

}#end

i

f


相关文章

  • STM8S硬件电路设计注意事项
  • STM8S 可以不需要晶振跟复位电路,但是为了最小系统能够稳定运行,所以最好增加外部电路. 注意事项 (1)VCAP电容引脚(STM8S103PX是第8个管脚) : STM8S的VCAP 管脚上的电容是一个很特别的电容.它是STM8S 的内 ...查看


  • 近程实用无线遥控装置的设计与实现
  • 龙源期刊网 http://www.qikan.com.cn 近程实用无线遥控装置的设计与实现 作者:丁娟 来源:<无线互联科技>2014年第12期 摘 要:文中介绍了一种实用的近距离无线RF 遥控方式,发射电路部分采用集成芯片E ...查看


  • 一种新型超声波测距系统信号处理方法
  • 许高斌1,闵 锐1,陈 兴1,马渊明1,金传恩2 (1.合肥工业大学 电子科学与应用物理学院,安徽省MEMS工程技术研究中心,安徽 合肥230009:2.合肥科盛微电子科技有限公司,安徽 合肥230000) 一种新型的适用于工程应用的超声波 ...查看


  • 百一测评--交警招聘考试题库
  • 试卷名称:交警试题库 试卷描述:交警笔试题目.交警招聘笔试.微信考试.在线考试 试卷链接:http://www.101test.com/store/open/paperInfo/42421 试卷限时:50分 一. 判断题 每题分值:2分 是 ...查看


  • 基于单片机的交通灯控制器设计
  • The traffic light controller design based on single chip microcomputer Abstract This design is designed for intersection ...查看


  • 水上交通事故赔偿协议范本怎么写
  • 遇到交通问题?赢了网律师为你免费解惑!访问>>http://s.yingle.com 水上交通事故赔偿协议范本怎么写 交通事故不仅在城市道路上会发生,水面上也会有交通事故,对于交通事故法律有了相关的规定以及要求,对于水上交通事故 ...查看


  • 交通违章处理程序
  • 交通违章处理程序 国家知识产权局公告(第六十一号)页码,1/ 交通违章处理程序规定换页2页码,1/5 file://J:\法规图书\电子图书库\经济法...\34-2.13交通违章处理程序规定.ht2002-9-10 交通违章处理程序规定( ...查看


  • 宁波交通网车辆违章查询
  • 点击图片可直接进入官网查询 附:道路交通安全违法行为处理程序规定 第一章 总 则 第一条 为了规范道路交通安全违法行为处理程序,保障公安机关交通管理部门正确履行职责,保护公民.法人和其他组织的合法权益,根据<中华人民共和国道路交通安全 ...查看


  • 机电系统创新综合设计说明书最终版
  • 目录 摘要 .................................................................................................................. ...查看


热门内容