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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2390|回復(fù): 1
收起左側(cè)

單片機(jī)匯編程序?qū)崿F(xiàn)紅綠燈轉(zhuǎn)換

[復(fù)制鏈接]
ID:428737 發(fā)表于 2018-11-18 16:23 | 顯示全部樓層 |閱讀模式
通過masm軟件運(yùn)行該程序

單片機(jī)源程序如下:
  1. STACK SEGMENT STACK 'STACK'
  2.       DW 128 DUP(?)
  3. STACK ENDS
  4. DATA SEGMENT;定義8255和8253各端口地址數(shù)據(jù)
  5. PA8255 EQU 3000H
  6. PB8255 EQU 3200H
  7. PC8255 EQU 3400H
  8. CON8255 EQU 3600H
  9. CLK08253 EQU 3800H
  10. CLK18253 EQU 3A00H
  11. CLK28253 EQU 3C00H
  12. CON8253 EQU 3E00H
  13. DATA ENDS
  14. CODE SEGMENT
  15.      ASSUME CS:CODE,DS:DATA,SS:STACK
  16. START:
  17.      PUSH DS
  18.      SUB AX,AX
  19.      PUSH AX
  20.      MOV AX,DATA
  21.      MOV DS,AX
  22.      MOV DX,CON8253;初始化8253通道0
  23.      MOV AL,36H;00110110
  24.      OUT DX,AL
  25.      MOV DX,CLK08253
  26.      MOV AX,2710H
  27.      OUT DX,AL
  28.      MOV AL,AH
  29.      OUT DX,AL;通道0初始化完成,工作方式3,初始計(jì)數(shù)值為10000,周期為0.01s
  30.      MOV DX,CON8253;通道2初始化完成,工作方式3,計(jì)數(shù)初值為100,由clk0輸入以后周期為1s
  31.      MOV AL,96H;10010110
  32.      OUT DX,AL
  33.      MOV DX,CLK28253
  34.      MOV AL,64H
  35.      OUT DX,AL
  36.      MOV DX,CON8255
  37.      MOV AL,80H
  38.      OUT DX,AL;8255初始化完成,A,B,C均工作在方式0,即基本的輸入輸出
  39.      MOV AL,10H;初始化各燈的狀態(tài)
  40.      MOV DX,PA8255
  41.      OUT DX,AL;紅燈全亮
  42.      MOV DX,PB8255
  43.      MOV AL,1FH
  44.      OUT DX,AL;黃燈全滅
  45.      MOV DX,PC8255
  46.      MOV AL,1FH
  47.      OUT DX,AL;綠燈全滅
  48.      CALL DELAY
  49. BEGIN:
  50.      MOV DX,CON8255
  51.      MOV AL,80H
  52.      OUT DX,AL
  53.      MOV AL,10H
  54.      MOV DX,PB8255
  55.      OUT DX,AL
  56.      MOV DX,PA8255
  57.      MOV AL,15H
  58.      OUT DX,AL;05H=00000101,2、4紅燈亮
  59.      MOV DX,PB8255
  60.      MOV AL,1FH
  61.      OUT DX,AL;0FH=00001111,黃燈全滅
  62.      MOV DX,PC8255
  63.      MOV AL,1AH
  64.      OUT DX,AL;OAH=00001010,1,3綠燈亮
  65.      CALL DELAY
  66.      MOV DX,CON8253
  67.      MOV AL,70H
  68.      OUT DX,AL;通道1初始化完成,工作方式0,01110000
  69.      MOV DX,CLK18253
  70.      MOV AX,0BB8H
  71.      OUT DX,AL
  72.      MOV AL,AH
  73.      OUT DX,AL;0BB8H=3000,即通道1的計(jì)數(shù)值為3000,也就是30S
  74. LOP30_1:
  75.      MOV AL,0;掃描PC4口是否有高電平輸入
  76.      MOV DX,CON8255
  77.      MOV AL,88H;88
  78.      OUT DX,AL;改PC口為輸入方式,準(zhǔn)備讀入PC4的值
  79.      MOV DX,PC8255
  80.      IN AL,DX
  81.      AND AL,10H;取PC4的值
  82.      CMP AL,10H
  83.      JNZ LOP30_1;未檢測到高電平則繼續(xù)循環(huán)檢測
  84.      MOV DX,CON8255
  85.      MOV AL,80H
  86.      OUT DX,AX      
  87.      MOV DX,PA8255
  88.      MOV AL,15H;05H=00000101;2,4紅燈亮
  89.      OUT DX,AL
  90.      MOV DX,PC8255
  91.      MOV AL,1FH;0FH=00001111
  92.      OUT DX,AL;1、3綠燈滅
  93.      MOV DX,PB8255
  94.      MOV AL,1AH;0AH=00001010
  95.      OUT DX,AL;1、3黃燈開始閃
  96.      MOV CX,0
  97. LOP5_1:
  98.      MOV DX,CON8255;檢測PC7高電平
  99.      MOV AL,88H
  100.      OUT DX,AL;改PC口為輸入方式,準(zhǔn)備讀入PC7
  101.      MOV DX,PC8255
  102.      IN AL,DX
  103.      AND AL,80H;取PC7
  104.      CMP AL,80H
  105.      JNZ LOP5_1;如果不是高電平則不需要進(jìn)行延時(shí)
  106.      CALL DELAY
  107.      INC CX
  108.      CMP CX,05H
  109.      JNZ LOP5_1   
  110.      MOV DX,CON8255
  111.      MOV AL,80H
  112.      OUT DX,AL
  113.      MOV AL,10H
  114.      MOV DX,PB8255
  115.      OUT DX,AL
  116.      MOV DX,PA8255
  117.      MOV AL,1AH
  118.      OUT DX,AL;0AH=00001010,1、3紅燈亮
  119.      MOV DX,PB8255
  120.      MOV AL,1FH
  121.      OUT DX,AL;0FH=00001111,黃燈全滅
  122.      MOV DX,PC8255
  123.      MOV AL,15H
  124.      OUT DX,AL;05H=00000101,2、4綠燈亮
  125.      CALL DELAY
  126.      MOV DX,CON8253;重新寫入方式控制字,0方式
  127.      MOV AL,70H
  128.      OUT DX,AL
  129.      MOV DX,CLK18253
  130.      MOV AX,0BB8H
  131.      OUT DX,AL
  132.      MOV AL,AH
  133.      OUT DX,AL;0BB8H=3000,即通道1的計(jì)數(shù)值為3000,也就是30S
  134. LOP30_2:
  135.      MOV AL,0;掃描PC4口是否有高電平輸入
  136.      MOV DX,CON8255
  137.      MOV AL,88H
  138.      OUT DX,AL;改PC口為輸入方式,準(zhǔn)備讀入PC4的值
  139.      MOV DX,PC8255
  140.      IN AL,DX
  141.      AND AL,10H;取PC4的值
  142.      CMP AL,10H
  143.      JNZ LOP30_2;未檢測到高電平則繼續(xù)循環(huán)檢測
  144.      MOV DX,CON8255
  145.      MOV AL,80H
  146.      OUT DX,AX
  147.      MOV DX,PA8255
  148.      MOV AL,1AH;OAH=00001010,1,3路口紅燈亮
  149.      OUT DX,AL
  150.      MOV DX,PC8255
  151.      MOV AL,1FH;0FH=00001111
  152.      OUT DX,AL;2、4綠燈滅
  153.      MOV DX,PB8255
  154.      MOV AL,15H;05H=00000101
  155.      OUT DX,AL;2、4黃燈開始閃爍
  156.      MOV CX,0
  157. LOP5_2:
  158.      MOV DX,CON8255;檢測PC7高電平
  159.      MOV AL,88H
  160.      OUT DX,AL;改PC口為輸入方式,準(zhǔn)備讀入PC7
  161.      MOV DX,PC8255
  162.      IN AL,DX
  163.      AND AL,80H;取PC7
  164.      CMP AL,80H
  165.      JNZ LOP5_2
  166.      CALL DELAY
  167.      INC CX
  168.      CMP CX,05H
  169.      JNZ LOP5_2
  170.      JMP START;下一次循環(huán)
  171.      
  172. DELAY PROC NEAR
  173.      MOV DX,120;延時(shí)子程序
  174. DELAY1:
  175.      MOV BX,1000
  176. DELAY2:
  177.      DEC BX
  178.      CMP BX,0
  179.      JNZ DELAY2
  180.      DEC DX
  181.      CMP DX,0
  182.      JNZ DELAY1
  183.      RET
  184. DELAY ENDP
  185. CODE ENDS
  186.      END START
復(fù)制代碼

所有資料51hei提供下載:
123456.rar (1.15 KB, 下載次數(shù): 7)


回復(fù)

使用道具 舉報(bào)

ID:1 發(fā)表于 2018-11-18 17:28 | 顯示全部樓層
補(bǔ)全原理圖或者詳細(xì)說明一下電路連接即可獲得100+黑幣
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲激情视频在线 | 国产精品一区二区av | 国产精品日韩欧美一区二区三区 | 美女视频一区 | 337p日本欧洲亚洲大胆 | 香蕉久久久久久 | 日日射影院| 日本黄色大片免费 | 综合一区二区三区 | 成人国产精品久久久 | 在线午夜| 黄色在线免费观看 | 男人的天堂久久 | 欧美精品91 | 日韩一区二区在线视频 | 91久久精品一区二区二区 | 日韩在线播放一区 | 亚洲精品一区二区在线观看 | 国产伦精品一区二区三区照片91 | 久久成人一区 | 国产日韩欧美一区二区 | a a毛片 | 午夜看看 | 欧美激情一区二区三区 | 亚洲第一成人av | 日韩精品在线免费观看视频 | 国产精品日产欧美久久久久 | 久草精品视频 | 日韩电影一区二区三区 | 亚洲久久久 | 麻豆久久久久久 | 精品免费国产一区二区三区 | 一级黄色片在线免费观看 | 操操日| 日韩三| 亚洲日本乱码在线观看 | 免费久久精品视频 | www.9191| japan25hdxxxx日本 做a的各种视频 | 99精品欧美一区二区三区综合在线 | 全免费a级毛片免费看视频免费下 |