|
一個(gè)按鍵1 如果按下,就使 N76E003串口0 發(fā)送1到串口調(diào)試助手,但是老是有問(wèn)題,哪位大神幫幫我。代碼如下:
#include "n76e003.h"
#include "stdio.h"
#define uint32 unsigned int
//typedef unsigned int uint32;
void delay_us(int n)
{
int m;
for(m=0;m<n;m++);
}
void delay_ms(int j)
{
int k;
for(k=0;k<j;k++);
delay_us(1000);
}
void P0_P1_Mode(void)
{
P0M1=0x3A; P0M2=0x3B; //設(shè)置P0
P1M1=0xA0; P1M2=0xBF; //設(shè)置P1
}
sbit s1 = P0^0;
sbit s2 = P1^0;
sbit s3 = P1^1;
sbit s4 = P1^2;
sbit s5 = P1^3;
sbit s6 = P1^4;
void UART0_Init(uint32 Baud) //設(shè)置串口0
{
P0_P1_Mode();
ES=1; //使能所有中斷
ES=1; //串口0中斷使能
ET1=0; //關(guān)閉定時(shí)器1中斷
SCON = 0x52; //串口0選擇模式1 SM0=0 SM1=1 REN=1 TI=1
T3CON|=0x00; //選擇定時(shí)器1 BRCK=0
PCON |=0x80; //定時(shí)器1的波特率加倍 SMOD=1
CKCON|=0x10; //定時(shí)器1的時(shí)鐘源為系統(tǒng)時(shí)鐘 T1M=1
TMOD |=0x20; //定時(shí)器1選擇模式2 8位計(jì)數(shù)器,數(shù)值從TH1自動(dòng)重裝載入TL1 M1=1 M0=0 2^8=256
#ifdef FOSC_160000
TH1 = 256 - (1000000/Baud+1); /*16 MHz */
#endif
TCON |=0x40; //定時(shí)器1啟動(dòng) TR1=1
}
void Send_Data_UART0(int a)
{
TI=0;
SBUF=a; //串口0數(shù)據(jù)緩存寄存器
while(TI==0);
}
int main()
{
s1=1;
s2=1;
s3=1;
s4=1;
s5=1;
s6=1;
UART0_Init(9600);
while(1)
{
if(s1=0)
{ Send_Data_UART0(1); }
delay_ms(10);
if(s2=0)
{ Send_Data_UART0(2); }
delay_ms(10);
if(s3=0)
{ Send_Data_UART0(3); }
delay_ms(10);
if(s4=0)
{ Send_Data_UART0(4); }
delay_ms(10);
if(s5=0)
{ Send_Data_UART0(5); }
delay_ms(10);
if(s6=0)
{ Send_Data_UART0(6); }
delay_ms(10);
}
}
|
|