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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機控制PT2313 CD3313 1602顯示 匯編程序

  [復制鏈接]
跳轉到指定樓層
樓主
源程序《LM4766+PT2313-hifi放大器控制程序》  歷盡千辛萬苦、查找資料才把2313的部分摳出來修改變成自己想要的  覺得其2313很多功能用不到只有音量和高低音控
單片機是12C5A60S2 使用內部IRC時鐘   旋轉編碼器用的是EC11
初次使用時按住旋轉編碼器不放在通電 程序會把預置的高低音寫入單片機內部存儲區 直到正常顯示在松手  以后再開機不用按了 (除非高低音異常)
打算在加個電壓顯示 結果沒能實現(沒系統的學過編程 自己沒事琢磨玩的)

51hei截圖20200510134520.jpg (191.17 KB, 下載次數: 172)

51hei截圖20200510134520.jpg

51hei截圖20200510134530.jpg (128.27 KB, 下載次數: 153)

51hei截圖20200510134530.jpg

51hei截圖20200510134539.jpg (124.67 KB, 下載次數: 149)

51hei截圖20200510134539.jpg

51hei截圖20200510134548.jpg (127.22 KB, 下載次數: 150)

51hei截圖20200510134548.jpg

51hei截圖20200510134556.jpg (111.52 KB, 下載次數: 155)

51hei截圖20200510134556.jpg

51hei.png (18.99 KB, 下載次數: 159)

51hei.png

STC12C5A60S2 PT2313 1602顯示 - 旋轉編碼器 - 內部存儲高低音.rar

47.88 KB, 下載次數: 98, 下載積分: 黑幣 -5

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:328014 發表于 2020-5-10 14:44 | 只看該作者
好東東,下面是樓主的源碼:

  1. ;;12M晶振可用
  2. ;----------------------
  3.        ISP_DATA  EQU 0C2H ;定義EEPROM相關寄存器
  4.        ISP_ADDRH EQU 0C3H ;此類寄存器地址需參考所用單片機的手冊來設置
  5.        ISP_ADDRL EQU 0C4H ;
  6.        ISP_CMD   EQU 0C5H
  7.        ISP_TRIG  EQU 0C6H
  8.        ISP_CONTR EQU 0C7H
  9. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  10.                  P4 EQU 0C0H
  11.        P4SW EQU 0BBH;;;將P4設置成功普通IO口
  12.            P4M1 EQU 0B3H
  13.        P4M0 EQU 0B4H

  14.            MOV P4SW,#70H; #70H = P4.4\P4.5\P4.6

  15.             BASS_TONE         EQU         34H        ;低音控制緩沖
  16.         TREBLE_TONE EQU         35H        ;高音控制緩沖
  17.         M_VOL                 EQU         32H        ;主音量控制緩沖

  18.         IN_BUFF         EQU           33H        ;輸入選擇緩存
  19.                 PT2314_MSB         EQU         3DH        ;發送PT2314數高位
  20.             MUTE_BIT BIT  P3.2;靜音狀態指示

  21.                 SCL         BIT  P0.2;P3.4;
  22.         SDA         BIT  P0.3;P3.5;
  23.                 DAT1 EQU 13H         ;
  24.         DAT2 EQU 14H         ;

  25.             MOV DAT2,#7;
  26.             MOV DAT1,#7;  
  27.                 RS        BIT        P3.6        ;定義RS為P2.5
  28.             RW        BIT        P3.7        ;定義RW為P2.6
  29.             E        BIT        P4.0        ;定義E為P2.7
  30.             SETB P1.1;
  31.             SETB P0.2;
  32.                 SETB P0.3;
  33.                 SETB P0.4;
  34.                 SETB P0.5;
  35.                 SETB P0.6;
  36.                 CLR  P0.7;
  37. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  38.     MOV 36H,#02H;VOL
  39.     MOV 37H,#03H;VOL
  40.     MOV 38H,#04H;O
  41.         MOV 39H,#05H;F O
  42.     MOV 40H,#06H;F N
  43.     MOV 41H,#07H;+ -
  44.         MOV 42H,#08H;BASS
  45.     MOV 43H,#09H;BASS
  46.     MOV 44H,#10H;+ -
  47.         MOV 45H,#11H;TR
  48.         MOV 46H,#12H;TR
  49.         MOV 47H,#13H;IN
  50.         MOV 48H,#14;TR<
  51.         MOV 49H,#14;BASS<
  52. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;          
  53.                 MOV   M_VOL,#30        ;開機時默認音量為第30級  0級聲音最大(一共0-63級)
  54.                 MOV IN_BUFF,#45H;輸入通道默認2  1 #44H    2 #45H    3 #46H
  55. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;               
  56.                 JNB P0.4,EEPROMW_0
  57.                 LJMP YZ1;
  58. EEPROMW_0:               
  59.            LCALL ERASE
  60.            MOV DPTR,#00H     ;第1扇區
  61.            MOV A,DAT1;DAT1;
  62.            ACALL EEPROMW     ;寫一字節
  63.            LCALL DELAY10;
  64.            MOV DPTR,#100H     ;第2扇區
  65.            MOV A,DAT2;
  66.            ACALL EEPROMW     ;寫一字節

  67. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  68. YZ1:   MOV DPTR,#00H     ;第1扇區起始地址;存入新鍵值
  69.            LCALL EEPROMR         ;讀
  70.            MOV TREBLE_TONE,A;MOV M_VOL,A;
  71.            LCALL DELAY10;
  72.            MOV DPTR,#100H     ;第1扇區起始地址;存入新鍵值
  73.            LCALL EEPROMR          ;
  74.            MOV BASS_TONE,A;   
  75.           
  76.            LCALL VOL_DIV; 調用音量除用以顯示
  77.            LCALL BASS_DIV;調用低音強度查表用以顯示
  78.            LCALL TR_DIV;  高音強度查表用以顯示       
  79.            LCALL YZ;          調用預置音量
  80. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  81. ;×××××××××××××××××××××××××
  82. LCD:MOV        P2,#38H        ;設置功能
  83.         LCALL        XML
  84.         MOV        P2,#38H        ;設置功能
  85.         LCALL        XML
  86.         MOV        P2,#01H        ;清除屏幕
  87.         LCALL        XML
  88.         MOV        P2,#0CH        ;設置顯示屏開,光標關
  89.         LCALL        XML
  90.         MOV        P2,#1CH        ;設置
  91.         LCALL        XML
  92.         LCALL DIP2;
  93.         LCALL DIP1;BASS+TR          DIP1顯示低音 高音強弱 -7 0 +7
  94.         ;主程序
  95.         JNB P0.4,$;
  96.         LCALL DELAY10;
  97.         JNB P0.4,$;
  98. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  99. MAINN:         MOV 48H,#14;
  100.       MOV 49H,#14;
  101.           LCALL DIP1;
  102. MAIN:  
  103.      JNB P0.6,KI111;+vol
  104.          JNB P0.5,KI222;-vol
  105.          JNB P0.4,MAIN11;KK77;        MUTE
  106.      LJMP MAIN;
  107. KI111:LJMP KK111
  108. KI222:LJMP KK222;
  109. MAIN11:        LCALL T2MS;
  110.         JB P0.4,MAIN;
  111.                 LCALL T2MS;
  112.                 LCALL T2MS;
  113.                 LCALL T2MS;
  114.                 LCALL T2MS;
  115.                 LCALL T2MS;
  116.                 LCALL T2MS;
  117.                 LCALL T2MS;
  118.                 LCALL T2MS;
  119.                 LCALL T2MS;
  120.                 LCALL T2MS;
  121.                 LCALL T2MS;
  122.                 LCALL T2MS;
  123.                 LCALL T2MS;
  124.                 LCALL T2MS;
  125.                 LCALL T2MS;
  126.                 LCALL T2MS;
  127.                 LCALL T2MS;
  128.                 LCALL T2MS;
  129.                 LCALL T2MS;
  130.                 LCALL T2MS;
  131.                 LCALL T2MS;
  132.                 LCALL T2MS;
  133.                 JNB P0.4,GH;
  134.                 LCALL KK7;
  135.                 LJMP MAINN;
  136. MUTES:        JNB P0.4,$;
  137.                 LJMP MAINN;
  138. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  139. GH:           JB MUTE_BIT,MUTES;
  140.         MOV 48H,#16;           
  141.            LCALL DIP1;
  142.            JNB P0.4,$
  143.                 LCALL T2MS;
  144.                 JNB P0.4,$
  145.            MOV  66H,#245
  146.        MOV  67H,#245
  147.            MOV  68H,#10
  148. MAIN1:   
  149.      JNB P0.6,KI333;+vol
  150.          JNB P0.5,KI444;-vol
  151.          JNB P0.4,MAIN22;KK77;        MUTE
  152.          DJNZ 68H,MAIN1;
  153.          DJNZ  67H,MAIN1
  154.           DJNZ  66H,MAIN1
  155.      LJMP MAINN;
  156. KI333:LJMP KK333;
  157. KI444:LJMP KK444;
  158. MAIN22:        LCALL DELAY10;
  159.         JB P0.4,MAIN1;
  160.                 JNB P0.4,$
  161.                 LCALL DELAY10;
  162.                 JNB P0.4,$
  163. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  164.                 MOV 48H,#14;
  165.         MOV 49H,#16;
  166.                 LCALL DIP1;
  167.                 MOV  66H,#245
  168.        MOV  67H,#245
  169.            MOV  68H,#10
  170. MAIN2:   
  171.      JNB P0.6,KI555;+vol
  172.          JNB P0.5,KI666;-vol
  173.          JNB P0.4,MAIN33;KK77;        MUTE
  174. ;    LJMP MAIN2;
  175.          DJNZ 68H,MAIN2;
  176.          DJNZ  67H,MAIN2
  177.           DJNZ  66H,MAIN2
  178.      LJMP MAINN;
  179. KI555:LJMP KK555;
  180. KI666:LJMP KK666;
  181. MAIN33:        LCALL DELAY10;
  182.         JB P0.4,MAIN2;
  183.                 JNB P0.4,$
  184.                 LCALL DELAY10;
  185.                 JNB P0.4,$
  186.                 LJMP MAINN;
  187. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  188. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  189. ;×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××

  190. ;秒延時子程序
  191. DELAY10:
  192. MOV         R4,#10;10
  193. D10:
  194. MOV         R5,#248;248
  195. DJNZ         R5,$
  196. DJNZ         R4,D10
  197. RET

  198. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  199. T2MS:   MOV R6,#248
  200. D21:        MOV R7,#248
  201.                 DJNZ R7,$
  202.                 DJNZ R6,D21
  203.                 RET
  204. ;EEPROM相關操作
  205. ;-----------------------
  206. ERASE:;擦除
  207.        MOV ISP_ADDRH,DPH   ;送高地址
  208.        MOV ISP_ADDRL,DPL   ;送低地址
  209.        MOV ISP_CONTR,#83H  ;允許ISP/IAP操作(6~12MHz)
  210.        MOV ISP_CMD,#03H    ;扇區擦除
  211.        ACALL ISPCF         ;觸發IAP
  212.        ACALL ISP_DISABLE   ;禁止ISP/IAP操作
  213.        RET
  214. ;----------------------
  215. EEPROMW:;寫
  216.        MOV ISP_DATA,A      ;ACC里是要寫入的數據
  217.        MOV ISP_ADDRH,DPH   ;送高地址
  218.        MOV ISP_ADDRL,DPL   ;送低地址
  219.        MOV ISP_CONTR,#83H  ;允許ISP/IAP操作(6~12MHz)
  220.        MOV ISP_CMD,#02H    ;送寫命令
  221.        ACALL ISPCF         ;觸發IAP
  222.        ACALL ISP_DISABLE   ;禁止ISP/IAP操作
  223.        RET
  224. ;----------------------
  225. EEPROMR: ;讀
  226.        MOV ISP_ADDRH,DPH   ;送高地址
  227.        MOV ISP_ADDRL,DPL   ;送低地址
  228.        MOV ISP_CONTR,#83H  ;允許ISP/IAP操作(6~12MHz)
  229.        MOV ISP_CMD,#01H    ;送讀命令
  230.        ACALL ISPCF         ;觸發IAP
  231.        MOV A,ISP_DATA      ;讀出的數據放到ACC
  232.        ACALL ISP_DISABLE   ;禁止ISP/IAP操作
  233.        RET
  234. ;----------------------
  235. ISPCF: ;觸發ISP/IAP
  236.        MOV ISP_TRIG,#5AH; #46H  ;以MCU型號來定;STC12C2052(46H/0B9H)
  237.        MOV ISP_TRIG,#0A5H; #0B9H ;11F和15F系列相同(5AH/0A5H)
  238.        NOP
  239.        RET
  240. ;----------------------
  241. ISP_DISABLE: ;禁止ISP/IAP操作(出于安全考慮才要)
  242.        MOV ISP_CONTR,#00H
  243.        MOV ISP_CMD,#00H
  244.        MOV ISP_TRIG,#00H
  245.        MOV ISP_ADDRH,#0FFH
  246.        MOV ISP_ADDRL,#0FFH
  247.        RET
  248. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  249. EEPROMW_1:      
  250.            LCALL ERASE
  251.            MOV DPTR,#00H     ;第1扇區
  252.            MOV A,TREBLE_TONE;MOV A,M_VOL;
  253.            ACALL EEPROMW     ;寫一字節
  254.            LCALL DELAY10
  255.            LCALL DELAY10
  256.            MOV DPTR,#100H     ;第2扇區
  257.            MOV A,BASS_TONE;
  258.            ACALL EEPROMW     ;寫一字節
  259.            RET;
  260. ;=============================================
  261. ;高低音調用
  262. CTRL_SHUI:
  263.                 MOV        DPTR,#TONG_DATA
  264.                 MOVC        A,@A+DPTR
  265.                 RET
  266. TONG_DATA:
  267.            DB 00H,01H,02H,03H,04H,05H,06H,07H
  268.            DB 0EH,0DH,0CH,0BH,0AH,09H,08H
  269. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  270. ;主音量調用
  271. VOL:
  272. MOV        DPTR,#VOL_DATA
  273. MOVC        A,@A+DPTR
  274. RET
  275. VOL_DATA:
  276.            DB 3FH,3EH,3DH,3CH,3BH,3AH,39H,38H,37H,36H ;
  277.                    DB 35H,34H,33H,32H,31H,30H,2FH,2EH,2DH,2CH
  278.                    DB 2BH,2AH,29H,28H,27H,26H,25H,24H,23H,22H
  279.                    DB 21H,20H,1FH,1EH,1DH,1CH,1BH,1AH,19H,18H
  280.                    DB 17H,16H,15H,14H,13H,12H,11H,10H,0FH,0EH
  281.                    DB 0DH,0CH,0BH,0AH,09H,08H,07H,06H,05H,04H
  282.                    DB 03H,02H,01H,00H  ;(PT2313主音量63)
  283. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  284. ;顯示調用
  285. TABLE:  INC          A
  286.         MOVC         A,@A+PC
  287.         RET
  288.         DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,2DH,2BH,4FH,46H,20H,4EH,7FH;;1602
  289.            ;0   1   2   3   4   5   6   7   8   9        -        +   O        F  空位        N        ←   顯示
  290.                    ;0   1   2   3   4        5        6        7        8        9        10        11        12        13        14        15        16  查表數
  291. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  292. ;高低音顯示調用
  293. TAB:
  294. MOV DPTR,#TABLE1
  295.                 MOVC A,@A+DPTR         ;         以A中的數值為地址偏移量進行查表
  296.                 ret;
  297. TABLE1:  
  298.            DB 37H,36H,35H,34H,33H,32H,31H,30H,31H,32H,33H,34H,35H,36H,37H
  299.            ;   7   6   5   4   3   2   1   0   1   2   3   4   5   6   7   顯示
  300.                    ;   0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  查表數
  301. ;==============================================

  302. $INCLUDE (DIP.ASM)
  303. $INCLUDE (YZ.ASM)
  304. $INCLUDE (PT2314_WR.ASM)
  305. $INCLUDE (KEYDAT.ASM)
  306. $INCLUDE (VOL.ASM)
  307. $INCLUDE (BASS.ASM)
  308. $INCLUDE (TR.ASM)
  309. $INCLUDE (MUTE.ASM)



  310.         END
復制代碼
回復

使用道具 舉報

板凳
ID:96926 發表于 2020-10-6 13:28 | 只看該作者
有沒原理圖
回復

使用道具 舉報

地板
ID:261025 發表于 2020-10-9 20:17 | 只看該作者

不需要原理圖啊  看程序就知道怎么接     2313的原理圖網上很多
回復

使用道具 舉報

5#
ID:742085 發表于 2023-3-25 23:15 | 只看該作者
麻煩 可提供 打板文件 和原理圖 謝謝...
回復

使用道具 舉報

6#
ID:102189 發表于 2023-4-16 19:50 | 只看該作者
程序是不是有問題呀顯示屏不能顯示
回復

使用道具 舉報

7#
ID:1071715 發表于 2023-4-19 21:36 來自手機 | 只看該作者
程序能不能燒錄到st89c52芯片上使用?
回復

使用道具 舉報

8#
ID:23844 發表于 2023-4-22 08:11 | 只看該作者
這個移植不方便,會匯編的都是高手
回復

使用道具 舉報

9#
ID:1071715 發表于 2023-4-23 07:30 | 只看該作者
哪位大神可以把程序移植到stc89c52RC上運行
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久精品国产一区二区三区不卡 | 99中文字幕| 99久久婷婷国产综合精品首页 | 中文字幕在线视频观看 | 国产精品激情在线 | 一区二区三区在线播放 | 日韩一区不卡 | 久久精品无码一区二区三区 | 91久久 | 91视频大全 | 日韩综合色 | 国产高清一二三区 | 成人永久免费视频 | 亚洲一区二区三区在线播放 | 亚洲一区 中文字幕 | 亚洲精品一区二三区不卡 | 国产欧美一区二区三区日本久久久 | 观看av| 国产精品资源在线 | 亚洲综合在线播放 | 91综合网| 特级黄色毛片 | 国产激情片在线观看 | 成人免费观看男女羞羞视频 | 精品久久久av | 亚洲视频免费观看 | 黄色在线观看网站 | 啪啪免费网站 | 黄色大片在线播放 | 五月激情婷婷在线 | 一级毛片视频在线 | 欧美理论片在线 | 成人欧美一区二区三区视频xxx | 日韩精品一区二区三区在线播放 | 国产精品成人一区二区三区夜夜夜 | 国产成人久久 | 91精品国产91久久综合桃花 | 伊人激情综合网 | 久久激情网 | 夜夜草导航 | 一区二区三区欧美 |