[DemoCode下载] N76E616的汇编演示GPIO操作

[复制链接]
1246|9
 楼主| 734774645 发表于 2019-5-19 11:31 | 显示全部楼层 |阅读模式
  1. ;---------------------------------------------------------------------------------------------------------*/
  2. ;                                                                                                         */
  3. ; Copyright(c) 2015 Nuvoton Technology Corp. All rights reserved.                                         */
  4. ;                                                                                                         */
  5. ;---------------------------------------------------------------------------------------------------------*/

  6. ;***********************************************************************************************************
  7. ;  Nuvoton Technoledge Corp.
  8. ;  Weblink: http://www.nuvoton.com
  9. ;  E-Mail : MicroC-8bit@nuvoton.com
  10. ;  Date   : Sep/1/2015
  11. ;***********************************************************************************************************

  12. ;***********************************************************************************************************
  13. ;  File Function: N76E616 GPIO simple demo code
  14. ;***********************************************************************************************************

  15. #include "N76E616.h"
  16. #include "Delay.inc"

  17.         CSEG    AT  0000h
  18.         LJMP    start
  19.         
  20.         ; Note: When N76E616 power on, the system clock is HIRC (11.0592MHz), so Fsys = 11.0592MHz
  21. start:
  22.         call Set_All_GPIO_Quasi_Mode
  23.    
  24. Loop1:
  25.         clr     P02;
  26.         setb    P03;
  27.         call    delay_200ms
  28.         setb    P02;
  29.         clr     P03;
  30.         call    delay_200ms
  31.         jmp     Loop1

  32. Set_All_GPIO_Quasi_Mode:
  33.         mov     P0M1,#0x00;
  34.         mov     P0M2,#0x00;
  35.         mov     P1M1,#0x00;
  36.         mov     P1M2,#0x00;
  37.         mov     P2M1,#0x00;
  38.         mov     P2M2,#0x00;
  39.         mov     P3M1,#0x00;
  40.         mov     P3M2,#0x00;
  41.         mov     P4M1,#0x00;
  42.         mov     P4M2,#0x00;
  43.         mov     P5M1,#0x00;
  44.         mov     P5M2,#0x00;
  45.         ret

  46.         end




 楼主| 734774645 发表于 2019-5-19 11:31 | 显示全部楼层
  1. PUBLIC  delay_15us
  2. PUBLIC  delay_25us
  3. PUBLIC  delay_50us
  4. PUBLIC  delay_100us
  5. PUBLIC  delay_200us
  6. PUBLIC  delay_500us
  7. PUBLIC  delay_1ms
  8. PUBLIC  delay_2ms
  9. PUBLIC  delay_5ms
  10. PUBLIC  delay_10ms
  11. PUBLIC  delay_20ms
  12. PUBLIC  delay_50ms
  13. PUBLIC  delay_70ms
  14. PUBLIC  delay_100ms
  15. PUBLIC  delay_150ms
  16. PUBLIC  delay_200ms
  17. PUBLIC  delay_250ms
  18. PUBLIC  delay_300ms
  19. PUBLIC  delay_500ms
  20. PUBLIC  delay_1s
  21. PUBLIC  delay_2s
  22. PUBLIC  delay_5s
  23. PUBLIC  delay_10s

  24. ?PR?_Delay_A51  SEGMENT CODE
  25.         RSEG    ?PR?_Delay_A51
  26.         USING   0
  27.         
  28. ;;*****************************************************************************
  29. ;;Miscellaneous delay time @Fosc=11.059 MHz (1T)
  30. ;;*****************************************************************************
  31. delay_15us: ;65mc
  32.          PUSH   07h     ;2mc
  33.          MOV    R7,#14  ;1mc
  34.          DJNZ   R7,$    ;2mcx28
  35.          POP    07h     ;2mc
  36.          RET            ;4mc
  37. ;------------------------------
  38. delay_25us: ;108mc
  39.          PUSH   07h     ;2mc
  40.          MOV    R7,#68  ;1mc
  41.          DJNZ   R7,$    ;2mcx19
  42.          POP    07h     ;2mc
  43.          RET            ;4mc
  44. ;------------------------------
  45. delay_50us: ;130mc
  46.          call   delay_25us
  47.          call   delay_25us
  48.          ret
  49. ;------------------------------
  50. delay_100us: ;184mc
  51.          call   delay_50us
  52.          call   delay_50us
  53.          RET
  54. ;------------------------------
  55. delay_200us: ;369mc
  56.          call   delay_100us
  57.          call   delay_100us
  58.          RET
  59. ;------------------------------
  60. delay_500us:
  61.          CALL   delay_200us
  62.          CALL   delay_200us
  63.          CALL   delay_100us
  64.          RET
  65. ;------------------------------
  66. delay_1ms:
  67.          CALL   delay_500us
  68.          CALL   delay_500us
  69.          RET
  70. ;------------------------------
  71. delay_2ms:
  72.          CALL   delay_1ms
  73.          CALL   delay_1ms
  74.          RET
  75. ;------------------------------
  76. delay_5ms:
  77.          CALL   delay_2ms
  78.          CALL   delay_2ms
  79.          CALL   delay_1ms
  80.          RET
  81. ;------------------------------
  82. delay_10ms:
  83.          CALL   delay_5ms
  84.          CALL   delay_5ms
  85.          RET
  86. ;------------------------------
  87. delay_20ms:
  88.          CALL   delay_10ms
  89.          CALL   delay_10ms
  90.          RET
  91. ;------------------------------
  92. delay_50ms:
  93.          CALL   delay_20ms
  94.          CALL   delay_20ms
  95.          CALL   delay_10ms
  96.          RET
  97. ;------------------------------
  98. delay_70ms:
  99.          CALL   delay_50ms
  100.          CALL   delay_20ms
  101.          RET
  102. ;------------------------------
  103. delay_100ms:
  104.          CALL   delay_50ms
  105.          CALL   delay_50ms
  106.          RET
  107. ;------------------------------
  108. delay_125ms:
  109.          CALL   delay_100ms
  110.          CALL   delay_20ms
  111.          CALL   delay_5ms
  112.          RET
  113. ;------------------------------
  114. delay_150ms:
  115.          CALL   delay_100ms
  116.          CALL   delay_50ms
  117.          RET
  118. ;------------------------------
  119. delay_200ms:
  120.          CALL   delay_100ms
  121.          CALL   delay_100ms
  122.          RET
  123. ;------------------------------
  124. delay_250ms:
  125.          CALL   delay_200ms
  126.          CALL   delay_50ms
  127.          RET
  128. ;------------------------------
  129. delay_300ms:
  130.          CALL   delay_200ms
  131.          CALL   delay_100ms
  132.          RET
  133. ;------------------------------
  134. delay_500ms:
  135.          CALL   delay_200ms
  136.          CALL   delay_200ms
  137.          CALL   delay_100ms
  138.          RET
  139. ;------------------------------
  140. delay_1s:
  141.          CALL   delay_500ms
  142.          CALL   delay_500ms
  143.          RET
  144. ;------------------------------
  145. delay_2s:
  146.          CALL   delay_1s
  147.          CALL   delay_1s
  148.          RET
  149. ;------------------------------
  150. delay_5s:
  151.          CALL   delay_2s
  152.          CALL   delay_2s
  153.          CALL   delay_1s
  154.          RET
  155. ;------------------------------
  156. delay_10s:
  157.          CALL   delay_5s
  158.          CALL   delay_5s
  159.          RET
  160. ;------------------------------
  161.          end
 楼主| 734774645 发表于 2019-5-19 11:31 | 显示全部楼层
想学汇编的,或者想了解一下的,可以看看。
捉虫天师 发表于 2019-5-19 12:17 | 显示全部楼层
没想到还支持汇编
xuanhuanzi 发表于 2019-5-19 16:20 | 显示全部楼层
这是照顾编程老将啊
huahuagg 发表于 2019-5-19 17:22 | 显示全部楼层
第一次接触汇编
huahuagg 发表于 2019-5-19 17:22 | 显示全部楼层
MARK,学习一下
xinxianshi 发表于 2019-5-19 19:39 | 显示全部楼层
原来汇编的延时函数是这么写的,开眼界了。
zhang_2013 发表于 2019-5-23 11:29 | 显示全部楼层
学习啦,能否做一个M0的汇编例程。
zhang_2013 发表于 2019-5-23 11:31 | 显示全部楼层
学习啦,能否做一个M0的汇编例程。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

211

主题

3588

帖子

15

粉丝
快速回复 在线客服 返回列表 返回顶部