找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

5课:单片机延时程序分析

查看数: 76236 | 评论数: 105 | 收藏 9
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2013-5-21 02:48

正文摘要:

上一次课中,我们已经知道,程序中的符号R7、R6是代表了一个个的RAM单元,是用来放一些数据的,下面我们再来看一下其它符号的含义。 DELAY:   MOV R7,#250   ;(6) D1:   MOV R6,#250    ...

回复

ID:866313 发表于 2024-1-6 15:54
LED闪烁程序如下:
  1. ;外设端口切换寄存器 2 的地址
  2. P_SW2   DATA    0BAH

  3. ;端口模式配置寄存器的地址
  4. P1M0    DATA    092H
  5. P1M1    DATA    091H

  6.         ORG     0000H
  7.         LJMP    MAIN
  8.         ORG     0100H

  9. ; 主程序:
  10. MAIN:
  11.     MOV SP, #5FH
  12.     ORL P_SW2,#80H ;使能访问 XFR
  13.    
  14.     MOV P1M0, #00H
  15.     MOV P1M1, #00H
  16.    
  17.     MOV P1M0, #08H ;设置 P1.3 为推挽输出模式
  18.     MOV P1M1, #00H
  19.    
  20.     LJMP    LOOP

  21. ; 循环
  22. LOOP:
  23.     SETB P1.3       ; (1) P1.3 口输出高电平,点亮小灯
  24.     LCALL DELAY_1S  ; (2) 延时一段时间
  25.     CLR P1.3        ; (3) P1.3 口输出低电平,熄灭小灯
  26.     LCALL DELAY_1S  ; (4) 延时一段时间
  27.     AJMP LOOP       ; (5) 跳转到第一句 LOOP 处

  28. ;====================延时1秒子程序====================
  29. DELAY_1S:         ;延时子程序,12MHz晶振延时1.002035秒
  30.     MOV R4, #10   ;1指令周期
  31.    
  32. L3:
  33.     MOV R2, #200  ;1指令周期
  34.    
  35. L1:
  36.     MOV R3, #249  ;1指令周期
  37.     L2:
  38.         DJNZ R3, L2     ;2指令周期
  39.    
  40.     DJNZ R2, L1          ;2指令周期
  41.     DJNZ R4, L3          ;2指令周期
  42.    
  43.     RET                      ;2指令周期
  44. ;循环体延时时间: [(249*2+1+2)*200+1+2]*10*12/12000000=1.002032s
  45. ;加上LCALL指令和第一条MOV指令以及最后一条RET指令算出来整个函数的时间为1.002035s
  46. ;=====================================================

  47. END
复制代码

烧录到 STC8H8K64U 芯片中,使用的时钟频率是 1MHz,这个频率是 12MHz 的 1/12

LED小灯点亮1秒钟、熄灭1秒钟、点亮1秒钟、熄灭1秒钟……闪烁

ID:1050091 发表于 2022-11-1 21:14
lixichunedu 发表于 2014-4-5 12:46
12MHZ的晶体振荡器  意味着这个晶体振荡器1秒钟震荡12000000次,也就是12000000个(高一下低一下),也就 ...

了解谢谢
ID:770193 发表于 2022-6-17 11:35
引用楼主:这种复位电路的工作原理是:通电时,电容两端相当于是短路,于是RST管脚上为高电平,然后电源通过电阻对电容充电,RST端电压慢慢下降,降到一定程序,即为低电平,单片机开始正常工作。
自己理解:对电容充电,使得电容从0v-3.5v转变,电阻上面分得的电压从5v到1.5下降,当5V,RST是高电平,默认开启复位,当小于等于1.5V默认位低电平,RST脚不能动作;
我想请问楼主,为什么是充电到3.5V?  
ID:866313 发表于 2020-12-29 16:06
从生活中的平常事入手,将单片机中的知识点和概念讲解理解起来非常轻松啊,谢谢
ID:149799 发表于 2019-6-26 09:22
好贴,楼主继续讲解下一个,谢谢。
ID:380170 发表于 2019-3-22 06:37
简单明了,初步学习好资料!感谢admin,感.
ID:400832 发表于 2018-10-10 16:06
菜菜鸟爱单片机 发表于 2014-3-20 17:16
**** 作者被禁止或删除 内容自动屏蔽 ****

一个机器周期等于12个时钟周期,12M的时钟周期等于1/12微秒,所以12M的机器周期等于1微秒
ID:401204 发表于 2018-9-23 17:26
楼主写程序时最好写完整的程序比如头文件等,因为只写一段程序初学者会误解的,自己写的时候照你的抄结果搞半天搞不出
ID:379308 发表于 2018-8-29 20:39
请问设计100ms的延时单元中的数分配法则是啥啊
ID:330769 发表于 2018-7-1 15:07
非常感想,讲的很通俗,一下子就看懂了
ID:93625 发表于 2018-6-25 15:55
除了主贴的内容,下面回复的内容也有助于理解主贴的内容。
ID:327434 发表于 2018-5-21 17:31
有点懵
ID:335016 发表于 2018-5-21 16:56
很给力!
ID:313192 发表于 2018-4-21 20:42
第五课,又学习了
ID:249545 发表于 2018-4-15 10:10
感谢老师详讲延时时序.
ID:305511 发表于 2018-4-12 23:11
前面哪里有讲啦R6和R7是什么?
ID:252798 发表于 2018-3-14 19:49
菜菜鸟爱单片机 发表于 2014-3-20 17:16
**** 作者被禁止或删除 内容自动屏蔽 ****

12MHZ 即12M次1秒,12次为1US,一个机器周期为12个时钟周期,所以一个机器周期为1US。
ID:286876 发表于 2018-3-2 11:09
需要学习
ID:276348 发表于 2018-1-16 20:19
这节讲的命令对于相应引脚的作用和复位过程。
ID:263209 发表于 2017-12-26 18:41
练习
DELAY: MOV R7 #199;
D1: MOV R6 #245;
D2:DJNZ R6,D2;
DJNZ R7,D1;
RET
ID:263209 发表于 2017-12-26 18:37
练习:DELAY: MOV R7 #199
ID:259811 发表于 2017-12-12 16:54
Soar_C 发表于 2014-12-10 16:04
**** 作者被禁止或删除 内容自动屏蔽 ****

怎么算从5V降到3V所需要的时间?
ID:247636 发表于 2017-11-16 11:49
谢谢楼主分享的资料
ID:243806 发表于 2017-10-29 00:14
很详细

很详细
ID:68875 发表于 2017-10-22 23:27
不错!很好
ID:237917 发表于 2017-10-9 13:24
如果在R6中放入0,会有什么样的结果。 就是执行250次
ID:237917 发表于 2017-10-9 13:22
请大家用自已的话讲一下这条语句是怎样执行的:第(8)句就是,R6=250,执行减1,等于249,不等于0,转移到D2;此时的D2里的R6=249,减1,等于248,不等于0,转移到D2……如此以往,到底250次,R6=0,执行下一行也就是(9),而(9)也是同样的原理,转移到D1再执行D2,最终结果就是原地转圈250(R7由250每次减1减到0) x 250(R由250每次减1减到0)次
ID:165330 发表于 2017-10-8 20:15
不错
ID:165330 发表于 2017-10-8 20:14
牛逼。。。。
ID:231625 发表于 2017-9-20 16:13
70楼应该是正解,按70楼讲解能多少明白点,为什么一上电就是高电平;41楼解释了程序恢复后的理解,就是当电流不动时,又恢复低电平
ID:231625 发表于 2017-9-20 15:02

单片机上电是直流5v电压,电容不是隔直通交吗?为什么一上电电容就短路了?当电容充完电之后不用放电吗,放电如何确定正负极,
ID:216466 发表于 2017-8-19 10:40
ivmmcu 发表于 2014-4-18 11:47
单片机上电是直流5v电压,电容不是隔直通交吗?为什么一上电电容就短路了?当电容充完电之后不用放电吗?复 ...

电容元件的特征就是 先有电流再有电压,电容加载电源时,理论电流无限大电压零。
跟电感元件的特征刚好相反。
ID:223571 发表于 2017-8-16 11:39
     RST引脚保持2个机器周期以上的高电平可以复位,是不是频率不同的晶振,这2个周期的时间也不一样呀?
ID:223571 发表于 2017-8-16 10:16
一个问题:如果在R6中放入0,会有什么样的结果。结果是该程序只执行250次
ID:209085 发表于 2017-6-8 09:55
thanks for sharing
ID:198528 发表于 2017-5-9 11:01
什么叫一个单元中的数...
ID:196530 发表于 2017-5-4 16:21
ivmmcu 发表于 2014-4-18 11:47
单片机上电是直流5v电压,电容不是隔直通交吗?为什么一上电电容就短路了?当电容充完电之后不用放电吗?复 ...

单片机上电瞬间相当于是交流电,频率为无穷大,根据隔直通交,上电瞬间电容导通,约等于电容短路,复位端出现高电平。电路后续通过串联电阻放电使复位端回到低电平。
ID:196530 发表于 2017-5-4 16:11
复位电路的电容大小是如何确定的?是否跟电路的时间常数有关系?
ID:153611 发表于 2017-5-3 18:00
C2作用是什么?
ID:139165 发表于 2017-4-1 14:12
li hai

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表