二、IO口输入输出实验
/******************************************************
IO口输入输出函数
作者:Joyce
建立日期:2007-1-30
修改日期:2008-2-4
版本:V1.0
版权所有,盗版必究。
Copyright(C) Joyce 2007-01-30
All rights reserved
*****************************************************/
#include
#include "uart.h"
#define PORT4 PORTD//选用PORTD
#define PIN4 PIND
#define DDR4 DDRD
#define PORT4_0 0
#define PORT4_1 1
#define PORT4_2 2
#define PORT4_3 3
#define PIN4_4 4
#define PIN4_5 5
#define PIN4_6 6
#define PIN4_7 7
#define CLRPORT4_0 PORT4&=~(1<#define SETPORT4_0 PORT4|=(1<#define CLRPORT4_1 PORT4&=~(1<#define SETPORT4_1 PORT4|=(1<#define CLRPORT4_2 PORT4&=~(1<#define SETPORT4_2 PORT4|=(1<#define CLRPORT4_3 PORT4&=~(1<#define SETPORT4_3 PORT4|=(1<#define in_PIN4_4 (PIN4&(1<#define in_PIN4_5 (PIN4&(1<#define in_PIN4_6 (PIN4&(1<#define in_PIN4_7 (PIN4&(1<void DelayXms(unsigned int i);
void main(void)
{
unsigned char i;
Uart_init();//串口初始化;
DDR4=((1<SETPORT4_0;
CLRPORT4_1;
SETPORT4_2;
CLRPORT4_3;//PORTD低四位输出0101
i=(PORT4&0X0F);
if(i=0x05)//如果PORTD低四位输出为0101,则串口输出“...“。
Prints("The output of PORTD is 0x05",1);
while(1)
{
if(in_PIN4_4==0)//如果PORTD4输入为低电平,则串口输出”...“。
Prints("The input of PORTD4 is 0",1);/*
if(in_PIN4_5)
Prints("The input of PORTD5 is 1",1);
if(in_PIN4_6)
Prints("The input of PORTD6 is 1",1);
if(in_PIN4_7)
Prints("The input of PORTD7 is 1",1);*/
}
}
void DelayXms(unsigned int x)//延迟xms
{
unsigned int m;
while(x--)
{
m="1275";
while(m--);
}
}
测试结果如下:
工程如下:
文章评论(0条评论)
登录后参与讨论