汇编语言程序设计案例
This presentation is the property of its rightful owner.
Sponsored Links
1 / 15

汇编语言程序设计案例 1— 动态显示 PowerPoint PPT Presentation


  • 102 Views
  • Uploaded on
  • Presentation posted in: General

汇编语言程序设计案例 1— 动态显示. 本讲主要内容:. 10-1. LED 数码管显示原理 10-2. 案例分析 1 ( 2 位学号显示 ) 10-3. 案例分析 2( 简易按键抢答 ) 10-4. CJNE 、 JC 、 JNC 的应用 10-5. 课后思考和实验准备. 10-1. LED 数码管显示原理. LED 数码管动态显示硬件结构. P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0. 8051. 4#. 2#. 1#. 3#. 5#. 6#. P3.0 P3.1 P3.2

Download Presentation

汇编语言程序设计案例 1— 动态显示

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


1

汇编语言程序设计案例1—动态显示


1

本讲主要内容:

10-1. LED数码管显示原理

10-2. 案例分析1(2位学号显示)

10-3. 案例分析2(简易按键抢答)

10-4. CJNE、JC、JNC的应用

10-5. 课后思考和实验准备

Huaian College of information Technology


10 1 led

10-1. LED数码管显示原理

  • LED数码管动态显示硬件结构

P1.7

P1.6

P1.5

P1.4

P1.3

P1.2

P1.1

P1.0

8051

4#

2#

1#

3#

5#

6#

P3.0

P3.1

P3.2

P3.3

P3.4

P3.5

Huaian College of information Technology


10 1 led1

10-1. LED数码管显示原理

  • LED数码管动态显示硬件结构电路原理分析

    • 单片机1个并口P1口作为6个数码管公共的段码输入端;

    • 单片机的P3.0~P3.5作为数码管的6个位选信号控制端;

    • 7407和7406分别作为段码和位选的驱动信号;

  • LED数码动态扫描原理

    • 首先点亮LED1,其于5个LED熄灭,保持3mS左右,消隐;

    • 其次点亮LED2,其于5个LED熄灭,保持3mS左右,消隐;

    • ……

    • 最后点亮LED6,其于5个LED熄灭,保持3mS左右,消隐;

    • 扫描完1次大约需要24mS(每一次消隐1mS),扫描周期为50HZ左右;又由于人眼的“视觉暂留”现象,则认为所有的数码管是恒定点亮的。

Huaian College of information Technology


10 1 led2

10-1. LED数码管显示原理

从P1口送出1#段码;P3.0←1、其它输出0

从P1口送出6#段码;P3.5←1、其它输出0

延时3ms(1#)显示)

延时3ms(6#)显示)

从P1口送出00H

从P1口送出00H

延时1ms消隐

延时1ms消隐

流程图:

Huaian College of information Technology


10 2 1 2

10-2.案例分析1(2位学号显示)

  • 硬件电路原理图

P3.2

P3.3

P3.4

P1.3

P1.2

P1.1

P1.0

P3.5

Huaian College of information Technology


10 2 1 21

10-2.案例分析1(2位学号显示)

开 始

30H ←#39H,A ←30H

取出(ACC)低4位,查出8段码,送P0口,P3.4←1 ,P3.5←0

延时3ms(LED1显示)

从P0口送出0FFH

延时1ms(消隐)

取出(ACC)高4位,查出8段码,送P0口,P3.4←0 ,P3.5←1

延时3ms(LED2显示)

从P0口送出0FFH

延时1ms(消隐)

流程图:

Huaian College of information Technology


10 2 1 22

10-2.案例分析1(2位学号显示)

取出低位的段码,送LED1

两者区别

取出高位的段码,送LED2

  • 程序清单

    ORG 0000H

    MOV P0,#0FFH;段码清零

    MOV 30H,#39H ;写入需要显示的数据“39”

    MOV DPTR,#TAB ;共阳极数码管的段码表

    LOOP: CLR P3.4 ;选中LED1

    SETB P3.5

    MOV A, 30H

    ANL A,#0FH ;高4位清0,保留低4位

    MOVC A,@A+DPTR ;查表取出低4位的段码

    MOV P0,A ;段码送P0口

    LCALL DELAY3ms ;延时3ms

    MOV P0,#0FFH

    LCALL DELAY1ms;消隐1ms

    CLR P3.5 ;选中LED2

    SETB P3.4

    MOV A,30H ;取显示数据

    ANL A,#0F0H ;低4位清0,保留高4位

    SWAP A ;累加器高低4位交换

Huaian College of information Technology


10 2 1 23

10-2.案例分析1(2位学号显示)

思考:如果是共阴数码管呢?

  • 程序清单(续)

    MOVC A,@A+DPTR ;查表取出段码

    MOV P0,A ;段码送P0口

    LCALL DELAY3ms;延时3ms

    MOV P0,#0FFH

    LCALL DELAY1ms ;消隐1ms

    LJMP LOOP

    TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H

    DB 0F8H,80H,90H,88H,83H,0C6H,0A1H

    DB 86H,8EH ;“0—F”的共阳极段码表

    END

Huaian College of information Technology


10 3 2

10-3. 案例分析2(简易按键抢答)

  • 题目要求:使用案例1中的硬件电路实现以下功能。

    • 实现4路信号的输入

    • 利用数码管显示按键状态

      • 当K1按下时,数码管的最低位(P3.5)显示“1”;

      • 当K2按下时,数码管的最低位显示“2”;

      • 当K3按下时,数码管的最低位显示“3”;

      • 当K4按下时,数码管的最低位显示“4”。

    • 每次限时30S

Huaian College of information Technology


10 3 21

10-3.案例分析2(简易按键抢答)

P1口读入数据

(A)=?

=0EH

=0DH

=0BH

=07H

其他

显示1

显示2

显示3

显示4

返回

判决分支

流程图:

Huaian College of information Technology


10 3 22

10-3.案例分析2(简易按键抢答)

CJNE(条件转移指令)

常用于多分支程序中

显示1

条件

显示2

0

N

1

N-1

……

显示3

程序1

程序2

程序N-1

程序N

显示4

  • 程序清单

    ORG0000H

    MAIN:MOV A, P1

    ANLA, #0FH

    CJNEA, #0EH,LOOP0

    MOVR1,#01H

    LCALLDISP

    LJMPMAIN

    LOOP0:CJNEA,#0DH,LOOP1

    MOVR1,#02H

    LCALLDISP

    LJMPMAIN

    LOOP1:CJNEA,#0BH,LOOP2

    MOVR1,#03H

    LCALLDISP

    LJMPMAIN

    LOOP2:CJNEA,#07H,LOOP3

    MOVR1,# 04H

    LCALLDISP

    LOOP3:LJMPMAIN

Huaian College of information Technology


10 3 23

10-3.案例分析2(简易按键抢答)

  • 程序清单(续)

    DISP:MOVDPTR,#TAB;查表显示

    MOVA,R1

    MOVCA,@A+DPTR

    ANLP3,#0DFH;选中P3.5对应的数码管

    MOVP0,A;送段码

    DEL30S:MOVR2,#30;延时30S

    DELS:LCALLDEL1S

    DJNZR2,DELS

    MOVP0,#0FFH;清除显示

    RET;重新开始下一次抢答

    DEL1S: ……;延时1S子程序

    RET

    TAB:……

    END

Huaian College of information Technology


10 4 cjne jc jnc

10-4. CJNE、JC、JNC的应用

  • CJNE、JC、JNC应用实例(判断数据的大小关系)

    例:判断A的大小,当(A)>80H时,数码管显示“H”;当(A)=80H时,数码管显示“--”;当(A)<80H时,数码管显示“L”。

    CJNE A,#80H,BUD ;如(A)≠80H,跳转到BUD

    CLRP3.5;显示“--”

    MOV P0,#0BFH

    SJMP$

    BUD:JNC DAY;如(A)>80H,跳转到DAY

    CLRP3.5; (A)<80H,显示“L”

    MOVP0,#0CEH

    SJMP$

    DAY:CLRP3.5; (A)>80H,显示“H”

    MOVP0,#89H

    SJMP$

Huaian College of information Technology


1

10-5. 课后思考和实验准备

  • 课后思考

    • 数码管动态显示的基本思路

    • 查表程序在数码管显示中的应用

    • 多分支程序的编写方法

  • 实验准备

    • 利用实验的电路图,找出实验5中各个数码管位选信号和段码信号对应的单片机I/O口;

    • 完成实验指导书中实验5的各项预习任务。

Huaian College of information Technology


  • Login