单片机问题

如题所述

1.    TMOD用于控制定时器/汁数器的工作模式及工作方式,其字节地址为80H,格式如下。其中,低4位用于决定T0的工作方式,高4位用于决定T1的工作方式。 



1)、M1和M0工作方式控制位 
M0和M1为工作方式控制位,确定4种工作方式,分别为方式0、1、2、3。


2)、C/T定时器/计数器方式选择位 
C/T=0,设置为定时方式,对机器周期进行计数; 
C/T=1,设定为计数方式,对外部信号进行计数,外部信号接至T0(P3.4)或T1(P3.5)引脚。 
3)、GATE门控位 
GATE=0时,只要用软件使TR0(或TR1)置1就能启动定时器T0(或T1); 
GATE=1时,只有在INT0(或INT1)引脚为高电平的情况下,且由软件使TR0(或TR1)置1时,才能启动定时器T0(或T1)工作。

2.  答:TMOD=0x81  表示定时器T0为定时、工作方式1;T1为定时、工作方式0、门控。

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-12-05
把外部RAM中1000H~1030H的内容传送到内RAM的30H~60H中。
2.试编制程序实现1+2+3+……+100=?结果的商8位保存内RAM中51H单元中,低8位保存在50H单元中。
3.已知8051单片机使用的晶振为12HZ,试编制延时40ms的程序。
我需要知道程序!
提问者: Oct_JuJu - 童生 一级 最佳答案
6月4日 20:56 我来提个思路吧,具体程序有你来编写.单片机这个东西是越琢磨越有意思,只要思路对头你就能做得出来.对自己要有信心.
1、这个问题主要应解决两部分
一是状态的读入和处理。因为是高电平有效,在电路设计中应该为P1口上装上下拉电阻。处理主要是把他们从二进制转换到十进制,然后转换成七段码以便驱动数码管。转换的方法有多种,你可以对他进行判断他是否在100以内、100与200之间还是大于200。小于100直接用DA转换成十进制,并记高位为0;在100与200之间就先减去100然后用DA转换并记高位为1;大于200之间就先减去200然后用DA转换并记高位为2。至于转换为七段码的方法无非有两个——译码器译码和查表译码。对于这个小项目没必要增加硬件消耗,所以建立一个译码表查表即可。这里需要查三次,分别是高位、低位高4位和低位低4位。查表后要在RAM中建立一个显示缓冲区,三个字节就可以了。
二是输出问题。采用动态显示3个数码管就可以了,定时10ms把显示缓存区相应的数据送到P0口,当然P0口需要驱动放大的。同时利用P3口的3个引脚做位选信号分别选择相应的数码管,同样也少不了驱动。
2、这个问题比较简单,你只要把信号输入到外部中断INT0或INT1就可以。外部中断设置为脉冲中断,这个中断子程序在一个标准时间段(如1S)内对一个计数器加一计数。然后把这个数乘以6(这个数是60除以10得到的)就是一分钟内的转数了。另外虽然你没提到,不过我想你还是要做个显示的,显示同上。
3、这题因为我不太了解574所以没办法帮你了,不好意思。
希望我说的这几句话能帮到你,也希望你能因此对单片机产生兴趣:)追问

这粘贴复制的

第2个回答  2018-12-06
这个问题你看一下你的教材答案就有了
相似回答