数码管以及流水灯

  • 格式:doc
  • 大小:149.19 KB
  • 文档页数:11
#define uchar unsigned char
sbit d=P2^3;
sbit dula=P2^6;
sbit wela=P2^7;
uchar temp,t0,t1,bai,shi,ge,flag,flag1;
uint shu;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
谢辞
论文的顺利完成,离不开老师、同学和朋友的关心和帮助,通过这次课程设计的完成,我和同学之间的配合逐渐默契,也增强了自己的动手能力。
参考文献:
1、吴金戌,沈庆阳,郭庭吉,8051单片机实践与应用[M].清华大学出版社,2001
2、魏立峰,王宝兴.单片机原理与应用技术[M].北京:北京大学出版社,2006.
TL0=(65536-50000)%256;
TR0=1;
flag=1;
t0=0;
P1=0xff;
TR1=0;
}
}
}
delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
结束语
本次论文介绍了数码管的动态显示以及流水灯,通过自己的编程以及思考,我对单片机的学习更深一步了,在今后的学习中,我会更加认真地学习基础知识,以便能够更熟练地应用单片机的功能,为以后的工作和学习奠定良好的基础。
dula=0;
P0=0xff;
wela=1;
P0=0xfb;
wela=0;
delay(5);
dula=1;
P0=table[bai];
dula=0;
P0=0xff;
wela=1;
P0=0xf7;
wela=0;
delay(5);
dula=1;
P0=table[shi];
dula=0;
P0=0xff;
wela=1;
t0++;
if(flag!=1)
{
if(t0==10)
{
t0=0;
temp=_crol_(temp,1);
P1=temp;
}
}
else
{
if(t0%4==0)
P1=~P1;
if(t0==60)
{ d=1;
TR0=0;
P1=0xff;
flag1=1;
}
}
}
void exter1() interrupt 3
3、胡辉单片机原理与应用,北京:中国水利水电出版社,2007年
4、陈明荧.8051单片机课程设计实训教材[M].北京:清华大学出版社,2003年9月.
TL0=(65536-50000)%256;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
EA=1;
ET0=1;
ET1=1;
TR0=1;
TR1=1;
}
void exter0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
0
0
1
39h
D
1
0
1
1
1
1
0
5eh
E
1
1
1
1
0
0
1
79h
F
1
1
1
0
0
0
1
71h
七段数码管的字型代码表
二、
74HC573锁存器是高性能硅CMOS器件,SL74HC573跟LS/AL573的管脚一样。器件的输入是和标准CMOS输出兼容的;加上拉电阻,他们能和LS/ALSTTL输出兼容。
当锁存使能端LE为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。
三、流水灯
89C52内有程序控制连接流水灯引脚的输出电平,来决定LED的亮灭。一般LED和单片机之间会接一块74hc573来加强控制,LED接上拉电阻连电源,用于降压。
四、程序编程如下:
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
P0=0xef;
wela=0;
delay(5);
dula=1;
P0=table[ge];
dula=0;
P0=0xff;
wela=1;
P0=0xdf;
wela=0;
delay(5);
}
voidinit()
{ shu=920;
temp=0xfe;
P1=temp;
TMOD=0x11;
TH0=(65536-50000)/256;
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
t1++;
if(t1==2)
{ t1=0;
shu--;
bai=shu/100;
shi=shu%100/10;
ge=shu%10;
if(shu==888)
{ d=0;
TR0=0;
TH0=(65536-50000)/256;
惠州学院
HUIZHOUUNIVERSITY
单片机课程设计论文
中文题目:数码管以及流水灯
英文题目:Digital tube, and running water lamp
姓名:姚银涛
系别:电子科学系
班级:08电科(1)班
学号:080702128
日期:2011年6月26日
指导老师:魏晓慧
教务处制
课程设计任务书
引言
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。
89C52是INTEL公司MCS-51系列单片机中基本的产品,它采用INTEL公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,它基于标准的MCS-51单片机体系结构和指令系统,属于80C51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。89C52内置8位中央处理单元、256字节内部数据存储器RAM、8k片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。此外,89C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。89C52有PDIP(40pin)和PLCC(44pin)两种封装形式。
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,
0x36,0x79,0x38,0x3f,0};
display(uchar aa,uchar bb,uchar cc,uchar bai,uchar shi,uchar ge);
delay(uint z);
void init();
void main()
{
init();
while(1)
{
if(flag1!=1)
display(8,8,8,bai,shi,ge);
else
display(1,1,0,6,2,9);
}
}
display(uchar aa,uchar bb,uchar cc,uchar bai,uchar shi,uchar ge)
显示字形
g
f
e
d
c
b
a
段码
0
0
1
1
1
1
1
1
3fh
1
0
0
0
0
1
1
0
06h
2
1
0
1
1
0
1
1
6bh
3
1
0
0
1
1
1
1
4fh
4
1
1
0
0
1
1
0
66h
5
1
1
0
1
1
0
1
6dh
6
1
1
1
1
1
0
1
7dh
7
0
0
0
0
1
1
1
07h
8
1
1
1
1
1
1
1
7fh
9
1
1
0
1
1
1
1
6fh
A
1
1
1
0
1
1
1
77h
B
1
1
1
1
1
0
0
7ch
C
0
1
1
1
摘要
数码管的动态显示是一种按位轮流点亮各位数码管的显示方式,即在某一时段,只让其中一位数码管的“位选端有效”,并送出相应的字型显示编码。此时其他位的数码管因位选端无效而都处于熄灭状态;下一时段按顺序选通另外一位数码管,并送出相应的字型显示编码,按此规律循环下去,即可使各位数码管分别间断地显示出相应的字符。通过定时器可以控制单片机上的数码管以及流水灯的显示时间,从而达到设计的要求。