;NAME:  跑马灯

;AUTOR:

;CONTENT: P1.0~P1.7接发光二极管L1~L8CSEG AT 4000H         ;定义起始地址,为什么是4000H呢

;存储器:程序存储器、数据存储器统一编址,达64K,板上ROM(16K);RAM

;(32K)供用户使用,可扩展至48k。用户存储器起始地址为4000H;8051原

;有中断入口地址均定位在偏移4000H之后的相应地址

LJMP START

CSEG AT 4100H

START:

MOV A, #01H          ; 先让第一个发光二极管点亮 ,选#01的原因是加了反相器

LOOP:

MOV P1, A            ; 从P1口输出到发光二极管

DELAY500MS:               ;延时0.5秒

MOV R7,#0BH DL1:

MOV R6,#5CH DL0:

MOV R5,#7AH        DJNZ R5,$        DJNZ R6,DL0        DJNZ R7,DL1

RL   A             ; 左移一位,点亮下一个发光二极管

LJMP  LOOP

END

;NAME:  输入输出接口(读出开关的闭合还是断开);AUTOR: ;TIME: 2012年4月12日 18:22:14;CONTENT: P1.0~P1.7接按钮K1~K8;74LS273的SO0~SO7接发光     二极管L1~L8,片选端CSU8\接CS0(由程序选择的入口地址而定)。

PORT EQU 0CFA7H          ;片选地址CS0            CSEG AT 4000H        ;绝对寻址,同上

LJMP START

CSEG AT 4100H

START:

MOV P1, #0FFH

LOOP:

MOV A, P1               ;从P1口读取开关状态

MOV DPTR, #PORT

MOVX @DPTR, A           ;从74LS273输出到发光二极管

LJMP LOOP               ;循环              END

片选地址74ls172的接法

74LS273是一个八位的数据/地址锁存器。本例采用74LS273扩展I/O输出端口,通过片选信号和写信号将数据总线上的值锁存在74LS273中,同时在74LS273的端口输出数据。当数据总线上的值撤销后,由于74LS273能锁存信号,所以74LS273的输出端保持不变,直到有新的数据被锁存。

1. 硬件设计

创建一个新的Design,添加如下元件(略去晶振和复位电路):元 件 名所 在 类参 数备 注

AT89C51Microprocessor ICs

8051 Family单片机

LED-YELLOWOptoelectronics

LedsLED

RESResistors

Generic270Ω电阻

74LS273TTL 74LS Series

Flip-Flop & Latches双稳态多谐振荡器&闭锁锁存器

74LS32TTL 74LS Series

Gates & Inverters门电路 & 反相器或门

用8个发光二极管显示单片机的输出数据,输出为低电平时LED灯亮。74LS273的D0~D7为8位数据输入端,接单片机的P0口,Q0~Q7为8位数据输出端,CLK为触发时钟输入端,MR为数据清除使能端。采用或门74LS32进行地址译码,U3:A的输入端分别接单片机的P2.7口和WR口,输出端接74LS273的CLK口。

从74LS273的真值表可以看出,当MR为低电平时,所有的Q端为0,否则Q端随D端而定,因此,MR应置为高电平。CLK在上升沿时完成数据锁存操作,因此U3:A的输出必须完成一个由低到高的变化。当写指令有效时,输出低电平,只有P2.7同时为低电平时,才能在写指令完成时实现一个由低到高的电平变化,这样在写完成后,数据被74LS273锁定。可见,74LS273地址应该为0XXX XXXX XXXX XXXX,一般我们设为7FFF。

2. 程序设计

在Keil C51中,有以下的内存类型:code    以 MOVC a,@A+DPTR 读取的程序内存

data    可以直接存取的内部数据存储器

idata    以 Mov @Rn 存取的内部数据存储器

bdata    可以位寻址(Bit Addressable)的内部存储器

xdata    以 MOVX @DPTR 存取的外部数据存储器

pdata    以 MOVX @Rn 存取的外部数据存储器

为了定义使用方便,在absacc.h文件中对此进行了宏定义,比如此例中的地址0x7fff,就可写为XBYTE[0x7fff]。

#include "at89x51.h"

#include "absacc.h"

#define A74273 XBYTE[0x7fff]

void main(void)

{

A74273 = 0x2b;

while(1);

}

注意了:当写指令有效时(应该是WR,无效时为高),输出低电平,只有P2.7同时为低电平时,才能在写指令完成时实现一个由低到高的电平变化,这样在写完成后,数据被74LS273锁定。可见,74LS273地址应该为0XXX XXXX XXXX XXXX,一般我们设为7FFF。

51单片机74ls273并行输出地址c语言程序,跑马灯/输入输出接口(片选地址74LS273)...相关推荐

  1. 手把手讲解51单片机最小系统焊接、流水灯(跑马灯)编写以及烧录

    (1)首先当然是要购买"51单片机最小系统的散件",淘宝上面卖的比较多,散件的话一般二.三十元左右,其次还需要购买一个电烙铁,一般30瓦的就足够了,这里我就讲一讲51单片机散件的焊 ...

  2. 8255A红绿灯c语言程序,51单片机外接8255A做成的交通灯程序及PROTEUS仿真结果(附对应C语言程序).doc...

    51单片机外接8255A做成的交通灯程序及PROTEUS仿真结果(附对应C语言程序) 51单片机外接8255A做成的交通灯程序及PROTEUS仿真结果(附对应C语言程序)2010-04-21 22:0 ...

  3. 74hc164驱动数码管c语言程序,基于51单片机的74HC164驱动数码管显示程序与仿真

    基于51单片机的74HC164驱动数码管显示程序与仿真 基于51单片机的74HC164驱动一位数码管显示程序与仿真 #include #include #define uchar unsigned c ...

  4. 基于51单片机数字频率计仿真设计(proteus仿真+程序+原理图+参考报告+器件清单)

    51单片机数字频率计仿真设计 51单片机数字频率计仿真设计 主要功能 任务书 实物图 仿真图 原理图 信号采集模块 脉冲产生模块 分频模块 程序 设计报告 全部参考资料 资料下载链接 51单片机数字频 ...

  5. 基于51单片机的火灾检测设计(仿真+程序+原理图+论文报告)

    本设计: 基于51单片机的火灾检测设计(仿真+程序+原理图+论文报告) Proteus仿真版本:proteus7.8 原理图:Altium Designer 程序编译器:keil 4 编程语言:C语言 ...

  6. fir滤波 c语言,分享MSP430单片机实现的FIR滤波器C语言程序

    分享MSP430单片机实现的FIR滤波器C语言程序 [复制链接] #include #define FRAME        180 short int h[19] = { 399,-296,-945 ...

  7. 51单片机的简易计算器设计(仿真+程序+原理图+PCB+设计报告)

    本设计: 基于51单片机的简易计算器设计(仿真+程序+原理图+PCB+设计报告) 仿真:proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 编号S0001 芯片可以替换为 ...

  8. 单片机学习笔记————51单片机实现数码管中的倒计时程序

    一.使用proteus绘制简单的电路图,用于后续仿真 二.编写程序 /***************************************************************** ...

  9. c语言在一组数据中找最大值最小值,用c语言输入一组数据,输出最大最小值,求c语言程序讲解: 输入一组数据,求最大值,最小值,和,平均...

    问题标题 用c语言输入一组数据,输出最大最小值,求c语言程序讲解: 输入一组数据,求最大值,最小值,和,平均 2019-7-3来自ip:18.156.193.207的网友咨询 浏览量:318 手机版 ...

最新文章

  1. 百度景鲲:AI交互正在吃掉旧产品边界,触达移动互联网盲区用户 | MEET2020
  2. .Net Core添加分布式Session
  3. 有什么值得推荐的Java Web练手项目?
  4. redis数据持久化到mysql_Redis【数据持久化篇】
  5. Framework中网络定位服务简介
  6. 今日直播 | Apache Hudi x Apache Pulsar Meetup线上专场如期而至 大咖齐聚
  7. 3.2 参数估计:极大似然估计方法 ML
  8. vSphere 4系列之六:Standard vSwitch
  9. H.264中的I_PCM模式
  10. Mysql -update - Error Code: 1175. You are using safe update mode and you tried to update a table wit
  11. 51CTO独家:2008下半年软考所有科目试题已到
  12. 564. 寻找最近的回文数
  13. 电大系统服务器的性能测试报告表,湖南电大校教职工绩效管理系统的设计与实现...
  14. 食品行业十大进销存软件功能大对比,我教你怎么选
  15. YDOOK:ESP8266 flash 工具 flash_download_tool_v3.8.5 下载安装教程
  16. 压缩视图状态之ajax(atlas)修正版
  17. Qt -qss样式表
  18. 计算机word论文,怎么用电脑Word写论文?
  19. 下载夜神模拟器-安装autojs-连接vscode
  20. python实现图像的白平衡,破坏图像的白平衡(冷、暖)和调节图像的亮度

热门文章

  1. Etag与HTTP缓存机制
  2. 阿里女合伙人身价达40亿,曾经月薪500小小前台,如何成功逆袭?
  3. AntDesign表格中下拉菜单
  4. 软件界面草图设计工具 mockupBuilder
  5. 创建MFC对话框Dlg工程项目
  6. 智慧社区三维可视化决策系统平台(数字孪生)-解决方案开发案例
  7. mysql中无穷大如何表示_编程中无穷大常量的设置技巧
  8. 单点登录(sso)和cas系统的原理
  9. CPU被挖矿了,却找不到哪个进程!
  10. access 升迁 mysql_随说秋色园从Access升迁到MSSQL过程