freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第三章常用控制程序設(shè)計(參考版)

2024-10-02 14:49本頁面
  

【正文】 第三章 常用控制程序設(shè)計 圖 336 鍵盤掃描程序流程框圖 開 始有鍵閉合否?調(diào)用子程序延時6 m S調(diào)用子程序延時1 2 m S有鍵閉合否?判斷閉合鍵號 棧輸入鍵號 A閉合鍵釋放否?返 回是是是否否否第三章 常用控制程序設(shè)計 鍵盤掃描子程序清單: KEY1: ACALL KS1 ; 有無鍵按下子程序 JNZ LK1 ; 有鍵按下 , 轉(zhuǎn)去抖延時 AJMP KEY1 ; 無鍵按下 , 繼續(xù)掃描 LK1: ACALL DELA12 ; 12ms延時程序調(diào)用 ACALL KS1 ; 判斷鍵是否真正按下 JNZ LK2 ; 有鍵按下 , 轉(zhuǎn)逐列掃描 AJMP KEY1 ; 無鍵按下 , 繼續(xù)掃描 LK2: MOV R2,0FEH ; 設(shè)置首列掃描字 MOV R4,00H ; 保存首列號 LK4: MOV DPTR,7F01H ; 列掃描字送至 PA口 第三章 常用控制程序設(shè)計 MOV A,R2 MOVX DPTR,A INC DPTR ; 指向 PC口 INC DPTR MOVX A,DPTR ; 讀入行狀態(tài) JB ,LONE ; 第 0行無鍵按下 , 轉(zhuǎn) LONE MOV A,00H ; 有鍵按下 , 設(shè)置行首鍵號 AJMP LKP ; 轉(zhuǎn)求鍵號 LONE: JB ,LTWO ; 第 1行無鍵按下 , 轉(zhuǎn) LTWO MOV A。 ( 1) 編程掃描方式 設(shè)在主程序中已將 8155的 PA口為基本輸出口 , PC口為基本輸入口 。 第三章 常用控制程序設(shè)計 ................ ................ ................ ............ ....IN T0P P P P P P P P AD 0AD 7AD 6AD 5AD 4AD 3AD 2AD 1PA 0PA 7PA 6PA 5PA 4PA 3PA 2PA 1PC 0PC 3PC 2PC 174 LS 2 1+ 5 V4 8鍵 盤81 5580 31.......圖 335 8155擴(kuò)展 I/O口組成的 4 8非編碼鍵盤 第三章 常用控制程序設(shè)計 1. 鍵盤工作原理 確定按下的鍵的鍵號:為了方便鍵處理程序的設(shè)計 , 一般采用依次排列鍵值的方法 , 以保證鍵值和鍵號一致 。 開 始秒+ 1到6 0 秒否?關(guān)中斷分+ 1秒存儲單元清零顯示秒到6 0 分否?分+ 1分存儲單元清零顯示分到2 4 小時否?小時單元清零顯示小時返 回否否否是是是第三章 常用控制程序設(shè)計 外部中斷 0中斷程序清單: INT0: CLR EA ; 關(guān)中斷 INC SEC ; 秒存儲單元加 1 MOV A,SEC CJNE A,3CH,S_SHOW ; 判斷是否到 60秒 INC MIN ; 60秒到 , 分存儲單元加 1 MOV SEC,00H ; 秒存儲單元清 0 S_SHOW: ACALL HTOBCD ; 調(diào)用 16進(jìn)制數(shù)轉(zhuǎn)化為 BCD碼子程序 ACALL DISP ; 調(diào)用顯示子程序 , 顯示秒 MOV A,MIN CJNE A,3CH,M_SHOW ; 判斷是否到 60分 第三章 常用控制程序設(shè)計 INC HUR ; 60分到 , 小時存儲單元加 1 MOV MIN,00H ; 小時存儲單元清 0 M_SHOW: ACALL HTOBCD ; 調(diào)用 16進(jìn)制數(shù)轉(zhuǎn)化為 BCD碼子程序 ACALL DISP ; 調(diào)用顯示子程序 , 顯示分 MOV A,HUR CJNE A,18H,H_SHOW ; 判斷是否到 24小時 MOV HUR,00H ; 24小時到 , 小時存儲單元清 0 H_SHOW: ACALL HTOBCD ; 調(diào)用 16進(jìn)制數(shù)轉(zhuǎn)化為 BCD碼子程序 ACALL DISP ; 調(diào)用顯示子程序 , 顯示小時 SETB EA ; 開中斷 RETI ; 中斷返回 返回本節(jié) 第三章 常用控制程序設(shè)計 鍵盤控制程序設(shè)計 非編碼鍵盤的掃描程序設(shè)計 編碼鍵盤 返回本章首頁 第三章 常用控制程序設(shè)計 非編碼鍵盤的掃描程序設(shè)計 下面以通過 8155擴(kuò)展 I/O口組成的 4 8非編碼鍵盤為例介紹行列式鍵盤工作原理及掃描程序設(shè)計 。 初始化程序清單: ORG 0000H AJMP MAIN ORG 0003H AJMP INT0 ; 設(shè)置外部中斷 0中斷入口地址 ORG 000BH 第三章 常用控制程序設(shè)計 AJMP TIME0 ; 設(shè)置 T0中斷入口地址 ORG 001BH AJMP COUN1 ; 設(shè)置 T1中斷入口地址 MAIN: MOV SEC,00H ; 秒存儲單元清 0 MOV MIN,00H ; 分存儲單元清 0 MOV HUR,00H ; 小時存儲單元清 0 MOV TMOD,41H ; T1為計數(shù)方式 , 定時器 0工作方式 1 MOV TH0,17H ; 設(shè)置 T0的計數(shù)初值 MOV TL0,0B6H MOV TH1,0FFH ; 設(shè)置 T1的計數(shù)初值 MOV TL1,0F7H 第三章 常用控制程序設(shè)計 SETB EA ; 開中斷 SETB IT0 ; 外中斷 0中斷請求信號為脈沖方式 SETB ET1 ; T1中斷允許 SETB ET0 ; T0中斷允許 SETB EX0 ; 外中斷 0中斷允許 SETB TR0 ; 啟動定時器 0 SETB TR1 ; 啟動計數(shù)器 1 HERE: AJMP HERE ; 等待中斷 第三章 常用控制程序設(shè)計 中斷服務(wù)程序分以下幾部分。 ( 1)選擇工作方式 ( 2)計算預(yù)置計數(shù)值 ( 3) TMOD寄存器初始化 ( 4)程序設(shè)計 第三章 常用控制程序設(shè)計 程序設(shè)計 主程序: MOV TMOD,02H ; T0工作方式 2 MOV TH0,83H ; 設(shè)置計數(shù)初始值 MOV TL0,83H ; 保存計數(shù)初始值 SETB EA ; 開中斷 SETB ET0 ; T0中斷允許 SETB TR0 ; 啟動定時 WAIT: AJMP WAIT ; 等待中斷 中斷服務(wù)程序: CPL ; 方波輸出 RETI ; 中斷返回 第三章 常用控制程序設(shè)計 例 36 設(shè)計一個能夠自動記錄秒 、 分和小時的計時時鐘 。 各位的具體定義如表 33所示 。 第三章 常用控制程序設(shè)計 1. 定時器簡介 TMOD寄存器是控制定時器工作方式的 8位專用寄存器 。 這樣 , 如果確定了計數(shù)值 , 就能計算出定時時間 , 而知道了定時時間也可計算出計數(shù)器的預(yù)置值 。 T0和T1的定時功能是通過對單片機(jī)內(nèi)部計數(shù)脈沖的計數(shù)實(shí)現(xiàn)的 。 開 始設(shè)置內(nèi)循環(huán)次數(shù)內(nèi)循環(huán)結(jié)束否?設(shè)置外循環(huán)次數(shù)空操作外循環(huán)結(jié)束否?返 回是否否是第三章 常用控制程序設(shè)計 如取 N=166( 0A6H) , 上述簡單軟件定時程序的定時時間就是 1ms, 如果需要 250ms的定時時間 , 則所需的外循環(huán)的次數(shù)為 250(0FAH)。 利用 8155擴(kuò)展實(shí)現(xiàn)的動態(tài)顯示程序流程如圖 332所示 。 開 始讀顯示數(shù)據(jù)Cy=0串行輸出程序調(diào)用高4 位和低4 位互換屏蔽低4 位設(shè)置段選碼初始地址鎖存顯示數(shù)據(jù)屏蔽高4 位串行輸出程序調(diào)用返 回開 始段選碼右移一位至C y C y = 1 ?讀顯示字符段選碼P 1 . 7 = 1輸出移位脈沖循環(huán)次數(shù)= 8P 1 . 7 = 0循環(huán)次數(shù)為0 否?是是返 回否否 ( a) 顯示主程序 ( b) 串行輸出程序 第三章 常用控制程序設(shè)計 顯示程序清單: DAT BIT TRAN BIT PUL BIT SHOW: CLR C MOV DPTR,3000H ; 設(shè)定段選碼的初始地址 START: MOV A,DATA ; 讀要顯示的數(shù)據(jù) ANL A,0F0H ; 屏蔽低 4位 SWAP A ; 高 4位和低 4位互換 ACALL SET8WEI ; 串行輸出子程序調(diào)用 MOV A,DATA ANL A,0FH ; 屏蔽高 4位 第三章 常用控制程序設(shè)計 ACALL SET8WEI ; 串行輸出子程序調(diào)用 NOP NOP SETB TRAN ; 鎖存并顯示輸出數(shù)據(jù) NOP NOP CLR TRAN NOP NOP RET SET8WEI: MOVC A,A+DPTR ; 讀顯示字符的段選碼 MOV R7,08H ; 設(shè)置循環(huán)次數(shù) 第三章 常用控制程序設(shè)計 SET81: RRC A ; 段選碼的最低位移入進(jìn)位標(biāo)志位中 JC SETH ; CY=1,轉(zhuǎn)至 SETH CLR DAT ; NOP CLR PUL ; 送移位脈沖 NOP SETB PUL NOP AJMP SET82 SETH: SETB DAT ; 第三章 常用控制程序設(shè)計 NOP CLR PUL NOP SETB PUL NOP SET82: DJNZ R7,SET81 ; 段選碼輸出未完成 , 繼續(xù) RET ORG 3000H ; 共陰極 LED顯示段選碼 DB 3FH,06H,5BH,4FH,06H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H 第三章 常用控制程序設(shè)計 ( 2)軟件譯碼動態(tài)顯示電路 圖 8155擴(kuò)展實(shí)現(xiàn)的 8位LED動態(tài)顯示接口 。 如果需要顯示更多的位數(shù)時 , 只需級連多片 74LS595即可 , 且不必占用其他的 I/O口線 。顯示程序設(shè)計如下: … … MOV R0,DATA ; 設(shè)置數(shù)據(jù)區(qū)首址 MOV A,R0 ; 讀要顯示的 BCD碼 ADD A,80H MOV P1,A ; 顯示第一位 INC R0 MOV A,R0 ADD A,90H MOV P1,A ; 顯示第二位 INC R0 … … . INC R0 MOV A,R0 ADD A,F0H MOV P1,A ; 顯示第八位 第三章 常用控制程序設(shè)計 2. 軟件譯碼顯示程序設(shè)計 ( 1)軟件譯碼靜態(tài)顯示電路 ( 2)軟件譯碼動態(tài)顯示電路 第三章 常用控制程序設(shè)計 ( 1)軟件譯碼靜態(tài)顯示電路 圖 330為一采用 8位串行輸入 /串 、 并輸出移位寄存器 74LS595的兩位軟件譯碼靜態(tài)顯示電路 。 利用 MC14495實(shí)現(xiàn)的 8位靜態(tài) LED顯示接口電路如圖 329所示 。 圖 328 8位動態(tài) LED顯示電路 返回本節(jié) .. . . .D 7. . ........ ........ ........ ........ ........ ........ ........ ........ .D 6 D 5 D 4 D 3 D 2 D 1 D 0I/ O( 1 )I/ O( 2 )第三章 常用控制程序設(shè)計 LED顯示程序設(shè)計 1. 硬件譯碼顯示程序設(shè)計 MC14495是 CMOS BCD—— 七段十六進(jìn)制鎖存 、譯碼驅(qū)動芯片 。 圖 327 四位靜態(tài) LED顯示電路 G N D / + 5 V.G N D / + 5 V G N D / + 5 VG N D / + 5 VG N D / + 5 VI / O ( 1 ) I / O ( 2 ) I / O ( 3 ) I / O ( 4 ). . .第三章 常用控制程序設(shè)計 2. LED動態(tài)顯示方式 LED動態(tài)顯示就是將所有顯示位的段選線并聯(lián)在一起 , 由一
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1