#include<reg51.h>
#define uchar unsigned char
extern uchar idata in_a=0x55;//定義直接訪問內部數據儲存的外部變量
unsigned char bdata kh=0xfe;//定義直接訪問內部數據存儲器可位尋址區域變量
sbit P1_0=P1^0;//定義一個位符號
sbit kh_0=kh^0;//給可位尋址區域kh單元的第0位定義符號
bit a=1;//在尋址區任意定義一個變量a
void delay(void)
{
uchar i,j,k;
for(i=10; i>0; i--) //外循環5次每次約0.1s,共延時1s
{
for(j=200; j>0; j--) //循環200次,每次約0.5ms共延時0.1
{
for(k=250; k>0; k--) //內部循環250次,延時約250*2us=0.5ms
{
;
}
}
}
}
void main(void)
{
uchar in_c=76;//定義直接訪問內部數據存儲器的局部變量
while(1)
{
P1=in_a;
delay();
P1=in_c;//將數據76通過P1口輸出
delay();
P1=0xff;
P1_0=kh_0;
//將可位尋址的內部數據存儲器kh的第0位送P1口的第0位,P1.0引腳外接二極管亮,其他燈不亮
delay();
kh_0=a;//兩個位地址之間傳輸數據,kh_0=1
P1_0=kh_0;//P1.0引腳外接管不亮
delay();
}
}
|