请高手具体解释一下以下51单片机C语言程序:

作者&投稿:倚侄 (若有异议请与网页底部的电邮联系)
请高手用比较简单的语言解释一下,到底什么是单片机?~

单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。

中断时要先关定时器TR0=1;设定完后再开TR0=1

void timer() interrupt 1 using 2//定时器0中断函数,interrupt 1是T0的中断入口
{
Flag_Delay5ms=0;//将 延时5ms 标志位 置为 0,表示5ms结束
TH0=-5000/256;//为T0高8位赋初值,相当于TH0=(65536-5000)/256;可以推出晶振为12MHz
TL0=-5000%256;//为T0低8位赋初值,同上
}
/*延时5ms函数,主要利用定时器0实现*/
void Delay5ms(void)
{
TR0=1;//T0计时开始
ET0=1;//允许T0中断
while(Flag_Delay5ms);//若 延时5ms 标志位 为1,即5ms未结束,则继续等待
ET0=0;//5ms结束,禁止T0中断
TR0=0;//停止T0计时
Flag_Delay5ms=1;//重新将 延时5ms 标志位 置为 1,为下次延时做准备
}
该程序不合理的地方,在等待、及 禁止 T0中断时,停止T0计时前,T0依然在计时,换句话说,下次再启动的初值,已经不是原来设置好的初值了。所以延时误差依然存在。

这个 延时 占用 一个 定时器, 还 不准确
还不如 以下程序:
void Delay5ms(void)
{
unsigned char i,j;
for(i=10;i>0;i--)
{
for(j=250;j>0;j--)
}
}
根据 不同型号的 单片机 调整下 i 、j 的 初始值,如果 是 AT89C51,12M晶振, 这个 值就是对的
i、j 的 值取决于 djnz 这个 指令 的 执行时间, 具体 看 相应 单片机 资料(指令集)里 会有


请语文高手帮我解释一下这句话是什么意思?
苟利国家 生死以之:如果对国家有利,即使是牺牲生命也要去做。 深层含义看文字就能明白。 (生死,在这里是偏义复词,偏重“死”。“以之”的“以”是动词“做”的意思。)士不可以不弘毅 任重而道远:士人不可以不刚强果断,因为责任重大、路途遥远。 这句话是曾子说的,他以实行仁德为终身...

求高手详细解释一下射频的分类及方向
1. 电子管又名真空管,所以又称为电真空器件。电子管不论二极还是多极,它都有阳极和阴极,阴极在外加电源的作用下,发射电子向阳极流动。外加电源可以直接加在阴极上,也可以加在另外的加热灯丝上。就是因为这个外加电源的存在,而统称为有源器件。电子管是最早的有源电子元件,分二极管、三极管与...

亲高手解释一下,越详细越好!
一,ASCII码 我们都知道ASCII码的字符数很少,怎么会有中文的呢?这个大概可以说是ASCII的扩展吧!具体的编码我不去深究,只想玩玩而已。在百度搜索栏输入一些文字去搜索,在浏览器的地址栏就可以看到经过编码的字符。比如输入“工大后院”四个字,就会看到这样:“%B9%A4%B4%F3%BA%F3%D4%BA”。...

请高手解释一下我的名字。
他们当中发展得较差的人,可能会否认自己具有开创的天赋,而一味地采取压抑、保守的态度,或是凭空想象自己是居高位的重要人物。4月13日出生的人意志坚强,不论周遭的人接受与否,都会将个人不落俗套的处事方法发挥到极致。如果亲友强烈反对这些看来颇为怪异的行为,他们通常有两条路可走,一是把别人的...

ping 了百度之后不清楚具体什么意思。请高手解释一下。
指定的计算机列表路由数据包。连续计算机不能被中间网关分隔IP 允许的最大数量为 9。-w timeout——指定超时间隔,单位为毫秒。destination-list ——是指要测试的主机名或IP地址 -t参数 -t—— 有这个参数时,当你ping一个主机时系统就不停的运行ping这个命令,直到你按下Control-C。

计算机高手解释一下硬件看门狗是啥意思?
由于单片机系统在工作的时候,容易受到外界电磁场的干扰,造成数据混乱,程序出错,导致死循环,影响单片机的正常工作,从而导致单片机控制系统发生不可预料的后果。使用硬件看门狗,可以预防程序发生死循环。应用看门狗电路后单片机可以在无人状态下连续工作。硬件看门口电路,利用一个定时器来监控主程序的运行。

请DOTA高手来跟我通俗的解释一下这几件装备
笛子:笛子是挑战的加强版挑战,30%的抗魔加上一个主动的技能,可以给友方单位提供一个罩子,吸收400点技能伤害。一般出挑战的英雄都会吧挑战转成笛子,对团队贡献非常的大。在上高地或者团战之前开启笛子,对面的法系输出就会少很多。也可以逼迫敌方后退,这样可以为自己推塔或者上高地争取时间~~肉盾型的...

恳请excel高手具体详细完整的解释一下下列公式的意思
Execl本身具有很方便的排序与筛选功能,下拉“数据”菜单即可选择排序或筛选对数据清单进行排序或筛选。但也有不足,首先无论排序或筛选都改变了原清单的原貌,特别是清单的数据从其它工作表链接来而源数据发生变化时,或清单录入新记录时必须从新进行排序或筛选。其次还有局限,例如排序只能最多对三个关键...

向背是个书法术语,请高手能通俗的解释一下,谢谢
向背:意思:书法术语。运笔造型的一种技法。与"向相"相辅相成。要求同一方向之笔画避免平行和雷同,尽量做到违而不犯,和而不同,既多样,又统一。释意:正面和背面;这边和那边。 宋 欧阳修 《试笔·鉴画》:"若乃高下、向背、远近、重复,此画工之艺尔,非精鉴者之事也。" 清 梅曾亮 《栗...

请高手看看这个八字排盘,并分析解释一下意思,本人不懂,谢谢啦_百度知 ...
一、你的八字命盘 下列是你的八字命盘。你是白兔,出生於红虎年。 日天干代表你,所以你是属金。年 (祖先) 月 (父母) 日 (自己) 时 (子孙)阳火 阳木 阴金 阴水 红虎 绿马 白兔 黑蛇 八字命盘从阴阳干支三合历取得。上排是天干,由五行「金水木火土」轮流排列。下排是地支,用十二生肖顺序...

青河县15246923257: 请高手具体解释一下以下51单片机C语言程序: -
陀悦感冒: void timer() interrupt 1 using 2//定时器0中断函数,interrupt 1是T0的中断入口 {Flag_Delay5ms=0;//将 延时5ms 标志位 置为 0,表示5ms结束 TH0=-5000/256;//为T0高8位赋初值,相当于TH0=(65536-5000)/256;可以推出晶振为12MHz TL0=-...

青河县15246923257: 请高手帮忙看下以下51单片机C语言中的display(10,10,10,10,time1.hour%10,time1.hour/10);是什么意思? -
陀悦感冒: case 1://时钟小时调整time1.hour=TimeUpDown(time1.hour,12,11); display(10,10,10,10,time1.hour%10,time1.hour/10); break;//time1是个结构体,应该是定义时间//你这个例子中是调整小时的,具体怎么调的没有那个函数看不出来//显示函数里面应该是在某个位置将小时的时间分成个位,十位显示出来

青河县15246923257: 谁帮我为下面一个51单片机c语言解析一下,每一句都要解释,重赏 -
陀悦感冒: #include <reg52.h>//包涵51单片机的头文件#include <intrins.h>//包涵循环、空操作等的头文件#define uint unsigned int//定义uint为unsigned int无符号整型数据类型#define uchar unsigned char//定义unchar为unsigned char无符号字符型数据类型#...

青河县15246923257: 求单片机C语言高手以下是计算步进电机速度的程序,帮忙详细的解释一下越详细越好. -
陀悦感冒: RunSpeed应该是延时时间,用来控制速度的,RunSpeed值越大,步进电机速度越低. SPEED[0]=(1000*6/RunSpeed/100)+48; SPEED[1]=1000*6/RunSpeed%100/10+48; SPEED[2]=1000*6/RunSpeed%10+48; 以上三个式子是求速度的百位,十位和个位,后面+48即加30H=48用来转换成ASCII码的.说的对,哥们就采纳下吧~~

青河县15246923257: 请高手指点一些"关于51单片机C语言头文件和调用的问题",请详细点,谢谢!! -
陀悦感冒: 很多初学单片机者往往对C51的头文件感到很神秘,而为什么要那样写,甚至有的初学者喜欢问,P1口的P为什么要大写,不大写行不行呢?其实这样的问题,看过本文后,就会明白.其实这个是在头文件中用sfr定义的,现在定义好了的是这样...

青河县15246923257: 51单片机c语言程序,求高手解答,程序很简单
陀悦感冒: 程序没问题,但是编译可能通不过.uart_inint() 声明没有说明数据类型,C语言一般没有数据类型默认是整型. P2=0x00;//没扫描到全部亮P0=0x00;//将p0口全部置为低电平这个赋值语句应该在MAIN函数里,此外,你的UART没有响应函数.

青河县15246923257: 51单片机c语言,请解释一下这句的意思,还有=~的意思?提前谢谢了? -
陀悦感冒: 将"1"左移" i"位,然后按位取反,再送p1口,最后 i自增1."~"是将右边的表达式按位取反

青河县15246923257: 51单片机c编程P1=00111111,八个LED灯分别是01101101(0表示不亮,1表示亮),求高手帮忙解释下? -
陀悦感冒: 正确的是:P1=00111111B

青河县15246923257: 请高手帮帮小弟解答一下下面单片机c语言编程的表示意思 -
陀悦感冒: #include<REG51.H> #define uchar unsigned char(宏定义 uchar ==unsigned char无符号字符变量) #define uint unsigned int(无符号整数) sbit key_s1=p3^0; sbit key_s2=p3^1; sbit key_s3=p3^2; sbit key_s4=p3^3; void delay(uint)(带参数的延时...

青河县15246923257: 请高手帮忙解释一下这段单片机的C语言程序? -
陀悦感冒: -1与0x07按位与,11111111(-1) & 00000111(7)=0000 0111(7),-1在计算机内是以补码表示的

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网