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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7064|回復: 3
收起左側

51單片機ds1302時鐘lcd1602顯示匯編程序

[復制鏈接]
ID:83710 發表于 2015-6-23 20:39 | 顯示全部樓層 |閱讀模式


  1. ;時控開關項目起始時間2015、8、29
  2. ORG 0000H
  3. ;***1602端口定義開始
  4. RS EQU P1.0
  5. RW EQU P1.1
  6. E  EQU P1.2
  7. HOUR10 EQU 30H;小時十位
  8. HOUR1 EQU 31H  ;小時個位
  9. MINTE10 EQU 32H ;分鐘十位    緩沖區
  10. MINTE1 EQU 33H  ;分鐘個位
  11. SCNEDS10 EQU 34H  ;秒十位
  12. SCNEDS1 EQU 35H    ;秒個位


  13. ;*****按鍵設置
  14. SCNEDS EQU 36H    ;秒
  15. MINTE EQU 37H    ;分
  16. HOUR EQU 38H    ;時
  17. SETMY1 EQU 39H    ;選擇秒寄存器
  18. SETTM1 EQU 40H    ;選擇秒設定時間
  19.     SETMY2 EQU 41H    ;選擇分寄存器   緩沖區
  20. SETTM2 EQU 42H    ;選擇分設定時間
  21.   SETMY3 EQU 43H    ;選擇時寄存器
  22. SETTM3 EQU 44H    ;選擇時設定時間
  23. ;按鍵設置用*********

  24. ;*****************鬧鐘設置用
  25. STARTHOUR10 EQU 45H
  26. STARTHOUR1 EQU 46H  
  27. STARTMINTE10 EQU 47H   ;鬧鐘開始時間
  28. STARTMINTE1 EQU 48H
  29. ;;*****************8                          區間有效緩沖區
  30. STOPHOUR10 EQU 49H
  31. STOPHOUR1 EQU 50H  ; 鬧鐘停止時間
  32. STOPMINTE10 EQU 51H
  33. STOPMINTE1 EQU 52H
  34. ;*****************鬧鐘設置用
  35. STARTMINTE EQU 53H
  36. STOPMINTE EQU 54H
  37. STARTHOUR EQU 55H
  38. STOPHOUR EQU 56H







  39. ;***1602端口定義結束
  40. ;1302*****端口定義開始
  41. MOV DPTR,#TAB
  42. CE EQU P3.5
  43. IO EQU P3.3
  44. SCLK EQU P3.4
  45. AJMP MAIN
  46. ;1302*******端口定義結束



  47. ORG 0030H
  48. MAIN:;主函數
  49. lcall SETTIME ;設置時鐘
  50. LCALL SETCLOCK
  51. START:LCALL DATE1302 ; 讀1302實時數據


  52. AJMP MAIN

  53. ;**************************************************************************************
  54.   ;S設置液晶                       *
  55. ;                       *
  56. ;**************************************************************************************
  57. INIT:; 液晶初始化開始                  /
  58. ;*********                     /

  59. LCALL DELAY15MS
  60. LCALL WRINSTRUCT;寫指令

  61.   

  62. MOV P0,#38H ;設置61*2顯示,5*7點陣,8位數據口
  63. LCALL PULSE;高脈沖

  64. ;*****
  65. LCALL DELAY5MS

  66. MOV P0,#38H ;設置61*2顯示,5*7點陣,8位數據口
  67. LCALL PULSE;高脈沖

  68. LCALL DELAY5MS

  69. MOV P0,#38H ;設置61*2顯示,5*7點陣,8位數據口
  70. LCALL PULSE;高脈沖


  71. ;**************
  72. MOV P0,#06H ;設置1602為讀寫一個字符后地址指針加一,且光標加一
  73. LCALL PULSE;高脈沖
  74. ;*****
  75. LCALL DELAY5MS

  76. ;**************
  77. MOV P0,#0FH;設置1602位為開顯示顯示光標且閃爍
  78. LCALL PULSE;高脈沖
  79. ;*****
  80.   LCALL DELAY5MS

  81. ;**************
  82. MOV P0,#01H ;清屏
  83. LCALL PULSE;高脈沖
  84. ;**************

  85. LCALL DELAY5MS

  86. ;**************

  87. RET   ;    液晶初始化結束

  88. ;**********************************************************************************

  89. DATE1302:; 讀1302實時數據開始

  90. LCALL REST
  91. lcall write1302 ;設置時鐘寫入1302芯片
  92.    nop
  93.   nop
  94.   nop
  95.   nop
  96.   nop
  97.   nop
  98.   nop
  99.   nop    ;哈哈哈原來如此!這里果然得加延時,不加的話1302反應不過來啊,哈哈哈
  100.   nop    ;至今天我終于把DS1302`搞定了,這也是努力得來的啊,我雖然笨,但別人做到了,我通過努力也一定辦得到。
  101.                       ;至今天板子上的器件都搞定了2010年8月1日,這個值得紀念的 日子,
  102.   nop     ;
  103.   nop
  104.   nop
  105.   nop
  106.   nop

  107. KK: MOV A,#81H
  108. LCALL READ1302
  109. MOV 55H,A
  110. ANL A,#0FH    ; 秒處理
  111. MOV SCNEDS1,A
  112. MOV A,55H
  113. SWAP A
  114. ANL A,#0FH
  115. MOV SCNEDS10,A

  116. MOV A,#83H
  117. LCALL READ1302
  118. MOV 55H,A
  119. ANL A,#0FH    ;分鐘處理
  120. MOV MINTE1,A
  121. MOV A,55H
  122. SWAP A
  123. ANL A,#0FH
  124. MOV MINTE10,A

  125.   MOV A,#85H
  126. LCALL READ1302
  127. MOV 55H,A
  128. ANL A,#0FH
  129. MOV HOUR1,A   ;小時處理
  130. MOV A,55H
  131. SWAP A
  132. ANL A,#03H
  133. MOV HOUR10,A
  134. LCALL DELAY900MS
  135. LCALL CLOCKS  ;定時器查詢
  136. LCALL DISPLAY1602;液晶顯示
  137. AJMP KK






  138. RET ; 讀1302實時數據結束

  139. ;***********************************************************************************

  140. DISPLAY1602:;1602液晶顯示開始
  141. LCALL INIT ;液晶初始化
  142. ;第一行顯示TIME**:**:
  143. LCALL WRINSTRUCT;寫指令
  144. MOV P0,#82H;從02號地址開始顯示
  145. LCALL PULSE;高脈沖

  146. LCALL DELAY1MS

  147. LCALL WDATE;寫數據

  148. MOV P0,#54H;顯示T;
  149. LCALL PULSE;高脈沖

  150. LCALL DELAY1MS
  151. MOV P0,#49H;顯示I;     TIME
  152. LCALL PULSE;高脈沖

  153. LCALL DELAY1MS
  154. MOV P0,#4DH;顯示M;
  155. LCALL PULSE;高脈沖

  156. LCALL DELAY1MS
  157. MOV P0,#45H;顯示E;
  158. LCALL PULSE;高脈沖

  159. LCALL DELAY1MS
  160. MOV A,HOUR10
  161. MOVC A,@A+DPTR;顯示小時十位;
  162. MOV P0,A
  163. LCALL PULSE;高脈沖

  164. LCALL DELAY1MS

  165. MOV A,HOUR1;顯示小時個位;
  166. MOVC A,@A+DPTR
  167. MOV P0,A
  168. LCALL PULSE;高脈沖

  169. LCALL DELAY1MS
  170.   
  171. MOV P0,#3AH;顯示:;
  172. LCALL PULSE;高脈沖

  173. LCALL DELAY1MS

  174. MOV A,MINTE10;顯示分鐘十位;
  175. MOVC A,@A+DPTR
  176. MOV P0,A
  177. LCALL PULSE;高脈沖
  178. LCALL DELAY1MS

  179. MOV A,MINTE1;顯示分鐘個位;
  180. MOVC A,@A+DPTR
  181. MOV P0,A
  182. LCALL PULSE;高脈沖
  183. LCALL DELAY1MS
  184.    
  185. MOV P0,#3AH;顯示:;
  186. LCALL PULSE;高脈沖

  187. LCALL DELAY1MS

  188. MOV A,SCNEDS10;顯示秒十位;
  189. MOVC A,@A+DPTR
  190. MOV P0,A
  191. LCALL PULSE;高脈沖

  192. LCALL DELAY1MS

  193. MOV A,SCNEDS1;顯示秒個位;
  194.   MOVC A,@A+DPTR
  195. MOV P0,A
  196. LCALL PULSE;高脈沖
  197. ;******************************************************第二行顯示,以上是第一行顯示
  198. LCALL DELAY20MS

  199. LCALL WRINSTRUCT;寫指令
  200. MOV P0,#0C0H;從第二行00號40H顯示地址開始顯示
  201. LCALL PULSE;高脈沖
  202. LCALL DELAY1MS

  203. LCALL WDATE;寫數據

  204. MOV P0,#53H;顯示S;
  205. LCALL PULSE;高脈沖

  206. LCALL DELAY1MS
  207. MOV P0,#54H;顯示T;     STR
  208. LCALL PULSE;高脈沖

  209. LCALL DELAY1MS
  210. MOV P0,#52H;顯示R;
  211. LCALL PULSE;高脈沖

  212. LCALL DELAY1MS
  213. MOV A,STARTHOUR10
  214. MOVC A,@A+DPTR;顯示定時開始小時十位;
  215. MOV P0,A
  216. LCALL PULSE;高脈沖

  217. LCALL DELAY1MS

  218. MOV A,STARTHOUR1;顯示定時開始小時個位;
  219. MOVC A,@A+DPTR
  220. MOV P0,A
  221. LCALL PULSE;高脈沖

  222. LCALL DELAY1MS
  223.   
  224. MOV P0,#3AH;顯示:;
  225. LCALL PULSE;高脈沖

  226. LCALL DELAY1MS

  227. MOV A,STARTMINTE10;顯示定時開始分鐘十位;
  228. MOVC A,@A+DPTR
  229. MOV P0,A
  230. LCALL PULSE;高脈沖
  231. LCALL DELAY1MS

  232. MOV A,STARTMINTE1;顯示定時開始分鐘個位;
  233. MOVC A,@A+DPTR
  234. MOV P0,A
  235. LCALL PULSE;高脈沖
  236. ;××××××××××××××××××××××以上是開始鬧鐘設置時間顯示××××××××××××××××××××××××××××
  237. LCALL DELAY1MS

  238. LCALL WDATE;寫數據

  239. MOV P0,#53H;顯示S;
  240. LCALL PULSE;高脈沖

  241. LCALL DELAY1MS
  242. MOV P0,#54H;顯示T;     STP
  243. LCALL PULSE;高脈沖

  244. LCALL DELAY1MS
  245. MOV P0,#50H;顯示P;
  246. LCALL PULSE;高脈沖

  247. LCALL DELAY1MS
  248. MOV A,STOPHOUR10
  249. MOVC A,@A+DPTR;顯示定時結束小時十位;
  250. MOV P0,A
  251. LCALL PULSE;高脈沖

  252. LCALL DELAY1MS

  253. MOV A,STOPHOUR1;顯示定時結束小時個位;
  254. MOVC A,@A+DPTR
  255. MOV P0,A
  256. LCALL PULSE;高脈沖

  257. LCALL DELAY1MS
  258.   
  259. MOV P0,#3AH;顯示:;
  260. LCALL PULSE;高脈沖

  261. LCALL DELAY1MS

  262. MOV A,STOPMINTE10;顯示定時結束分鐘十位;
  263. MOVC A,@A+DPTR
  264. MOV P0,A
  265. LCALL PULSE;高脈沖
  266. LCALL DELAY1MS

  267. MOV A,STOPMINTE1;顯示定時結束分鐘個位;
  268. MOVC A,@A+DPTR
  269. MOV P0,A
  270. LCALL PULSE;高脈沖


















  271. RET;1602液晶顯示結束

  272. ;************************************************************************************

  273. SETTIME:  ;按鍵設置時間開始
  274. MOV P2,#0FH
  275. LCALL DISPLAY1602
  276. pp:JB P2.0,$
  277. LCALL DELAY20MS
  278. JB P2.0,PP
  279. ;**************
  280. CLR P1.7
  281. LCALL DELAY20MS   ;蜂鳴器
  282. LCALL DELAY20MS
  283. SETB P1.7
  284. ;*****************
  285. MOV SETMY1,#80H;秒指令
  286. LCALL DISPLAY1602
  287. JB P2.1,$
  288. LCALL DELAY20MS
  289. L3:JB P2.1,YY1
  290.    LCALL DELAY20MS
  291.    JB P2.1,L3

  292.    MOV B,#10
  293.    MOV A,SCNEDS
  294.    DIV AB
  295.    CJNE A,#05,LINE1
  296.    MOV A,B
  297.    CJNE A,#09,LINE1
  298.    MOV SETTM1,#00H
  299.    MOV SCNEDS,#00H
  300.    AJMP O1
  301. LINE1:CLR C;#########################||||特別注意這里啊C一定要清零,負責DA轉換是不對的|||||||=+++++++++++++++vvvvvvvvvvvvvvbbbbbbbbbb
  302. MOV A,SETTM1 ;設置加秒時間
  303. INC A
  304. DA A
  305. MOV SETTM1,A


  306. ;*************************
  307. INC SCNEDS;用來同步顯示
  308. O1:MOV A,SCNEDS
  309. MOV B,#10
  310. DIV AB
  311. MOV SCNEDS10,A
  312. MOV SCNEDS1,B    ; 秒處理



  313. LCALL DISPLAY1602
  314. ;********************
  315. YY1: JB P2.0,L3
  316. ;************************************已上是秒設置
  317.   LCALL DISPLAY1602
  318. pp2:JB P2.0,$
  319. LCALL DELAY20MS
  320. JB P2.0,PP2

  321. ;**************
  322. CLR P1.7
  323. LCALL DELAY20MS
  324. LCALL DELAY20MS
  325. SETB P1.7
  326. ;*****************

  327. MOV SETMY2,#82H;分指令
  328. LCALL DISPLAY1602
  329. JB P2.1,$
  330. L32:JB P2.1,YY2
  331.    LCALL DELAY20MS
  332.    JB P2.1,L32

  333. MOV B,#10
  334.    MOV A,MINTE
  335.    DIV AB
  336.    CJNE A,#05,LINE2
  337.    MOV A,B
  338.    CJNE A,#09,LINE2
  339.    MOV SETTM2,#00H
  340.    MOV MINTE,#00H
  341.    AJMP O2
  342. LINE2:
  343. CLR C ;######################################||||特別注意這里啊C一定要清零,負責DA轉換是不對的|||||||=+++++++++++++++vvvvvvvvvvvvvvbbbbbbbbbb
  344. MOV A,SETTM2 ;設置加分時間
  345. INC A
  346. DA A
  347. MOV SETTM2,A

  348. ;*************************
  349. INC MINTE;用來同步顯示
  350. O2:MOV A,MINTE
  351. MOV B,#10
  352. DIV AB
  353. MOV MINTE10,A
  354. MOV MINTE1,B
  355.    LCALL DISPLAY1602
  356. ;********************
  357. YY2: JB P2.0,L32
  358. ;**************************已上是分設置

  359.   LCALL DISPLAY1602
  360. pp3:JB P2.0,$
  361. LCALL DELAY20MS
  362. JB P2.0,PP3
  363. ;**************
  364. CLR P1.7
  365. LCALL DELAY20MS
  366. LCALL DELAY20MS
  367. SETB P1.7
  368. ;*****************

  369. MOV SETMY3,#84H  ;小時指令
  370. LCALL DISPLAY1602
  371. JB P2.1,$
  372. LCALL DELAY20MS
  373. L33:JB P2.1,YY3
  374.    LCALL DELAY20MS;去抖動
  375.    JB P2.1,L33

  376. MOV B,#10
  377.    MOV A,HOUR
  378.    DIV AB
  379.    CJNE A,#02,LINE3
  380.    MOV A,B
  381.    CJNE A,#03,LINE3
  382.    MOV SETTM3,#00H
  383.    MOV HOUR,#00H
  384.    AJMP O3
  385. LINE3:CLR C;################################# ||||特別注意這里啊C一定要清零,負責DA轉換是不對的媽個比我費了老大的時|||||||=+++++++++++++++vvvvvvvvvvvvvvbbbbbbbbbb
  386. MOV A,SETTM3
  387. INC A
  388. DA A
  389. MOV SETTM3,A ;設置加時時間


  390. ;*************************
  391. INC HOUR;用來同步顯示
  392. O3:MOV A,HOUR
  393. MOV B,#10
  394. DIV AB
  395. MOV HOUR10,A
  396. MOV HOUR1,B
  397. LCALL DISPLAY1602
  398. ;********************
  399. YY3: JB P2.0,L33
  400. ;******************************已上是時設置

  401. RET ;按鍵設置時間結束
  402. ;*************************************************************************************
  403. ;************************************************************************************

  404. SETCLOCK:  ;按鍵設置鬧鐘開始
  405.   UR1:JB P2.0,$
  406. LCALL DELAY20MS  ;進入定時器開始時間設制 ××設置完時間按下2.0則進入設置定時器模式,按2.1加2.2減設置想要退出則按2.0鍵
  407. JB P2.0,UR1

  408. ;**************
  409. CLR P1.7
  410. LCALL DELAY20MS
  411. LCALL DELAY20MS

  412. SETB P1.7
  413. ;*****************

  414.   LCALL DISPLAY1602
  415.   JB P2.1,$;很重要啊,關鍵啊,如果沒有則直接向下了,正是他
  416.   LCALL DELAY20MS
  417. UR2:JB P2.1,YF
  418.    LCALL DELAY20MS;去抖動
  419.    JB P2.1,UR2
  420.    ;********************

  421. MOV B,#10
  422.    MOV A,STARTMINTE
  423.    DIV AB
  424.    CJNE A,#05,LINE21
  425.    MOV A,B
  426.    CJNE A,#09,LINE21
  427.    MOV STARTMINTE,#00H
  428.    AJMP O21
  429. LINE21:INC STARTMINTE ;鬧鐘開始時間設置加分
  430.   O21:MOV A,STARTMINTE
  431. MOV B,#10
  432. DIV AB
  433. MOV STARTMINTE10,A
  434. MOV STARTMINTE1,B

  435. LCALL DISPLAY1602
  436. ;********************

  437. YF: JB P2.0,UR2

  438. ;**************
  439. CLR P1.7
  440. LCALL DELAY20MS
  441. LCALL DELAY20MS
  442. SETB P1.7
  443. ;*****************


  444. JB P2.1,$;很重要啊,關鍵啊,如果沒有則直接向下了,正是他
  445.   LCALL DELAY20MS
  446. UR22:JB P2.1,YF2
  447.    LCALL DELAY20MS;去抖動
  448.    JB P2.1,UR22

  449.    MOV B,#10
  450.    MOV A,STARTHOUR
  451.    DIV AB
  452.    CJNE A,#02,LINE22
  453.    MOV A,B
  454.    CJNE A,#03,LINE22
  455.    MOV STARTHOUR,#00H
  456.    SJMP O22
  457. LINE22:INC STARTHOUR ;鬧鐘開始時間置加時
  458. O22:MOV A,STARTHOUR
  459. MOV B,#10
  460. DIV AB
  461. MOV STARTHOUR10,A
  462. MOV STARTHOUR1,B

  463. LCALL DISPLAY1602
  464. ;********************
  465. YF2: JB P2.0,UR22
  466. ;***************
  467. ;******************************************************************************
  468.   ;**************
  469. CLR P1.7
  470. LCALL DELAY20MS
  471. LCALL DELAY20MS

  472. SETB P1.7
  473. ;*****************


  474. JB P2.1,$;很重要啊,關鍵啊,如果沒有則直接向下了,正是他
  475.   LCALL DELAY20MS
  476. UR23:JB P2.1,YF3
  477.    LCALL DELAY20MS;去抖動
  478.    JB P2.1,UR23

  479.    MOV B,#10
  480.    MOV A,STOPMINTE
  481.    DIV AB
  482.    CJNE A,#05,LINE23
  483.    MOV A,B
  484.    CJNE A,#09,LINE23
  485.    MOV STOPMINTE,#00H
  486.    SJMP O23
  487. LINE23:INC STOPMINTE ;鬧鐘結束時間設置加分
  488. O23:MOV A,STOPMINTE
  489. MOV B,#10
  490. DIV AB
  491. MOV STOPMINTE10,A
  492. MOV STOPMINTE1,B

  493. LCALL DISPLAY1602
  494. ;********************
  495. YF3: JB P2.0,UR23
  496. ;***************
  497. ;**************
  498. CLR P1.7
  499. LCALL DELAY20MS
  500. LCALL DELAY20MS

  501. SETB P1.7
  502. ;*****************


  503. JB P2.1,$;很重要啊,關鍵啊,如果沒有則直接向下了,正是他
  504.   LCALL DELAY20MS
  505. UR24:JB P2.1,YF4
  506.    LCALL DELAY20MS;去抖動
  507.    JB P2.1,UR24

  508.    MOV B,#10
  509.    MOV A,STOPHOUR
  510.    DIV AB
  511.    CJNE A,#02,LINE24
  512.    MOV A,B
  513.    CJNE A,#03,LINE24
  514.    MOV STOPHOUR,#00H
  515.    SJMP O24
  516. LINE24:INC STOPHOUR ;鬧鐘結束時間設置加時
  517. O24:MOV A,STOPHOUR
  518. MOV B,#10
  519. DIV AB
  520. MOV STOPHOUR10,A
  521. MOV STOPHOUR1,B

  522. LCALL DISPLAY1602
  523. ;********************
  524. YF4: JB P2.0,UR24
  525. ;***************

  526. RET



  527. CLOCKS:                      ;定時器查詢
  528. MOV A,HOUR10
  529. CJNE A,STARTHOUR10,ED
  530. MOV A,HOUR1
  531. CJNE A,STARTHOUR1,ED
  532. MOV A,MINTE10      ;鬧鐘開始時間
  533. CJNE A,STARTMINTE10,ED
  534. MOV A,MINTE1
  535. CJNE A,STARTMINTE1,ED
  536. clr P1.7

  537. ED:
  538. MOV A,HOUR10
  539. CJNE A,STOPHOUR10,EN
  540. MOV A,HOUR1
  541. CJNE A,STOPHOUR1,EN
  542. MOV A,MINTE10    ;鬧鐘停止時間
  543. CJNE A,STOPMINTE10,EN
  544. MOV A,MINTE1
  545. CJNE A,STOPMINTE1,EN
  546. setb P1.7

  547. EN:RET ;按鍵設置鬧鐘結束
  548. ;*************************************************************************************
  549. DELAY5MS:MOV R6,#0FH
  550. DL1:
  551.     MOV R5,#98H
  552.     DJNZ R5,$  ;延時5ms
  553.     DJNZ R6,DL1
  554. RET
  555. DELAY20MS:  MOV R7,#01H
  556. DL111:
  557.     MOV R6,#0DEH
  558. DL011:
  559.     MOV R5,#28H
  560.     DJNZ R5,$
  561.     DJNZ R6,DL011
  562.     DJNZ R7,DL111
  563.     RET


  564. WRINSTRUCT :
  565. CLR RS
  566. CLR RW ;寫指令允許
  567. CLR E
  568. RET
  569. WDATE:
  570. SETB RS
  571. CLR RW ;寫數據允許        1602使用區
  572. CLR E
  573. RET
  574. PULSE:;高脈沖
  575. SETB E
  576. NOP
  577. NOP
  578. NOP
  579. CLR E
  580. RET
  581. DELAY1MS:
  582.   MOV R6,#66H
  583. DL10:
  584.     MOV R5,#03H
  585.     DJNZ R5,$    ;延時1ms
  586.     DJNZ R6,DL10
  587.     RET
  588. DELAY15MS:

  589.   
  590.     MOV R6,#33H    ;延時15ms
  591. DL20:
  592.     MOV R5,#86H
  593.     DJNZ R5,$
  594.     DJNZ R6,DL20
  595.     RET
  596. DELAY900MS:
  597.   MOV R7,#7FH
  598. DL1E:
  599.     MOV R6,#80H
  600. DL0E:
  601.     MOV R5,#18H
  602.     DJNZ R5,$
  603.     DJNZ R6,DL0E
  604.     DJNZ R7,DL1E
  605.     RET

  606. ;********以下是1302時鐘程序開始***********************以下是1302時鐘程序開始 ***********************************
  607. deley:mov r0,#001h
  608. loop:mov r1,#0ffh

  609. lo:nop
  610.     nop
  611.     nop    ;延時子程序
  612.     NOP
  613.     NOP
  614. NOP
  615.     djnz r1,lo
  616.     djnz r0,loop
  617.     ret
  618. ;**********1302
  619. READ1302:;注意這里啊,這里的讀貝內置到肚里面,原因再與如果分開在時序上是不成立的,
  620.         CLR SCLK
  621.         SETB CE
  622.         SETB IO
  623.         NOP
  624.         NOP
  625.       CLR C
  626.            NOP
  627.         NOP
  628.       MOV R1,#08
  629.    Ro:
  630.    CLR SCLK
  631.     RRC A
  632.     MOV IO,C
  633.     NOP
  634.     SETB SCLK
  635.     NOP
  636.     NOP
  637.     DJNZ R1,Ro



  638.       mov r1,#08
  639.        RUD:
  640.        setb sclk
  641.          NOP
  642.          NOP
  643.          CLR SCLK
  644.          NOP
  645.          NOP
  646.          MOV C,IO
  647.                   NOP
  648.          RRC A
  649.          DJNZ R1,RUD
  650.          CLR SCLK
  651.          CLR CE
  652.          RET
  653.          ;************1302
  654. write1302:LCALL DELAY5MS
  655.          mov a,SETMY1;選擇秒寄存器
  656.          LCALL WRITE1
  657.          mov a,SETTM1;選擇秒時間
  658.   LCALL WRITE2
  659.    LCALL  DELAY10US

  660.    mov a,SETMY2;分寄存器
  661.          LCALL WRITE1
  662.          mov a,SETTM2;設分時間
  663.     LCALL WRITE2
  664.    LCALL  DELAY10US

  665.    mov a,SETMY3;時寄存器
  666.         LCALL WRITE1
  667.         mov a,SETTM3 ;設為20,am,24小時制  
  668.        LCALL WRITE2
  669.          RET

  670.           WRITE1:clr sclk
  671.            SETB CE
  672.    
  673.     MOV R1,#08
  674.    WUR: RRC A
  675.     MOV IO,C
  676.     NOP
  677.     NOP
  678.    
  679.     SETB SCLK
  680.     NOP
  681.     NOP
  682.     CLR SCLK
  683.     DJNZ R1,WUR
  684.    RET
  685.   
  686. WRITE2:      MOV R1,#08
  687.    WURt: RRC A
  688.     MOV IO,C
  689.     NOP
  690.     NOP
  691.     NOP
  692.     SETB SCLK
  693.     NOP
  694.     NOP
  695.     CLR SCLK
  696.     DJNZ R1,WURt

  697.     CLR SCLK
  698.     NOP
  699.     NOP
  700.     NOP
  701.     CLR CE
  702.     RET
  703.     ;********1302
  704.    
  705. REST:CLR SCLK
  706.    CLR CE
  707.    clr io
  708.    clr c
  709.        NOP
  710.     NOP
  711.     NOP
  712.    NOP
  713.    NOP
  714.    RET
  715.    ;********1302
  716.    DELAY10US:
  717.    NOP
  718.    NOP
  719.    NOP
  720.    NOP    ;延時10us
  721.    NOP
  722.    NOP
  723.    NOP
  724.    NOP
  725.    NOP
  726.    NOP
  727.    RET
  728. ;1302程序結束*********************************************************
  729. TAB:DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H

  730. END;2015年8月30日于天津,完成主體9月1日完成初步修飾
復制代碼


回復

使用道具 舉報

ID:204419 發表于 2017-5-25 20:15 | 顯示全部樓層
#在請問樓主能給我發一份51單片機lcd1602和DS1302原理圖嗎,我最近一直在做這個程序可是做不出來,所以急需樓主程序相應原理圖研究一下這里快速回復#
回復

使用道具 舉報

ID:316515 發表于 2018-6-16 21:37 | 顯示全部樓層
樓主求電路圖
回復

使用道具 舉報

ID:61140 發表于 2022-4-29 13:32 | 顯示全部樓層
整個程序條理清楚,功能分明,看著一目了然
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品免费视频一区二区 | 99中文字幕 | 亚洲精品女人久久久 | 国产一区二区 | 国产精品一区久久久 | 午夜av成人 | 在线亚洲电影 | 亚洲色片网站 | 亚洲国产aⅴ精品 | av一区二区三区四区 | 国产精品久久久久久一区二区三区 | 久久夜视频 | 国产高清视频在线观看 | 国产不卡一区 | 激情av在线 | 日韩精品一区二区三区在线观看 | 天堂一区二区三区 | 亚洲精品1| 日韩一区三区 | 成人欧美一区二区 | 亚洲精品一 | 中文字幕高清视频 | 乳色吐息在线观看 | 台湾佬久久 | 在线观看亚洲专区 | 久久久久久久久久久久久久国产 | 99热在线免费 | 成人精品国产免费网站 | 亚洲国产一区二区在线 | 亚洲视频在线观看 | 成人免费在线观看 | 亚洲国产精品久久人人爱 | 国产精品亚洲第一 | 色爱综合网 | 中文成人在线 | 一区二区三区精品在线 | 欧美精品中文字幕久久二区 | 在线观看日本高清二区 | 黄色av网站在线免费观看 | 美国一级黄色片 | 亚洲国产精品一区二区久久 |