单片机程序问题。请问下面程序分别是啥意思?要详细的!

void sys_init(void)//UART TIMER0初始化
{
TH0 = 0xB8;
TL0 = 0x00; //20ms的时钟基准
//串口中断
TI=0;
RI=0;
SCON=0x50; //选用方式1
TMOD=0x20;
TMOD = (TMOD & 0xf0) | 1;//MODE 1
TH1=0xfd; //波特率为9600
TL1=0xfd;
PCON=0x00; //倍频0x80
IE = 0xb0; // EA XX ET2 ES ET0 EX0 ET1 EX1
TR1=1; //enable TIMER1
ES=1; //开串口开断
TR0=1; //串口接收中断
ET0=0; //T0 中断
ET1=0; // T1 中断
EA=1;
timer_1S_cnt=0;
IGT=1;

注释很全面呀,就是一个初始化程序,初始化后:

1、串口波特率9600
2、开了定时器0、定时器1、串口、定时器2中断
3、程序有些问题,主要是定时器2中断开了但未做初始化;定时器1做了波特率发生器但又开了中断将会有干涉。
4、一些变量也做了初始化。追问

timer_1S_cnt=0;
是啥意思?

追答

从字面上理解应该是1秒定时的计数值变量。

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-09
timer_1S_cnt 是一秒计数呀。
在串定时器中断里面可定有一个timer_1S_cnt++。
等到timer_1S_cnt加到某值时,就是一秒了。

单片机程序问题。请问下面程序分别是啥意思?要详细的!
2、开了定时器0、定时器1、串口、定时器2中断 3、程序有些问题,主要是定时器2中断开了但未做初始化;定时器1做了波特率发生器但又开了中断将会有干涉。4、一些变量也做了初始化。

求解释下下面单片机程序的每一步是什么意思,谢谢了
org 0000h ;表示下一条指令的地址是0000h ljmp 0030h ;跳转到30h处的指令 org 0030h cword:mov a,#0c5h ;cword:人为定义的标号,mov a,#0c5h :把0c5h放入a寄存器里 mov dptr,#0030h ;把30h放入dptr寄存器中 movx @dptr,a ;@表示存储器地址,地址数为@后的寄存器中...

单片机定时计数的问题,下面这段程序是什么意思啊,是8052,最好能逐行解...
define uchar unsigned char 宏定义懂吧 以后unsigned char就用uchar表示了 uchar code table[]= {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};编码定义和C中数组定义方法类似 这里主要是为了让数码管显示具体数字而编的 uchar seconds,minute,count1; 定义变量 \/***初始化...

鄙人学单片机,麻烦能给下面程序写个注释,真心感谢
temp=0x01; \/\/给变量赋初值 while(1) \/\/接下来程序会在while下面的函数中循环 {if(SW==0) \/\/判断P3。0口的状态是否为0,(如果这个口接的是按键,那么检测按键是否按下){ P1=~temp;\/\/把temp的值取反,然后将取反的值传给P1口 Delay(); \/\/延时一段时间 temp=_crol_(temp...

求解单片机程序的每一步的意思,谢谢?
程序这么长,不一一解释,要想弄明白,还要学汇编,弄清51单片机内部结构和指令 ORG 0000H;从0地址开始 AJMP MAIN;跳转至主程序,为了躲开中断入口地址 MAIN: 主程序 CLR A;清累加器A MOV P2,#0FFH;没啥用,P2上电就 是0FFH JNB P1.0,LOOP1 判断P1.0状态 是0转LOOP1,不为0顺序执...

...的详细详细含义。比如TMOD=0x11中的11是什么意思
TR是定时器启动位,TR0和TR1分别对应T0和T1,TR=1时定时器启动,TR=0时停止。这里要注意,前面说的门控位,如果门控位为1,则定时器的启动除TR=1以外,还要求INTx引脚输入1。ET0可以理解为T0的中断开关,只有ET0=1的时候,T0才可能输出中断。EA则是中断的总开关,EA=0的时候,所有的中断都...

各位单片机高手,哪位帮我分析一下下面这个程序,问题出在哪儿?谢谢
回答:首先给你解释一下“<<”位移符的作用: 因为你的P1=0xfe,二进制数据就是11111110,左移一位之后为11111100,0往左移了一位,但是最低位系统自动以0补齐,而0x7f的二进制数据位01111111,所以if语句是永远进入不了的。 当然,针对此问题,C51给出了一个解决方案: 使用_crol_()函数可解决此问题...

下面的单片机程序的每一步都是什么意思?
DEL3,DEL2,DEL1,DEL 是DELAY延时的循环。时长16*171*167*2us ~=1S CPL P1.0 将端口变反。这是最简单的8051测试程序,通过端口P1.0不断输随时间变化、可肉眼观察到的电平。

...想问一下这个程序是什么意思,能解释的详细一点不?
代码中的P0、P1都是单片机的I\/O接口,每个接口由8个引脚组成,可以输出\/输入一个8位数据,数据的排序是由高位至低位排列的,例如:P0=0x41,根据ascii码的定义数据0x41为DB6位和DB0位分别为1,而其他位都是0,用二进制表示为:0100 0001,如果连接到这8个引脚上的LED为高电平点亮,则此时P0.6...

请问下面这些程序是什么意思呢?单片机的
液晶屏总线通信协议,目前看程序来看应该属于intel的8080时序,液晶屏有8只数据脚,一个rs脚(命令\/数据),一个rw脚(读\/写控制),在写入数据的时候会出现液晶忙标识,此时需要等待液晶响应,类似于1602或12864液晶屏

相似回答