找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5374|回复: 11
打印 上一主题 下一主题
收起左侧

EMC78P468L单片机中低频治疗按摩仪相关全套资料 PCB硬件+源码等资料

  [复制链接]
跳转到指定楼层
楼主
基于亿隆单片机的中低频治疗按摩仪全套设计资料:


元件清单:


下面是中低频治疗按摩仪的硬件设计资料pcb+原理图等:


亿隆EMC78P468L单片机源程序如下:

  1. ;/******************************************************
  2. ;// Copyright (C),SAIYI TECHNOLOGY Co.,Ltd
  3. ;// 文 件 名: 带收音机功能的治疗仪
  4. ;// 作    者: 陈智雄
  5. ;// 日    期:
  6. ;// IC 型 号: EM78P468N
  7. ;// 版 本 号:
  8. ;// 软件平台:
  9. ;// 编辑软件: 义隆编译器
  10. ;// 修改记录:

  11. ;***********************
  12. ;=======================
  13. ;        define system register
  14. ;=======================
  15. iar                                equ                0x00
  16. tcc                                equ                0x01
  17. pc                                 equ                0x02
  18. psw                                equ                0x03
  19. rsr                                equ                0x04
  20. p5                                equ                0x05
  21. p6                                  equ                0x06
  22. p7                                equ                0x07
  23. p8                                   equ                0x08
  24. r9                                equ                0x09
  25. ra                                equ                0x0a
  26. rb                                equ                0x0b
  27. rc                                equ                0x0c
  28. rd                                equ                0x0d
  29. re                                equ                0x0e
  30. rf                                equ                0x0f
  31. ;---------------------------- bc        p5,0
  32. ioc50                        equ                0x05
  33. ioc60                        equ                0x06
  34. ioc70                        equ                0x07
  35. ioc80                        equ                0x08
  36. ioc90                        equ                0x09
  37. ioca0                        equ                0x0a
  38. iocb0                        equ                0x0b
  39. iocc0                        equ                0x0c
  40. iocd0                        equ                0x0d
  41. ioce0                        equ                0x0e
  42. iocf0                        equ                0x0f
  43. ;---------------------------- bs        p5,1
  44. ioc51                        equ                0x05
  45. ioc61                        equ                0x06
  46. ioc71                        equ                0x07
  47. ioc81                        equ                0x08
  48. ioc91                        equ                0x09
  49. ioca1                        equ                0x0a
  50. iocb1                        equ                0x0b
  51. iocc1                        equ                0x0c
  52. iocd1                        equ                0x0d
  53. ioce1                        equ                0x0e
  54. iocf1                        equ                0x0f
  55. ;----------------------------
  56. ;=========================
  57. ;        define system register flag
  58. ;=========================
  59. c                                ==                psw.0        ; 进/借标志位
  60. z                                ==                psw.2        ; 零标志位
  61. tcif                        ==                rf.0        ; 定时中断标志位
  62. intf                        ==                rf.1        ; 外中断0标志
  63. ;=========================
  64. ;                        define   general   register
  65. ;*************************
  66. ;**********
  67. acc_buf                        equ                        0x10
  68. psw_buf                        equ                        0x11


  69. cnt_1                        equ                        0x16
  70. cnt_2                        equ                        0x17
  71. cnt_3                        equ                        0x18
  72. cnt_4                        equ                        0x19
  73. cnt_5                        equ                        0x1a
  74. cnt_6                        equ                        0x1b
  75. cnt_7                        equ                        0x1c

  76. time_10ms_cnt        equ                        0x1d
  77. time_500ms_cnt        equ                        0x1e
  78. time_1min_cnt        equ                        0x1f
  79. key_cnt                        equ                        0x20
  80. key_cnt1                equ                        0x21
  81. key_cnt2                equ                        0x22
  82. key_cnt3                equ                        0x23
  83. key_cnt4                equ                        0x24
  84. key_cnt5                equ                        0x25

  85. DW_cnt                        equ                        0x26
  86. QD_cnt                        equ                        0x27

  87. time_20s_cnt        equ                        0x28
  88. time_cnt                equ                        0x29
  89. frs_count                equ                        0x2a

  90. mode_cnt                equ                        0x2b
  91. move                        equ                        0x2c
  92. COUNT                        equ                        0x2d
  93. COUNT1                        equ                        0x2e

  94. count_80us                equ                        0x2f
  95. charge_count_value        equ                0x30
  96. count2                        equ                        0x31
  97. move_1                        equ                        0x32
  98. ;*******IO口*******
  99. io_led                        ==                p6.3
  100. ;*****充电口
  101. io_p62                        ==                p6.2
  102. io_p61                        ==                p6.1
  103. ;*****左右口
  104. io_p57                        ==                p5.7
  105. io_p54                        ==                p5.4
  106. ;*****左右口
  107. io_p60                        ==                p6.0
  108. io_p55                        ==                p5.5
  109. ;*****放电口
  110. io_p56                        ==                p5.6
  111. ;*****按键扫描口
  112. io_p67                        ==                p6.7
  113. io_p87                        ==                p8.7

  114. power_key                ==                p6.5
  115. mode_key                ==                p6.6;4
  116. C_E_key                        ==                p6.4;6
  117. up_key                        ==                p6.6;4
  118. down_key                ==                p6.4;6
  119. zhongpin_key        ==                p6.5
  120. ;********初值********
  121. _TCC_BUF                                equ                190

  122. time_10ms_value                        equ                250
  123. time_500ms_value                equ                50
  124. time_1min_value                        equ                120

  125. time_5ms_value                        equ                32
  126. time_200us_value                equ                50
  127. time_1s_value                        equ                200
  128. time_20S_value                        equ                40
  129. time_15min_value                equ                15


  130. ;********标志位*******
  131. flag_C_E                equ                0x3f
  132. f_C_E_ok                ==                flag_C_E.1

  133. flag                        equ                0x12
  134. f_power_ok                ==                flag.0
  135. f_zhong_di                ==                flag.2
  136. f_shangshuo                ==                flag.3
  137. F_ALLOW_PUT                ==                flag.4
  138. f_left_right        ==                flag.5
  139. CHARGE_OVER                ==                flag.6
  140. f_start_charge        ==                flag.7

  141. flag1                        equ                0x13
  142. f_500ms_2                ==                flag1.0
  143. f_500ms_1                ==                flag1.1
  144. f_500ms                        ==                flag1.2
  145. f_1min                        ==                flag1.3
  146. f_10ms                        ==                flag1.4
  147. start_stop_flag        ==                flag1.5



  148. flag2                        equ                0x14
  149. f_power_release        ==                flag2.0
  150. f_mode_release        ==                flag2.1
  151. f_C_E_release        ==                flag2.2
  152. f_up_release        ==                flag2.3
  153. f_down_release        ==                flag2.4
  154. f_ZP_release        ==                flag2.5
  155. f_cbc                        ==                flag2.6

  156. flag3                        equ                0x15
  157. f_power_key                ==                flag3.0
  158. f_mdoe_key                ==                flag3.1
  159. f_C_E_key                ==                flag3.2
  160. f_up_key                ==                flag3.3
  161. f_down_key                ==                flag3.4
  162. f_ZP_key                ==                flag3.5
  163. ;`````````````````````````````
  164. ;                                程序
  165. ;`````````````````````````````
  166.                 org                0x0000
  167.                 jmp                reset
  168.                 org                0x0003                ; 定时中断
  169.                 page        0
  170.                 jmp                int_sever
  171. ;==================
  172. TAB_dipin:
  173.                 and                a,@0x0f
  174.                 add                pc,a
  175.                 retl        @0                        ;0
  176.                 retl        @13                        ;1
  177.                 retl        @18                        ;2
  178.                 retl        @23                        ;3
  179.                 retl        @30                        ;4
  180.                 retl        @40;50                        ;5
  181.                 retl        @50;60                        ;6
  182.                 retl        @60;75                        ;7
  183.                 retl        @75;90                        ;8
  184.                 retl        @90;105                ;9
  185.                 retl        @105;120                ;10
  186.                 retl        @125;135                ;11
  187.                 retl        @145;155                ;12
  188.                 retl        @165;175                ;13
  189.                 retl        @185;190                ;14
  190.                 retl        @220;210                ;15

  191. TAB_zhongpin:
  192.                 and                a,@0x0f
  193.                 add                pc,a
  194.                 retl        @0                ;0
  195.                 retl        @7                ;1
  196.                 retl        @13                ;2
  197.                 retl        @18                ;3
  198.                 retl        @23                ;4
  199.                 retl        @30                ;5
  200.                 retl        @37                ;6
  201.                 retl        @45                ;7
  202.                 retl        @55                ;8
  203.                 retl        @65                ;9
  204.                 retl        @75                ;10
  205.                 retl        @85                ;11
  206.                 retl        @100        ;12
  207.                 retl        @115        ;13
  208.                 retl        @130        ;14
  209.                 retl        @160        ;15

  210. reset_00:
  211.                 MOV           A,@0X10
  212.                 MOV           RSR,A
  213. CLR_RAM0:
  214.                 CLR                IAR
  215.                 INC                RSR
  216.                 MOV                A,RSR
  217.                 SUB                A,@0X1F
  218.                 JBS                z                        ;Z
  219.                 JMP                CLR_RAM0
  220.                 CLR                IAR
  221.                 ret

  222. CLR_RAM1:
  223.                 MOV            A,@0X20
  224.                 MOV            RSR,A
  225. CLR_RAM2:
  226.                 WDTC
  227.                 CLR                IAR
  228.                 INC                RSR
  229.                 MOV            A,RSR
  230.                 SUB                A,@0X3E
  231.                 JBS                z                        ;Z
  232.                 JMP                CLR_RAM2
  233.                 CLR                IAR
  234.                 RET

  235. reset:
  236.                 nop
  237.                 call        reset_00
  238.                 call        CLR_RAM1
  239. ;------------------
  240. init_system:
  241.                 mov       a,@00000000b  ;p5 开始为低
  242.                 mov       p5,a

  243.                 mov       a,@00000000b  ;p6 开始为低
  244.                 mov       p6,a

  245.                 mov       a,@00000000b  ;p7 开始为低
  246.                 mov       p7,a

  247.                 mov       a,@00000000b  ;p8 开始为低
  248.                 mov       p8,a
  249. ;00000000b
  250.                 mov       a,@11000100B  ;BS  DS1  DS0  LCDEN  --  LCDTYPE LCDF1 LCDF0
  251.                 mov       r9,a                    ;用于设置bais and duty lcd使能等、暂时禁用LCD显示屏

  252.                 mov       a,@00000000b  ; 0  0  0  LCD_A4  LCD_A3  LCD_A2  LCD_A1  LCD_A0
  253.                 mov       ra,a                    ;用于设置lcd 地址

  254.                 mov       a,@00000000b  ;-- -- -- -- LCD_D3 LCD_D2 LCD_D1 LCD_D0
  255.                 mov       rb,a              ;用于设置lcd 数据

  256.                 mov       a,@00000000b  ;-- -- -- --  LPWTEN  HPWTEN  CNT2EN  CNT1EN
  257.                 mov       rc,a               ;用于打开 定时器1,2 和PWM 计数

  258.                 mov       a,@00000001b  ;-- CLK2 CLK1 CLK0 IDLE BF1 BF0 CPUS  
  259.                 mov       rd,a               ;main-oscillator (Fs*130/4=1.065M) 指令周期1us

  260.                 mov       a,@00000000b  ;IRE  HF  LGP -- IROUTE  TCCE  EINT1  EINT0
  261.                 mov       re,a                ;禁止PWM功能,禁止PWM输出

  262.                 mov       a,@00000000b  ;(清除中断标志  ICIF LPWTF HPWTF CNT2F CNT1F  INT1F INT0F TCIF)
  263.                 mov       rf,a

  264. ;```````````````````
  265.                 bc        p5,0

  266.                 mov       a,@00000001b    ;p54,p55,p56,p57 as output
  267.                 iow       ioc50            ;p70-p77,p80-p87 as normal i/o

  268.                 mov       a,@01110000b    ;p6,7~p6,5 as output,p6,4~p6,0 as input
  269.                 iow       ioc60

  270.                 mov       a,@00000000b    ;p7 as output
  271.                 iow       ioc70

  272.                 mov       a,@01111111b    ;p8 as output
  273.                 iow       ioc80

  274.                 mov       a,@00000000b    ;0  RAM_A6 RAM_A5 RAM_A4 RAM_A3 RAM_A2 RAM_A1 RAM_A0
  275.                 iow       ioc90

  276.                 mov       a,@00000000b    ;RAM_D7 RAM_D6 RAM_D5 RAM_D4 RAM_D3 RAM_D2 RAM_D1 RAM_D0
  277.                 iow       ioca0

  278.                 mov       a,@00000000b    ;Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
  279.                 iow       iocb0

  280.                  mov       a,@00000000b    ;Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
  281.                 iow       iocc0

  282.                 mov       a,@00000000b    ;Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
  283.                 iow       iocd0

  284.                 mov       a,@00000000b    ;Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
  285.                 iow       ioce0

  286.                 mov       a,@00000000b    ;(使能中断)ICIE LPWTE HPWTE CNT2E CNT1E INT1E INT0E TCIE
  287.                 iow       iocf0             ;使能P6,P8口状态变化中断

  288. ;```````````````````
  289.                 bs        p5,0
  290.                 mov       a,@00001100b   ;IROCS  --  --  --  /WUE8H /WUE8L /WUE6H /WUE6L
  291.                 iow       ioc61                 ;enable p60-p67 wake up

  292.                 mov       a,@01000000b   ;INT_EDGE INT TS TE PSRE TCCP2 TCCP1 TCCP0
  293.                 iow       ioc71          ;timer is 1:1 --interrupt enable by ENI/RETI instructions

  294.                 mov       a,@000000000b   ;-- -- -- -- WDTE WDTP2 WDTP1 WDTP0
  295.                 iow       ioc81          ;刚开始disable wdtc function  ,wdtc rate  is 1:4

  296.                 mov       a,@00000000b   ;CNT2S CNT2P2 CNT2P1 CNT2P0 CNT1S CNT1P2 CNT1P1 CNT1P0
  297.                 iow       ioc91               ;count1 rate 1:2 used sub 用副频

  298.                 mov       a,@00000000b   ;LPWTS LPWTP2 LPWTP1 LPWTP0 HPWTS HPWTP2 HPWTP1 HPWTP0
  299.                 iow       ioca1

  300.                 mov       a,@01110000b   ;enable p6,0~p6,4 is pull_high
  301.                 iow       iocb1

  302.                 mov       a,@00000000b   ;disabale  port6 is open_drain
  303.                 iow       iocc1

  304.                 mov       a,@00000000b   ;disable port8 is pull_high
  305.                 iow       iocd1

  306.                 mov       a,@00000000b   ;disable port6 is pull_low
  307.                 iow       ioce1

  308.                 clr                  rf                         ;(清除中断标志  ICIF LPWTF HPWTF CNT2F CNT1F  INT1F INT0F TCIF)

  309.                 clr                flag_C_E
  310.                 bs                f_C_E_ok
  311.                 clr                cnt_1
  312.                 clr                cnt_2
  313.                 clr                cnt_3

  314. ;-------------------------
  315. ;                上电清屏
  316. ;-------------------------
  317.                 bs   io_led
  318.                 MOV  A,@0XD2  ;0;1;3
  319.                 MOV  r9,A                ; 1/3BIAS,1/4DUTY ENABLE LCD
  320. ;---------------------
  321.                 MOV  A,@0XFF
  322.                 MOV  cnt_1,A

  323.                 MOV  A,@0X1F
  324.                 MOV  ra,A
  325.                 MOV  cnt_2,A
  326. DISPLAY_ALL:                        ; POWER ON DISPALY ALL 1S
  327.                 MOV  A,cnt_2
  328.                 MOV  ra,A
  329.                 MOV  A,cnt_1
  330.                 MOV  rb,A
  331.                 DJZ  cnt_2
  332.                 JMP  DISPLAY_ALL
  333.                 MOV  A,cnt_2
  334.                 MOV  ra,A
  335.                 MOV  A,cnt_1
  336.                 MOV  rb,A
  337. ;---------------------
  338.                 CALL DELAY_1S
  339.                 MOV  A,@0X00
  340.                 MOV  cnt_1,A

  341.                 MOV  A,@0X1F
  342.                 MOV  ra,A
  343.                 MOV  cnt_2,A
  344. DISPLAY_OFF:
  345.                 MOV  A,cnt_2
  346.                 MOV  ra,A
  347.                 MOV  A,cnt_1
  348.                 MOV  rb,A
  349.                 DJZ  cnt_2
  350.                 JMP  DISPLAY_OFF
  351.                 MOV  A,cnt_2
  352.                 MOV  ra,A
  353.                 MOV  A,cnt_1
  354.                 MOV  rb,A
  355. shuimian:
  356.                 disi
  357.                 mov                a,@0
  358.                 mov                p5,a
  359.                 mov                p6,a
  360. ;------
  361.                 bc                r9,4
  362.                 bc                io_led
  363. ;*****清RAM空间*******
  364.                 call        reset_00
  365.                 call        CLR_RAM1
  366.                 call        F_DIS_CHARGE
  367. ;----------
  368.                 mov                a,@time_10ms_value
  369.                 mov                time_10ms_cnt,a
  370.                 mov                a,@time_500ms_value
  371.                 mov                time_500ms_cnt,a
  372.                 mov                a,@time_1min_value
  373.                 mov                time_1min_cnt,a

  374. shuimian_0:
  375.                 nop
  376.                 bs                io_p67
  377.                 bc                io_p87
  378.                 nop
  379.                 bc                rd,3
  380.                 slep
  381.                 nop
  382.                 bs                P5,0
  383.                 MOV                A,@0x00
  384.                 iow                ioc81
  385.                 nop
  386.                 nop
  387.                 bs                io_p67
  388.                 bc                io_p87
  389.                 nop
  390. shuimian_1:
  391.                 jbs                power_key
  392.                 jmp                $+3
  393.                 clr                key_cnt
  394.                 jmp                shuimian

  395.                 djz                key_cnt
  396.                 jmp                shuimian_1
  397.                
  398.                 MOV                A,@_TCC_BUF
  399.                 MOV                TCC,A
  400.                 BC                P5,0
  401.                 MOV                A,@0B00000001                       ;开启定时中断
  402.                 IOW                iocf0

  403.                 bs                r9,4
  404.                 bs                io_led
  405.                 clr                rf
  406.                 bs                F_ALLOW_PUT
  407.                 bs                f_cbc
  408. ;--------
  409.                 eni
  410. ;******************
  411. ;                主程序
  412. ;******************
  413. main:
  414.                 wdtc
  415.                 page        0
  416.                 nop
  417.                 call        time_dis
  418.                 call        key_scan
  419.                 call        key_dis
  420.                 call        F_MODE_DISCHARGE

  421.                 page        2
  422.                 call        LCD_dis
  423.                 page        0


  424.                 mov                a,DW_cnt
  425.                 sub                a,@0
  426.                 jbs                z
  427.                 jmp                main_00

  428.                 jbs                f_500ms_2
  429.                 jmp                main_00
  430.                 bc                f_500ms_2

  431.                 djz                time_20s_cnt
  432.                 jmp                main_00
  433.                 bc                f_power_ok
  434. main_00:
  435.                 jbs                f_cbc
  436.                 jmp                main_01
  437.                 jmp                main
  438. main_01:
  439.                 jbs                f_power_ok
  440.                 jmp                shuimian

  441.                 jbs                f_1min
  442.                 jmp                main
  443.                 bc                f_1min

  444.                 …………
  445. …………
  446. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
中低频按摩仪(SY_Y_022).zip (4.24 MB, 下载次数: 164)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:353794 发表于 2018-6-18 18:57 | 只看该作者
其中包括原理图,电路板图,程序,和相关器件资料,希望对大家有帮助。
回复

使用道具 举报

板凳
ID:600028 发表于 2019-8-14 13:18 | 只看该作者
下载了,原理图怎么打不开
回复

使用道具 举报

地板
ID:600028 发表于 2019-8-14 13:20 | 只看该作者
能否提供一下原理图,我正在做这个项目,就是硬件不是很清楚
回复

使用道具 举报

5#
ID:385637 发表于 2019-8-26 10:42 | 只看该作者
可惜了,软件是绘编语言的,看不懂
回复

使用道具 举报

6#
ID:420147 发表于 2019-8-26 13:29 | 只看该作者
请问一下  写程序的软件和PCb的软件是什么啊
回复

使用道具 举报

7#
ID:12558 发表于 2019-12-16 08:16 来自手机 | 只看该作者
为什么下载不了?
回复

使用道具 举报

8#
ID:664835 发表于 2019-12-16 09:39 来自手机 | 只看该作者
siyi_ld 发表于 2019-8-14 13:18
下载了,原理图怎么打不开

可能是软件不适配
回复

使用道具 举报

9#
ID:668012 发表于 2019-12-19 11:57 | 只看该作者
来学习的,谢谢分享!
回复

使用道具 举报

10#
ID:186764 发表于 2021-12-5 23:16 | 只看该作者
不确定能看得懂,谢谢楼主分享。
回复

使用道具 举报

11#
ID:59830 发表于 2022-3-25 11:00 | 只看该作者
看了资料2013年,以前这个单片机在 红火 ,现在国产型号多,关注渐渐淡了.看看回顾一下.
回复

使用道具 举报

12#
ID:156220 发表于 2023-7-7 09:19 | 只看该作者
看看之前的绑定芯片,谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

Powered by 单片机教程网

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