亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? adc0832-1602lcd.asm

?? 51單片機(jī)外圍器件程序
?? ASM
字號:

 
          AD_CLK  EQU  P1.0      ;ADC0832 時(shí)鐘端
          AD_DAT  EQU  P1.1      ;ADC0832 數(shù)據(jù)端
          AD_CS   EQU  P3.4      ;ADC0832 片選信號

          LCD_RS  EQU  P2.0      ;LCD 數(shù)據(jù)/命令選擇端
          LCD_RW  EQU  P2.1      ;LCD 讀/寫選擇端
          LCD_EN  EQU  P2.2      ;LCD 使能信號
          LCD_X   EQU  20H       ;LCD 地址變量

            ORG  0000H
            JMP  START
;===================================================
START:      MOV  SP,#60H
            MOV  P0,#0FFH
            MOV  P2,#0FFH
            CALL  SET_LCD

START1:     CALL  AD_CONV        ;AD轉(zhuǎn)換
            CALL  AD_CHULI       ;數(shù)據(jù)處理
            CALL  LCD_CONV       ;數(shù)據(jù)顯示
            JMP   START1
;====================================================
;  LCD 初始化設(shè)置
;====================================================
SET_LCD:
          CLR  LCD_EN
          CALL  INIT_LCD     ;初始化 LCD
          CALL  DELAY1
          MOV  DPTR,#INFO1   ;指針指到顯示信息1
          MOV  A,#1          ;顯示在第一行
          CALL  LCD_SHOW
          MOV  DPTR,#INFO2   ;指針指到顯示信息2
          MOV  A,#2          ;顯示在第二行
          CALL  LCD_SHOW
          RET
;-----------------------------------------------------
INFO1:  DB  "DIGITALVOLTMETER",0  ;LCD 第一行顯示信息
INFO2:  DB  " VOLTAGE:     V ",0  ;LCD 第二行顯示信息
;-----------------------------------------------------
;-----------------------------------------------------
; LCD 接口初始化
;-----------------------------------------------------
INIT_LCD:
          MOV  A,#38H     ;雙列顯示,字形5*7點(diǎn)陣
          CALL  WCOM
          CALL  DELAY1
          MOV  A,#38H     ;雙列顯示,字形5*7點(diǎn)陣
          CALL  WCOM
          CALL  DELAY1
          MOV  A,#38H     ;雙列顯示,字形5*7點(diǎn)陣
          CALL  WCOM
          CALL  DELAY1
          MOV  A,#0CH     ;開顯示,關(guān)光標(biāo),
          CALL  WCOM
          CALL  DELAY1
          MOV  A,#01H     ;清除 LCD 顯示屏
          CALL  WCOM
          CALL  DELAY1
          RET
;-------------------------------------------------
DELAY1:                    ;延時(shí)5MS
          MOV  R6,#25
  DEL1:   MOV  R7,#100
          DJNZ  R7,$
          DJNZ  R6,DEL1
          RET
;==================================================
;在LCD的第一行或第二行顯示信息字符
;==================================================
LCD_SHOW:

          CJNE  A,#1,LINE2  ;判斷是否為第一行
  LINE1:  MOV  A,#80H       ;設(shè)置 LCD 的第一行地址
          CALL  WCOM        ;寫入命令
          CALL  CLR_LINE    ;清除該行字符數(shù)據(jù)
          MOV  A,#80H       ;設(shè)置 LCD 的第一行地址
          CALL  WCOM        ;寫入命令
          JMP  FILL
  LINE2:  MOV  A,#0C0H      ;設(shè)置 LCD 的第二行地址
          CALL  WCOM        ;寫入命令
          CALL  CLR_LINE    ;清除該行字符數(shù)據(jù)
          MOV  A,#0C0H      ;設(shè)置 LCD 的第二行地址
          CALL  WCOM
  FILL:   CLR  A            ;填入字符
          MOVC  A,@A+DPTR   ;由消息區(qū)取出字符
          CJNE  A,#0,LC1    ;判斷是否為結(jié)束碼
          RET
  LC1:    CALL  WDATA       ;寫入數(shù)據(jù)
          INC  DPTR         ;指針加1
          JMP  FILL         ;繼續(xù)填入字符
          RET
;---------------------------------------------------
CLR_LINE:                  ;清除該行 LCD 的字符
          MOV  R0,#24
   CL1:   MOV  A,#' '
          CALL  WDATA
          DJNZ  R0,CL1
          RET
;======================================================
; 寫指令使能子程序
;RS=L,RW=L,D0-D7=指令碼,E=高脈沖
;=====================================================
WCOM:
          MOV  P0,A
          CLR  LCD_RS
          CLR  LCD_RW
          SETB LCD_EN
          CALL  DELAY0
          CLR  LCD_EN
          RET
;=====================================================
;寫數(shù)據(jù)使能子程序
;RS=H,RW=L,D0-D7=數(shù)據(jù),E=高脈沖
;=====================================================
WDATA:
          MOV  P0,A
          SETB  LCD_RS
          CLR   LCD_RW
          SETB  LCD_EN
          CALL  DELAY0
          CLR   LCD_EN
          RET

DELAY0:   MOV  R7,#250     ;延時(shí)500微秒
          DJNZ  R7,$
          RET
;---------------------------------------------------
;在 LCD 第二行指定位置顯示字符
;(A)=ASCII 數(shù)據(jù), (B)=位置變量
;---------------------------------------------------
LCDP2:                    
          PUSH  ACC        ;入棧保護(hù)A
          MOV  A,B         ;設(shè)置顯示地址
          ADD  A,#0C0H     ;設(shè)置LCD的第二行地址
          CALL  WCOM       ;寫入命令
          POP  ACC         ;由堆棧取出A
          CALL  WDATA      ;寫入數(shù)據(jù)
          RET
;=================================================
;ASCII 轉(zhuǎn)換并在第二行顯示數(shù)字子程序
;=================================================
LCD_CONV:
          MOV  A,R4          ;加載數(shù)據(jù)
          MOV  LCD_X,#10     ;設(shè)置位置
          CALL  SHOW_DIG2A   ;顯示數(shù)據(jù)
          INC  LCD_X         ;設(shè)置位置
          MOV  A,#'.'        
          MOV  B,LCD_X           
          CALL  LCDP2        ;顯示小數(shù)點(diǎn)
          MOV  A,R5          ;加載數(shù)據(jù)
          INC  LCD_X         ;設(shè)置位置
          CALL  SHOW_DIG2B   ;顯示數(shù)據(jù)
          RET
;---------------------------------------
;整數(shù)部分轉(zhuǎn)換為ASCII碼,送顯示
;只顯示一位數(shù)
;---------------------------------------
SHOW_DIG2A:
          MOV  B,#16
          DIV  AB
          MOV  A,B        ;只取整數(shù)部分的個(gè)位
          ADD  A,#30H     ;轉(zhuǎn)換為ASCII碼
          MOV  B,LCD_X    ;地址變量送B
          CALL  LCDP2     ;送顯示
          RET
;---------------------------------------
;小數(shù)部分轉(zhuǎn)換為ASCII碼,送顯示
;顯示兩位數(shù)
;---------------------------------------
SHOW_DIG2B:
          MOV  B,#16
          DIV  AB
          ADD  A,#30H     ;轉(zhuǎn)換為ASCII碼
          PUSH  B
          MOV  B,LCD_X    ;地址變量送B
          CALL  LCDP2     ;送顯示
          POP  B
          MOV  A,B
          ADD  A,#30H     ;轉(zhuǎn)換為ASCII碼
          INC  LCD_X
          MOV  B,LCD_X    ;地址變量送B
          CALL  LCDP2     ;送顯示
          RET
;=========================================================
;AD0832 初始化與AD轉(zhuǎn)換子程序
;(A)=AD轉(zhuǎn)換值
;=========================================================
AD_CONV:                       
            SETB AD_CS          ;一個(gè)轉(zhuǎn)換周期開始
            CLR  AD_CLK
            CLR  AD_CS          ;CS置0,片選有效
            SETB AD_DAT         ;DI置1,起始位
            NOP
            SETB AD_CLK         ;第一個(gè)脈沖
            CLR  AD_DAT         ;在負(fù)跳變之前加一個(gè)DI反轉(zhuǎn)操作
            CLR  AD_CLK
            SETB AD_DAT         ;DI置1,設(shè)為單通道
            NOP
            SETB AD_CLK         ;第二個(gè)脈沖
            CLR  AD_DAT
            CLR  AD_CLK
            CLR  AD_DAT         ;DI置0,選擇通道0
            NOP
            SETB AD_CLK         ;第三個(gè)脈沖
            SETB AD_DAT
            CLR  AD_CLK
            NOP
            SETB AD_CLK         ; 第四個(gè)脈沖
            MOV  R1,#08H        ;計(jì)數(shù)器初值,讀取8位數(shù)據(jù),
AD_READ:    CLR  AD_CLK         ;下降沿
            MOV  C,AD_DAT       ;讀取DO端數(shù)據(jù)
            RLC A               ;C移入A,高位在前
            SETB AD_CLK         ;下一個(gè)脈沖
            DJNZ R1,AD_READ     ;沒讀完繼續(xù)
            SETB  AD_CS
            RET
;====================================================
;AD轉(zhuǎn)換值處理子程序
;入口:(A) =AD轉(zhuǎn)換值
;出口:處理后的數(shù)據(jù) (R4)=高位,(R5)=低位
;====================================================
AD_CHULI:
            CLR  C
            MOV  R5,#00H    ;十進(jìn)制轉(zhuǎn)換的低位寄存器
            MOV  R4,#00H    ;十進(jìn)制轉(zhuǎn)換的高位寄存器
            MOV  R3,#08H    ;十進(jìn)制調(diào)整的次數(shù)
AD_CHULI1:
            RLC  A
            MOV  R2,A           ;送 R2 保存
            MOV  A,R5           ;(R5)乘2加C
            ADDC  A,R5
            DA  A               ;做十進(jìn)制調(diào)整
            MOV  R5,A           ;結(jié)果存回R5
            MOV  A,R4           ;(R4)乘2加C
            ADDC  A,R4
            MOV  R4,A           ;結(jié)果存回R4
            MOV  A,R2
            DJNZ  R3,AD_CHULI1  ;是否轉(zhuǎn)換完?
            MOV  A,R5           ;(R5)乘2
            ADD  A,R5
            DA  A
            MOV  R5,A           ;結(jié)果存回R5
            MOV  A,R4
            ADDC  A,R4          ;(R4)乘2加C
            DA   A
            MOV  R4,A           ;結(jié)果存回R4
            RET
;---------------------------------------------------
            END             ;結(jié)束

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧洲色大大久久| 亚洲综合丝袜美腿| 美女视频黄免费的久久| 欧美精品免费视频| 亚洲成人精品在线观看| 欧美日韩免费观看一区二区三区 | 国产酒店精品激情| 日韩美女主播在线视频一区二区三区| 日韩激情一区二区| 日韩女优电影在线观看| 久久99国产精品成人| 久久久蜜桃精品| 99久久精品免费看国产免费软件| 亚洲欧洲成人自拍| 91久久精品网| 日本不卡123| 精品处破学生在线二十三| 国产精品乡下勾搭老头1| 国产免费成人在线视频| 日韩一区二区电影网| 美女视频黄a大片欧美| 精品成人一区二区三区| 国产剧情av麻豆香蕉精品| 中文字幕在线不卡视频| 欧美中文字幕久久 | 亚洲va天堂va国产va久| 日韩欧美区一区二| 成人国产电影网| 亚洲小说欧美激情另类| 欧美v日韩v国产v| av在线播放成人| 日韩1区2区日韩1区2区| 国产色综合久久| 精品视频123区在线观看| 久草精品在线观看| 亚洲日本乱码在线观看| 日韩一级大片在线观看| 91伊人久久大香线蕉| 人妖欧美一区二区| 最新国产成人在线观看| 日韩欧美综合在线| 色八戒一区二区三区| 精品一区二区三区欧美| 一区二区在线观看av| 久久久夜色精品亚洲| 欧美日韩卡一卡二| 99久久婷婷国产综合精品 | 欧美一区二区在线视频| 风间由美性色一区二区三区| 五月天网站亚洲| 综合av第一页| 欧美精品一区二区三区很污很色的| 91视频在线观看| 狠狠网亚洲精品| 日韩精品91亚洲二区在线观看 | 欧美高清精品3d| av亚洲精华国产精华精| 国产制服丝袜一区| 日本三级亚洲精品| 亚洲一区二区高清| 国产精品理论在线观看| 久久婷婷国产综合精品青草| 欧美片网站yy| 欧美视频一区在线| 91在线高清观看| 成人高清在线视频| 国产成人精品免费| 韩国精品一区二区| 久久黄色级2电影| 午夜精品久久久久久久久| 国产精品国产三级国产普通话蜜臀| 精品久久99ma| 日韩欧美一级二级三级久久久| 在线观看一区日韩| 色8久久精品久久久久久蜜| 不卡一区中文字幕| 成人黄色免费短视频| 国产超碰在线一区| 国产成人超碰人人澡人人澡| 国产盗摄精品一区二区三区在线| 九九精品一区二区| 精品系列免费在线观看| 麻豆freexxxx性91精品| 卡一卡二国产精品| 久草精品在线观看| 国产精品69久久久久水密桃| 国产精品一卡二卡| 成人丝袜视频网| 99在线精品观看| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 国产成人综合在线| 国产成人av自拍| aaa亚洲精品一二三区| 97久久精品人人做人人爽50路| 懂色av一区二区三区蜜臀| 成人综合激情网| 91在线一区二区三区| 色综合久久久久综合99| 欧美午夜不卡视频| 日韩一区二区中文字幕| 欧美一级黄色录像| 久久久精品免费免费| 国产精品无圣光一区二区| 国产精品短视频| 国产乱子伦视频一区二区三区| 国产成人一区在线| 色呦呦国产精品| 欧美精品高清视频| 精品国产1区二区| 国产精品理论片在线观看| 亚洲女人****多毛耸耸8| 亚洲成在人线在线播放| 男人的天堂久久精品| 国产成人自拍网| 91丝袜呻吟高潮美腿白嫩在线观看| 在线一区二区三区四区五区| 欧美一区二区视频观看视频| 26uuu国产一区二区三区| 国产精品免费av| 亚洲福利一区二区| 国产伦精品一区二区三区视频青涩| 粉嫩绯色av一区二区在线观看| 欧美在线视频日韩| 26uuu亚洲综合色欧美 | www.日韩精品| 欧美三级中文字幕在线观看| 精品国产一区二区国模嫣然| 亚洲欧美在线aaa| 捆绑紧缚一区二区三区视频| 99国产精品国产精品毛片| 欧美猛男超大videosgay| 国产欧美日韩不卡免费| 偷窥少妇高潮呻吟av久久免费| 国产美女精品在线| 欧美日韩免费电影| 亚洲图片另类小说| 精品一区二区在线播放| 欧美性感一区二区三区| 久久精品夜夜夜夜久久| 午夜精品久久久久久久蜜桃app| 高清国产午夜精品久久久久久| 欧美日韩精品系列| 中文字幕视频一区二区三区久| 老司机精品视频在线| 欧美亚洲一区二区在线| 中文字幕欧美日本乱码一线二线| av电影在线观看一区| 久久在线免费观看| 日本美女一区二区| 欧美日韩在线播放三区四区| 国产精品久久国产精麻豆99网站| 精品在线一区二区| 制服丝袜av成人在线看| 亚洲黄色小视频| 99久久精品一区二区| 亚洲国产电影在线观看| 国产在线一区二区| 日韩欧美国产午夜精品| 日韩精品91亚洲二区在线观看| 欧美自拍偷拍午夜视频| 中文字幕一区免费在线观看| 国产成人自拍在线| 国产日产欧美一区| 精品一区中文字幕| 欧美一级免费观看| 日韩成人午夜精品| 欧美人与性动xxxx| 亚洲午夜羞羞片| 欧美影院午夜播放| 亚洲制服丝袜av| 色菇凉天天综合网| 亚洲一区二区三区爽爽爽爽爽| 色又黄又爽网站www久久| 亚洲精品中文在线观看| 94色蜜桃网一区二区三区| 国产精品国产三级国产有无不卡| 国产不卡一区视频| 久久精品免视看| 国产二区国产一区在线观看| 久久久久久久久一| 成人免费av资源| 亚洲素人一区二区| 一本色道久久综合精品竹菊| 亚洲乱码国产乱码精品精98午夜 | 日韩av不卡在线观看| 4438成人网| 精品一区二区三区视频在线观看| 日韩免费性生活视频播放| 国产在线精品一区二区夜色| 久久精品在线免费观看| 不卡视频在线观看| 亚洲精品videosex极品| 欧美日韩国产天堂| 久久精品国产亚洲a| 久久久一区二区三区| 波多野结衣91| 亚洲综合色婷婷| 日韩欧美一二三| 国产ts人妖一区二区| 一区二区在线免费观看|