用C语言给51单片机编程时,怎样用P0口输出地址和数据?

用汇编时,只要用movx指令就能使P0口输出的数据配合WR,RD,ALE。以此来控制输出和读入。在用C语言编时,要怎样做。
还请各高手指导指导。
谢谢

只要C语句能保证编译出MOVX指令即可。
你可以自行学习以下关键字的用法:
pdata,xdata
PBYTE,XBYTE

点到为止。剩下的自己去琢磨,Keil里面都能搜索到的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-01
如果用C语言进行编译的话,就简单了,粘一个程序看下就明白了:
#include <reg52.h>

sbit key1=P3^0;//定义按键位置
sbit key2=P3^1;
sbit key3=P3^2;
sbit key4=P3^3;

void delay(unsigned int cnt)
{
while(--cnt);
}
///////////////////////////////////////////////////////
main()
{

P2=0x00;//
while(1)
{
if(!key1) //按下相应的按键,数码管显示相应的码值
P0=0x06;//数码管显示"1"
if(!key2)
P0=0x5B;//2
if(!key3)
P0=0x4F;//3
if(!key4)
P0=0x66;//4

}
}//如果有干扰请加去抖程序
//红外接收头部分用黑色物质遮光,防止干扰按键
相似回答