Ⅰ 51单片机怎么让数码管显示学号用汇编语言
数码管连接电路如图1所示,P0口输出码型,P2口输出位选。锁存器74HC573起驱动作用,提供驱动电流供数码管发光。译码器74HC138将位选地址转换成位选信号,例如当前是第5个数码管显示,那么P2口输出位选地址05H,译码器输入CBA=110,输出位选信号Y7-Y0=11101111,其中Y5=0,第5个数码管选通并显示,其它数码管不显示。实验时将J6的左边两个引脚针(1和2)用跳冒连接,锁存器11脚接VCC,关闭锁存功能。
数码管显示方式为动态扫描方式,当P0口送绝搏第一个数0的码型到锁存器时,P2送位选地址01H,即Y0=0,只有第一个数码管亮,宏宏枯显示0,其他数码管不显示。当P0口送第二个数1的码型到锁存器时,P2送位选地址02H,即Y1=0,只有第二个数码管亮,显示1,其他数码管不显示。即每次只有一个数码管点亮,8个数码管是轮流被点亮的,轮流点亮的间隔时间很短(一般用延时程序延时几个毫秒),由于视觉蔽洞的暂留现象,看到的却好象全都点亮着,这就是动态扫描。
数码管显示数字的码型由数码管的数据脚a~dp决定,图2为数码管的笔段分布图,由于是共阴极的,所以当a~dp为高电平时相应的笔段会亮,电路中P1.0~P1.7分别接数码管的a.b.c.d.e.f.g.dp,得到0~9这10个数字的码型如表1所示。
图2数码管的笔段分布图
引脚 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1P0.0数字码型
笔段 dp g f e d c ba
0 0 1 1 1 1 11 03FH
0 0 0 0 0 1 10 106H
0 1 0 1 1 0 11 25BH
0 1 0 0 1 1 11 34FH
0 1 1 0 0 1 10 466H
0 1 1 0 1 1 01 56DH
0 1 1 1 1 1 01 67DH
0 0 0 0 0 1 11 707H
0 1 1 1 1 1 11 87FH
0 1 1 0 1 1 11 96FH
1 0 0 0 0 0 00 小数点80H
只要把上面的相关数,改成学好就可以了。
Ⅱ 求解8051单片机的硬件结构特点!!!!!!!!!!!!!!
51单片机的内部硬件结构(CPU工作原理,储存器结构,51,52和89C51,89S51型号对比)2009-09-1523:4851系列单片机的内部结构
主要由以下部分组成:CPU、RAM、ROM、四个并行I/O口、1个串行口、2个16位定时器/计数器、中断系统、特殊功能寄存器。
----------------------------------------------------------------
简述下CPU的工作原理
构建CPU的基石是晶体管,可以看成是微型电子开关,代表两种状态:ON(开)和OFF(关)。这一开一关两种状态正好与二进制中的基础状态“0”和“1”对应。
CPU由控制单元、运算单元、寄存器单元和时钟等组成。运算单元是计算机对数据进行加工处理的中心,它主要由算术逻辑部件(ALU:ArithmeticandLogicUnit)、寄存器组和状态寄存器组成。
CPU工作流程:指令指示器指向内存中存放指令的地方。取指器在那里取出指令,并把它交给解码器。解码器解释指令。然后,ALU执行指令所要求的操作,它对数据进行加、减运算,或者其它的一些处理。在CPU解释并执行完一条指令后,控制器会告诉取指器在内存中取出下一条指令。这个过程一直持续着,一条指令接一条指令,以令人眼花的速度运行。为了使一切都按时发生,各组成部分还需要一个时钟发生器。时钟发生器是用来调节CPU的每一个动作的。像节拍器一样,它发出调整CPU步伐的脉冲。
举个简单的例子,某个指令系统的指令长度为32位,操作码长度为8位,地址长度也为8位。当它收到一个“”的指令时,先取出它的前8位操作码,即00000010,分析得出这是一个减法操作,有3个地址,分别是两个源操作数地址和一个目的地址。于是,CPU就到内存地址00000100处取出被减数,到00000001处取出减数,送到ALU中进行减法运算,然后把结果送到00000110处。
----------------------------------------------------------------
更详细的单片机内部结构
图中一些重要的寄存器:
PSW是标志寄存器或程序状态字,其中存放着各种标志位,比如溢出标志、进位标志等。
PC是程序计数器,存放着下一条将要执行的指令的地址(16位),可寻址64KB地址空间。复位后的值是0000H。CPU每读取一个字节的指令内容,PC即自动加一,不能在程序中直接读或修改PC的内容。
IR是指令寄存器,ID是指令译码器。
DPTR是数据指针,16位地址寄存器,可以寻址64KB地址空间。
ACC是累加器,常用A表示,在运算器做运算时其中一个数一定是在ACC中,所有的运算类指令都离不开它。
B是乘除运算寄存器,在做乘、除法时放乘数或除数。
SP是堆栈指针。单片机的RAM中有一个区域是堆栈区,存放数据的规则是“先进后出,后进先出”。用堆栈来存放数据的原因是在运算时可以简化操作。
----------------------------------------------------------------
储存器结构
采用程序与数据分离的哈佛结构
特殊功能寄存器结构见这里。
----------------------------------------------------------------
不同机型硬件特性
MCS-51系列单片机分为两大系列,即51子系列与52子系列。
51子系列:基本型,根据片内ROM的配置,对应的芯片为8031、8051、8751、8951
52子系列:增强型,根据片内ROM的配置,对应的芯片为8032、8052、8752、8952
片内ROM型式
ROM
大小
RAM
大小
寻址范围
I/O特性
中断源
数量
无
ROM
EPROM
计数器
并行口
8031
8051
8751
4KB
128B
64KB
2*16
4*8
5
80C31
80C51
87C51
4KB
128B
64KB
2*16
4*8
5
8032
8052
8752
8KB
256B
64KB
3*16
4*8
6
80C32
80C52
87C52
8KB
256B
64KB
3*16
4*8
6
8051与80C51单片机的主要差别就在于芯片的制造工艺上,80C51的制造工艺是在8051基础上进行了改进。8051系列单片机采用的是HMOS工艺,高速度、高密度;80C51系列单片机采用的是CHMOS工艺,高速度、高密度、低功耗;也就是说80C51单片机是一种低功耗单片机。
89C51和89S51内核相同,89S51针对89C51的明显的几个升级如下:
1.程序存储器写入方式:二者的写入程序的方式不同,89C51只支持并行写入,同时需要VPP烧写高压。89S51则支持ISP在线可编程写入技术!串行写入,速度更快,稳定性更好,烧写电压也仅仅需要4~5V即可。
2.电源范围:89S5*电源范围宽达4~5。5V,而89C5*系列在低于4。8V和高于5。3V的时候则无法正常工作。
3.工作频率:目前89S1*的性能远高于89C5*,89S5*系列支持最高高达33MHZ的工作频率,而89C51工作频率范围最高只支持到24M。
4.市场价格:由于89C51已经全面停产,所以在市场价格方面,库存的89C5*的批发价格要比89S5*贵将近一倍!
5.兼容型:89S5*向下兼容89C5*,就是说用89S5*可以替代89C5*使用,同样的程序,运行结果相同。
6.加密功能:89S5*系列全新的加密算法,这使得对于89S51的解密变为不可能,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯。
7.抗干扰性:内部集成看门狗计时器,不再需要像89C51那样外接看门狗计时器单元电路。
8.烧写寿命更长:由Flash存储器取带了原来的ROM,89S5*标称的1000次,实际最少是1000次~10000次。
Ⅲ 单片机数码管显示0到9
#include<reg51.h>
sbitk1=P1^0;
#define uint16 unsigned int
#define uchar unsigned char
uchar code shuzu[ ]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void delay(){
uint16 i=1000;
while(i--);}
void main()
{
uchar n ;
P2=0xfe;
P1=0xff;
while(1)
{
if(k1==0){
if(n>=9) n=0;
else n++;
P0=shuzu[n];
while(!k1);
delay();
while(!k1);
}
}
}
(3)51单片机晶码管扩展阅读:
51单片机的功能特性
1,可以仿真63K程序空间,接近64K 的16位地址空间;
2,可以仿真64Kxdata 空间,全部64K 的16位地址空间;
3,可以真实仿真全部32 条IO脚;
4,完全兼容keilC51 UV2 调试环境,可以通过UV2 环境进行单步,断点, 全速等操作;
5,可以使用C51语言或者ASM汇编语言进行调试 ;
6,可以非常方便地进行所有变量观察,包括鼠标取值观察,即鼠标放在某 变量上就会立即显示出它此的值;
7,可选 使用用户晶振,支持0-40MHZ晶振频率;
8,片上带有768字节的xdata,您可以在仿真时选 使用他们,进行xdata 的仿真;
9,可以仿真双DPTR 指针;
10,可以仿真去除ALE 信号输出. ;
11,自适应300-38400bps 的所有波特率通讯;
12,体积非常细小,非常方便插入到用户板中.插入时紧贴用户板,没有连接电缆,这样可以有效地减少运行中的干扰,避免仿真时出现莫名其妙的故障;
13,仿真插针采用优质镀金插针,可以有效地防止日久生锈,选择优质园脚IC插座,保护仿真插针,同时不会损坏目标板上的插座. ;
14,仿真时监控和用户代码分离,不可能产生不能仿真的软故障;
15,RS-232接口不计成本采用MAX202集成电路,串行通讯稳定可靠,绝非一般三极管的简易电路可比。