A B C D E F 5-2 七段數字顯示控制實習 Input 0H 1H 2H 3H 4H 5H 6H 7H 8H 9H 0AH 0BH

Slides:



Advertisements
Similar presentations
输入输出程序设计 输入输出的基本概念 无条件方式输入输出 查询方式输入输出 中断方式输入输出.
Advertisements

第10章 DOS功能调用与BIOS中断调用.
本章内容: 中断的概念 MCS-51单片机中断系统 外部事件中断及应用
Ch 的組合語言與系統發展.
CH1 Number Systems and Conversion
5-3 8x8矩陣LED控制實習.
第四章 指令系统及汇编语言程序设计.
组合逻辑 刘鹏 Mar. 17, 2015 浙江大学 信息与电子工程系
8051 指令.
第四章 指令系统及汇编语言程序设计.
本章分为四节,主要介绍: 4.1 程序编制的方法和技巧 4.2 源程序的编辑和汇编 4.3 基本程序结构 4.4 常用程序举例.
项目2 2个LED发光二极管控制 知识与能力目标 熟悉单片机的I/O口功能与特性。
得技通电子 问题 1 右何者非為假指令 (1) XRL (2) EQU (3) MACRO (4) ORG.
本章小结 C51单片机指令系统概述 C51单片机寻址方式 C51单片机指令系统
单片机原理与应用.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月26日.
第9章 串行扩展技术 (课时:6学时).
5-4 4x4矩陣鍵盤控制實習.
第2章 MCS-51单片机指令系统与汇编语言程序设计
第九章 计数器和定时器电路 第一节 概述 第二节 Intel 8253的控制字 第三节 Intel 8253的工作方式 第九章 计数器和定时器电路 第一节 概述 第二节 Intel 8253的控制字 第三节 Intel 8253的工作方式 第四节 Intel 8253在IBM PC机上的应用.
報告者:朱耿育 紀翔舜 組員:詹以群 張永傑 指導老師:梁新潁
复 习 一. 计算机中的数和编码 1. 2,10,16进制数及其之间的转换(整数) 按权展开,除x取余 2
第二部分 微机原理 第4章 汇编语言 程序设计 主讲教师:喻红.
单片机应用技术 项目一 循环彩灯装置 第6讲 指令功能及汇编语言程序设计(一) 《单片机应用技术》精品课程组 湖北职业技术学院机电工程系.
本章内容: 中断的概念 MCS-51单片机中断系统 外部事件中断及应用
第8章 模拟接口 8.1 模拟接口概述 8.2 DAC及其接口 8.3 ADC及其接口.
第二部分 微机原理 第3章 MCS-51的 指令系统 主讲教师:喻红.
一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置. 一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年12月10日.
單晶片微電腦控制實習 使用計時中斷作走馬燈 計時器的基礎實習 國立大甲高工 電機科 2018年11月21日
第3章 AT89C51指令系统 3.1基本概念内部结构和引脚功能 指令、指令系统、机器代码
单片机原理及应用 MCS-51系列单片机的基本硬件结构 MCS-51指令系统 MCS-51单片机的系统扩展与应用.
第八章 输入输出程序设计 总线 CPU MEM I/O接口 I/O设备.
第一章 8086程序设计 第二章 MCS-51程序设计 第三章 微机基本系统的设计 第四章 存贮器与接口 第五章 并行接口
A B C D E F 5-2 七段數字顯示控制實習 Input 0H 1H 2H 3H 4H 5H 6H 7H 8H 9H 0AH 0BH
4.A/D与D/A转换器 1).DAC0832与MCS-51接口
第八章 MCS-51与数码显示器和键盘的接口 一、MCS-51与数码显示器接口 数码显示器是单片机应用产品中最常用的廉价的输 出设备,它由8个发光二极管按一定规律排列而成, 当某一发光二极管导通时,则会被点亮,控制不同 组合的二极管导通,就能显示出各种字符。 1.显示器的结构.
本 章 重 点 单片机的简单I/O扩展 8255A可编程并口芯片 8279可编程键盘/显示器接口芯片 单片机键盘接口技术
单片机原理 单 片 机 单片机接口技术 单片机应用技术.
第三章 指令系统.
第3章 指令系统及程序设计举例 3.1 指令格式与寻址方式 一、指令格式 1. 指令 操作码 目标操作数,源操作数
第3章 微型计算机输入输出接口 3.1 输入/输出接口 3.2 输入输出数据传输的控制方式 3.3 开关量输入输出接口 欢迎辞.
第十章 人机交互接口 本章学习目标 掌握键盘接口技术 掌握数码、液晶显示技术 了解数码管显示驱动和键盘扫描控制专用芯片.
第10章 综合实训 课题一 水温控制系统设计 一、实训目的 二、课题要求 熟悉常用温度传感器AD590的特性及接口电路的设计方法;
一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置. 一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置.
6.1 输入/输出 6.2 CPU与外设数据传送方式 6. 3 MCS-51中断系统 6. 4 中断应用举例
单元五 MCS-51单片机内部资源 5.1 任务九 单片机计数并显示 5.2 任务十 单片机流水灯控制 5.3 任务十一 两台单片机数据互传
本 章 重 点 单片机的结构特点 单片机的存储器特点 I/O端口的特点 CPU时序 课时安排:3个课时.
一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置. 一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置.
第5章 循环与分支程序设计 学习目标: 了解并掌握循环程序的构造方法,尤其是对循环控制条件的设置以及可能出现的边界情况的考虑。掌握起泡排序算法这种多重循环程序设计中的常用方法。交换标志位的设置在此算法中更能提高效率。学会在数组排序算法中采用折半查找法来提高查找效率。学会使用跳跃表法实现CASE结构。
第四章 指令系统及汇编语言程序设计.
第4章 中断技术 一个完整的微机系统是由硬件和软件共同构成的。微机系统的硬件有CPU、存储器和I/O口,外设组成。CPU与存储器之间的信息交换比较简单,而CPU与外设之间进行信息交换之前必须确定外设是否准备好,即选择I/O传送方式。I/O传送方式有4种:无条件、查询、中断和DMA。本章学习中断传送方式的有关内容。
4-15 WDT HT66F50.
数码管数字时钟电路的设计 1. 系统硬件电路的设计
第3章 MCS-51指令系统 介绍MCS—51系列单片机的寻址方式 介绍MCS—51系列单片机的指令系统
第4章 80C51系列指令系统 教学目的:熟悉80C51系列单片机的寻址方式及 每一种寻址方式对应的寻址空间;掌 握每一条指令功能。
本章内容 MCS-51单片机指令系统的格式 MCS-51单片机寻址方式 指令系统的分析
5-6 串列埠模式0輸出埠擴充實習.
4-9 Timer/Counter 控制七段速度
汽车单片机应用技术 学习情景1: 汽车空调系统的单片机控制 主讲:向楠.
四、手工汇编 完成汇编的方法有两种:手工汇编和汇编程序汇编 1.手工汇编步骤 A
单片机原理与应用.
2 Number Systems, Operations, and Codes
单片机应用技术 (C语言版) 第3章 MCS-51指令系统及 汇编程序设计
第二章 MCS-51单片机程序设计 第一章 8086程序设计 第三章 微机基本系统的设计 第四章 存贮器与接口 第五章 并行接口
微机原理与接口技术 第5章 汇编语言程序设计 西安邮电大学计算机学院 王 钰.
Introduction to Computer Security and Cryptography
第4章 MCS-51汇编语言程序设计 教学基本要求: (1)、了解MCS-51汇编语言程序设计的特点;
单片机原理及接口技术 前修课程:数模电、微机原理.
第1章 微型计算机基础.
Presentation transcript:

A B C D E F 5-2 七段數字顯示控制實習 Input 0H 1H 2H 3H 4H 5H 6H 7H 8H 9H 0AH 0BH The relation between the input and output of the seven-segment display: Input 0H 1H 2H 3H 4H 5H 6H 7H 8H 9H 0AH 0BH 0CH 0DH 0EH 0FH Output A B C D E F

自我練習 Section 5-2-1 5-2-1-1 修改程式令CPU從00、02、04一直計數到98後即停住再在98,計數間隔為0.5秒。 Demo 2011.10.21 Demo 2011.10.21 Section 5-2-1 5-2-1-1 修改程式令CPU從00、02、04一直計數到98後即停住再在98,計數間隔為0.5秒。 5-2-1-2 設計能從00計數到59的秒鐘計時。 5-2-2 5-2-2-1 在七段數字顯示器上,顯示98、96、94 、直到00後停下來,計數間隔為0.5秒。 5-2-2-2 在七段數字顯示器上,顯示您的座號並不斷閃爍。 5-2-3 5-2-3-1 修改程式使從00計數到59,再從59計數到00後停住。計數間隔為1秒。 5-2-4 5-2-4-1 修改程式一樣利用查表的方式,在DS3、DS4上從99顯示到00,並不斷重覆。每次變化間隔為0.25秒。 Demo 2011.10.21

5-2-1 二位數字上數計數 8051 P2 SW2.3 Manual operation: 1. Turn On SW2_3. Data flow: P2.7~P2.4  DS3 P2.3~P2.0  DS4

5-2-1 二位數字上數計數

Program I5_2_1.asm 二、程式: comment .SYMBOLS ON ORG 0000H JMP MAIN MOV A,#00H NEXT: MOV P2,A CALL DELAY ADD A,#1 DA A JMP NEXT ;============================== ; DELAY 0.5S DELAY: MOV R5,#5 DL2: MOV R6,#200 DL1: MOV R7,#249 DJNZ R7,$ DJNZ R6,DL1 DJNZ R5,DL2 RET END

Instruction: DA 8051 Instruction Set: DA Description: * DA adjusts the contents of the Accumulator to correspond to a BCD (Binary Coded Decimal) number after two BCD numbers have been added by the ADD or ADDC instruction. If the carry bit is set or if the value of bits 0-3 exceed 9, 0x06 is added to the accumulator. If the carry bit was set when the instruction began, or if 0x06 was added to the accumulator in the first step, 0x60 is added to the accumulator. * The Carry bit (C) is set if the resulting value is greater than 0x99, otherwise it is cleared. Operation: DA Function: Decimal Adjust Accumulator Syntax: DA A Instructions OpCode Bytes Flags DA 0xD4 1 C Copied from http://www.win.tue.nl/~aeb/comp/8051/set8051.html

Please check the sequence in ICE Instruction: DA ; Repeatedly increasing Acc by one following a DA instruction: INCREASE: ADD A,#1 ; Binary addition instruction DA A ; Decimal adjustment. From binary to BCD JMP INCREASE Result of ADD (Content of Acc.) Result of DA Please check the sequence in ICE 00H  00H 01H  01H 02H  02H …… 09H  09H 0AH  0AH + 06H = 10H (BCD of 10) 11H 12H ... 19H 1AH  1AH + 06H = 20H (BCD of 10) 21H … 98H  98H 99H  99H 9AH  9AH + 06H = 100H (overflow)

5_2_1 ADD A,#n ; Binary addition instruction DA A ; Decimal adjustment. From binary to BCD Acc value after addition C bit Adjustment by “DA A” Acc value after adjustment 8BH 8BH + 06H = 91H 91H B8H B8H + 60H = 18H 18H 1

DA instruction A > 99H? C  1 N LSN > 9? N AC = 1? N (A)  (A) + 06H MSN > 9 N (A)  (A) + 06H

DA instruction C = 1 C  1 N LSN > 9? (A)  (A) + 06H N C = 1? N MSN > 9 N (A)  (A) + 06H

5-2-2 二位數字下數計數

Program I5_2_2.asm 二、程式: comment .SYMBOLS ON ORG 0000H JMP MAIN MOV A,#99H NEXT: MOV P2,A CALL DELAY ADD A,#99H ; 減一 DA A JMP NEXT ;============================== ; DELAY 0.5S DELAY: MOV R5,#5 DL2: MOV R6,#200 DL1: MOV R7,#249 DJNZ R7,$ DJNZ R6,DL1 DJNZ R5,DL2 RET END 、

5-2-2 (cont.) Adding #99H is equivalent to subtracting by #01H Three ways to subtract 1 from Acc: ADD A,#99H SUBB A,#1 DEC A ADD A,#99H ; A + 99 – 100 = A – 1 DA A 5 + 99 -------- 104 1 + 99 -------- 100 2 + 99 -------- 101 Q1: Why not using “SUBB” or DEC instruction instead of ADD? A1: Because the DA instruction only work with the ADD instruction.

ADDition & SUBtraction Instructions comment ADD A,#data ; A  A + #data ADDC A,#data ; A  A + #data + C SUB A, #data ; No such an instruction !!! SUBB A,#data ; A  A - #data –C. The “B” in “SUBB” represents “Borrow” 53 48H 21 57H --------------------- 31 F1H Step 1: Use SUBB. Initially, C = 0 (i.e., B = 0) 48H – 57H – 0 = F1, C = 1 (i.e., B = 1) Step 2: Use SUBB. At this moment, C = 1. 53H – 21H – 1 = 31H, C = 0 (i.e., B = 0)

5-2-3 二位數字上、下數計數

Program I5_2_3.asm 二、程式: comment .SYMBOLS ON ORG 0000H JMP MAIN START: CALL UPCOUNT CALL DOWNCOUNT JMP START ;============================= ; INCREASEMENT UPCOUNT: MOV A,#00H NEXTU: MOV P2,A CALL DELAY ADD A,#1 DA A CJNE A,#00,NEXTU RET ;============================== ; DECREASEMENT DOWNCOUNT: MOV A,#99H NEXTD: MOV P2,A CALL DELAY ADD A,#99H DA A CJNE A,#99H,NEXTD RET ; DELAY 0.5S DELAY: MOV R5,#5 DL2: MOV R6,#200 DL1: MOV R7,#249 DJNZ R7,$ DJNZ R6,DL1 DJNZ R5,DL2 END

5-2-4 利用查表法的二位數計數

Program I5_2_4.asm 二、程式: comment .SYMBOLS ON ORG 0000H JMP MAIN START: MOV R1,#0 ; R1 is for the ones digit MOV R2,#0 ; R2 is for the tens digit MOV DPTR,#TABLE LOOP2: MOV A,R2 MOVC A,@A+DPTR SWAP A MOV R3,A LOOP1: MOV A,R1 ADD A,R3 MOV P2,A CALL DELAY INC R1 CJNE R1,#10,LOOP1 MOV R1,#0 INC R2 CJNE R2,#10,LOOP2 JMP START comment . ;============================== ; DELAY 0.1S DELAY: MOV R6,#200 DL1: MOV R7,#249 DJNZ R7,$ DJNZ R6,DL1 RET TABLE: DB 00H,01H,02H,03H DB 04H,05H,06H,07H DB 08H,09H END