220 likes | 387 Views
学习情境 2 信号灯的控制 — 项目 2 信号灯控制 2. 天津职业大学电信学院. 3. 3. 主要内容. 功能要求. 1. 硬件设计. 2. 软件设计. 3. 引出问题. 4. 软件设计. 硬件电路设计. 逻辑关系. 功能要求. 引出问题. 用户要求. 方法. 观察. 基本器件. 发光二极 管的状态. 编写并上载不同的程序. P1 口控制 8 个发光二极管.
E N D
学习情境2 信号灯的控制—项目2 信号灯控制2 天津职业大学电信学院
3 3 主要内容 功能要求 1 硬件设计 2 软件设计 3 引出问题 4
软件设计 硬件电路设计 逻辑关系 功能要求 引出问题
用户要求 方法 观察 基本器件 发光二极 管的状态 编写并上载不同的程序 P1口控制8个发光二极管 将累加器中的数据(十六进制)转换为BCD码,个位存入30H,十位存入31H,百位存入32H,最后由P0口输出个位数据,P1口输出十位数据,P2口输出百位数据。 将DPH和DPL中放入两个小于10的数据a和b,编写程序实现c=a2+b2-a,并把c通过P0口输出。 将累加器A中数据得高4位和寄存器B中数据的低4位相乘后取反,并将其结果通过P0口输出。 采用移位指令,实现累加器A中数据乘4,寄存器B中数据除以2
硬件电路设计 系统方案设计 硬件电路设计 具体可分为 硬件方案确定 总设计电路原理图(SCH)
系统方案设计 系统方案设计理论图
硬件方案确定 复位电路 LED 接口 电路 硬件方案 时钟 电路 设计 电源选择
硬件方案确定––电源选择 AT89S52单片机的主要电源特性:电压操作范围为:4.0~5.5V 依据 电源确定 选择+5V的电源
硬件方案确定––时钟电路(1) • 单片机的连接引脚 XTAL1、XTAL2 ; • 内部机器频率 F=fosc/12 内部时钟方式 • C1和C2的一般取值 20-30pF陶瓷电容 • 连接方法 外部时钟方式
硬件方案确定––复位电路(1) • 单片机的连接引脚 AT89S52上的RST引脚 • 连接电路 复位电路设计
硬件方案确定––LED接口电路 LED接口电路 拉电流 高电平输出时,一般是对负载提供电流,其提供电流的数值叫“拉电流”; 低电平输出时,一般是要吸收负载的电流, 其吸收电流的数值叫“灌电流”; 灌电流 电阻的选择
硬件方案确定––系统电路图 系统电路设计
软件设计 软件设计是在最小软件系统基础上,根据所要求的显示方式对P1、P2、P3口进行多位操作。 流程图及源程序 请点击此处
引出问题––伪指令-赋值伪指令 EQU 格式:字符名称EQU项(数或汇编符号) 该伪指令将“项(地址)”赋给“字符名称”。“字符名称”必须先赋值后使用,通常将赋值语句放在源程序的开头。 定位伪指令ORG
Ri direct @Rj #data ADD A, 引出问题––相应指令––算术指令(1) 1、加法指令 1)不带进位的加法 对标志位影响 溢出规律 Cy:若D7有进位,则置1; AC:若D3有进位,则置1; OV:若D7有进位但D6无进位, 或D7有进位但D6无进位, 则置1。 无符号数:若Cy=1,则溢出; 有符号数:若OV=1,则溢出。
Ri direct @Rj #data Ri direct @Rj #data ADDC A, SUBB A, 引出问题––相应指令––算术指令(2) 2)带进位的加法 2、减法指令 带借位减法指令
将累加器A的内容与寄存器B的内容相乘,乘积的低8位存放在将累加器A的内容与寄存器B的内容相乘,乘积的低8位存放在 累加器A中,高8位存放于寄存器B中。如果乘积超0FFH,则溢 出标志OV置“1”,否则清“0”。 进位标志Cy总是被清“0”。 引出问题––相应指令––算术指令(3) 3、乘法指令 MUL AB ;(A)*(B)→ (BA) 同时0→C且若积的商八位B≠0时OV=1 功能 4、除法指令 DIV AB ;(A)÷(B)→(A)余(B) 同时0→C且若除数B=0时OV=1 将累加器 A中的内容除以寄存器 B中的8位无符号整数,所得商的整 数部分存放在累加器A中, 余数部分存放在寄存器 B中, 清“0”进位标志Cy和 溢出标志OV。 若原来 B中的内容为 0, 则执行该指令后 A与 B中的内容 不定, 并将溢出标志OV置“1”, 在任何情况下, 进位标志Cy总是被清“0”。 功能
引出问题––相应指令––逻辑指令(1) 1、A操作指令 CPL A ; A取反 CLR A ; A清零 RL A ; 累加器A的内容向左环移 1 位 RR A ; 累加器A的内容向右环移 1 位 RLC A ; 累加器A的内容带进位标志位向左环移 1 位 RRC A ; 累加器A的内容带进位标志位向右环移 1 位 对累加器A的内容进行简单的逻辑操作。 除了带进位标志位的移位指令外,其它都不影响Cy, AC, OV等标志。 功能
将两个操作数的内容按位进行逻辑与操作, 并将结果送回目的操作数的单元中。 功能 引出问题––相应指令––逻辑指令(2) 2、与指令 与指令共有6条,逻辑与后的结果除第四、六条指令送回直接寻址字节外,其余均送回累加器。 注:与0相与,使被修改数相应位清零,与1相与,使被修改数相应位保持原值不变。 ANL A,Rn ANL A,@Ri ANL A,direct ANL A,# data ANL direct,A ANL direct,# data
将两个操作数按位进行逻辑异或操作, 并将结果送回到目的操作数的单元中。 功能 引出问题––相应指令––逻辑指令(3) 3、异或指令 XRL A,Rn XRL A,@Ri XRL A,direct XRL direct,A XRL A,#data XRL direct,# data 注: 与1相异或,使被修改数相应位取反,与0相异或,使被修改 数相应位保持原值不变
引出问题––相应指令––其他指令 • 累加器A判0转移指令 JZ rel; (A)= 0 转移 JNZ rel; (A)≠ 0 转移 转移范围:-128~ +127 条件满足时: PC←(PC)+N+rel, • A的半字节交换指令 SWAP A 半字节交换指令,将累加器A的高 4 位与 低 4 位之间进行交换