|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
51单片机-8255接口芯片 实验,含源代码和仿真图
: g% k7 Y( G% S* F- ]
4 r5 P9 I' O {% v% n) d
! l# \* [! j0 e1 i& O1 C n- y- C这是一个使用51单片机通过8255的B口读取8个开关状态,并通过8255的A口送给8个led显示对应开关状态的实验。对8255的A口和B口的识别,是通过地址进行区分。0 J0 R, j! h0 c- p
附件里有keil里的c语言源程序,和proteus里画的仿真图。
) L% H' b' j9 A- ?4 @& A $ B$ ~# \5 \' b8 y; Q7 F
! D! |' I- P, z# ` W
+ a8 V* l# p& P4 `9 G: I#include<reg51.h>
# T0 \2 U$ k3 u& z+ ~+ W#include<absacc.h>
9 D3 A } p# @% m/ h; A1 b6 i#define pa8255 XBYTE[0xffe0]
. t3 _8 }1 ~2 R0 C0 c& s9 z#define pb8255 XBYTE[0xffe1]
. o s2 o0 N# V1 A. U4 W6 y#define cmd8255 XBYTE[0xffe3]+ _7 r% C1 _$ t. D: o
( C% l2 B+ S/ xvoid main()! {: Y' N3 S3 v6 `% D; K
{
; E& V8 o* C. k! \ cmd8255=0x82;+ A3 j- W0 Y2 j+ L
while(1)
" P/ W& W( @# z5 D& i; c. w {; l- l' |3 {, A- c. J! [, W/ o4 \
ACC=pb8255;; ]& y; O8 I9 G, I/ i2 \
ACC=~ACC;0 x4 J6 j9 L; T, S) }7 L( d
pa8255=ACC;
4 C7 Y2 h4 z0 w1 {
* S4 C# j. p: D% e. l3 @7 j }6 `7 b0 h6 [1 j& ]$ b+ Y; q
}
& O4 w E& m5 N1 {; _4 H/ b5 [3 p5 X7 J! D' l8 z- D) o& q
/ }9 B4 o/ q: D7 s) `+ v* e |
|