历史上的今天
今天是:2025年05月11日(星期日)
2018年05月11日 | 单片机编程,输出周期为2S和0.5S的方波
2018-05-11 来源:eefocus
在80C51单片机中,已知时钟频率为 6MHz,请编程使 P1.0 和 P1.1 分别输出周期为 2s 和 0.5s 的方波。
求答案,过程。
;=====================================
最佳答案:
;-------------------------------------
;下列程序,经过编译、仿真,符合要求:
;-------------------------------------
ORG 0000H
SJMP START
ORG 000BH
SJMP T0_INT
;-------------------------------------
START:
MOV TMOD, #01H
MOV TH0, #9EH
MOV TL0, #58H ;50ms@6MHz
SETB TR0
SETB ET0
SETB EA
MOV R2, #5
MOV A, #0
CLR P1.0
CLR P1.1
SJMP $ ;原地转移,假死,等待中断
;-------------------------------------
T0_INT: ;50ms执行一次
MOV TH0, #9EH ;重新赋初始值
MOV TL0, #58H ;50ms@6MHz
DJNZ R2, T0_END ;不到5次,转到退出
; ;下列指令都是每隔250ms执行一次
MOV R2, #5 ;重新设置
INC A ;计数器加一
MOV C, ACC.0
MOV P1.1, C ;P1.1,每隔250ms,变化一次
MOV C, ACC.2
MOV P1.0, C ;P1.0,每隔1s,变化一次
T0_END:
RETI
;-------------------------------------
END
;-------------------------------------
;-------------------------------------
后记:
题目要求输出两个波形的周期是个4倍的关系,这一点,被做而论道发现并巧妙的利用了。
程序中只使用了一个计数器ACC,它的相邻两位之间的变化时间,是呈2倍的关系;
而其第0位和第2位,就是4倍的关系,把它们输出,即可得到所需的周期波形。
呵呵,做而论道的程序,所使用的资源,是最低的;执行效率也最高,不知网友们认为如何?
上一篇:汇编语言程序分析-51单片机
下一篇:单片机32串流水灯程序
史海拾趣
|
新做了一块2440板子,在调的过程中遇到个问题: 1. 2440+128M SDRAM(挂在BANK6和BANK7) 2. 2440的SDRAM,向0x30000001,0x30000005,0x30000009 0x3000000d等地址写数据,再读出来,发现最高位始终为1,这是怎么回事呀 比如向0x30000001写0x01,读回 ...… 查看全部问答> |
|
我在vs2008上建个了wince的智能设备,在使用sqlite的时候出现字符转换问题。 bool MySQLite::sqlite_connect( TCHAR filename) { db=NULL; zE ...… 查看全部问答> |
|
使用到FSMC总线控制16位LCD液晶,其中使用100Pin的STM32,A16连接到LCD的A0,那么在读写LCD的时候,A17,A18这些地 ...… 查看全部问答> |
|
注:下面是一些常用的代码,网上很多但是大多注释不全。高手看没问题,对于我们这些新手就费劲了……所以我把这些代码集中,进行了逐句注释,希望对新手们有价值。阅读flash: 芯片内部存储器flash操作函数我的理解——对芯片内部flash进 ...… 查看全部问答> |
|
同学们,ST关于i2c-e2prom的例子,修改以下几点就可以了 1.之前有同学说发现I2C_EE_BufferWrite执行后,总线就被拉低了,使得后来的start位发不出去这是因为每个I2C_EE_BufferWrite都是以I2C_EE_WaitEepromStandbyState结尾的,而这个函数里并未发送stop位来释放总线所以第一个需要修改的地方就是在I ...… 查看全部问答> |
|
通过前几个专题的分析,我们知道 HMI意味硬件+软件而这里面的软件,由于适应性的需求,可以说就是组态软件。那么到底组态软件是一个什么样的美女呢?怎么王八看绿豆,HMI就相中她了呢?组态软件组态软件在国内是一个约定俗成的概念,并没有明确的 ...… 查看全部问答> |
|
AVR的SPI接口很多只有一个,如果驱动较多的以SPI接口的外设时就必须通过IO来模拟,实际上对于低速外设来说IO模拟的方式也很方便,网上关于模拟SPI的程序很多,我的程序是基于GCCAVR来写的,其他编译器的都类似,写的时候我尽量做到规范和方便后期使 ...… 查看全部问答> |




