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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 5114|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

按鍵控制數(shù)碼管顯示學(xué)號(hào),匯編程序。

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:254465 發(fā)表于 2018-1-3 10:58 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
; By Paprika
;                2017.10.31
; 程序內(nèi)容: 1開機(jī)顯示四位8確定數(shù)碼管好壞和程序的正確性
;2 摁第一個(gè)鍵顯示班級(jí),第其余三位顯示學(xué)號(hào)的四位 摁動(dòng)四個(gè)數(shù)字鍵依次顯示為1503 1504 0130 2###
                CH452_DCLK BIT   P2.5   ;串行數(shù)據(jù)時(shí)鐘,上升沿激活  
                CH452_DIN  BIT   P2.6  ;串行數(shù)據(jù)輸出,接CH452的數(shù)據(jù)輸入
                CH452_LOAD BIT   P3.3  ;串行命令加載,上升沿激活
                CH452_DOUT BIT   P2.7   ;接 CH452 的數(shù)據(jù)輸出  
                ORG 0000H
START:        ACALL CH452_INIT;調(diào)用初始化程序      
                MOV R5,#00H;R5清零      
                MOV R4,#00H;R清零
ceshi:;檢測(cè)數(shù)碼管是否OK顯示四位8
            MOV B,#0CH      ;B是高四位     
                MOV A,#0fdH      ;設(shè)置為鍵盤與顯示開 ;A 是低八位                                                                                            
                ACALL CH452_WRITE   
                MOV B,#0dH      ;B是高四位     
                MOV A,#0FDH      ;設(shè)置為鍵盤與顯示開 ;A 是低八位                                                                                            
                ACALL CH452_WRITE   
                MOV B,#0eH      ;B是高四位     
                MOV A,#0FDH      ;設(shè)置為鍵盤與顯示開 ;A 是低八位                                                                                            
                ACALL CH452_WRITE   
                MOV B,#0fH      ;B是高四位     
                MOV A,#0FDH      ;設(shè)置為鍵盤與顯示開 ;A 是低八位                                                                                            
                ACALL CH452_WRITE  
xianshi:         ACALL jiance ;檢測(cè)是否有按鍵按下            
                SJMP xianshi ;顯示功能
                SJMP $  
jiance:
                MOV C,CH452_DOUT  ;判斷是否有按鍵按下,位判斷      
                JC jiance         ;沒有按鍵按下,繼續(xù)檢測(cè)
                ACALL CH452_READ  ;有按鍵按下,通過452讀值   
                MOV R1,A
                C0: CJNE R1,#44H,C1   ;由鍵碼得
                ACALL banji         
                AJMP TES
                C1: CJNE R1,#45H,C2        
                ACALL xuehao1   
                AJMP TES   
                C2: CJNE R1,#46H,C3           
                ACALL xuehao2     
                C3: CJNE R1,#47H,jiance   ;由鍵碼得
                ACALL xuehao3  
                AJMP TES
                TES:            
                RET               
                JC jiance
banji:
                ; 顯示班級(jí)  具體寫入數(shù)據(jù)為: 段選+數(shù)字1503
                MOV B,#0CH      ;B是高四位     
                MOV A,#18H      ;設(shè)置為鍵盤與顯示開 ;A 是低八位                                                                                            
                ACALL CH452_WRITE   
                MOV B,#0dH      ;B是高四位     
                MOV A,#0e9H      ;設(shè)置為鍵盤與顯示開 ;A 是低八位                                                                                            
                ACALL CH452_WRITE   
                MOV B,#0eH      ;B是高四位     
                MOV A,#0bdH      ;設(shè)置為鍵盤與顯示開 ;A 是低八位                                                                                            
                ACALL CH452_WRITE   
                MOV B,#0fH      ;B是高四位     
                MOV A,#0d9H      ;設(shè)置為鍵盤與顯示開 ;A 是低八位                                                                                            
                ACALL CH452_WRITE  
                RET

xuehao1:
                ; 顯示1504 具體寫入數(shù)據(jù)為: 段選+數(shù)字
                MOV B,#0CH      ;B是高四位     
                MOV A,#18H      ;設(shè)置為鍵盤與顯示開 ;A 是低八位                                                                                            
                ACALL CH452_WRITE   
                MOV B,#0dH      ;B是高四位     
                MOV A,#0e9H      ;設(shè)置為鍵盤與顯示開 ;A 是低八位                                                                                            
                ACALL CH452_WRITE   
                MOV B,#0eH      ;B是高四位     
                MOV A,#0bdH      ;設(shè)置為鍵盤與顯示開 ;A 是低八位                                                                                            
                ACALL CH452_WRITE   
                MOV B,#0fH      ;B是高四位     
                MOV A,#078H      ;設(shè)置為鍵盤與顯示開 ;A 是低八位                                                                                            
                ACALL CH452_WRITE  
                RET
xuehao2:
                ; 顯示學(xué)號(hào)0130 具體寫入數(shù)據(jù)為: 段選+數(shù)字
                MOV B,#0CH      ;B是高四位     
                MOV A,#0bdH      ;設(shè)置為鍵盤與顯示開 ;A 是低八位                                                                                            
                ACALL CH452_WRITE   
                MOV B,#0dH      ;B是高四位     
                MOV A,#018H      ;設(shè)置為鍵盤與顯示開 ;A 是低八位                                                                                            
                ACALL CH452_WRITE   
                MOV B,#0eH      ;B是高四位     
                MOV A,#0d9H      ;設(shè)置為鍵盤與顯示開 ;A 是低八位                                                                                            
                ACALL CH452_WRITE   
                MOV B,#0fH      ;B是高四位     
                MOV A,#0bdH      ;設(shè)置為鍵盤與顯示開 ;A 是低八位                                                                                            
                ACALL CH452_WRITE  
                RET


xuehao3:
                ; 顯示2###  具體寫入數(shù)據(jù)為: 段選+數(shù)字
                MOV B,#0cH      ;B是高四位     
                MOV A,#0d5H      ;設(shè)置為鍵盤與顯示開 ;A 是低八位                                                                                            
                ACALL CH452_WRITE   
                MOV B,#0dH      ;B是高四位     
                MOV A,#0H      ;設(shè)置為鍵盤與顯示開 ;A 是低八位                                                                                            
                ACALL CH452_WRITE   
                MOV B,#0eH      ;B是高四位     
                MOV A,#0H      ;設(shè)置為鍵盤與顯示開 ;A 是低八位                                                                                            
                ACALL CH452_WRITE   
                MOV B,#0fH      ;B是高四位     
                MOV A,#0H      ;設(shè)置為鍵盤與顯示開 ;A 是低八位                                                                                            
                ACALL CH452_WRITE  
                RET
                               
                  
                ;****************************************************************************   CH452初始程序  
CH452_INIT:     ;CH452初始化      
                CLR  CH452_DIN  ;先低后高,輸出上升沿通知 CH452 選擇 4 線串行接口      
                SETB  CH452_DCLK;置為默認(rèn)的高電平      
                SETB  CH452_DIN   
                SETB  CH452_LOAD      
                SETB  CH452_DOUT;置為輸入                  
                MOV B,#04H      ;B是高四位     
                MOV A,#03H      ;設(shè)置為鍵盤與顯示開 ;A 是低八位                                                                                            
                ACALL CH452_WRITE   
                MOV B,#05H           ;設(shè)定顯示參數(shù)
                MOV A,#0AH                ;設(shè)置no bcd 掃描極限最高1000B
                ACALL CH452_WRITE      
                RET
                ;****************************************************************************串口通信讀出寫入程序
CH452_WRITE:                 
                CLR  CH452_LOAD;命令開始        
                MOV   R7,#08H;設(shè)置循環(huán)次數(shù),將 ACC 中 8 位送出  
CH452_WRITE_8:   
                RRC   A;右移,低位在前,高位在后        
                CLR   CH452_DCLK        
                MOV   CH452_DIN,C;送出一位數(shù)據(jù)        
                SETB  CH452_DCLK;產(chǎn)生時(shí)鐘上升沿通知 CH452 輸入位數(shù)據(jù)        
                DJNZ  R7,CH452_WRITE_8;位數(shù)據(jù)未完繼續(xù)        
                MOV   A,B        
                MOV   R7,#04H;設(shè)置循環(huán)次數(shù),將 B 中 高4 位送出   
CH452_WRITE_4:   
                RRC   A;低位在前,高位在后        
                CLR   CH452_DCLK      
                MOV   CH452_DIN,C;送出一位數(shù)據(jù)      
                SETB  CH452_DCLK;產(chǎn)生時(shí)鐘上升沿通知 CH452 輸入位數(shù)據(jù)        
                DJNZ  R7,CH452_WRITE_4;位數(shù)據(jù)未完繼續(xù)      
                SETB  CH452_LOAD;產(chǎn)生加載上升沿通知 CH452 處理命令數(shù)據(jù)               
                RET  
                ; 讀取數(shù)據(jù)
CH452_READ:         
                CLR   CH452_LOAD ;命令開始      
                MOV   A,#07H;讀取鍵值命令的高 4 位 0111B        
                MOV   R7,#04H ;忽略 12 位命令的低 8 位   1111 0000        ;改過#040H
CH452_READ_4:  ;讀出按鍵代碼命令
                RRC   A   ;低位在前,高位在后        
                CLR   CH452_DCLK      
                MOV   CH452_DIN,C;送出一位數(shù)據(jù)      
                SETB  CH452_DCLK;產(chǎn)生時(shí)鐘上升沿鎖通知 CH452 輸入位數(shù)據(jù)      
                DJNZ  R7,CH452_READ_4  ;位數(shù)據(jù)未完繼續(xù)      
                SETB  CH452_LOAD;產(chǎn)生加載上升沿通知 CH452處理命令數(shù)據(jù)        
                CLR   A;先清除鍵值單元以便移位        
                MOV   R7,#07H;讀入 7 位鍵值   
CH452_READ_7:  ;讀入按鍵代碼      
                MOV   C,CH452_DOUT;讀入一位數(shù)據(jù)      
                CLR   CH452_DCLK;產(chǎn)生時(shí)鐘下升沿通知 CH452輸出下一位        
                RLC   A;數(shù)據(jù)移入 ACC,高位在前,低位在后        
                SETB  CH452_DCLK      
                DJNZ  R7,CH452_READ_7  ;位數(shù)據(jù)未完繼續(xù)      
                RET


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

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品日韩一区二区 | 国产成人网 | 成人精品一区二区 | 日本精品裸体写真集在线观看 | 国产一级在线观看 | 国外成人在线视频 | 日韩一区二区三区在线看 | 欧美一区二区视频 | 亚洲91视频 | 久国产视频 | 一区二区三区欧美在线观看 | 青青久在线视频 | 99在线资源 | 亚洲视频一区在线 | 一级片网址 | 亚洲欧美日韩高清 | 亚洲三级在线观看 | 成人精品网 | 久久成人精品视频 | 狠狠综合久久av一区二区老牛 | 国产一区二区三区在线看 | 中文字幕一区在线观看视频 | 国产精品无码久久久久 | 国产视频1区 | 成人免费网站 | 欧美激情一区二区三区 | 亚洲免费精品 | 久久综合伊人 | 久久国产日韩欧美 | 一区二区三区在线看 | 免费午夜视频在线观看 | 九九亚洲 | 成年网站在线观看 | 国产精品久久久久久久久久软件 | 蜜桃视频在线观看免费视频网站www | 国产四区 | 亚洲成av| 亚洲 欧美 另类 综合 偷拍 | 日韩欧美在线不卡 | 国产综合av| 日韩一三区 |