AT89C51介绍
AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图所示。
现在AT89S51/52已经取代了AT89C51/52。
在单片机应用系统中,显示器显示常用两种方法:静态显示和动态扫描显示。所谓动态显示,就是一位一位地轮流点亮各位显示器(扫描),对于每一位显示器来说,每隔一段时间点亮一次。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。调整电流和时间参数,可实现亮度较高较稳定的显示。
AT89C51单片机串行口方式0,工作于移位寄存器I/O方式,数据从RXD端串行输出,TXD端输出移位脉冲信号,通过74LS164移位寄存器将串行输入数据转换为并行输出。对于汉字显示点阵一般均为16×16L ED点阵,本设计采用了14×15点阵,为了提高显示亮度将显示矩阵分为7×15上下两块进行扫描显示,由P1.0~1.7对行扫描。由74LS164将串行输入数据并行输出,驱动发光二极管必须增加驱动器74LS07,同理P1口也要驱动。当74LS164输出数据为高电平时,同时P1.0~1.7为低电平时,相对应某一行、某一列灯亮。
本次设计动态显示两个静止汉字“技师”。
程序
ORG 0000H
MOV R1 , # 07FH
CLR R6
CLR R5
MOV SCON , # 00H
MOV DPTR , # RTAB
ROT : MOV A , R1
RL A
MOV R1 ,A
MOV P1 ,A
LOOP : MOV A ,R6
ADD A , R5
MOVC A , @A + DPTR
MOV SBUF ,A
JNB TI , $
CLR TI
INC R6
CJNE R6 , # 08H ,LOOP
CLR R6
MOV A ,R5
ADD A , # 08H
MOV R5 ,A
CJNE R5 , # 64H ,ROT
CLR R5
ACALL DELA Y
AJMP ROT
DELA Y:MOV R3 , # 02H
DL :MOV R4 , # OFFH
DLO :DJNZ R4 ,DLO
DJNZ R3 ,DL
RET
RTAB : DB 44H , 44H , 10H , 04H , 92H , OAH ,
00H ,02H
DB 24H ,04H ,10H ,04H ,92H ,OAH ,FEH ,02H
DB 10H ,04H , 10H ,04H ,92H ,02H , 10H ,02H
DB 28H ,14H ,4EH ,FEH ,10H ,02H ,10H ,OAH
DB 44H ,1BH ,10H ,06H ,10H ,04H ,FEH ,OAH
DB 84H ,04H ,10H ,04H ,10H ,04H ,92H ,OAH
DB OOH ,OOH ,FEH ,14H ,OOH ,OOH ,92H
OAH
DB OOH ,OOH ,82H ,24H ,OOH ,OOH ,92H ,
OAH
END
硬件图
上一篇:基于STC89C52RC单片机的超声波测距程序设计
下一篇:以AT89S51v为控制核心的双色无表针钟表设计
推荐帖子
- 引起电源模块发热的四大原因
- 一摸电源模块的表面,热乎乎的,模块坏了?且慢,有一点发热,仅仅只是因为它正努力地工作着。但高温对电源模块的可靠性影响极其大!基于电源模块热设计的知识,这一次,我们扒一扒引起电源模块发热的原因。 电源模块在电压转换过程中有能量损耗,产生热能导致模块发热,降低电源的转换效率,影响电源模块正常工作,并且可能会影响周围其他器件的性能,这种情况需要马上排查。但什么情况下会造成电源模块发热严重呢?具体原因如下所示: 一、使用的是线性电源 线性电源工作原理如下图1,通过调节
- fish001 模拟与混合信号
- 利用stc51做得光立方
- 光立方视频http://v.youku.com/v_show/id_XNTg1MjM5NjE2.html利用stc51做得光立方具体步骤之后发先mark下下,有时间看~~~~~~~~在公司不方便啊。。。。。。。。。。。。。。确实挺炫的。不错,学一下,准备做一个!{:1_103:}正在做,收一下资料!{:1_98:}一直在找这个!很好很好! 程序还是12c506,不是89C52的呢?厉害呢先感谢一下
- automomaek 创意市集
- 初学者之---uClinux和Linux的异同分析
- 标准Linux是针对有MMU的处理器设计的。在这种处理器上,虚拟地址被送到MMU,把虚拟地址映射为物理地址。通过赋予每个任务不同的虚拟-物理地址转换映射,支持不同任务之间的保护。uClinux是针对控制领域的嵌入式linux操作系统,它从Linux2.0/2.4内核派生而来,沿袭了主流Linux的绝大部分特性。适合不具备内存治理单元(MMU)的微处理器/微控制器。没有MMU支持是uClinux与主流Linux的基本差异。对uCLinux来说,其设计针对没有MMU的处理器,不能使用处理器的虚拟
- kandy2059 单片机
- 请教PXA270的SPI初始化问题
- 硬件用的PXA270需要用SPI驱动WIFI现在卡在读取ID上了即上电后初始化硬件(SPI接口),然后就读ID,就不能成功想请教关于SPI初始化的几个问题:我用的GPIO23、24、25、26作为SPI的那几个引脚,用22作为中断信号首先将23、24、25、26这几个GPIO的功能设置完然后pHC-pCLKRegs-cken|=(123);选择第一组SPI控制器然后设置:pHC-pSSPRegs-base.sscr0=SSCR0_SCR(cl
- wwh_nuaa 嵌入式系统
- 【我的WEBENCH得意之作】 TI芯片LM2596可调降压设计
- 本帖最后由qwqwqw2088于2015-6-2518:34编辑 LM2596是TI的一个比较著名的降压开关电源芯片,大部分电源设计工程师都比较熟悉。以前都是看PDF手册进行设计,然后进行画原理图,或者修改参数进行设计电路。自从TI有了在线设计工具WEBENCH工具以来,设计这些降压电路就更加方便顺手,今天在电子工程世界论坛(eeworld.com.cn)发帖,对比一个在线设计和以前做过的一个LM2596可调降压电路设计,总得来说,还是weben
- qwqwqw2088 模拟与混合信号
- 矿卡|T9+入门使用
- 最近在某鱼入手一张蚂蚁T9+矿卡。目前挖矿时代已经从大众视野中慢慢淡出,而曾经为挖矿努力工作的矿卡已大量流出到某鱼,并且价格便宜,入手作为一个开发板已经很实惠了。T9+矿卡在配置上基本上算是很丰富,可以满足入门学习者使用。硬件资源包括zynqxc7z010-clg400双核ARMA9处理器,主频可跑到666.6666MHz,外挂2片512MB共计1GB的DDR3内存,1片2GB的NANDFlash,1路B50612D千兆以太网PHY接口,预留一路TF卡接口,引出多路PL端I
- MHB_520 EE_FPGA学习乐园
设计资源 培训 开发板 精华推荐
- LTC2955IDDB-1 演示板、具有自动开启功能的 PB 开/关控制器(EN 输出)
- PIN Pad POS解决方案
- 便宜好用的40键直列键盘【ATmega32A】
- TAR5S39U 点稳压器(低压差稳压器)的典型应用
- DER-740 - 具有 3 合 1 和 DALI 调光功能的 29 W 高功率因数、隔离反激式 LED 驱动器
- 适用于汽车信息娱乐处理器电源的 17W 系统级电源参考设计
- 使用 ROHM Semiconductor 的 BU4343 的参考设计
- DC417B,使用 LT1806CS8 多尺寸单运算放大器原型的演示板
- 用于 ATX 电源的 7W、12V 交流转直流单输出电源
- EVAL-AD7660CB,AD7660 评估板,16 位,100 Ksps PulSAR 模数转换器