天天看點

proteus——74hc164+165

proteus——74hc164+165

将74HC165并行口健狀态信号串行輸入,再串行輸出至74HC164,控制164并行口LED亮暗,要求LED亮暗狀态與按健開合狀态一緻。

#include<reg51.h>//包含通路sfr庫函數reg51.h 

sbit P25=P2^5;//定義P25為P2.5

sbit P26=P2^6;//定義P26為P2.6 

sbit P27=P2^7;//定義P27為P2.7

void main(){//主函數

unsigned char i,s;//定義循環序号i,串行資料暫存器s 

unsigned long t;//定義延時參數t

SCON=0;//置串行口方式0,禁止接收

ES=0;//禁止串行中斷

while(1){//無限循環,不斷讀取鍵值,輸出鍵信号

	for(i=0;i<8;i++){//165串行輸入

P25=0;P25=1;//先鎖存165并行口資料,再允許串行移位操作

P26=0;//控制輸入的兩或門開,選通165發送TXD、接收RXD信号
REN=1;//80C51允許并啟動串行接收

while(RI==0);//等待串行接收完畢

REN=0;//串行接收完畢,禁止接收

RI=0;//清接收中斷标志

P26=1;//控制輸入的兩或門關,禁止165發送TXD、接收RXD信号

s=SBUF;)//鍵狀态資料暫存s

for(i=0;i<8;i++){//164串行輸出

P27=0;//控制輸出的兩或門開,選通164發送TXD、RXD信号

SBUF=s;//串行發送鍵狀态資料

while(TI==0);//等待串行發送完畢

TI=0;//串行發送完畢,清發送中斷标志

P27=1;}//控制輸出的兩或門關,禁止164發送TXD、RXD信号
           

繼續閱讀