操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    《實驗二:七段數碼管的靜態和動態顯示》會員分享,可在線閱讀。 更多《實驗二:七段數碼管的靜態和動態顯示(6頁)》,請在人人文庫在線搜索。

    一、微機實驗報告 學號: 姓名: 班級: 同組名單: 實驗日期:2012.12.21 實驗題目:七段數碼管靜態顯示 實驗目標:掌握數碼管數碼顯示原理(功能:鍵盤輸入一位十進制數(09),用七段數碼管顯示。) 解題思路: 1、靜態顯示:按圖10(a)連接電路,接A口PA0-PA6 8255的七段數碼管分別。 碼驅動輸入端ag項鏈,位碼驅動輸入端S1接+5V,S0和dp接地。 程序從鍵盤輸入一個十進制數,并顯示在七段數碼管上。 2、動態顯示:按圖10(b)連接電路,七段數碼管的段碼連接不變數碼管靜態顯示流程圖,位碼驅動輸入端S1、S0接8255C口的PC1、PC0 . 編程在兩個數碼管上顯示“56”。

    2、程序框圖:靜態顯示見圖11(a),動態顯示見圖11(b)。 重點問題分析(靜態展示): 1.按鍵判斷和程序結束判斷對于按鍵來說,由于程序中必須輸入數字,所以不需要判斷按鍵是否按下。 只需要判斷按鈕是否在0-9之間即可。 只需使用以下程序: cmp al, 0 jl exit; jl,條件轉移指令,即小于cmp al,9 jg退出時轉移; jg,條件轉移指令數碼管靜態顯示流程圖,即大于“cmp”時轉移是比較指令,用于比較輸入數與0、9的關系。程序結束:如果輸入數小于0或大于9,必須直接跳出程序,即結束命令必須占用單塊,這樣程序序列執行完后才能順利返回DOS。 2、七段碼顯示。

    mfc靜態文本框顯示_數碼管靜態顯示流程圖_mos管靜態工作點

    3、七段碼的字形碼在實驗說明書中給出。 這樣,只需使用轉義碼“XLAT”即可輕松實現七段碼的顯示。 前提是七段碼字體必須編譯成數字表,以字符串的形式寫入程序。 3、ASCII碼與數字鍵數值的轉換。 因為0的ASCII碼是30H,所以在數字鍵的ASCII碼和值的轉換時只需要減去30H,可以通過如下語句實現: sub al,30h 程序清單: 靜態顯示:data 0c800h - ioport+ ioport+28bhled db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h, 7fh, 6fhme

    mfc靜態文本框顯示_數碼管靜態顯示流程圖_mos管靜態工作點

    4. sg1 db 0dh,0ah,Input a num (0-9h):,0dh,0ah,$data cs:code,ds:: mov ax,datamov ds,axmov dx,io8255b ; 使8255的A口輸出模式為mov al,80h ;,控制字PA在模式0下輸出dx,alzby: mov dx,offset mesg1 ;顯示提示信息 mov ah,09hint 21hmov ah,01 ;接收字符 int 21hcmp al,0 from ;是否小于0jl exit ; 小于0則跳轉退出

    數碼管靜態顯示流程圖_mfc靜態文本框顯示_mos管靜態工作點

    5.序列cmp al,9; 是否大于9jg退出; 如果大于9,則跳轉退出,退出程序sub al, 30h; 將得到的字符的ASCII碼減去30H,將數字鍵的ascii碼轉換為值 mov bx, offset led ;bx為數字表的起始地址xlat; 找到對應的段碼 mov dx, io8255a; 從8255的A口輸出out dx,aljmp zby; 轉zbyexit:mov啊,4ch; 返回 DOSint 21hcode endsend start 動態顯示:data 0c800h- ioport+ io

    6. 端口+ ioport+288hled db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h, 7fh, 6fh ; 段代碼 buffer1 db 5,6 ; 存儲要顯示的個位和十位 bz dw ? ; 位碼數據cs:code,ds::mov ax,datamov ds,axmov dx,io8255b ;設置8255為端口A輸出 mov al,80h ;,控制字PA輸出dx,almov di,offset buffer1 in mode 0;set di 用于顯示緩沖區 loop2:mov b

    mos管靜態工作點_數碼管靜態顯示流程圖_mfc靜態文本框顯示

    7. h, 02zby: mov byte ptr bz, bhpush didec diadd di, bzmov bl, di ; bl 是要顯示的數字 pop di mov al, 0 mov dx, io8255a out dx, almov bh, 0mov si, offset led ; led數位表的偏移地址為SIadd si,bx; 找到對應的led digital mov al, byte ptr simov dx, io8255c; 從8255A端口輸出out dx, almov al, byte ptr bz; 使對應數碼管點亮 mov dx, dx,almov cx,:loop del

    8. 是的; delay mov bh, byte ptr bzshr bh, 1jnz zbymov dx, 0ffhmov ah, 06int 21hje loop2 ; 按任意鍵退出 mov dx, al, 0 ; 關閉數碼管顯示dx,almov ah,4ch; return int 21hcode endsend start 運行結果: 靜態顯示:在鍵盤上輸入0到9中的任意一個數,就會在數碼管上顯示出來。 動態顯示:在程序中寫入6、5,讀取順序為第一位為個位,第二位為十位,數碼管顯示56。 問題與討論: 1.鍵盤輸入不符合要求如何處理? 如果鍵盤輸入不符合要求,則立即跳轉到結束程序段,返回DOS。 2.使用8255

    9、其他端口的輸出如何處理? 由于不使用其他端口的輸出,所以在控制字中寫0或1即可,一般不用填0。 3、兩位七段數碼管如何切換顯示? 可以通過硬件連接實現。 七段數碼管接法和S1接法不變。 S0接+5V不接地,S1和S0同時接兩個不同的邏輯開關。 LINK 程序已完成運行。 當S1邏輯開關為高電平(S0邏輯開關為低電平)時,顯示在第一位數碼管上; 當S0邏輯開關為高電平(S1邏輯開關為低電平)時,會顯示在第二個數碼管上,這樣就實現了兩個數碼管之間的切換。 總結(經驗與收獲) 靜態顯示就是從鍵盤獲取一個值,然后通過程序將鍵盤輸入的數字值進行比較,通過PA口輸出到數碼管。 動態顯示是將兩個數字寫入程序,程序讀取數字輸出到數碼管顯示。 原理很簡單,但是程序本身比較復雜,尤其是動態顯示,程序如何讀取輸入的數字,讀取數字的順序都會影響數碼管的顯示。 在靜態顯示過程中,我們遇到了數碼管一直顯示8的狀態,不是預期的效果。 后來發現是因為程序中使用了符號定義偽指令EQU來定義要用“io8255*”的算術口地址,但是在寫的過程中寫的是16進制的實際地址程序,導致出現問題。 調試了很久才解決。 由于我們組的兩個可選實驗都做了,所以這次我們把動態展示報告和靜態展示一起寫了。 由于大部分精力都放在了靜態展示上,動態展示沒有做足夠的思考和討論。 ;.

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有