一、实验目的:
1、通过AT89C51的定时器实现60s倒计时,显示采用两位数码管动态显示。
2、用PROTEUS设计,仿真基于AT89C51单片机的60s倒计时实验。
注意扫描频率为12MHZ。
二、实验威廉希尔官方网站
图设计如下:
图(2)
三、实验仪器和实验设备
PC机、PROTEUS软件或W-A-51综合开发学习版。
四、源程序设计
根据威廉希尔官方网站
图自行编写
我写的如下代码:
#include《reg52.h》
#include《intrins.h》
void time0over();
***it M2=P1^2;/*十位*/
***it M3=P1^3;/*个位*/
char table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
int k=60,m=0;
void delay(int n) //延时函数
{
int z;
for(z=0;z《n;z++)
_nop_();
}
void main()
{
TMOD=0x01;
TH0=0x3c;
TL0=0xb0;/*50ms*/
TR0=1;
while(1)
{
if(TF0)
{
TF0=0;
TH0=0x3c;
TL0=0xb0;
P0=table[k/10]; /*十位*/
M3=1;M2=0; /*个位关*/
delay(100);
M3=0;M2=0; /*个位开*/
P0=table[k%10]; /*个位*/
M2=1;M3=0; /*十位关*/
delay(100);
M2=0;M3=0; /*十位开*/
m++;
}
if(m==20)
{
m=0;
k--;
if(k==-1)k=60;
}
}
}
我本想通过用定时来实现控制这个三极管 但好像无法成 ,如图(1)所示。但用如图(2)却·能实现这个这个60s倒计时的实验。但是可能有些画图的时候会出现闪屏,也有的不会出现闪屏,但具体原因,我也不知道。
但应该是器件画图的问题。
这是利用一个人的时角差来展示这个倒计时的实现的 你可以把 延迟函数delay() 的延迟数调大一点就可以明白啦。
学习方式:理解三极管的放大作用
当晶体管被用作放大器使用时,其中两个电极用作信号 (待放大信号) 的输入端子;两个电极作为信号 (放大后的信号) 的输出端子。 那么,晶体管三个电极中,必须有一个电极既是信号的输入端子,又同时是信号的输出端子,这个电极称为输入信号和输出信号的公共电极。
按晶体管公共电极的不同选择,晶体管放大威廉希尔官方网站
有三种:共基极威廉希尔官方网站
( Common base circuit)、共射极威廉希尔官方网站
(Common emitter circuit) 和 共集极威廉希尔官方网站
(Common collector circuit),如下图示。
图11
由于共射极威廉希尔官方网站
放大威廉希尔官方网站
的电流增益和电压增益均较其它两种放大威廉希尔官方网站
为大,故多用作讯号放大使用。
晶体三极管的放大作用晶体管是一个电流控制组件,其集极电流 IC可以由基极电流IB控制,只需轻微的改变基流IB就可以引起很大的集流变化IC。由于晶体管基流IB的轻微变化可以控制较大的集流IC,我们利用这一特点,用它来放大微弱的电信号,称为晶体管的放大作用 (Amplification),简称晶体管放大。简单来说,晶体管的放大原理是把微弱的电信号 (微弱的电压信号 Vi) 加在基极上,使基极电流按电信号变化,通过晶体管的电流控制作用,就可以在负载上得到与原信号变化一样,但增强了的电信号 (较大的电压信号 Vo)。
一、实验目的:
1、通过AT89C51的定时器实现60s倒计时,显示采用两位数码管动态显示。
2、用PROTEUS设计,仿真基于AT89C51单片机的60s倒计时实验。
注意扫描频率为12MHZ。
二、实验威廉希尔官方网站
图设计如下:
图(2)
三、实验仪器和实验设备
PC机、PROTEUS软件或W-A-51综合开发学习版。
四、源程序设计
根据威廉希尔官方网站
图自行编写
我写的如下代码:
#include《reg52.h》
#include《intrins.h》
void time0over();
***it M2=P1^2;/*十位*/
***it M3=P1^3;/*个位*/
char table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
int k=60,m=0;
void delay(int n) //延时函数
{
int z;
for(z=0;z《n;z++)
_nop_();
}
void main()
{
TMOD=0x01;
TH0=0x3c;
TL0=0xb0;/*50ms*/
TR0=1;
while(1)
{
if(TF0)
{
TF0=0;
TH0=0x3c;
TL0=0xb0;
P0=table[k/10]; /*十位*/
M3=1;M2=0; /*个位关*/
delay(100);
M3=0;M2=0; /*个位开*/
P0=table[k%10]; /*个位*/
M2=1;M3=0; /*十位关*/
delay(100);
M2=0;M3=0; /*十位开*/
m++;
}
if(m==20)
{
m=0;
k--;
if(k==-1)k=60;
}
}
}
我本想通过用定时来实现控制这个三极管 但好像无法成 ,如图(1)所示。但用如图(2)却·能实现这个这个60s倒计时的实验。但是可能有些画图的时候会出现闪屏,也有的不会出现闪屏,但具体原因,我也不知道。
但应该是器件画图的问题。
这是利用一个人的时角差来展示这个倒计时的实现的 你可以把 延迟函数delay() 的延迟数调大一点就可以明白啦。
学习方式:理解三极管的放大作用
当晶体管被用作放大器使用时,其中两个电极用作信号 (待放大信号) 的输入端子;两个电极作为信号 (放大后的信号) 的输出端子。 那么,晶体管三个电极中,必须有一个电极既是信号的输入端子,又同时是信号的输出端子,这个电极称为输入信号和输出信号的公共电极。
按晶体管公共电极的不同选择,晶体管放大威廉希尔官方网站
有三种:共基极威廉希尔官方网站
( Common base circuit)、共射极威廉希尔官方网站
(Common emitter circuit) 和 共集极威廉希尔官方网站
(Common collector circuit),如下图示。
图11
由于共射极威廉希尔官方网站
放大威廉希尔官方网站
的电流增益和电压增益均较其它两种放大威廉希尔官方网站
为大,故多用作讯号放大使用。
晶体三极管的放大作用晶体管是一个电流控制组件,其集极电流 IC可以由基极电流IB控制,只需轻微的改变基流IB就可以引起很大的集流变化IC。由于晶体管基流IB的轻微变化可以控制较大的集流IC,我们利用这一特点,用它来放大微弱的电信号,称为晶体管的放大作用 (Amplification),简称晶体管放大。简单来说,晶体管的放大原理是把微弱的电信号 (微弱的电压信号 Vi) 加在基极上,使基极电流按电信号变化,通过晶体管的电流控制作用,就可以在负载上得到与原信号变化一样,但增强了的电信号 (较大的电压信号 Vo)。
举报