51单片机8个跑马灯程序问题

查看: 6285|回复: 0
关于51单片机晶振的二十一个问题
& && && &回首当年,在初学51单片机的时候,总是伴随很多有关与晶振的问题,其实晶振就是如同人的心脏,是血液的是脉搏,把单片机的晶振问题搞明白了,51单片机的其他问题迎刃而解……
& & 今天51单片机有关晶振的问题一并总结出来,希望对初学51的童鞋来说能有帮助。
& & 一,为什么51单片机爱用11.0592MHZ晶振?
& & 其一:因为它能够准确地划分成时钟频率,与UART(通用异步接收器/发送器)量常见的波特率相关。特别是较高的波特率(1),不管多么古怪的值,这些晶振都是准确,常被使用的。
& & 其二:用11.0592晶振的原因是51单片机的定时器导致的。用51单片机的定时器做波特率发生器时,如果用11.0592Mhz的晶振,根据公式 算下来需要定时器设置的值都是整数;如果用12Mhz晶振,则波特率都是有偏差的,比如9600,用定时器取0XFD,实际波特率10000,一般波特率 偏差在4%左右都是可以的,所以也还能用STC90C516 晶振12M 波特率9600 ,倍数时误差率6.99%,不倍数时误差率8.51%,数据肯定会出错。 这也就是串口通信时大家喜欢用11.0592MHz晶振的原因,在波特率倍速时,最高可达到57600,误差率0.00%。 用12MHz,最高也就4800,而且有0.16%误差率,但在允许范围,所以没多大影响。
& & 二,在设计51单片机系统PCB时,晶振为何被要求紧挨着单片机?
& & 原因如下:晶振是通过电激励来产生固定频率的机械振动,而振动又会产生电流反馈给电路,电路接到反馈 后进行信号放大,再次用放大的电信号来激励晶振机械振动,晶振再将振动产生的电流反馈给电路,如此这般。当电路中的激励电信号和晶振的标称频率相同时,电 路就能输出信号强大,频率稳定的正弦波。整形电路再将正弦波变成方波送到数字电路中供其使用。
& & 问题在于晶振的输出能力有限,它仅仅输出以毫瓦为单位的电能量。在 IC(集成电路) 内部,通过放大器将这个信号放大几百倍甚至上千倍才能正常使用。
& & 晶振和 IC 间一般是通过铜走线相连的,这根走线可以看成一段导线或数段导线,导线在切割磁力线的时候会产生电流,导线越长,产生的电流越强。现实中,磁力线不常见, 电磁波却到处都是,例如:无线广播发射、电视塔发射、手机通讯等等。晶振和IC之间的连线就变成了接收天线,它越长,接收的信号就 越强,产生的电能量就越强,直到接收到的电信号强度超过或接近晶振产生的信号强度时,IC内的放大电路输出的将不再是固定频率的方波了,而是乱七八糟的信 号,导致数字电路无法同步工作而出错。
& & 所以,画PCB(电路板)的时候,晶振离它的放大电路(IC管脚)越近越好。
& & 三,单片机电路晶振不起振原因分析
& & 遇到单片机晶振不起振是常见现象,那么引起晶振不起振的原因有哪些呢?
& & ① PCB板布线错误;②单片机质量有问题;③ 晶振质量有问题;④负载电容或匹配电容与晶振不匹配或者电容质量有问题;⑤PCB板受潮,导致阻抗失配而不能起振;⑥ 晶振电路的走线过长;⑦晶振两脚之间有走线;⑧外围电路的影响。
& & 解决方案,建议按如下方法逐个排除故障:
& & ① 排除电路错误的可能性,因此可以用相应型号单片机的推荐电路进行比较。② 排除外围元件不良的可能性,因为外围零件无非为电阻,电容,很容易鉴别是否为良品。③ 排除晶振为停振品的可能性,因为不会只试了一二个晶振。④试着改换晶体两端的电容,也许晶振就能起振了,电容的大小请参考晶振的使用说明。⑤在PCB布线时晶振电路的走线应尽量短且尽可能靠近IC,杜绝在晶振两脚间走线。
& & 四,51单片机时钟电路用12MHZ的晶振时那电容的值是怎样得出来的?拿内部时钟电路来说明吧!
& & 其实这两个电容没人能够解释清楚到底怎么选值,因为22pF实在是太小了。这个要说只能说和内部的振荡电路自身特性有关系,搭配使用,用来校正波形,没有人去深究它到底为什么就是这么大的值。
& & 89c52单片机如果不接晶振会有什么后果?
& & 单片机不工作了 程序无法烧入……等等
& & 五,单片机晶振电路中两个微调电容不对称会怎样?相差多少会使频率怎样变化?在检测无线鼠标的接受模块时,发现其频率总是慢慢变化(就是一直不松探头的手,发现频率慢慢变小)晶振是新的!
& & 电容不对称也不会引起频率的漂移,说的频率漂移可能是因为晶振的电容的容量很不稳定引起的,可以换了试,换两电容不难,要不就是的晶振的稳定性太差了,或者测量的方法有问题.
& & 六,单片机晶振与速度的疑问,执行一条指令的周期不是由晶振决定的吗。那么比如51单片机和MSP430,给51接高速晶振,430接低速的,是不是51跑的要快?是不是速度单片机速度仅仅与晶振有关,关键是单片机能不能支持那么大的晶振?
& & 每个单片机的速度是受到内部逻辑门电平跳变速度限制的。两个芯片同时使用同样的晶振,比如12M的。因为AVR是RISC指令集,它在同样外部晶振频率下,比51要快。
& & 比如,51最快能接40M,AVR是16M的晶振。
& & STC89C52大都用12MHz晶振,但由于其12个时钟周期才是一个机器周期,相当于其主频只有1MHz。
& & MSP430采用RISC精简指令集, 430单片机若采用内部DCO震荡可达21MHz主频。单个时钟周期就可以执行一条指令,相同晶振,速度较51快12倍。
& & 对于一个51,给他用更高的晶振,速度会快些。但是对于高级的单片机就不一样了。高级单片机内部,一般都是有频率控制寄存器的,所以,简单的增加晶振,可能达到单片机的极限,导致跑飞。
& & 七,请问:有什么方法可以确定某一款单片机在某一大小的晶振下是否能正常工作?
& & 晶振选择太高不太合适,具体晶振上限是多少,恐怕测不出来,只能按照人家单片机的要求,一般STC系列单片机上限是35M或40M,stc单凭上写的有,如STC11F16XE 35I-LQFP44G其中35I就是晶振最高35M的工业级芯片。
& & 超过上限会出现什么样的问题,没有测试过,一般晶振选择12M的比较多,如果选择STC 1T指令的,就相当于12*12=144M的晶振。如果用于串口通信,建议选用11.0592M的或22.184M,选择晶振最主要还是参照人家的说明书。
& & 八,4个AT89C51单片机能否用一个12M的晶振使其都正常工作?一个采用内部时钟方式,其余三个用外部方式...那四个都用内部方式可以不(将4个单片机都并联在一个晶振上)?
& & 可以,其中一个正常接晶振,他的XTAL2输出接到另外三个的XTAL1输入上。
& & 九,单片机的运行速度和晶振大小的关系,若单片机的最高工作频率是40M,晶振是否可以选择24M或更高,但不超过40M,这样单片机的运行速度是否大增?长期在此工作频率下对单片机是否有不良影响?单片机对晶振的选择的原则是怎样的?
& & 当然是有影响的,单片机的工作速度越快,功耗也越大,受干扰也会越厉害,总之最高能跑40M的,跑不超过40M的是没有问题的,只是对相关的技术(如PCB的设计元件的选取等)会高去很多.
& & 十,89c51单片机的复位电路中常采用12MHZ的晶振,实际上市场上稍小于12MHZ,为什么呢?
& & 答:需要串口通讯时一般是用11.0582MHZ的,这样波特率才好算。
& & 用12MHZ的工作周期就容易计算。
& & 十一,单片机晶振上电不起振,但是手碰一下晶振就起振了,为什么?怎么判断单片机晶振是否起振呀?
& & 看看晶振配的电容焊了没有,值有没有错误?
& & 最简单是用示波器,另外可以看一下电源是否正常。
& & 十二,怎样判断单片机外部晶振有没有起振?的STC89C52单片机本来是好好的后来不行了,换了个晶振就好了。但是过了几个小时后又不行了,是怎么回事。还有就是怎样判断晶振是否起振?
& & ①先换一块单片机试试,问题还在则排除单片机;②可能是虚焊造成的,这点要注意;③用STC89C52也碰到过类似的问题,换了块晶振就OK了,好像 STC起振不橡AT89S52那么顺。其实对于STC89C52可以直接看30脚(ALE),接个灯,起振一下子就能看出来了。
& & 十三,51单片机晶振上接的电容大小该如何选择?是晶振越大,电容值也要大一些吗,一般常用多大的。有人说常用的从15-33pf,具体如何选择效果最好?比如分别用一个6M和12M的晶振,用多大电容更合适?
& & 15-33pf都可以 们一般用的是15P和30P 晶振大小影响不大 们常用的4M 和12M 以及11.0592M和20M 24M 们都用的 30P 单片机内部有相应的整形电路 们不比担心
& & 给51单片机12M晶振接2200pF电容会怎么样?电路图里貌似是22pF的,但是没有22pF的...接2200pF会不会不正常工作?
& & 不可以,晶体会不工作的。15-33p是合理范围。可以试试看,对单片机不会有损坏。
& & 十四,没有程序的空白单片机,外部晶振能起振么?
& & 没有内部晶振的单片机,外部晶振可以起振,如传统类MS51系列单片机有内部晶振的单片机,外部晶振不会起振,需要对外部晶振进行配置后才会起振,如果不对外部晶振进行配置仍使用内部晶振,如silicon lab系列C单片机
& & 十五,为什么at89c52 P1.0输出2.5v电压,单片机好像未工作,晶振波形是不规则的正弦波可不可以?线路板没有达到预想效果,发光二极管一直亮,感觉还是单片机的问题,P1.0输出2.5v电压,看门狗用的X5045。怎么回事?
& & 将看门狗拿掉,暂时做成最小系统,既只有电源、8952、晶振和两只30P左右的电容。
①将P1.0口置1,测试该口的电压是否在2.5V以上;
②将P1.0口置0,测试改口电压是否约为0V。
& & 是的话就是OK的,否则就要看看电源电压、晶振、8952了。电源电压是5+、-0.25V,且纹波一定要小
& & 十六,制作max232下载单片机,工作电压都正常,要外加晶振嘛?
& & 当然要加,如果没有外加晶振,那么单片机的时钟电路就没有了,导致单片机串口就不能进行数据传输了,最终这个下载器具就不能下载程序了。
& & 十七,若89c52单片机使用外接晶振,应如何设置?
& & 晶振的两个管脚各接一个20~30pf的电容后分别接入单片机的XTAL1和XTAL2,两个电容的另一端并接后接地即可,不再需要任何设置
& & 十八,晶振的原理,如何产生正弦信号的,详细一点,从电路方面分析?
& & 晶体可以等效为一个电感,与里面的电容形成振荡回路,能量从电感慢慢到电容,再从电容慢慢到电感,周而复始形成振荡。正半周是电容的充放电过程,负半周是电感的充放电过程。
& & 十九,现在要用52单片机做一个交通灯电路。要求是红灯,绿灯30s,黄灯3s。循环变化。那么外界晶振怎样选择?单指令周期多少比较合适?图中外接的两个电容的作用是什么?大小多少合适?
& & 如果选择晶振的话,那两个电容值可以选择:30加减10PF左右的(频率在0~33MHZ之间);
& & 如果选择陶瓷晶振的话,电容值可以选择:40加减10PF左右的(频率在1.2~12MHZ)振荡器应尽量靠近电容。指令周期是可以算的,这个是有公式的!
& & 二十,89c52单片机 晶振频率才12兆,太小了,怎样能改大晶振频率?
& & 外接18.432或者24MHz的晶振。或者换4T的W77E58单片机,这样相当于把工作频率提高3倍。或者换1T的DS89C4XX单片机,这相当于把工作频率提高8倍!用1T的STC12C5A60S2单片机也有这样的效果。
& & 二十一,单片机不能正常工作,晶振问题?如何去检查晶振正常还是不正常?另外看到说晶振跟两个小电容要离得很近,几乎都没剪引脚(就是买回来多长就多长)就插上去了,这个也有关系吗?
& & 用万用表测量单片机连接晶振的两个引脚,正常起振的状态下电压大概比供电电压的1/2略低一些,如果其中一个或全部引脚为电源电压或零就表明没起振。那个引脚长些一般不会有什么影响,相比之下接地更关键些,两个谐振电容接地端到单片机的电源地要尽量近些。
Powered by[求助]51单片机的问题,急 - 捷配电子市场网
[求助]51单片机的问题,急
作者:warlm 栏目:
有40个引脚,其中40脚接+5V的电压,20脚接地接好后发现12和13脚上都有4点几伏的电压,请问正常吗??????我要用12和13脚进行外部中断,给12脚和13脚一个脉冲,要求来一个高电平中断一次,现在它们已经是高电平了
作者: warlm 于
20:40:15 发布:
有谁知道为什么吗我已经搞了一下午了
作者: 月月仔 于
20:42:13 发布:
本身就这样的把,不是低电平和下降沿中断的吗
作者: warlm 于
20:49:24 发布:
我现在的脉冲是一个正的,最大3.8V左右要求来一个脉冲,单片机中断一次现在12脚(INT0)和13脚(INT1)已经有4.8V了怎么中断啊????
作者: warlm 于
20:55:18 发布:
自己顶以下知道的告诉我我要赶时间啊
作者: 月月仔 于
21:02:06 发布:
以下是引用 warlm 在( 20:49:24)的发言我现在的脉冲是一个正的,最大3.8V左右要求来一个脉冲,单片机中断一次现在12脚(INT0)和13脚(INT1)已经有4.8V了怎么中断啊????接个反相器就好了嘛
作者: weikboy 于
21:13:33 发布:
本来单片机默认都上高电平的啊int0 int1都是低电平中断啊一遇到低电平就响应外部计数器也是低电平的本人在使用的时候都是把电路接成响应时返回低电平给单片机的~「该帖子被 weikboy 在
21:16:59 编辑过」
作者: warlm 于
21:15:51 发布:
你确定是低电平和下降沿触发中断吗美眉
作者: 月月仔 于
21:36:53 发布:
以下是引用 warlm 在( 21:15:51)的发言你确定是低电平和下降沿触发中断吗美眉确定可以程序控制是两者其一ps:我不是mm
作者: hucheng20 于
23:40:26 发布:
以下是引用 warlm 在( 21:15:51)的发言你确定是低电平和下降沿触发中断吗美眉我也确定是这样的,51单片机一般复位后管脚上是高电平状态,但如果某单片机的中断是高电平或上升延有效,你不能在程序前先把管脚置0?51中断是P3.2和3.3如果不是51其他的单片机就看具体情况反正总可以设置的ARM的话是设置寄存器.
作者: warlm 于
7:34:58 发布:
以下是引用 hucheng20 在( 23:40:26)的发言以下是引用 warlm 在( 21:15:51)的发言你确定是低电平和下降沿触发中断吗美眉我也确定是这样的,51单片机一般复位后管脚上是高电平状态,但如果某单片机的中断是高电平或上升延有效,你不能在程序前先把管脚置0?51中断是P3.2和3.3如果不是51其他的单片机就看具体情况反正总可以设置的ARM的话是设置寄存器.可不可以搞成高电平中断啊
作者: bruceyueh 于
9:25:16 发布:
本身的VR是多少电压?
作者: hucheng20 于
19:07:34 发布:
以下是引用 hucheng20 在( 23:40:26)的发言以下是引用 warlm 在( 21:15:51)的发言你确定是低电平和下降沿触发中断吗美眉我也确定是这样的,51单片机一般复位后管脚上是高电平状态,但如果某单片机的中断是高电平或上升延有效,你不能在程序前先把管脚置0?51中断是P3.2和3.3如果不是51其他的单片机就看具体情况反正总可以设置的ARM的话是设置寄存器.可不可以搞成高电平中断啊51不可以,你找本51书看下中断那节就会知道.
作者: custyang 于
19:29:14 发布:
51单片机外部中断本身就是低电平有效,也就是低电平的时候才发生中断,你的这个并没有中断,当然是高电平了。
作者: warlm 于
21:29:05 发布:
本身就是一个高电平,上面加一个脉冲,还是高电平啊怎么中断啊
作者: 月月仔 于
21:36:54 发布:
以下是引用 warlm 在( 21:29:05)的发言本身就是一个高电平,上面加一个脉冲,还是高电平啊怎么中断啊你在输入前加个反相器不就可以了啊,这样就将脉冲转化为低电平了啊,他只要瞬间低电平就好了啊
作者: warlm 于
21:56:12 发布:
以下是引用 月月仔 在( 21:36:54)的发言以下是引用 warlm 在( 21:29:05)的发言本身就是一个高电平,上面加一个脉冲,还是高电平啊怎么中断啊你在输入前加个反相器不就可以了啊,这样就将脉冲转化为低电平了啊,他只要瞬间低电平就好了啊反相器能把脉冲转化为低电平吗我今天试了下,只是把脉冲原来的高电平变成了低电平,低电平变成了高电平我现在的脉冲的范围是0-4.5V,有一个从高电平到低电平的过程,为什么不中断啊
作者: warlm 于
21:58:36 发布:
,你的QQ是多少啊想向你请教我的是
作者: warlm 于
11:37:42 发布:
很高兴的告诉大家现在可以中断了在输出的脉冲后反接一个光耦就行了谢谢大家了
作者: aiyige 于
9:52:21 发布:
第11、12脚是外部中断有两种触发方式!低电平和下降沿!所以高电平正常!
作者: 520ic 于
13:48:19 发布:
51 int0,int1是低电平或者下降沿中断,你要用高电平中断,就要用个反相器把高变低在送51中断
讨论内容:
Copyright &
www.dzsc.com 浙ICP证030469号51单片机上拉问题【转】
1.P0作为地址数据总线时,V1和V2是一起工作的,构成推挽结构。高电平时,V1打开,V2截止;低电平时,V1截止,V2打开。这种情况下不用外接上拉电阻。而且,当V1打开,V2截止,输出高电平的时候,因为内部电源直接通过V1输出到P0口线上,因此驱动能力(电流)可以很大,这就是为什么教科书上说可以"驱动8个TTL负载"的原因。
2.P0作为一般端口时,V1就永远的截止,V2根据输出数据0导通和1截止,导通时拉地,当然是输出低电平;截止时,PO口就没有输出了,(注意,这种情况就是所谓的高阻浮空状态),如果加上外部上拉电阻,输出就变成了高电平1。
3.其他端口P1 P2 P3,在内部直接将P1口中的V1换成了上拉电阻,所以不用外接,但内部上拉电阻太大,电流太小,有时因为电流不够,也会再并一个上拉电阻。
4.在某个时刻,P0口上输出的是作为总线的地址数据信号还是作为普通I/O口的电平信号,是依靠多路开关MUX来切换的.而MUX的切换,又是根据单片机指令来区分的.当指令为外部存储器/IO口读/写时,比如
MOVX &A,@DPTR
,MUX是切换到地址/数据总线上;而当普通MOV传送指令操作P0口时,MUX是切换到内部总线上的.
&&& Because
Ports 1, 2, and 3 have fixed internal pullups, they are sometimes
called “quasi- bidirectional” ports.
因为端口1、2、3有固定的内部上拉,所以有时候他们被称为"准双向"口.
&&& Port 0, on
the other hand, is considered “true” bidirectional, because when
configured as an input it
端口0,&从另外一方面来说,就被&认为是"真正的"双向,因为当它被设置为输入的时候是浮空(高阻态)的.
1、如果是驱动led,那么用1K左右的就行了。如果希望亮度大一些,电阻可减小,最小不要小于200欧姆,否则电流太大;如果希望亮度小一些,电阻可增大,增加到多少呢,主要看亮度情况,以亮度合适为准,一般来说超过3K以上时,亮度就很弱了,但是对于超高亮度的LED,有时候电阻为10K时觉得亮度还能够用。我通常就用1k的。
2、对于驱动光耦合器,如果是高电位有效,即耦合器输入端接端口和地之间,那么和LED的情况是一样的;如果是低电位有效,即耦合器输入端接端口和VCC之间,那么除了要串接一个1--4.7k之间的电阻以外,同时上拉电阻的阻值就可以用的特别大,用100k--500K之间的都行,当然用10K的也可以,但是考虑到省电问题,没有必要用那么小的。
3、对于驱动晶体管,又分为PNP和NPN管两种情况:对于NPN,毫无疑问NPN管是高电平有效的,因此上拉电阻的阻值用2K--20K之间的,具体的大小还要看晶体管的集电极接的是什么负载,对于LED类负载,由于发管电流很小,因此上拉电阻的阻值可以用20k的,但是对于管子的集电极为继电器负载时,由于集电极电流大,因此上拉电阻的阻值最好不要大于4.7K,有时候甚至用2K的。对于PNP管,毫无疑问PNP管是低电平有效的,因此上拉电阻的阻值用100K以上的就行了,且管子的基极必须串接一个1--10K的电阻,阻值的大小要看管子集电极的负载是什么,对于LED类负载,由于发光电流很小,因此基极串接的电阻的阻值可以用20k的,但是对于管子的集电极为继电器负载时,由于集电极电流大,因此基极电阻的阻值最好不要大于4.7K。
3、对于驱动TTL集成电路,上拉电阻的阻值要用1--10K之间的,有时候电阻太大的话是拉不起来的,因此用的阻值较小。但是对于CMOS集成电路,上拉电阻的阻值就可以用的很大,一般不小于20K,我通常用100K的,实际上对于CMOS电路,上拉电阻的阻值用1M的也是可以的,但是要注意上拉电阻的阻值太大的时候,容易产生干扰,尤其是线路板的线条很长的时候,这种干扰更严重,这种情况下上拉电阻不宜过大,一般要小于100K,有时候甚至小于10K。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。MCS-51单片机常见问题14问
吴鉴鹰单片机开发板地址
店铺:【吴鉴鹰的小铺】
地址:【】
一、MCS-51单片机内部包含哪些主要功能部件?它们的作用是什么?
MCS-51单片机在一块芯片中集成了 CPU 、RAM、ROM、定时/计数器、多功能 I/O 口 和中断控制等基本功能部件。 单片机的核心部分是 CPU ,CPU 是单片机的大脑和心脏。 程序存储器用于存放编好的程序或表格常数。数据存储器用于存放中间运算结果、数据 暂存和缓冲、标志位等。 定时/计数器实质上是加法计数器,当它对具有固定时间间隔的内部机器周期进行计数时 ,它是定时器;当它对外部事件进行计数时,它是计数器。 I/O 接口的主要功能包括:缓冲与锁存数据、地址译码、信息格式转换、传递状态(外 设状态)和发布命令等。 中断控制可以解决 CPU 与外设之间速度匹配的问题,使单片机可以及时处理系统中许 多随机的参数和信息,同时,它也提高了其处理故障与应变能力的能力。
二、MCS-51单片机的 EA、ALE和PSEN 端的功能是什么?
答:ALE——ALE 为地址锁存允许信号,在访问外部存储器时,ALE 用来锁存 P0送出的低 8 位地址信号。 PSEN ——外部程序存储器的读选通信号。当访问外部 ROM 时, PSEN 产生负脉冲作 为外部 ROM的选通信号;在访问外部 RAM或片内 ROM时,不会产生有效的PSEN 信 号。 PSEN 可驱动 8 个LSTTL 门输入端。 EA ——访问外部程序存储器控制信号。对 8051 和8751 ,它们的片内有 4KB 的程序存 储器。当 EA 为高电平时,CPU 访问程序存储器有两种情况:一是访问的地址空间在 0 ~4K 范围内,CPU 访问片内程序存储器;二是访问的地址超出 4K 时,CPU 将自动执 行外部程序存储器的程序。对于 8031 ,EA 必须接地,只能访问外部 ROM。
三、MCS-51单片机的 P3口具有哪些功能?
答:P3口是双功能口,除了作为准双向通用 I/O 口使用外,每一根口线还具有第二种功能 ,P3口的各位如不设定为第二功能则自动处于第一功能。P3的第二功能涉及到串行口 、外部中断、定时器,与特殊功能寄存器有关。
四、89C51单片机有几个中断源?它们的中断标志位分别是什么?这些中断标志位是如何产生的?又是如何清“0”的?
答:5个,外部中断0:IE0,开放中断后,当INTO引脚有下降沿或者低电平时产生,响应中断后自然清0
定时器0:TF0外部中断1:IE1开放中断后,当INT1引脚有下降沿厚着低电平时产生,响应中断后自然清0
定时器1:TF1开放中断后,当定时或计数时间到产生,响应中断后自然清0.另外如果不开放中断,采用软件判断是,需要软件清0.
串口:RI/TI,通信开始后当接收完或者发送完一帧后产生,响应中断后需要软件清0.
五、如果采用晶振的频率为 3MHz ,定时/计数器工作方式 0、1、2 下,其最大的定时时间为多少?
答:内部定时脉冲周期=机器周期=12/3Mhz=4us
工作方式 0:Tmax
=8192*4us=32.768ms
工作方式 1:Tmax
=65536*4us=262.144ms
工作方式 2:Tmax
=256*4us=1.024ms
六、定时/计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关?
答:其计数脉冲由单片机振荡脉冲 12 分频输出的机器周期脉冲提供,定时时间与工作方式、晶振频率和预置数等因素有关。
七、定时/计数器的工作方式 2 有什么特点?适用于哪些应用场合?
答:工作方式2 具有初值自动重新加载和循环工作的特点,适用于产生固定脉宽的脉冲信号,和作为串行口波特率发生器使用。
八、一个定时器的定时时间有限,如何实现两个定时器的串行定时,来实现较长时间的定时?
答:方法一:让一个定时器先定时,溢出后,再启动另一个定时器定时;
方法二:在第一个中断处理子程序中加入计数器,计数器满后,就去启动另一个定时器定时,把要处理的事件放第二个中断处理子程序中。
九、简述串行口接收和发送数据的过程。
答:MCS-51单片机内部有一个全双工的异步串行通信口,即串行接收和发送缓冲器(SBUF),这两个在物理上独立的接收发送器,既可以接收数据,也可以发送数据,串行口发送的过程是:先从累加器 A 中读入 8 位数据到 SBUF,随后在串行口有硬件自动加入起始位和停止位,构成一个完整的帧格式,然后在移位脉冲的控制下,由 TXD端串行输出,一个字符帧发送完后,使 TXD输出线维持在 1 状态下,并将 SCON 寄存器的 TI置1,通知 CPU 可以发送下一个字符帧。串行口接收的过程是:SCON 的REN 位应处于允许接收状态(REN=1),在此前提下,串行口采样 RXD端,当采样到从 1 向0 的状态跳变时,就认定是接收到起始位,随后在移位脉冲的控制下,把通过位采样脉冲接收到的数据位移入接收寄存器中,直到停止位到来之后把停止位送入 RB8 中,并置位中断标志位 RI ,通知 CPU 从SBUF 取走接收到的一个字符。
十、为什么定时/计数器 T1用做串行口波特率发生器时,应采用方式 2?若已知时钟频率、通信波特率,如何计算其初值?
答:因为方式 2 是有自动重装载计数值的功能,从而可以产生精确的波特率。串行工作方式0 和方式 2 波特率是固定的,所以不用设初值;串行工作方式 1 和方式 3 时:波特率:BR = (2SMOD×Td)/32溢出一次的时间:1/ Td = (256-TH1)*12/ fosc溢出率:Td = fosc/[12×(256-TH1)]初值:TH1 = 256- fosc/(12* Td)
十一、单片机应用系统中为什么要进行系统扩展?
答:8031 、8032 等单片机不提供用户程序存储器,必须进行程序存储器的扩展,以存放控制程序、数据表格等;8751 等单片机虽然向用户提供 EPROM 程序存储器,但程序存储器空间容量不大,程序存储空间不足时,还必须扩展外部程序存储器。MCS-51系列单片机内部通常有 128B至256B的片内数据存储器,用于一般的控制及运算是足够的,但若用于数据存储,其容量是不足的,在这种情况下,必须扩展数据存储器。MCS-51系列单片机对外提供 32 条I/O 口线,但其 P0口作为地址/数据复用口,P2口用于提供高 8 位地址,而其 P3口具有第二功能,若扩展了程序存储器或数据存储器,单片机的 I/O 口往往也不够用,有时必须进行 I/O 口的扩展。应用系统中有时还涉及到数据的输入、输出、人机交互信息等接口问题,必须进行有关接口电路扩展。
十二、A/D 及D/A 转换的含义是什么?
答:A/D 转换是指将模拟信号转换为数字信号,主要用于微机控制系统的模拟信号数据采集。D/A 转换是指将数字信号转换为模拟信号,主要用于恢复模拟信号或进行模拟控制。
十三、DAC0832器件有哪些主要技术指标?其含义是什么?
答:DAC0832是将数字信号转换为模拟信号的器件。它的主要技术指标及含义如下:分辨率:8 位,可以将 8 位数字量转换为模拟量;建立时间:1μS ,即从数字量写入 8 位DAC寄存器到产生与输入数字量对应的模拟量输出的时间;输入信号:与 TTL 电平兼容的二进制信号;输出信号:与输入二进制信号对应的电流信号;电源:单一+5V 电源;
十四、ADC0809器件有哪些主要技术指标?其含义是什么?
答:ADC0809是将模拟信号转换为数字信号的 AD器件,它的主要技术指标及含义如下:分辨率:8 位,可以将输入模拟量转换为与之对应的 8 位数字量;信号输入范围:0-5V;转换时间:即完成一次 A/D 转换所需时间,与外加时钟信号频率有关,外部时钟信号为500KHz 时转换时间为 128μS ;输出信号:与输入模拟信号对应的 8 位二进制数字量,信号电平与 TTL 电平兼容;电源:单一+5V 电源;
喜欢本文的亲们,欢迎点赞哦
技术源于积累,成功来自执着——单片机精讲吴鉴鹰
责任编辑:
声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
今日搜狐热点

我要回帖

更多关于 单片机编程入门 的文章

 

随机推荐