久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3228|回復: 2
打印 上一主題 下一主題
收起左側

SHTM11溫度傳感測試程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:82781 發表于 2015-6-13 01:46 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. ;*************************************************************************************
  2. ; File name: "temp_op_asm.s"
  3. ; Date:      2013年12月
  4. ; Author:   小ARM菜菜
  5. ; Q Q:       925295580
  6. ; Description: this is a test temperature
  7. ;************************************************************************************
  8. ;
  9. ;指令集采用標準指令集
  10. ;
  11. ;
  12. ;----- *8 bit CPU Register Definitions -----------------------------------------------------
  13. ANSELA           EQU  H'0F38'
  14. ANSELB           EQU  H'0F39'
  15. ANSELC           EQU  H'0F3A'
  16. PMD2             EQU  H'0F3D'
  17. PMD1             EQU  H'0F3E'
  18. PMD0             EQU  H'0F3F'
  19. DACCON1          EQU  H'0F40'
  20. VREFCON2         EQU  H'0F40'
  21. DACCON0          EQU  H'0F41'
  22. VREFCON1         EQU  H'0F41'
  23. FVRCON           EQU  H'0F42'
  24. VREFCON0         EQU  H'0F42'
  25. CTMUICON         EQU  H'0F43'
  26. CTMUICONH        EQU  H'0F43'
  27. CTMUCON1         EQU  H'0F44'
  28. CTMUCONL         EQU  H'0F44'
  29. CTMUCON0         EQU  H'0F45'
  30. CTMUCONH         EQU  H'0F45'
  31. SRCON1           EQU  H'0F46'
  32. SRCON0           EQU  H'0F47'
  33. CCPTMRS1         EQU  H'0F48'
  34. CCPTMRS0         EQU  H'0F49'
  35. T6CON            EQU  H'0F4A'
  36. PR6              EQU  H'0F4B'
  37. TMR6             EQU  H'0F4C'
  38. T5GCON           EQU  H'0F4D'
  39. T5CON            EQU  H'0F4E'
  40. TMR5             EQU  H'0F4F'
  41. TMR5L            EQU  H'0F4F'
  42. TMR5H            EQU  H'0F50'
  43. T4CON            EQU  H'0F51'
  44. PR4              EQU  H'0F52'
  45. TMR4             EQU  H'0F53'
  46. CCP5CON          EQU  H'0F54'
  47. CCPR5            EQU  H'0F55'
  48. CCPR5L           EQU  H'0F55'
  49. CCPR5H           EQU  H'0F56'
  50. CCP4CON          EQU  H'0F57'
  51. CCPR4            EQU  H'0F58'
  52. CCPR4L           EQU  H'0F58'
  53. CCPR4H           EQU  H'0F59'
  54. PSTR3CON         EQU  H'0F5A'
  55. CCP3AS           EQU  H'0F5B'
  56. ECCP3AS          EQU  H'0F5B'
  57. PWM3CON          EQU  H'0F5C'
  58. CCP3CON          EQU  H'0F5D'
  59. CCPR3            EQU  H'0F5E'
  60. CCPR3L           EQU  H'0F5E'
  61. CCPR3H           EQU  H'0F5F'
  62. SLRCON           EQU  H'0F60'
  63. WPUB             EQU  H'0F61'
  64. IOCB             EQU  H'0F62'
  65. PSTR2CON         EQU  H'0F63'
  66. CCP2AS           EQU  H'0F64'
  67. ECCP2AS          EQU  H'0F64'
  68. PWM2CON          EQU  H'0F65'
  69. CCP2CON          EQU  H'0F66'
  70. CCPR2            EQU  H'0F67'
  71. CCPR2L           EQU  H'0F67'
  72. CCPR2H           EQU  H'0F68'
  73. SSP2CON3         EQU  H'0F69'
  74. SSP2MSK          EQU  H'0F6A'
  75. SSP2CON2         EQU  H'0F6B'
  76. SSP2CON1         EQU  H'0F6C'
  77. SSP2STAT         EQU  H'0F6D'
  78. SSP2ADD          EQU  H'0F6E'
  79. SSP2BUF          EQU  H'0F6F'
  80. BAUD2CON         EQU  H'0F70'
  81. BAUDCON2         EQU  H'0F70'
  82. RC2STA           EQU  H'0F71'
  83. RCSTA2           EQU  H'0F71'
  84. TX2STA           EQU  H'0F72'
  85. TXSTA2           EQU  H'0F72'
  86. TX2REG           EQU  H'0F73'
  87. TXREG2           EQU  H'0F73'
  88. RC2REG           EQU  H'0F74'
  89. RCREG2           EQU  H'0F74'
  90. SP2BRG           EQU  H'0F75'
  91. SPBRG2           EQU  H'0F75'
  92. SP2BRGH          EQU  H'0F76'
  93. SPBRGH2          EQU  H'0F76'
  94. CM12CON          EQU  H'0F77'
  95. CM2CON1          EQU  H'0F77'
  96. CM2CON           EQU  H'0F78'
  97. CM2CON0          EQU  H'0F78'
  98. CM1CON           EQU  H'0F79'
  99. CM1CON0          EQU  H'0F79'
  100. PIE4             EQU  H'0F7A'
  101. PIR4             EQU  H'0F7B'
  102. IPR4             EQU  H'0F7C'
  103. PIE5             EQU  H'0F7D'
  104. PIR5             EQU  H'0F7E'
  105. IPR5             EQU  H'0F7F'
  106. PORTA            EQU  H'0F80'
  107. PORTB            EQU  H'0F81'
  108. PORTC            EQU  H'0F82'
  109. PORTE            EQU  H'0F84'
  110. LATA             EQU  H'0F89'
  111. LATB             EQU  H'0F8A'
  112. LATC             EQU  H'0F8B'
  113. DDRA             EQU  H'0F92'
  114. TRISA            EQU  H'0F92'
  115. DDRB             EQU  H'0F93'
  116. TRISB            EQU  H'0F93'
  117. DDRC             EQU  H'0F94'
  118. TRISC            EQU  H'0F94'
  119. TRISE            EQU  H'0F96'
  120. OSCTUNE          EQU  H'0F9B'
  121. HLVDCON          EQU  H'0F9C'
  122. LVDCON           EQU  H'0F9C'
  123. PIE1             EQU  H'0F9D'
  124. PIR1             EQU  H'0F9E'
  125. IPR1             EQU  H'0F9F'
  126. PIE2             EQU  H'0FA0'
  127. PIR2             EQU  H'0FA1'
  128. IPR2             EQU  H'0FA2'
  129. PIE3             EQU  H'0FA3'
  130. PIR3             EQU  H'0FA4'
  131. IPR3             EQU  H'0FA5'
  132. EECON1           EQU  H'0FA6'
  133. EECON2           EQU  H'0FA7'
  134. EEDATA           EQU  H'0FA8'
  135. EEADR            EQU  H'0FA9'
  136. RC1STA           EQU  H'0FAB'
  137. RCSTA            EQU  H'0FAB'
  138. RCSTA1           EQU  H'0FAB'
  139. TX1STA           EQU  H'0FAC'
  140. TXSTA            EQU  H'0FAC'
  141. TXSTA1           EQU  H'0FAC'
  142. TX1REG           EQU  H'0FAD'
  143. TXREG            EQU  H'0FAD'
  144. TXREG1           EQU  H'0FAD'
  145. RC1REG           EQU  H'0FAE'
  146. RCREG            EQU  H'0FAE'
  147. RCREG1           EQU  H'0FAE'
  148. SP1BRG           EQU  H'0FAF'
  149. SPBRG            EQU  H'0FAF'
  150. SPBRG1           EQU  H'0FAF'
  151. SP1BRGH          EQU  H'0FB0'
  152. SPBRGH           EQU  H'0FB0'
  153. SPBRGH1          EQU  H'0FB0'
  154. T3CON            EQU  H'0FB1'
  155. TMR3             EQU  H'0FB2'
  156. TMR3L            EQU  H'0FB2'
  157. TMR3H            EQU  H'0FB3'
  158. T3GCON           EQU  H'0FB4'
  159. ECCP1AS          EQU  H'0FB6'
  160. ECCPAS           EQU  H'0FB6'
  161. PWM1CON          EQU  H'0FB7'
  162. PWMCON           EQU  H'0FB7'
  163. BAUD1CON         EQU  H'0FB8'
  164. BAUDCON          EQU  H'0FB8'
  165. BAUDCON1         EQU  H'0FB8'
  166. BAUDCTL          EQU  H'0FB8'
  167. PSTR1CON         EQU  H'0FB9'
  168. PSTRCON          EQU  H'0FB9'
  169. T2CON            EQU  H'0FBA'
  170. PR2              EQU  H'0FBB'
  171. TMR2             EQU  H'0FBC'
  172. CCP1CON          EQU  H'0FBD'
  173. CCPR1            EQU  H'0FBE'
  174. CCPR1L           EQU  H'0FBE'
  175. CCPR1H           EQU  H'0FBF'
  176. ADCON2           EQU  H'0FC0'
  177. ADCON1           EQU  H'0FC1'
  178. ADCON0           EQU  H'0FC2'
  179. ADRES            EQU  H'0FC3'
  180. ADRESL           EQU  H'0FC3'
  181. ADRESH           EQU  H'0FC4'
  182. SSP1CON2         EQU  H'0FC5'
  183. SSPCON2          EQU  H'0FC5'
  184. SSP1CON1         EQU  H'0FC6'
  185. SSPCON1          EQU  H'0FC6'
  186. SSP1STAT         EQU  H'0FC7'
  187. SSPSTAT          EQU  H'0FC7'
  188. SSP1ADD          EQU  H'0FC8'
  189. SSPADD           EQU  H'0FC8'
  190. SSP1BUF          EQU  H'0FC9'
  191. SSPBUF           EQU  H'0FC9'
  192. SSP1MSK          EQU  H'0FCA'
  193. SSPMSK           EQU  H'0FCA'
  194. SSP1CON3         EQU  H'0FCB'
  195. SSPCON3          EQU  H'0FCB'
  196. T1GCON           EQU  H'0FCC'
  197. T1CON            EQU  H'0FCD'
  198. TMR1             EQU  H'0FCE'
  199. TMR1L            EQU  H'0FCE'
  200. TMR1H            EQU  H'0FCF'
  201. RCON             EQU  H'0FD0'
  202. WDTCON           EQU  H'0FD1'
  203. OSCCON2          EQU  H'0FD2'
  204. OSCCON           EQU  H'0FD3'
  205. T0CON            EQU  H'0FD5'
  206. TMR0             EQU  H'0FD6'
  207. TMR0L            EQU  H'0FD6'
  208. TMR0H            EQU  H'0FD7'
  209. STATUS           EQU  H'0FD8'
  210. FSR2L            EQU  H'0FD9'
  211. FSR2H            EQU  H'0FDA'
  212. PLUSW2           EQU  H'0FDB'
  213. PREINC2          EQU  H'0FDC'
  214. POSTDEC2         EQU  H'0FDD'
  215. POSTINC2         EQU  H'0FDE'
  216. INDF2            EQU  H'0FDF'
  217. BSR              EQU  H'0FE0'
  218. FSR1L            EQU  H'0FE1'
  219. FSR1H            EQU  H'0FE2'
  220. PLUSW1           EQU  H'0FE3'
  221. PREINC1          EQU  H'0FE4'
  222. POSTDEC1         EQU  H'0FE5'
  223. POSTINC1         EQU  H'0FE6'
  224. INDF1            EQU  H'0FE7'
  225. WREG             EQU  H'0FE8'
  226. FSR0L            EQU  H'0FE9'
  227. FSR0H            EQU  H'0FEA'
  228. PLUSW0           EQU  H'0FEB'
  229. PREINC0          EQU  H'0FEC'
  230. POSTDEC0         EQU  H'0FED'
  231. POSTINC0         EQU  H'0FEE'
  232. INDF0            EQU  H'0FEF'
  233. INTCON3          EQU  H'0FF0'
  234. INTCON2          EQU  H'0FF1'
  235. INTCON           EQU  H'0FF2'
  236. PROD             EQU  H'0FF3'
  237. PRODL            EQU  H'0FF3'
  238. PRODH            EQU  H'0FF4'
  239. TABLAT           EQU  H'0FF5'
  240. TBLPTR           EQU  H'0FF6'
  241. TBLPTRL          EQU  H'0FF6'
  242. TBLPTRH          EQU  H'0FF7'
  243. TBLPTRU          EQU  H'0FF8'
  244. PC               EQU  H'0FF9'
  245. PCL              EQU  H'0FF9'
  246. PCLATH           EQU  H'0FFA'
  247. PCLATU           EQU  H'0FFB'
  248. STKPTR           EQU  H'0FFC'
  249. TOS              EQU  H'0FFD'
  250. TOSL             EQU  H'0FFD'
  251. TOSH             EQU  H'0FFE'
  252. TOSU             EQU  H'0FFF'

  253. ;內存塊分配
  254. ;bank1 ram
  255. TICK  EQU   H'20'
  256. TICK1 EQU   H'21'
  257. DATA_LINE_ACK_STATUS   EQU  H'10' ;save the line ststus  0x00/0x01 回應信號
  258. SHTM11_READ_BYTE_COUNT EQU  H'11'  ;讀取SHTM11字節數計數
  259. SHTM11_READ_BIT_COUNT  EQU  H'12'  ;讀取SHTM11 bit計數
  260. SHTM11_READ_BYTE0      EQU  H'0'  ;讀取數據的第0字節
  261. SHTM11_READ_BYTE1      EQU  H'14'  ;讀取數據的第1字節
  262. SHTM11_READ_BYTE2      EQU  H'15'  ;讀取數據的第2字節
  263. SHTM11_READ_BYTE3      EQU  H'16'  ;讀取數據的第3字節
  264. SHTM11_READ_BYTE4      EQU  H'17'  ;讀取數據的第4字節
  265. ;start rom addr is 0x0000H
  266. ORG 000H
  267.    GOTO _MAIN


  268. ; main function
  269.   ORG 20H
  270. _MAIN:
  271.   CALL INIT_PORTA_REG;     call init porta
  272.   NOP

  273. MAINLOOP:;start of main
  274.      
  275. ;      do someting by itself

  276.         CALL DELAY_680MS   ;
  277.         CALL DELAY_680MS   ;
  278.      CALL READ     ;read some data  ....
  279.   
  280. GOTO MAINLOOP;end of main

  281. ;///////////////////////////////////////////////////////////////////////////////////////
  282. ;//////////////////////////////////////////////////////////////////////////////////////
  283. ;function
  284. READ:
  285.     CALL  CONF_DATA_LINE_OUTPUT
  286.     CALL  CONF_DATA_LINE_HIGHT
  287.     NOP
  288.     CALL  CONF_DATA_LINE_LOW   
  289.     CALL  DELAY_30MS           
  290.     CALL  CONF_DATA_LINE_HIGHT
  291.     CALL  CONF_DATA_LINE_INPUT;
  292.     CALL  DELAY_50US
  293.     BTFSC PORTC,2,0   
  294.     GOTO  ENDOFREAD      
  295.                 GOTO  ACK_SUCCESSFULAY   
  296. ACK_SUCCESSFULAY:
  297.    
  298.    S0: BTFSC PORTC,2,0   
  299.     GOTO  NEXT_0      
  300.                 GOTO  S0   
  301. NEXT_0:
  302.    S1: BTFSS PORTC,2,0   
  303.     GOTO  NEXT_1      
  304.                 GOTO  S1   


  305. NEXT_1:         CALL READ_BYTE
  306.        CALL READ_BYTE
  307.        CALL READ_BYTE
  308.        CALL READ_BYTE
  309.        CALL READ_BYTE
  310. ENDOFREAD:     RETURN

  311. READ_BYTE:
  312.    
  313.     MOVLB   0x1           
  314.     NOP
  315.     MOVLW       0x8            
  316.     MOVWF       SHTM11_READ_BIT_COUNT;
  317.     MOVLB       0x0
  318.     MOVLW       0x0
  319.     MOVWF       SHTM11_READ_BYTE0;
  320.     ;loop body
  321.         BIT:

  322.    S2: BTFSC PORTC,2,0  
  323.     GOTO  NEXT_2      
  324.                 GOTO  S2   
  325. NEXT_2:     CALL DELAY_50US
  326.    
  327.     MOVLB   0xF              ;SFR
  328.     BTFSS PORTC,2,0   
  329.     GOTO  DATA_IS_0     
  330.                 GOTO  DATA_IS_1      

  331.    
  332. DATA_IS_0:
  333.     MOVLB   0x0              ;bank1
  334.     MOVLW   0x00
  335.     RLNCF  SHTM11_READ_BYTE0 ,1,1;
  336.     MOVF   SHTM11_READ_BYTE0,0;
  337.     ANDLW  0xFE;
  338.     MOVWF  SHTM11_READ_BYTE0
  339.     GOTO   OVER_BIT

  340.    
  341. DATA_IS_1:
  342.     MOVLB   0x0              ;bank1
  343.     MOVLW   0x00
  344.     RLNCF  SHTM11_READ_BYTE0 ,1,1;
  345.     MOVF   SHTM11_READ_BYTE0,0;
  346.     IORLW  0x01;
  347.     MOVWF  SHTM11_READ_BYTE0;
  348. ;            
  349.     MOVLB   0xF             ;SFR
  350. WAIT_1_OVER: BTFSS PORTC,2,0   
  351.     GOTO  OVER_BIT     
  352.                 GOTO  WAIT_1_OVER     
  353.    
  354. ;    loop  body

  355. OVER_BIT:  DECFSZ  SHTM11_READ_BIT_COUNT,1  
  356.          GOTO BIT         
  357. ;    end of loop
  358.   
  359.      RETURN
  360. ;**********************Pulled(x)******************************************************
  361. CONF_DATA_LINE_HIGHT:
  362.      
  363.     MOVLB   0xF            
  364.        BSF    PORTC  , 2     
  365.     RETURN
  366. ;**********************Low(x)********************************************************
  367. CONF_DATA_LINE_LOW:   
  368.    
  369.     MOVLB   0xF              
  370.        BCF    PORTC  , 2     
  371.     RETURN
  372. ;**********************Output(x)******************************************************
  373. CONF_DATA_LINE_OUTPUT:
  374.     MOVLB   0xF              
  375.        BCF   TRISC  , 2
  376.     RETURN
  377. ;**********************Input(x)*******************************************************
  378. CONF_DATA_LINE_INPUT:
  379.     MOVLB   0xF              
  380.     BSF   TRISC  , 2
  381.     RETURN
  382. ;*********************Iintportx*******************************************************
  383. INIT_PORTA_REG:
  384. ;    init portx as output of all
  385.     MOVLB   0xF            
  386.     MOVLW   0x00            
  387.     MOVWF   TRISC         
  388.     MOVLW   0xFF            
  389.     MOVWF   ANSELC        
  390.    
  391.     MOVLW   0x00           
  392.     MOVWF   SLRCON         
  393.     MOVLW   0xFF           
  394.     MOVWF   PORTC         
  395.     RETURN
  396. ;*********************DELAY_30MS*******************************************************************
  397. DELAY_30MS:
  398.    
  399.     MOVLB 0x1  ;使用bank1ram中的TICK      1t
  400.     MOVLW       0x10   
  401.            MOVWF       TICK1   
  402.    D1: MOVLW       0xff   
  403.            MOVWF       TICK   
  404.      D0: CALL        DELAY_10US
  405.     DECFSZ      TICK,1   
  406.          GOTO        D0     
  407.     DECFSZ      TICK1,1   
  408.          GOTO        D1                                          
  409.     RETURN
  410. ;*********************DELAY_70uS*******************************************************************
  411. DELAY_70US:
  412.     MOVLB   0x1
  413.     MOVLW   7     
  414.            MOVWF   TICK  
  415.       D2:CALL    DELAY_10US
  416.     DECFSZ  TICK,1  
  417.          GOTO    D2                                 
  418.     RETURN
  419. ;*********************DELAY_85uS*******************************************************************
  420. DELAY_85US:
  421.     MOVLB  0x1  ;使用bank1ram中的TICK      1t
  422.     MOVLW  9     
  423.            MOVWF  TICK   
  424.       D3:CALL   DELAY_10US
  425.     DECFSZ TICK,1   
  426.          GOTO   D3      
  427.     RETURN

  428. ;*********************DELAY_85uS*******************************************************************
  429. DELAY_50US:
  430.     MOVLB  0x1  ;使用bank1ram中的TICK      1t
  431.     MOVLW  5      
  432.            MOVWF  TICK   
  433.       D6: CALL  DELAY_10US
  434.     DECFSZ TICK,1   
  435.          GOTO   D6                                   
  436.     RETURN

  437. ;*********************DELAY_680MS*******************************************************************
  438. DELAY_680MS:
  439.     MOVLB 0x1  ;使用bank1ram中的TICK     
  440.     MOVLW       0xFF     
  441.            MOVWF       TICK1   
  442.    D5: MOVLW       0xff     
  443.            MOVWF       TICK   
  444.      D4: CALL        DELAY_10US
  445.     DECFSZ      TICK,1   
  446.          GOTO        D4      
  447.     DECFSZ      TICK1,1   
  448.          GOTO        D5                                       
  449.     RETURN
  450. ;*********************DELAY_10US*******************************************************************
  451. DELAY_10US:
  452. NOP
  453. NOP
  454. NOP
  455. NOP
  456. NOP
  457. NOP
  458. NOP
  459. NOP
  460. NOP
  461. NOP
  462. NOP
  463. NOP
  464. NOP
  465. NOP
  466. NOP
  467. NOP
  468. NOP
  469. NOP
  470. NOP
  471. NOP
  472. NOP
  473. NOP
  474. NOP
  475. NOP
  476. NOP
  477. NOP
  478. NOP
  479. NOP
  480. NOP
  481. NOP
  482. NOP
  483. NOP
  484. NOP
  485. NOP
  486. NOP
  487. NOP
  488. NOP
  489. NOP
  490. NOP
  491. NOP
  492. NOP
  493. NOP
  494. NOP
  495. NOP
  496. NOP
  497. NOP
  498. NOP
  499. NOP
  500. NOP
  501. NOP
  502. NOP
  503. NOP
  504. NOP
  505. NOP
  506. NOP
  507. NOP
  508. NOP
  509. NOP
  510. RETURN
  511. ;*******************************************************************************************
  512. END
復制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:54731 發表于 2015-6-15 10:31 | 只看該作者
搶沙發了,樓主程序為什么是匯編的,不知哦,還是要謝謝你的
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人在线视频一区 | 国产小视频精品 | 亚洲激情一级片 | 精品1区| 久久久91精品国产一区二区三区 | 五月婷婷视频 | 日本在线精品视频 | 欧美性极品xxxx做受 | 国产一区二区不卡 | 色婷婷九月 | 99视频在线 | 麻豆国产一区二区三区四区 | 91久久精品国产免费一区 | 中文字幕日韩欧美一区二区三区 | 天天综合操 | 日韩av在线播 | 久久久久久成人 | www.黄色片视频 | 91色在线| 91网视频 | 亚洲高清在线 | 国产视频一区在线 | 日韩一区二区在线看 | 一区二区三区免费观看 | 日韩欧美一区二区三区 | 97国产精品视频人人做人人爱 | 毛片网在线观看 | 在线免费观看成人 | 久久精彩视频 | 日本 欧美 国产 | 蜜桃av一区二区三区 | 国产精品一区二区久久精品爱微奶 | 综合国产 | 欧美日韩一区二区三区四区五区 | 国产精品免费高清 | 久久精品小视频 | 亚洲第一成人影院 | 国产欧美日韩综合精品一区二区 | 国产婷婷在线视频 | 一区二区三区视频在线观看 | 欧美成人精品一区二区男人看 |