MCS-51定时器,串行口和中断初始化程序

发布者:中和子最新更新时间:2018-03-10 来源: eefocus关键字:MCS-51  定时器  串行口  中断初始化 手机看文章 扫描二维码
随时随地手机看文章

  程序框图

001

  电路

002

 


程序

0030  758160          CHK00:  MOV  SP,#60H

0033  1204A5                 LCALL LEDP

0036  900081                  MOV DPTR,#CLOCK

0039  A882                    MOV  R0,DPL

003B  A983                    MOV  R1,DPH

003D  90000B                  MOV  DPTR,#000BH

0040  7402                    MOV  A,#02H

0042   F0                      MOVX  @DPTR,A

0043  A3                      INC  DPTR

0044  E9                      MOV  A,R1

0045  F0                      MOVX  @DPTR,A

0046  A3                      INC  DPTR

0047  E8                      MOV  A,R0

0048  F0                      MOVX  @DPTR,A

0049  120DF0          CHK0:  LCALL LCK0   ;键扫,显示子程序

004C  120068                  LCALL PTDS0    ;显示缓冲区放数子程序

004F  758901                  MOV  TMOD,#01H

0052  43A882                  ORL  IE,#82H

0055  758AB7                  MOV  TL0,#0B7H

0058  758C3C                  MOV  TH0,#3CH  ;定时中断初始化

005B  752300                  MOV  23H,#00H

005E  D28C                    SETB  TR0      ;开定时

0060  120425          LOO5:  LCALL DIS      ;显示

0063  120068                  LCALL PTDS0

0066  80F8                    SJMP  LOO5

0068  7879            PTDS0:  MOV  R0,#79H

006A  E522                    MOV  A,22H

006C  1177                    ACALL PTDS

006E  E521                    MOV  A,21H

0070  1177                    ACALL PTDS

0072  E520                    MOV  A,20H

0074  1177                    ACALL PTDS

0076  22                      RET                                                   

0077  F9              PTDS:  MOV  R1,A        ;拆送显示缓冲区                                                                                                                         

0078  117C                    ACALL PTDS1                                                     

007A  E9                     MOV  A,R1                                                         

007B  C4                      SWAP  A                                                     

007C  540F            PTDS1:  ANL  A,#0FH                                                             

007E  F6                      MOV  @R0,A                                                     

007F  08                      INC  R0                                                   

0080  22                      RET                                                     

0081  758AB7        CLOCK:  MOV  TL0,#0B7H                                                                   

0084  758C3C                  MOV  TH0,#3CH    ;恢复初值                                             

0087  C0D0                    PUSH  PSW                                                     

0089  C0E0                    PUSH  ACC                                                     

008B  D2D3                    SETB  0D3H        ;保护                                         

008D  0523                    INC  23H        ;0.1秒加1                                   

008F  E523                    MOV  A,23H                                                   

0091  B40A27                  CJNE  A,#0AH,DONE ;1秒到吗?                                                 

0094  752300                  MOV  23H,#00H    ;清0.1秒单元                                         

0097  E522                    MOV  A,22H                                                   

0099  04                      INC  A          ;秒加1                               

009A  D4                      DA    A                                                       

009B  F522                    MOV  22H,A      ;十进制调整                                         

009D  B4601B                  CJNE  A,#60H,DONE ;60秒到吗?                                                       

00A0  752200                  MOV  22H,#00H    ;秒单元清零                                               

00A3   E521                    MOV  A,21H                                                         

00A5  04                      INC  A                                                         

00A6  D4                      DA    A          ;分加1,十进制调整                                       

00A7  F521                    MOV  21H,A                                                             

00A9  B4600F                  CJNE  A,#60H,DONE ;60分到吗?                                                       

00AC  752100                  MOV  21H,#00H    ;分单元清零                                                     

00AF  E520                    MOV  A,20H                                                                   

00B1  04                      INC   A                                                   

00B2  D4                      DA    A          ;时加1,十进制调整                               

00B3  F520                    MOV  20H,A                                                     

00B5  B42403                  CJNE  A,#24H,DONE ;24小时到吗?                                                             

00B8  752000                  MOV  20H,#00H    ;时单元清零                                             

00BB  D0E0          DONE:    POP  ACC         ;退栈                                                   

00BD  D0D0                    POP  PSW                                                           

00BF  32                      RET1                                                             

                              ORG  0D59H                                                   

0D59  D2D4          SSEE:    SETB  RS1          ;换工作区                                                       

0D58  7D05                    MOV  R5,#05H                                                             

0D5D  753020        SSE2:    MOV  30H,#20H                                                                 

0D60  75317E                  MOV  31H,#7EH                                                               

0D63  7F06                    MOV  R7,#06H                                                               

0D65  79DD          SSE1:    MOV  R1,#0DDH                                                                                 

0D67  E530                    MOV  A,30H                                                           

0D69  F3                      MOVX  @R1,A        ;字位送入                                                     

0D6A  A831                    MOV  R0,31H                                                                   

0D6C  E6                      MOV  A,@R0                                                                 

0D6D  900D85                  MOV  DPTR,#0DDFFH                                                                     

0D70  93                      MOVC  A,@A+DPTR    ;取字形代码                                                       

0D71  79DC                    MOV  R1,#0DCH                                                                     

0D73  F3                      MOVX  @R1,A        ;字形送入                                                       

0D74  E530                    MOV  A,30H        ;右移                                                     

0D76  03                      RR    A                                                           

0D77  F530                    MOV  30H,A                                                                         

0D79  1531                    DEC  31H                                                                  

0D7B  74FF                    MOV  A,#0FFH                                                                     

0D7D  F3                      MOVX  @R1,A        ;关显示                                           

0D7E  DFE5                    DJNZ  R7,SSE1      ;6位显示完了吗?                                                       

0D80  DDDB                    DJNZ  R5,SSE2      ;5次显示完了吗?                                                           

0D82  C2D4                    CLR  RS1                                                                 

0D84  22                      RET                                                                   

0D85  C0F9A4      ODFF:      DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H                                                                               

0D88  B09992,          DB 0F8H,80H,90H                                                                                       

0D8B  82F880                                                                                         

0D8E  90                                                                                           

0D8F  8883C6                DB 88H,83H,0C6H,0A1H,86H                                                                        

0D92  A1868E        DB 8EH,0FFH,0CH,89H,0DEH                                                                                           

0D95  FF0C89                                                                                       

0D98  DE                                                                                       

                              ORG  038EH                                                             

038E  FC              X3:    MOV  R4,A                                                                   

038F  7850                    MOV  R0,#50H                                                                       

0391  E6                      MOV  A,@R0                                                                     

0392  F9                      MOV  R1,A                                                                     

0393  EC                      MOV  A,R4                                                                              

0394  F7                      MOV  @R1,A                                                                                 

0395  E4                      CLR  A                                                                         

0396  D083                    POP  DPH                                                                                                               

0398  D082                    POP  DPL                                                                               

039A  93                      MOVC  A,@A+DPTR                                                                         

039B  A3                      INC  DPTR                                                                           

039C  B5010A                  CJNE  A,01H,X30                                                                           

039F  19                      DEC  R1                                                                       

03A0  E4                      CLR  A                                                                         

03A1  93                      MOVC  A,@A+DPTR                                                                           

03A2  F6              X31:    MOV  @R0,A                                                                                           

03A3  A3                      INC  DPTR                                                                             

03A4  C082                    PUSH  DPL                                                                                   

03A6  C083                    PUSH  DPH                                                                                       

03A8  22                     RET                                                                                           

03A9  19              X30:    DEC  R1                                                                                           

03AA  E9                      MOV  A,R1                                                                                           

03AB  80F5                    SJMP  X31

      ;--------------------------------------

03AD  7E50    X2:MOV    R6,#50H

03AF  71D1    X0:ACALL  XLE

03B1  30E51C      JNB   ACC.5,XX0

03B4  DEF9        DJNZ   R6,X0

03B6  7E20        MOV   R6,#20H

03B8  7850        MOV    R0,#50H

03BA  E6      MOV    A,@R0

03BB  F8      MOV    R0,A

03BC  E6      MOV    A,@R0

03BD  FF      MOV   R7,A

03BE  7410        MOV    A,#10H

03C0  F6      MOV   @R0,A

03C1  71D1    X1:ACALL  XLE

03C3  30E506      JNB    ACC.5,XX1

03C6  DEF9        DJNZ   R6,X1

03C8  EF      MOV    A,R7

03C9  F6      MOV   @R0,A

03CA  80E1        SJMP  X2

03CC  FE  XX1:    MOV    R6,A

03CD  EF      MOV    A,R7

03CE  F6      MOV   @R0,A

03CF  EE      MOV    A,R6

03D0  22  XX0:    RET

03D1  9125    XLE:    ACALL  DIS 

03D3  9164        ACALL  KEY

03D5  FC      MOV    R4,A

03D6  7948        MOV    R1,#48H

03D8  E7      MOV    A,@R1

03D9  FA      MOV    R2,A

03DA  09      INC   R1

03DB  E7      MOV    A,@R1

03DC  FB      MOV    R3,A

03DD  EC      MOV    A,R4

03DE  6B      XRL    A,R3

03DF  AB04        MOV   R3,04H

03E1  AC02        MOV   R4,02H

03E3  6004        JZ     X10

03E5  7A88        MOV    R2,#88H

03E7  7C88        MOV    R4,#88H

03E9  1C  X10:    DEC    R4 

03EA  EC      MOV    A,R4

03EB  6482        XRL    A,#82H

03ED  600F        JZ     X11

03EF  EC      MOV    A,R4

03F0  640E        XRL    A,#0EH

03F2  600A        JZ     X11

03F4  EC      MOV    A,R4

03F5  6005        JZ     X12 

03F7  7C02        MOV    R4,#20H

03F9  1A      DEC    R2

03FA  8006        SJMP   X13

03FC  7C0F    X12:    MOV   R4,#0FH

03FE  AA04    X11:    MOV    R2,04H

0400  AC03        MOV    R4,03H

0402  7948    X13:    MOV    R1,#48H

0404  EA      MOV    A,R2

0405  F7      MOV    @R1,A

0406  09      INC    R1

0407  EB      MOV    A,R3

0408  F7      MOV    @R1,A

0409  EC      MOV    A,R4

040A  20E507      JB     ACC.5,X113

040D  20E404      JB     ACC.4,X113

0410  900415      MOV    DPTR,#LS3

0413  93      MOVC   A,@A+DPTR

0414  22  X113:  RET

0415  070408  LS3:    DB     07H,04H,08H,05H,09H,06H,0AH  0418    050906     

041B  0A     

041C  0B0100      DB     0BH,01H,00H,02H,0FH,03H,0EH

041F  020F03     

0422  0E     

0423  0C0D        DB     0CH,0DH

0425      C083  DIS:     PUSH   DPH       

0427  C082        PUSH   DPL

0429  D2D4        SETB  RS1

042B  787E          MOV   R0,#7EH

042D  7A20        MOV   R2,#20H

042F  7B00        MOV   R3,#00H

0431  90044F      MOV   DPTR,#LS0

0434  E6  LS2:    MOV   A,@R0

0435  93      MOVC  A,@A+APTR

0436  79DC        MOV   R1,#0DCH

0438  F3      MOVX  @R1,A

0439  EA      MOV   A,R2 

043A  09      INC   R1

043B  F3      MOVX  @R1,A

043C  DBFE    LS1:      DJNZ  R3,LS1 

043E  C3            CLR   C

043F  13            RRC   A

0440  FA            MOV   R2,A

0441  18            DEC   R0

0442  70F0              JNZ   LS2

0444  F2            MOVX  @R0,A

0445  18            DEC   R0

0446  F4            CPL  A 

0447  F2          MOVX  @R0,A

0448  C2D4            CLR   RS1

044A  D082            POP   DPL 

044C  D083            POP  DPH

044E  22          RET

044F  C0F9A4      LS0:  DB 0C0H,0F9H,0A4H,0B0H,99H,92H   

0452  B09992     

0455  82F880            DB 82H,0F8H,80H,90H,88H,83H,0C6H

0458  908883     

045B  C6     

045C  A1868E          DB 0A1H,86H,8EH,0FFH,0CH,89H,7FH,0BFH

045F  FF0C89     

0462  7FBF       

0464  D2D4    KEY:      SETB   RS1

0466  7AFE            MOV    R2,#0FEH

0468  7B08            MOV    R3,#08H

046A  7800            MOV    R0,#00H

046C  79DD    LP1:    MOV    R1,#0DDH

046E  EA         MOV    A,R2

046F  F3      MOVX   @R1,A

0470  23      RL    A

0471  FA      MOV   R2,A

0472  09      INC   R1

0473  E3      MOVX  A,@R1

0474  F4      CPL   A

0475  540F        ANL   A,#0FH

0477  700E        JNZ   LP0

0479  08      INC   R0

047A  DBF0        DJNZ  R3,LP1

047C  7420    XP33:  MOV   A,#20H

047E  FA  XP3:    MOV   R2,A

047F  E4      CLR   A

0480  79DD        MOV   R1,#0DDH

0482  F3      MOVX  @R1,A

0483  EA      MOV   A,R2

0484  C2D4        CLR  RS1

0486  22      RET

0487  F4  LP0:    CPL   A

0488  20E004      JB    ACC.0,XP0

048B  7400        MOV   A,#00H

048D  8013        SJMP  LPP

048F  20E104  XP0:    JB    ACC.1,XP1

0492  7408        MOV   A,#08H

0494  800C        SJMP  LPP

0496  20E204  XP1:    JB    ACC.2,XP2

0499  7410        MOV   A,#10H

049B  8005        SJMP  LPP

049D  20E3DC  XP2:    JB    ACC.3,XP33   

04A0  7418        MOV   A,#18H

04A2  28  LPP:    ADD   A,R0     

04A3  80D9        SJMP  XP3

      ;---------------------------------------

04A5  75507E  LEDP:  MOV   50H,#7EH 

04A8  7410        MOV   A,#10H

04AA  7879        MOV   R0,#79H

04AC  F6  LEDS:  MOV   @R0,A

04AD  08      INC   R0

04AE  B87EFB      CJNE  R0,#7EH,LEDS

04B1  04      INC   A

04B2  F6      MOV   @R0,A

04B3  7420        MOV   A,#20H

04B5  F548        MOV   48H,A

04B7  F549        MOV   49H,A

04B9  22      RET

END


关键字:MCS-51  定时器  串行口  中断初始化 引用地址:MCS-51定时器,串行口和中断初始化程序

上一篇:AT89S51算术运算类指令
下一篇:DAC0832转换程序

推荐阅读最新更新时间:2024-03-16 15:57

msp432快速入门第七节之定时器中断
(一)定时器基本功能解析 在用户手册中我们可以看到MSP432P401R的两种定时器,分别是Timer32定时器和TAx定时器,在此依次对其进行介绍,最后使用TA定时器进行工程实战。 (1)TA定时器 Usermanual中的介绍为: 解释为:TimerA定时器是一个16位的定时计数器,每个定时器有7路比较寄存器,支持捕获,比较,定时,PWM等模式,支持中断,可在中断中判断7路比较寄存器中哪个产生中断。 主要寄存器就是配置寄存器,CNT计数器,频率基准,CCR各路比较值寄存器等等,这些寄存器一般是Timer外设通用的。 (2)Timer32定时器 首先看Usermanula的介绍: 解释为:Timer32是一个可以
[单片机]
msp432快速入门第七节之<font color='red'>定时器</font><font color='red'>中断</font>
MCS51单片机的定时器/计数器概念 非常好的寄存器关系图
一、MCS-51单片机的定时器/计数器概念 单片机中的定时器和计数器其实是同一个物理的电子元件,只不过计数器记录的是单片机外部发生的事情(接受的是外部脉冲),而定时器则是由单片机自身提供的一个非常稳定的计数器,这个稳定的计数器就是单片机上连接的晶振部件;MCS-51单片机的晶振经过12分频之后提供给单片机的只有1MHZ的稳定脉冲;晶振的频率是非常准确的,所以单片机的计数脉冲之间的时间间隔也是非常准确的,这个准确的时间间隔是1微秒; MCS-51单片机外接的是12MHZ的晶振(实际上是11.0592MHZ),所以,MCS-51单片机内部的工作频率(时钟脉冲频率)是12MHZ/12=1MHZ=1000000次/秒=1000000条指令
[单片机]
MCS51单片机的<font color='red'>定时器</font>/计数器概念 非常好的寄存器关系图
利用8051单片机串行口串并转换输出程序
;利用8051串行口,和并行输出串行移位寄存器74LS164, ;扩展一位数码显示在数码显示器上循环显示0-9这10个数字。 ;晶振频率为11.0592MHZ ;4C00为50ms定时常数 ORG 0000H LJMP START ORG
[单片机]
51单片机入门 - 定时器中断应用实例
定时器中断应用实例 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 设计要求: 每秒点亮P1.0口的发光二极管一次,然后熄灭,使发光二极管形成闪烁效果 实现思路: 通过定时/计数器,每秒触发一次P1.0取反 涉及到的功能模块:定时器,中断,LED操作 定时器装填: 需要计数每秒的话,计数921600时溢出即可,在四种方式定时方式中,最大的计数范围是方式2:6553
[单片机]
51单片机入门 - <font color='red'>定时器</font><font color='red'>中断</font>应用实例
MCS-51单片机的算术运算指令解析
MCS-51具有强大的加、减、乘、除四则算术运算指令。 1.程序状态字PSW MCS-51有一个程序状态字寄存器PSW,用来保存指令执行结果的标志,供程序查讯和判别。PSW是特殊功能寄存器中的一个,其格式如下: PSW7--既是布尔处理机的累加器C,又是进位标志CY,如果操作结果在最高位有进位输出(加法时)或借位输入(减法时),置位CY,否则清“0”CY。 AC--辅助进位(半进位)标志。如果操作结果的低4位有进位(加法时)或向高4位借位时(减法),置AC,否则清“0”AC,AC主要用于二-十进制数加法调整。 OV--溢出标志。如果操作结果有进位进入最高位,但最高位没有产生进位,或者最高位产生进位而低位没有向最高位进位,这时置位溢
[单片机]
电子定时器
本电子定时器能定时给电器供电或断电,最大时间可以长达30h,操作使用方便,采用AT89C2051单片机控制,4位共阳数码管显示时间,继电器作电器电源输出控制,其电路简单。 1.系统硬件电路的设计 (1)芯片的选择 硬件电路要求实现对交流大电流电源的控制、定时时间的设定显示和到点提醒等功能。若采用40脚单片机有利于设计,但会增大电路板的体积。本设计采用ATMEL公司的AT89C2051单片机,芯片为20脚,体积小,工作电压范围宽(2.7V~6V)。 (2)交流控制接口电路 本设计采用继电器控制。也可用可控硅控制等。 (3)显示电路 显示电路采用4个LED数码管。为了在定时精度达到分的时候能显示出时钟
[单片机]
电子<font color='red'>定时器</font>
采用555定时器和单片机的RC测量系统设计方案
  本文介绍了一种基于555定时器和单片机的数显式电阻和电容测量系统设计方案。该系统利用555和待测电阻或电容组成多谐振荡器,通过单片机测量555输出信号的周期,根据周期与待测电阻或电容的数学关系计算出电阻或电容值,再将之在LCD1602上显示出来。最后仿真结果表明该测量系统具有结构简单,方便实用等优点,能够测量一定范围内的电阻和电容值。   1.引言   在电子仪器、仪表的制造及使用行业,有大量的印刷 电路板 需要调试、测量与维修,需要对电阻电容的数值进行测试。   本文介绍了一种基于AT89C51单片机和555定时器的数显式电阻和电容测量系统设计方案,然后制作出电路实物,实现系统的功能。系统利用555定时器和待测电阻(或
[单片机]
【STM32】TIM---基本定时器
一、TIM 简介 定时器最基本功能:定时 定时发送 USART 数据 定时采集 AD 数据等 定时器与 GPIO 结合 测量输入信号脉冲宽度 产生输出波形 等 ▲ 各个定时器的特性 二、基本定时器 基本定时器 :TIM6 和 TIM7 ,基本功能完全一样,但所占资源彼此完全独立。 ▲ 基本定时器的功能框图 基本定时器时钟只能来自内部时钟 基本定时器的内部时钟(CK_INT)频率为 84MHz 基 本定时器还专门用于 DAC 转换触发 只要设置 CK_PSC 和 TIMx_ARR 这两个寄存器的值就可以控制事件生成的时间 三、定时器周期计算 T o u t ToutTout:溢出时间,即定时多长时间
[单片机]
【STM32】TIM---基本<font color='red'>定时器</font>
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved