<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > PIC單片機C語(yǔ)言程序設計(13)

PIC單片機C語(yǔ)言程序設計(13)

作者: 時(shí)間:2013-02-05 來(lái)源:網(wǎng)絡(luò ) 收藏

1. 硬件電路和功能

 ?。?)硬件電路

  按照上述交通路口紅綠燈指示圖案顯示的要求。用PIC16F877設計的硬件電路如圖57所示。

圖57

  從圖57可知,PIC16F877有40個(gè)引腳,其I/O口比PIC16F84A多,完全可以滿(mǎn)足分時(shí)顯示上述交通指示圖案的要求。

  需要說(shuō)明的是,我們在前面的連載文章中介紹程序時(shí),都是以1 8腳的PlC16F84A單片機為例的,通過(guò)本實(shí)例大家會(huì )看到。只要熟悉了PlC16F84A。會(huì )很容易掌握其他多引腳的使用方法的。

  由于I/O端1:3每一位的輸出電流有限, 即≤ 20mA, 且PORTA、PORTB和PORTE口輸出電流的總和不得大于200mA,PORTC和PORTD 口輸出電流的總和亦不得大于200mA,而從圖57可以看出,PIC16F877單片機的PORTB的PB0~PB7口和PC0、PC1口外接的高亮度LED從十余只到數十只不等,所以對于所有外接有高亮度LED的I/O 口,我們都增加了功率管輸出驅動(dòng)接1:3電路,且外接高亮度LED數量不同(即電流大小的不同),驅動(dòng)電路亦有所不同。

 ?。?)PIC16F877端口功能位分配

 ?、?管理手掌形紅色高亮LED指示燈的端口位。

  利用PIC16F877的RB0位。外接單向可控硅SCR1(2A)和多個(gè)紅色高亮LED (通過(guò)布線(xiàn)使多個(gè)LED組成圖55a所示的手掌圖形),采用靜止顯示方式。通常,組成交通燈的手掌圖形大約需要·60只~7O只LED,在我們的設計中,RB0口外接的SCR1回路可接多達100只高亮LED。足以滿(mǎn)足設計要求。而RB1位則外接一只PNP型功率三極管V1(2A)和限流電阻R0、偏置電阻R1,組成+24V開(kāi)關(guān)電路,由C程序控制RB0口和RB1 1:3同步定時(shí)工作,通過(guò)V1的導通或截止來(lái)控制是否為SCR1提供+24V工作電壓,從而達到令SCR1回路中的紅色高亮LED定時(shí)點(diǎn)亮或關(guān)閉的目的。

 ?、?管理仿人形綠色高亮LED指示燈的端13位。

  利用PIC16F877的RB2位,外接單向可控硅SCR2(2A)和多個(gè)紅色高亮LED(通過(guò)布線(xiàn)使多個(gè)LED組成圖55b所示的仿人形圖形),采用靜止顯示方式。組成該圖形大約需要70只LED。而RB3位則外接一只PNP型功率三極管V2(2A)和電阻R2、R3,組成+24V開(kāi)關(guān)電路。

  該電路的工作模式與前面介紹的手掌形指示燈完全相似,此處不再贅述。

 ?、?管理仿自行車(chē)形綠色高亮LED指示燈的端口位。

  利用RC0、RC1~RC7位, 外接NPN型功率三極管V5~V1 2和若干綠色高亮LED(通過(guò)布線(xiàn)使之組成圖55c所示的可控制自行車(chē)動(dòng)態(tài)顯示的圖形。該電路工作時(shí),通過(guò)控制排列在自行車(chē)車(chē)輪上的LED分時(shí)亮滅,來(lái)使人看到好象自行車(chē)在轉動(dòng)似的圖像, 以提示人或非機動(dòng)車(chē)可以通行。

 ?、?管理圓形綠色高亮LED的端口位。

  利用RB4和RB5外接的單向可控硅SCR3及V3等相關(guān)電路,控制如圖56所示的綠色高亮LED圓形指示燈,以提示運行機動(dòng)車(chē)通行。

 ?、?管理圓形紅色高亮LED的端口位。

  利用RB6和RB7外接的單向可控硅SCR4及V4等相關(guān)電路,控制如圖56所示的紅色高亮LED圓形指示燈,以提示禁止機動(dòng)車(chē)通行。

  需要說(shuō)明的是, 圖56中的圓形圖案是紅、綠燈共用的。布線(xiàn)時(shí),應將紅、綠色高亮LED相間排列,利用程序,控制紅、綠燈LED分時(shí)顯示即可。

  上述各I/O 口的工作,全部受軟件(程序)控制。由程序按照各交通路口的規范,控制各高亮LED指示燈圖案分時(shí)工作,使交通路口的行人、車(chē)輛安全有序地通行。

  2.C語(yǔ)言程序流程圖和C程序

  按照圖57所示電路,我們可以繪制出城市交通路口直行方向的紅、綠燈顯示C語(yǔ)言程序流程如圖58所示。橫行方向的紅、綠燈顯示C語(yǔ)言程序流程與之相同。此流程圖可為大家編輯C語(yǔ)言程序提供思路。

圖58



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>