1、单片机内部资源STC89C52:8KFLASH、512字节RAM、32个IO口、3个定时器、1个UART、8个中断源(1)Flash(硬盘)——程序存储空间 —— 擦写10万次,断电数据不丢失,读写速度慢(2)RAM(内存)——数据存储空间 —
CPU响应中断时,首先把当前指令的下一条指令(就是中断返回后将要执行的指令)的地址送入堆栈,然后根据中断标记,将相应的中断入口地址送入PC,PC是程序指针,CPU取指令就根据PC中的值,PC中是什么值,就会到什么地
// PS2键盘测试程序5(完整程序)// 功能:1602显示PS2键盘第1类按键的键值,可以显示大小写,显示在第2行 // 显示pageup、pagedown、方向键(上、下、左、右)的按下次数,显示在第1行 // 显示capslock、numlock的
总结:1、 控制芯片不同,液晶接口定义,或者寄存器定义也可能不同2、 显示方式有并行和串行,串行方式据说不能读数据寄存器(DR),那指令暂存器IR是否可读?3、 含字库芯片显示字符时不必对字符取模了,但字库有可能缺斤少两
51单片机自动打铃C语言程序:#include "reg51.h"#include "intrins.h" #define uchar unsigned char #define uint unsigned intuchar code DSY_CODE[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};/
;用51单片机控制 2位数码管动态显示 00 ~ 99。;从 00 开始显示,显示数字每隔一段时间加 1,一直到 99,然后回到 00。;从 00 到 10 每隔 100ms 加 1;;从 10 到
学习阶段总结 这几天思考了很多东西,感觉很有必要总结一下学习的东西了。从起初进步大学到步入社会已经一年有余,在大学感觉学也学了,玩了玩了。所以不存在什么很大的遗憾。之前零零散散的也学了不少东
;DISP显示子程序PORT_AEQU0CF01HPORT_BEQU0CF02HPORT_CEQU0CF03H;功能:将显示缓冲区39-3FH内容显示一遍;3FH对应八个LED管;3E-39H自左到右对应数码;占用:PSW,ACC,DPTR,R0,R3,R6,R7内;ORG0DE00HDISP1:MOVR0,#3FHDISP_0
注:1.ROM:只读存储器,单片机的只读存储区大多用于存储程序固又称程序存储器。51单片机是EPROM,所谓的EPROM是可擦除的只读存储器。可以把原来的程序擦除了,再写一个新的进去。断电后是可以保存的,数据存储器(R
算术运算指令共有24条,算术运算主要是执行加、减、乘、除法四则运算。另外MCS-51指令系统中有相当一部分是进行加、减1操作,BCD码的运算和调整,我们都归类为运算指令。虽然MCS-51单片机的算术逻辑单元ALU仅能对8位
由中断允许寄存器IE实现两级控制(SFR地址:0A8H)EAXXESET1EX1内容来自单片机之家www.dpj100.comET0EX0EA:总允许位(一级控制)EA=0时:禁止一切中断;EA=1时:中断开放。ES:串行口中断允许位(二级控制)ES=1:允
1、 主体结构1)16位加法计数器,由高8位(THi)和低8位(TLi)SFR组成。2)在用作计数器时,引脚P3。4(T0)和P3。5(T1)分别是两个计数器的外部脉冲输入端。3)引脚P3。2(/INT0)和P3。3(/INT1)在位GATE=1时可
#includetypedefunsignedcharuchar;typedefunsignedintuint;typedefunsignedlongulong;sbitADDR0=P1^0;sbitADDR1=P1^1;sbitADDR2=P1^2;sbitADDR3=P1^3;sbitENLED=P1^4;ucharimage[8]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
----------------------------------------------------名称:51单片机自带串口平台:Keil 4, Ly-51S学习板引脚定义如下:RXD TXDMAX232与51连接:TXD-T1IN RXD-R1OUT------------------------------------------------
我总结3点需要注意的地方1.关闭非IIC通信器件,比如我的开发板SDA和SCL也连接了DS1302,造成干扰会没有结果。2.IIC通信的应答,发送端在SCL为0时将SDA置1,等待接收端拉低SDA;接收端在拉低SDA持续一个周期后,应将S
utilities.h#ifndefUTILITIES_H_INCLUDED#defineUTILITIES_H_INCLUDEDtypedefunsignedcharuchar,BYTE,uint8;typedefunsignedintuint,WORD,uint16;typedefunsignedlongulong,DWORD,uint32;typedefcharint8;typedefint
此程序模拟普通的电子表的功能,实现了时,分,秒的显示,并有调表功能.程序简单,好多地方并没有注意细节,只是实现了部分功能./************************************************************************//*程序:单片
电路原理图 EEPROM为ATMEL公司的AT24C01A。单片机为ATMEL公司的AT89C51。软件说明C语言为Franklin C V3.2。将源程序另存为testi2c.c,用命令C51 testi2c.cL51 TESTI2C.OBJOHS51 TESTI2C编译,连接,得到TESTI2C.HEX
采用移位减法的算法。源码如下:1 ;//////////////////////////////////////////////////////////////////////////////2 ;函数: div_u24_u83 ;描述: 无符号双字节除以单字节4 ;入口: (R5,R6,R7)/(R0)5 ;出口: (R
百度ds1302 写道DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进行同步通信