项目二 电子时钟制作工作页Word文档下载推荐.docx
- 文档编号:20557856
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:27
- 大小:263.30KB
项目二 电子时钟制作工作页Word文档下载推荐.docx
《项目二 电子时钟制作工作页Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《项目二 电子时钟制作工作页Word文档下载推荐.docx(27页珍藏版)》请在冰豆网上搜索。
格
R1/R2
电阻
2k/200
RP1
排阻
8×
1K
C1、C2
瓷介电容
30pF
C3
电解电容
22μF
S1
轻触按键
CY
晶振
12MHz
IC1
单片机
AT89C52
IC插座
40脚
VD1
数码管
四位一体共阴数码管
3、数码管简介
数码管分共阴和共阳二种
4、数码管引脚图
1)一体数码管的管脚图
一体数码管,其内部段已相互连接好。
我们的任务就是找出管脚所对应的数码管的段和位。
2)二位一体数码管的管脚图
二位一体数码管,有用的是二个位选,八个段选共十个管脚。
型号不同管脚图不一样。
用万用表来测,把万用表打到检验二极管的那一档,先找到两个公共端,共阳的公共端接正极,用万用表负极在各段上试,得出abcdefghdp引脚。
二位一体数码管的引脚特点,其A-11B-7C-4D-2E-1F-10G-5DP-3其中12-9为公共端。
3)三位一体数码管的管脚图
三位一体数码管,有三个位选,八个段选共十一个管脚。
三位一体数码管的引脚特点,其A-11
B-7
C-4
D-2
E-1
F-10
G-5
DP-3其中9-8-6为公共端。
4)四位一体数码管的管脚图
四位一体数码管,有四个位选,八个段选共十二个管脚。
引脚大致如图所示(正面朝自己,小数点在下方)。
a、b、c、d、e、f、g、dP为段引脚,1、2、3、4分别表示四个数码管的位
。
。
1
a
f
2
3
b
e
d
dp
c
g
4
即:
12-9-8-6为公共端,A-11
DP-3
5、数码管的检测
数码管的共阴与共阳的区分
识别是共阴型的还是共阳型的数码管,可以通过测量它的管脚,找公共共阴和公共共阳:
首先,我们找个电源(3到5伏)和1个1K(几百欧的也行)的电阻,电源串接电阻后和地接在任意2个脚上,组合有很多,但总有数码管的一段会发光,找到一个然后地不动,电源(串电阻)逐个碰剩下的脚,如果其他段(一般是7段,一个点)也亮,那它就是共阴的了。
相反电源不动,地逐个碰剩下的脚,如果其他段(一般是7段,一个点)也亮,那它就是共阳的。
直接用万用表,同测试普通半导体二极管一样。
注意!
万用表应放在R×
10K档,因为R×
1K档测不出数码管的正反向电阻值。
对于共阴极的数码管,红表笔接数码管的“-”,黑表笔分别接其他各脚。
测共阳极的数码管时,黑表笔接数码管的“+”,红表笔接其他各脚。
红表笔是电源的正极,黑表笔是电源的负极。
(二)程序编写
1、程序编写
#include<
reg52.h>
//头文件
#defineucharunsignedchar//声明变量
#defineuintunsignedint
ucharcnt,miao_ge,miao_shi;
//计数变量
Ucharcodeledcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
//0-F
ucharcodeledwei[]={0XFE,0XFD,0XFB,0XF7,0XEF,0XDF,0XBF,0X7F};
//位码
voiddelay(uintz)//延时函数
{
while(z--);
}
voidled(ucharduan,wei)
P2=ledwei[wei];
//P2口为段码显示
P0=ledcode[duan];
//P0口为位码显示
}
voidtimer0()interrupt1//定时中断子程序
TH0=0x3C;
//给定时器赋初值50ms
TL0=0xB0;
cnt++;
//中断一次加一
voidmain()//主程序
ucharmiao;
//初始化
TMOD=0x01;
//设置定时器0工作方式1
//50ms定时
EA=1;
//开总中断
ET0=1;
//开定时/计数期0中断
TR0=1;
//启动定时/计数期0
while
(1)//循环
{
if(cnt==20)//计数
{
cnt=0;
//中断标志位0
miao++;
if(miao==60)//满60变为0
{
miao=0;
}
}
miao_ge=miao%10;
miao_shi=miao/10;
led(miao_ge,7);
//第8个数吗管
delay(500);
//延时
led(miao_shi,6);
//第7个数吗管
2、程序仿真
3、烧写芯片
(三)秒表制作要点
1)根据自己设计的电路图,完成焊接与组装任务。
焊接注意事项:
(1)元件的成形,电阻采用卧式安装法。
(2)数码管注意方向和管脚。
(3)所有集成电路先装IC座,严禁将IC直接焊接在电路板上。
(4)排阻注意第一脚的位置。
(5)按键注意方向。
2)程序设计。
程序设计训练步骤:
(1)八位数码管的静、动态扫描显示程序设计与调试。
(2)定时/计数器、中断控制程序的设计与调试。
(3)定时器和数码管显示的综合程序设计与调试。
知识要点:
1.数码管简介
(1)静态显示
静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。
优点是编程简单,显示亮度高,缺点是占用I/O端口多。
(2)数码管动态显示
利用发光二极管的余辉效应和人眼的视觉暂留效应,通过分时轮流控制各个数码管的位选端,使各个数码管轮流受控显示。
动态扫描频率太低,LED数码管将出现闪烁现象;
频率太高,由于每个LED数码管点亮的时间太短,LED数码管的亮度太低,无法看清。
因此,在编程时,常采用调用延时子程序来达到要求的保持时间,一般取几毫秒为宜。
(3)显示字形码
显示字符
字形
共
阳
极
阴
dp
g
f
e
d
c
a
字形码
1
C0H
3FH
F9H
06H
2
A4H
5BH
3
B0H
4FH
4
99H
66H
5
92H
6DH
6
82H
7DH
7
F8H
07H
8
80H
7FH
9
90H
6FH
熄灭
FFH
00H
2.定时、计数的概念
(1)计数概念
(2)计数器的容量
(3)定时
(4)溢出
(5)任意定时及计数的方法
3.定时/计数器概述
(1)定时/计数器的方式控制字
TMOD位
D7
D6
D5
D4
D3
D2
D1
D0
位名称
GATE
C/T
M1
M0
M0
功能
门控位
定时/计数方式选择
工作方式选择
门控位
定时/计数方式选择
高4位控制定时器/计数器1
低4位控制定时器/计数器0
(2)定时/计数器的4种工作方式
①工作方式0。
定时/计数器的工作方式0称为13位定时/计数方式。
它由TL的低5位和TH的8位构成13位的计数器,TL的高3位未用。
②工作方式1。
工作方式1是16位的定时/计数方式,M1M0为01,其他特性与工作方式0相同。
③工作方式2。
工作方式2是16位加法计数器,TH0和TL0具有不同功能,其中,TL0是8位计数器,TH0是重置初值的8位缓冲器。
方式2具有初值自动装入功能,每当计数溢出,就会打开高、低8位之间的开关,预置数进入低8位。
这是由硬件自动完成的,不需要由人工干预。
④工作方式3。
定时/计数器工作于方式3时,定时器T0被分解成两个独立的8位计数器TL0和TH0。
(3)三种工作方式定时时间的比较
晶振频率fosc=12MHz
方式0(13位):
8192us
方式1(16位):
65536us
方式2(8位):
256us
当晶振频率为12M时最长定时时间为65.536ms,怎样才能实现1秒定时。
(2)定时/计数器的编程和应用
例1用定时器1方式0实现1s的延时。
解:
因方式0采用13位计数器,其最大定时时间为:
8192×
1s=8.192ms,因此,定时时间不可能像方式1一样选择50ms,但可选择定时时间为5ms,再循环200次。
定时时间选定后,再确定计数值为5000,则定时器1的初值为:
X=M−计数值=8192−5000=3192=C78H=0110001111000B
因13位计数器中TL1的高3位未用,应填写0,TH1占高8位,所以,X的实际填写值应为:
X=0110001100011000B=6318H
即TH1=63H,TL1=18H,又因采用方式0定时,故TMOD=00H。
例2利用T0方式0产生1ms的定时,在P1.0端口上输出周期为2ms的方波。
设晶振频率为6MHz。
要在P1.0得到周期为2ms的方波,只要使P1.0端口每隔1ms取反一次即可。
①设置T0的方式字。
T0的方式字为:
TMOD=00H。
TMOD.0、TMOD.1M1M0=00,T0工作在方式0;
TMOD.2=0,T0为定时状态;
TMOD.3GATE=0,表示计数不受控制;
TMOD.4~TMOD.7可为任意字,因不用T1,这里均取“0”值。
②计算1ms定时T0的初值。
晶振频率为6MHz,则机器周期为2μs,设T0的初值为X,则:
(213
−
X)×
2×
10−6=1×
10−3,这样X=7692D=1111000001100B=0F00CH。
因此,TH0的初值为F0H,TL0的初值为0CH。
③编程。
能力拓展
1、到计时秒表的设计与制作
2、8只数码管显示不同的数字设计与制作
3、8只数码管滚动显示数字(移位显示)设计与制作
通过学习任务二,熟悉单片机的按键控制技术等。
按键变数的设计与制作由电路和程序构成。
最小系统、数码管、按键等器件组成。
本任务为使用三个独立按键,按下按键A使数字变大,按下按键B使数字变小,按下按键C清零。
要求使用按键识别方法、按键抖动消除等技术。
S1、S2、S3、S4
(3)按键简介
按键简单的说就是一个开关。
按键根据结构可分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关等;
另一类是无触点式开关按键,如电气式按键,磁感应按键等。
目前,单片机系统中最常见的是触点式开关按键。
(4)按键的检测
直接用万用表,R×
1电阻挡,检测按键的通断即可。
AT89X51.H>
unsignedcharNumb;
//定义变量
voiddelay10ms(void)//延时10ms
{
unsignedchari,j;
for(i=20;
i>
0;
i--)
for(j=248;
j>
j--);
}
voiddelay02s(void)//延时0.2s
unsignedchari;
i--)
delay10ms();
//调用延时10ms
}
voidmain(void)//主程序
while
(1)
{
if(P3_7==0)
if(P3_7==0)
Numb++;
if(Numb==4)
Numb=0;
while(P3_7==0);
switch(Numb)//提供四种选择
case0:
P1_0=~P1_0;
delay02s();
break;
case1:
P1_1=~P1_1;
case2:
P1_2=~P1_2;
delay02s();
case3:
P1_3=~P1_3;
(三)按键变数制作要点
(1)独立按键程序设计与调试。
(2)矩阵按键程序设计与调试。
(3)数码管显示、按键控制的综合程序设计与调试。
知识要点
1、独立式键盘
单独按键键盘很简单:
只需要测试与按键相连接口线的电平即可。
如果是高电平则没有被按下;
如果是低电平则该按键被按下。
2、行列式键盘
单个按键在键盘上的结构
(1).行列式键盘工作原理
行列式键盘电路原理如上图所示。
按键设置在行列式交点上,行列线分别连接到按键开关的两端。
当行线通过上拉电阻接+5伏时,被钳位在高电平状态。
键盘中有无按键按下是由列线送入全扫描字、行线读入行线状态来判断的。
键盘中哪一个键按下可由列线逐列置低电平后,检查行输入状态来判断。
(2)行列式键盘工作过程
A判断有没有键被按下
B键盘抖动的消除
C键盘按下键的辨认
D键盘松开的等待
A判断案键的按下
首先判断是否有按键动作
P10、P11、P12三线有上拉电阻,平时高电平
输出P13、P14、P15、P16低电平,
如果没有键盘按下,P10、P11、P12仍高电平
如果有键盘按下,P10、P11、P12就有低电平出现
B机械按键的抖动消除
抖动现象:
按键按下过程,列线的状态如下
按下按键前,列线为高电平松开按键之后
按键按下与送开后,列线处于抖动的不稳定状态
根据机械键盘的特性,抖动的时间在10—30毫秒之间
所以,一般在判断到有可能是按键按下之后,再延时10—30毫秒,再判断,这时已经是键盘按下的稳定时期。
——没有抖动了!
!
下面的事情就是判断是哪个键被按下了
C判断是哪个按键被按下
一行一行地扫描:
什么叫扫描?
送出低电平给行线,再判断列线状态比如:
P13低电平,如果P11被检测到也是低则说明在P13与P11的交叉点上的按键,被按下了!
四行全扫一遍,就得到全部情况
D等待按键松开
原因:
如果按键没有松开就退出程序则又检测到有按键被按下了,如果等松开再退出,则只得到唯一一个被按下的按键值。
3、键盘工作方式
键盘的工作方式:
编程扫描方式、定时扫描方式、中断扫描方式三种。
在键盘扫描子程序中完成下述几个功能。
(1)判断键盘上有无键按下
(2)去键的机械抖动影响。
(3)求按下键的键号。
(4)键闭合一次仅进行一次键功能操作
中断式
查询式
中断方式键盘接口
1、个位数的加减乘除计算器的设计与制作
2、密码锁的设计与制作
任务三电子钟的设计与制作
通过学习任务三,熟悉单片机输入与输出控制技术等。
电子钟的设计与制作由电路和程序构成。
从硬件上看,电子钟采用八位数码管显示,能够显示小时,分钟和秒,用三个按键来调整时、分、和秒,你还可以增加定时闹钟等功能。
涉及数码管显示的方法、独立式按键识别、计时和中断处理方法等。
#defineucharunsignedchar
sbitkey1=P3^5;
sbitkey2=P3^6;
sbitkey3=P3^7;
//sbitbuzzer=P3^0;
ucharcnt,shi,fen,miao,shi_shi,shi_ge,fen_shi,fen_ge,miao_shi,miao_ge;
ucharcodeledcode[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,0x40};
//共阴dp~a
//ucharcodeledcode[]={0xFC,0x60,0xDA,0xF2,0x66,0xB6,0xBE,0xE0,0xFE,0xF6,0x40};
//共阴a~dp
//ucharcodeledcode[]={0x03,0x9F,0x25,0x0D,0x99,0x49,0x41,0x1F,0x01,0x09,0x40};
//共阳a~dp
//ucharcodeledcode[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x40};
//共阳dp~a
ucharcodeledwei[]={0XEF,0XDF,0XBF,0X7F,0XFE,0XFD,0XFB,0XF7};
voiddelay(uintz)
voidtimer0()interrupt1
if(cnt==20)
cnt=0;
miao++;
if(miao==60)
miao=0;
fen++;
if(fen==60)
fen=0;
shi++;
if(shi==24)
{
shi=0;
}
if(key1==0)//调秒按键
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 项目二 电子时钟制作工作页 项目 电子 时钟 制作 工作