8255并行接口实验工作方式 8255A并行口实验三控制交通灯怎么做?

\u5e76\u884c\u63a5\u53e38255\u6709\u51e0\u4e2a\u6570\u636e\u7aef\u53e3\uff1f\u51e0\u79cd\u5de5\u4f5c\u65b9\u5f0f

Intel8255A\u662f\u4e00\u79cd\u901a\u7528\u7684\u53ef\u7f16\u7a0b\u5e76\u884cI/O\u63a5\u53e3\u82af\u7247\uff1a8255A\u7684\u7ed3\u6784 8255A\u75314\u90e8\u5206\u7ec4\u6210\uff1a (1)\u6570\u636e\u603b\u7ebf\u7f13\u51b2\u5668 (2)\u4e09\u4e2a8\u4f4d\u7aef\u53e3PA\u3001PB\u3001PC\uff0c\u5176\u4e2dPC\u53e3\u53ef\u5206\u4e3a\u4e24\u4e2a4\u4f4d\u7aef\u53e3\uff0c\u53ef\u5206\u522b\u540c\u7aef\u53e3A\u548c\u7aef\u53e3B \u914d\u5408\u4f7f\u7528\uff0c\u53ef\u4ee5\u7528\u4f5c\u63a7\u5236\u4fe1\u53f7\u8f93\u51fa\u7b49\u3002 (3)A\u7ec4\u548cB\u7ec4\u7684\u63a7\u5236\u7535\u8def\u3002 (4)\u8bfb/\u5199\u63a7\u5236\u903b\u8f91\u30028255A\u7684\u5de5\u4f5c\u65b9\u5f0f 8255A\u6709\u4e09\u79cd\u5de5\u4f5c\u65b9\u5f0f\uff1a\u65b9\u5f0f0\u3001\u65b9\u5f0f1\u548c\u65b9\u5f0f2\u3002 (1)\uff1a\u65b9\u5f0f0\u2014\u2014\u57fa\u672c\u8f93\u5165/\u8f93\u51fa \u5728\u6b64\u5de5\u4f5c\u65b9\u5f0f\u4e0b\uff0c\u6bcf\u4e2a\u53e3\u90fd\u4f5c\u4e3a\u57fa\u672c\u7684\u8f93\u5165\u8f93\u51fa\u53e3\uff0cC\u53e3\u7684\u9ad84\u4f4d\u548c\u4f4e4\u4f4d\u4ee5\u53caA\u53e3 \u548cB\u53e3\u90fd\u53ef\u72ec\u7acb\u5730\u8bbe\u7f6e\u4e3a\u8f93\u5165\u53e3\u548c\u8f93\u51fa\u53e3\u3002 \u5728\u6b64\u5de5\u4f5c\u65b9\u5f0f\u4e0b\uff1a\u8f93\u51fa\u7684\u6570\u636e\u88ab\u9501\u5b58\uff0c\u800c\u8f93\u5165\u7684\u6570\u636e\u4e0d\u88ab\u9501\u5b58\u3002 (2)\uff1a\u65b9\u5f0f1\u2014\u2014\u9009\u901a\u8f93\u5165/\u8f93\u51fa \u6b64\u5de5\u4f5c\u65b9\u5f0f\u4e0b\uff0c\u4e09\u4e2a\u7aef\u53e3\u5206\u4e3aA\u3001B\u4e24\u7ec4\uff0cA\u3001B\u4e24\u4e2a\u53e3\u4ecd\u7528\u4f5c\u6570\u636e\u8f93\u5165\u8f93\u51fa\u53e3\uff0c\u800cC \u53e3\u5206\u6210\u4e24\u90e8\u5206\uff0c\u5206\u522b\u4f5c\u4e3aA\u53e3\u548cB\u53e3\u7684\u8054\u7edc\u4fe1\u53f7\u3002\u57288255A\u4e2d\uff0c\u8054\u7edc\u4fe1\u53f7\u662f3\u4f4d\uff0c\u4e24\u4e2a \u6570\u636e\u53e3\uff0c\u5171\u7528\u53bbC\u53e3\u76846\u4f4d\uff0c\u5269\u4f59\u7684\u4e24\u4f4d\u4ecd\u53ef\u4f5c\u4e3a\u6570\u636e\u4f4d\u4f7f\u7528\u3002 (3)\uff1a\u65b9\u5f0f2\u2014\u2014\u53cc\u5411\u9009\u901a\u8f93\u5165/\u8f93\u51fa \u6b64\u5de5\u4f5c\u65b9\u5f0f\u53ea\u9650\u4e8eA\u7ec4\u4f7f\u7528\uff0c\u5b83\u7528A\u53e3\u76848\u4f4d\u6570\u636e\u7ebf\uff0c\u7528C\u53e3\u76845\u4f4d\u8fdb\u884c\u8054\u7edc\u3002\u5de5\u4f5c\u65f6 \u8f93\u5165\u8f93\u51fa\u90fd\u80fd\u88ab\u9501\u5b58\u3002 \u5f53A\u53e3\u5de5\u4f5c\u5728\u65b9\u5f0f2\u65f6\uff0cB\u53e3\u53ef\u4ee5\u5728\u65b9\u5f0f0\u6216\u65b9\u5f0f1\u5de5\u4f5c\u3002

#include
#define uchar unsigned char
#define uint unsigned int

uchar b=5,c;
unsigned char code a[]=;
sbit sg=P1^0;
sbit sy=P1^1;
sbit sr=P1^2;
sbit hg=P1^3;
sbit hy=P1^4;
sbit hr=P1^5;
sbit ge=P1^6;
sbit shi=P1^7;
uint num1,num2,num3;

void delay(unsigned int z1)
{
unsigned int a1,b1;
for(a1=z1;a1>0;a1--)
for(b1=12500;b1>0;b1--);
}
void main()
{
P2=0;
P1=0;
shi=1;
P2=a[8];
shi=0;
ge=1;
P2=a[4];
ge=0;
TMOD=0X11;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
EA=1;
ET0=1;
ET1=1;
TR0=1;
TR1=1;
while(1)
{

switch(num2) //\u7ea2\u7eff\u706f
{
case(0): //10s\u5185s\u7eff\u706f\u4eae
sr=0;
hg=0;
sg=1;
hr=1;
break;
case(1): //5S\uff1a\u7ad6\u9ec4\u6a2a\u7ea2
sg=0;
sy=1;
delay(5);
sy=0;
delay(5);
break;
case(2): //10s\uff1a\u7ad6\u7ea2\u6a2a\u7eff
sg=0;
sr=1;
sy=0;
hg=1;
hr=0;
break;
case(3): //5S\uff1a\u7ad6\u7ea2\u6a2a\u9ec4
hg=0;
hy=1;
delay(5);
hy=0;
delay(5);
break;
}
}
}
void timer0() interrupt 1 //\u5b9a\u65f6\u56680
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
num1++;
if(num1==200)
num2=1;
if(num1==300)
num2=2;
if(num1==500)
num2=3;
if(num1==600)
{
num1=0;
num2=0;
}

}
void timer1() interrupt 3 //\u5b9a\u65f6\u56681
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
num3++;
if(num3>=20) //\u6570\u7801\u7ba1\u663e\u793a
{
num3=0;
c++;
ge=1;
P2=a[b++];
ge=0;
if(b>=10)
b=0;
if(b==1)
{
P2=a[9];
shi=1;
shi=0;
}
if(c>=15)
{
c=0;
shi=1;
P2=a[8];
shi=0;
ge=1;
P2=a[4];
ge=0;
b=5;
}
}

8255有三种工作方式,应依据具体的实验目的要求选用适当的方式:
.

方式0(基本输入输出方式):
不需任何选通信号,A口、B口、C口高4位、C口低位,都可被设定为输入或输出。
作输出口时输出数据存锁;作输入口时输入数据不存锁。
.

方式1(选通输入输出方式):
A、B、C 三个口分为两组。
A组:包括A口及高半C口,A口可编程设定为输入或输出,C口高4位作A组I/O控制及同步信号;
B组:包括B口及低半C口,B口可编程设定为输入或输出,C口低4位作B组I/O控制及同步信号;
A口、B口的输入/输出数据都被存锁。
.

方式2(双向总线方式):
A口(仅A口)作8位双向总线,C口的PC3~PC7位用于I/O控制及同步信号;
若将8255A的A口(仅能是A口)设置为工作方式2,可作8位双向总线使用,
B口及C口的PC0~PC2位,可设定为方式0或方式1工作。

  • 8255骞惰鎺ュ彛瀹為獙宸ヤ綔鏂瑰紡
    绛旓細鏂瑰紡2锛堝弻鍚戞荤嚎鏂瑰紡锛:A鍙o紙浠匒鍙o級浣8浣嶅弻鍚戞荤嚎锛孋鍙g殑PC3锝濸C7浣嶇敤浜嶪/O鎺у埗鍙婂悓姝ヤ俊鍙锛涜嫢灏8255A鐨凙鍙o紙浠呰兘鏄疉鍙o級璁剧疆涓哄伐浣滄柟寮2锛屽彲浣8浣嶅弻鍚戞荤嚎浣跨敤锛孊鍙e強C鍙g殑PC0锝濸C2浣嶏紝鍙瀹氫负鏂瑰紡0鎴栨柟寮1宸ヤ綔銆
  • 鏉數寰満鍘熺悊8255A骞跺彛瀹為獙鎶ュ憡
    绛旓細璇诲彇Kl-K8涓紑鍏抽噺锛孭B鍙e伐浣鍦鏂瑰紡0浣滀负杈撳嚭鍙c備簲銆瀹為獙绋嬪簭妗嗗浘鍥4-2鍏佸疄楠屾楠1.鏂數杩炴帴瀵肩嚎,8255A鑺墖A鍙g殑PA0-PA7渚濇鍜屽紑鍏抽噺杈撳叆Kl-K8鐩歌繛锛8255A鑺墖B鍙g殑PB0-PB7渚濇鎺l-L8锛2.鍦≒C鏈哄拰瀹為獙绯荤粺鑱旀満鐘舵佷笅锛屾柊寤哄疄楠岀▼搴忥紝缂栬緫瀹屾垚鍚庤繘琛屼繚瀛橈紙淇濆瓨鍚庣紑涓.asm鏂囦欢锛夛紱3.缂栬瘧涓嬭浇...
  • 鍗曠墖鏈轰腑8255A鐨勫嚑绉宸ヤ綔鏂瑰紡鍚勯傜敤浜庝粈涔堝満鍚
    绛旓細锛庢柟寮1鈥斺旈夐氳緭鍏ヨ緭鍑烘柟寮忎笌鏂瑰紡0鐩告瘮锛屽畠鐨勪富瑕佺壒鐐规槸褰揂鍙c丅鍙e伐浣浜庢柟寮1鏃讹紝C鍙g殑鏌愪簺I/O绾胯瀹氫箟涓篈鍙e拰B鍙e湪鏂瑰紡1涓嬪伐浣滄椂鎵闇鐨勮仈缁滀俊鍙风嚎锛岃繖浜涚嚎宸茬粡瀹氫箟锛屼笉鑳界敱鐢ㄦ埛鏀瑰彉銆侫鏄井鏈烘垨鍗曠墖鏈哄父鐢ㄧ殑骞惰I/O鎺ュ彛鑺墖锛屾湁涓変釜8浣嶅弻鍚戝苟琛孖/O绔彛锛圓鍙c丅鍙c丆鍙o級锛屾湁涓夌宸ヤ綔鏂...
  • 鏈夊叧鍗曠墖鏈虹殑闂 8255A鐨勯偅浜鎺ュ彛鐨勬ā寮0妯″紡1妯″紡2绌剁珶鏄粈涔,瀹冨湪杩...
    绛旓細鏂瑰紡2锛堝弻鍚戞荤嚎鏂瑰紡锛:A鍙o紙浠匒鍙o級浣8浣嶅弻鍚戞荤嚎锛孋鍙g殑PC3锝濸C7浣嶇敤浜嶪/O鎺у埗鍙婂悓姝ヤ俊鍙锛涜嫢灏8255A鐨凙鍙o紙浠呰兘鏄疉鍙o級璁剧疆涓哄伐浣滄柟寮2锛屽彲浣8浣嶅弻鍚戞荤嚎浣跨敤锛孊鍙e強C鍙g殑PC0锝濸C2浣嶏紝鍙瀹氫负鏂瑰紡0鎴栨柟寮1宸ヤ綔銆
  • 8255浣滀负骞惰鎺ュ彛涓嶢/D杞崲鍣(ADC0809)鐩歌繛,濡傚浘鎵绀恒傚浘涓8255鐨凙鍙...
    绛旓細8255浣滀负骞惰鎺ュ彛涓嶢/D杞崲鍣(ADC0809)鐩歌繛,濡傚浘鎵绀恒傚浘涓8255鐨凙鍙e伐浣浜鏂瑰紡1,浣滀负鏁版嵁鍙h緭鍏,閲囩敤绋嬪簭鏌ヨ鏂瑰紡浼犻佹暟鎹,C鍙d綔涓虹姸鎬佸彛,PC5鏄姸鎬佷綅: PC5=1鏃,CPU鎵嶅彲浠ヤ粠A/D涓緭鍏ユ暟鎹,鍚﹀垯CPU绛夊緟銆侾C2涓鸿緭鍑,浣滀负A/D杞崲鍣ㄧ殑鍚姩淇″彿:鍚慞C2閫1,灏辫兘浣緼/D杞崲鍣ㄥ紑濮嬪伐浣溿(8255鐨勫湴鍧鑼冨洿涓300H~303...
  • 寰満鍘熺悊8255骞惰鎺ュ彛瀹為獙鎬庝箞璁㎏0鎺у埗L7
    绛旓細瀹為獙鍐呭锛8255鎺ュ彛鑺墖闈炲父閲嶇紪鍐欎竴涓熀鏈緭鍏ヨ緭鍑虹▼搴忥紝浣8255鐨凙鍙d负杈撳叆锛孊鍙d负杈撳嚭锛屽畬鎴愭嫧鍔ㄥ紑鍏冲埌鏁版嵁鐏殑鏁版嵁浼犺緭銆傝姹傦細鏁版嵁鐏殑鏄剧ず闅忓紑鍏冲姩鎬佸彉鍖栥傝鐨勶紝浣跨敤闈炲父绠鍗曪紝鍦ㄤ互鍚庣殑瀹為獙浼氱粡甯镐娇鐢ㄥ埌銆傚疄楠岀殑鐩殑锛氫簡瑙e彲缂栫▼骞惰鎺ュ彛鑺墖8255鐨勫唴閮ㄧ粨鏋勩宸ヤ綔鏂瑰紡銆佸垵濮嬪寲缂栫▼鍙婂簲鐢ㄣ傚苟瀛︿細濡備綍...
  • 骞惰鎺ュ彛鑺墖8255A鍙互宸ヤ綔鍦鏂瑰紡0銆佹柟寮1鍜屾柟寮2鐨勭鍙f槸
    绛旓細8255A鐨宸ヤ綔鏂瑰紡 8255A鏈変笁绉嶅伐浣滄柟寮忥細鏂瑰紡0銆佹柟寮1鍜屾柟寮2銆 (1)锛氭柟寮0鈥斺斿熀鏈緭鍏/杈撳嚭 鍦ㄦ宸ヤ綔鏂瑰紡涓嬶紝姣忎釜鍙閮戒綔涓哄熀鏈殑杈撳叆杈撳嚭鍙o紝C鍙g殑楂4浣嶅拰浣4浣嶄互鍙夾鍙 鍜孊鍙i兘鍙嫭绔嬪湴璁剧疆涓鸿緭鍏ュ彛鍜岃緭鍑哄彛銆 鍦ㄦ宸ヤ綔鏂瑰紡涓嬶細杈撳嚭鐨勬暟鎹閿佸瓨锛岃岃緭鍏ョ殑鏁版嵁涓嶈閿佸瓨銆 ...
  • 璁$畻鏈鎺ュ彛瀹為獙涓湁涓閬撴濊冮:绠杩8255A鐨勫唴閮ㄧ粨鏋勫強宸ヤ綔鍘熺悊銆傝甯...
    绛旓細鍙紪绋骞惰I/O鎺ュ彛鑺墖8255A鐨勫唴閮ㄧ粨鏋勶細宸ヤ綔鍘熺悊锛氾紙1锛8255A鍏锋湁A銆丅涓ょ粍锛3涓8浣嶆暟鎹绔彛A銆丅銆丆 A缁勶細绔彛A 锛圥A0~7锛 銆佺鍙鐨勯珮鍥涗綅锛圥C4~7锛塀缁勶細绔彛B 锛圥B0~7锛 銆佺鍙鐨勪綆鍥涗綅锛圥C0~3锛夛紙2锛夋暟鎹鍙g殑宸ヤ綔鏂瑰紡  鍩烘湰杈撳叆/杈撳嚭鏂瑰紡锛欰銆丅銆丆涓変釜绔彛鍙互涓鸿緭鍏...
  • 鍙紪绋骞惰鎺ュ彛鑺墖8255鏈夊嚑涓帶鍒跺瓧?姣忎釜鎺у埗瀛楃殑鏍煎紡鏄粈涔?_鐧惧害...
    绛旓細鍙紪绋骞惰鎺ュ彛鑺墖8255鏈2绉嶆帶鍒跺瓧锛氶夋嫨宸ヤ綔鏂瑰紡鎺у埗瀛楀拰绔彛C缃綅銆佸浣嶆帶鍒跺瓧 1銆侀夋嫨宸ヤ綔鏂瑰紡鎺у埗瀛楋細鏄粠宸﹀埌鍙崇殑椤哄簭鏄涓浣嶄负鏍囧織浣嶄负1锛屽悗涓や綅鍐冲畾A鍙g殑鏂瑰紡 銆1浣嶅喅瀹欰鍙g殑杈撳叆杈撳嚭锛1浣嶅喅瀹欳楂4浣嶅彛鐨勮緭鍏ヨ緭鍑恒佷竴浣嶅喅瀹欱鍙g殑鏂瑰紡锛屼竴浣嶅喅瀹欱鍙g殑杈撳叆杈撳嚭锛屼竴浣嶅喅瀹欳鍙g殑绗洓浣嶇殑...
  • 骞惰閫氫俊鎺ュ彛鑺墖8255A鍚绔彛鍦ㄧ粨鏋勪笂鍜屽姛鑳戒笂鏈夊摢浜涗笉鍚岀偣?
    绛旓細A鍙锛氭湁杈撳叆/杈撳嚭閿佸瓨鍣ㄣ佽緭鍑虹紦鍐插櫒锛屾湁涓夌鍙宸ヤ綔鏂瑰紡(鏂瑰紡0銆佹柟寮1銆佹柟寮2)锛.B鍙o細鏈夎緭鍏(浠呰緭鍏)閿佸瓨鍣ㄣ傝緭鍏/杈撳嚭缂撳啿鍣紝鏈変袱绉嶅伐浣滄柟寮(鏂瑰紡0銆佹柟寮1)锛.C鍙o細鏈夎緭鍏(浠呰緭鍏)閿佸瓨鍣ㄣ傝緭鍏/杈撳嚭缂撳啿鍣紝鏈変袱绉嶅伐浣滄柟寮(鏂瑰紡0銆佹柟寮1),8鏉/O绾垮垎涓轰袱缁(楂4浣嶃佷綆4浣)锛屽垎鍒...
  • 扩展阅读:扫一扫题目出答案 ... 8255并行io扩展实验 ... 8225并行接口实验微机 ... 并行接口芯片8255a的应用 ... 8255接口实验报告 ... 并行接口8255应用编程 ... 8255并行口实验报告 ... 8255选通实验报告 ... 可编程并行接口芯片8255a ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网