请求解释单片机C语言问题

来源:百度知道 编辑:UC知道 时间:2024/07/04 11:53:33
我是个学单片机的新手,看的是51单片机C语言程序编程,对用C语言编的单片机程序有好多地方不懂,有谁知道的希望告诉我,#include<reg51.h>
#include<stdio.h>
Uart_Init();
main{Uart_Init();
EX0=1;
EA=1;
while(1); 这个地方为什么要用while语句啊?而且还是死循环
}
void int0() interrupt 0 using 0 这个函数真的是看不懂,
{ printf("External Interrupt 0 responded\n");
}
Uart_Init() 这个函数定义的一下内容有什么用啊?基本上C语言编的都定义这个的,我就是不知道为什么?
{SCON=OX52;
TMOD=OX20;
TCON=OX69;
TH1=OXf3;
}
谁能详细的解释每条语句的用处给我啊?

单片机编程开始几步:
1.定义寄存器(又叫寄存器初始化).
2.初始化全局变量.
3.初始化局部变量.
4.中断位的开启及中断优先级的开启.等等.
main()为程序的入口点,程序进入后首先调用Uart_Init()对SCON(串行控制寄存器),TMOD(定时器/计数器控制寄存器),TCON(定时器/计数器方式寄存器)初始化及定时器1的TH1初始化,一般还会有个TL1 = 0x00,这里没有(建议还是加上).
然后程序执行到EX0 = 1为开启外部中断0,即充许外部中断0中断.
EA = 1;为开启总中断.
void int0() interrupt 0 using 0
int0():这个是函数名你可以自已随便取.只要是形象直观.
interrupt:为中断的关键字.
0:中断源,中断源如下:
数字0:表示外部中断0;入口地址(0003H);
数字1:表示定时器/计数器0中断;入口地址(000BH);
数字2:表示外部中断1中断;入口地址(0013H);
数字3:表示定时器/计数器1中断;入口地址(001BH);
数字4:表示串行口中断;入口地址(0023H);
只有以上五种数字可选.
using:关键字.
0:为中断数据交换所用到的寄存器组共有0-3四组可选.
while(1):你问为什么会有这个,因为没有这个死循环,你的程序只能执行一次就退出去了,为了使你的程序不断的重复执行,所以有这个.
OK,我就说这么多了,解释得够清楚了.可怜你没给分....5555

while(1); 程序是没有终点的 ,所以用死循环
}
void int0() interrupt 0 using 0 这个是中断函数
{ printf("External Interrupt 0 responded\n");
}
Uart_Init() 这个函数定义 中断参数,
{SCON=OX52;
TMOD=OX20;
TCON=OX69;
TH