秒表单片机课程设计(通用6篇)
篇1:秒表单片机课程设计
单片机课程设计
学院:信息工程专业:
——秒表系统设计
一,设计目的:
1,熟悉51单片机的内部结构,计数器,中断控制器等的用法,来实现简单的控制应用系统。
2,通过简单系统的设计了解单片机应用系统的设计与开发过程及其相应的调试程序过程。
二,设计任务:
实验通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、快加功能,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义。
三,设计题目:
秒表系统设计——用AT89C51设计一个2位LED数码显示“秒表”,显示时间为00~99秒,每秒自动加一。另设计一个“开始”按键和一个“复位”按键。调用子程序:暂停键子程序,计时键子程序,清0键子程序,加一子程序,显示子程序,定时子程序,所用特殊寄存器:寄存器A,寄存器C,所用中断:外部中断INT0、INT1,定时器T0、T1
四,设计的硬件接线图:
五,设计思路及描述
要求进行计时并在数码管上显示时间,则可利用DVCC系列单片机微机仿真实验系统中的芯片8032(芯片的功能类似于芯片AT89C51,其管脚功能也和AT89C51的管脚功能类似)中的P3.2管脚做为外部中断0的入口地址,并实现“开始”按键的功能;将P3.3做为外部中断1的入口地址,并实现“清零”按键的功能;将P3.0做为数据信号DATA输入的入口地址;将P3.1做为时钟信号CLK输入的入口地址。定时器T0作为每秒加一的定时器;定时器T1作为“快加”键的定时器。其中“开始”按键当开关由1拨向0(由上向下拨)时开始计时;“清零”按键当开关由1拨向0(由上向下拨)时数码管清零,此时若再拨“开始”按键则又可重新开始计时。
六,流程图
七,程序 源程序: ORG
0000H AJMP
MIAN;主程序入口地址 ORG
0003H
AJMP
ZHONGDUAN0;中断0入口地址
ORG
000BH
AJMP YANSHI;定时器T0入口地址
ORG
0013H
AJMP
ZHONGDUAN1;中断1入口地址
ORG
001BH
AJMP
DINGSHI1;定时器T1入口地址
ORG
0030H
;主程序
;***********************************************************
MAIN: MOV
TCON,#05H;主程序开始 外部中断跳变模式
MOV
TMOD,#11H;定时器0,1模式1 MOV
IE,#8FH;开总中断,中断0,1,定时器0,1 MOV
DPTR,#TAB MOV
R1,#00H MOV
R2,#00h MOV
R3,#40;循环次数40 MOV
TL0#2CH;置初值,定时25MS
MOV
TH0,#0CFH
MOV
TL1#78H;置初值,定时10MS
MOV
TH1,#0ECH CLR TR0;关定时器
CLR
TR1;***********************************************************;暂停键K3,快加键K4程序
;*********************************************************** HERE:JB P1.0,HERE SHOW:
CLR
TR1 CLR
TR0 ACALL
XIANSHI KUAIJIA
:JB P1.2,KUAIJIA;等待P1.2为0 快加 CLR
TR0 SETB
TR1
HERE 3JNB
P1.2,HERE 3 AJMP
HERE;***********************************************************;外部中断INT0子程序-----计时按键K1子程序
;***********************************************************
ZHONGDUAN 0:
SETB TR0;计时按键 RETI;***********************************************************;外部中断INT1子程序----复位按键K2子程序
;***********************************************************
ZHONGDUAN 1: CLR TR0;复位按键
CLR
TR1
MOV
12H,#00H
MOV
11H,#00H ACALL
XIANSHI;调用显示子程序
MOV
R1,#00H
MOV
R2,#00H RETI;***********************************************************;加一子程序
;***********************************************************
JIA1:
INC
R1;加1子程序
CJNE R1,#0AH ,LOOP;判断是否到表尾
MOV
R1,#00H INC
R2
CJNE
R2,#0AH,LOOP
MOV
R2,#00H
LOOP: MOV
12H,R1;重新赋值
MOV
11H,R2
RET;***********************************************************;显示子程序
;*********************************************************** XIANSHI: MOV R7,#02H;2个数码管显示子程序 MOV R0,#12H LOOP5: MOV R6,#08H;8位2进制数 MOV A,@R0 MOVC A,@A+DPTR LOOP6: RLC A;循环左移 CLR P3.1 MOV P3.0,c SETB P3.1 DJNZ R6,LOOP6 DEC R0 DJNZ R7,LOOP5 RET;***********************************************************;定时器T0子程序;*********************************************************** YANSHI: MOV Tl0,#2CH;定时子程序 MOV TH0,#0CFH DJNZ R3,LOOP7 ACALL JIA1;调用加1子程序 ACALL XIANSHI;调用显示子程序 MOV R3,#40 LOOP7: RETI;***********************************************************;定时器T1子程序
;*********************************************************** DINGSHI1:MOV Tl1,#78H;置初值,定时10MS MOV TH1,#0ECH CLR TR0 SETB TR1 MOV 12H ,R1 MOV 11H,R2 JNB p1.0,SHOW ACALL JIA1 ACALL XIANSHI LOP7:TETI;*********************************************************** TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END
八,内容提要
利用单片机的定时器/计数器定时和记数的原理,结合dvcc实验箱上的集成电路芯片8032、LED数码管以及实验箱上的按键来设计计时器。将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。其中本设计了四个开关按键:其中一个按键按下去时以1秒加一开始计时,即秒表开始键(本实验中当开关从1变为0时开始计时),另一个按键按下去时暂停计时,使秒表停留在原先的计时(本实验中当相应开关从1变为0时即停止计时),第三个按键按下去时清0(本实验中当相应开关从1变为0时即停止计时),第四按键按下去则是以每10ms秒快速加一计时(本实验中当开关从1变为0时开始计时)。本设计中开始时都要使各按键回到各初始位置,即都处于1状态。
九,课程设计心得体会
选择适当的课题,不益太简单或者太难。做到既能把课题完成又能锻炼自己的能力!根据课题要求,复习相关的知识,查询相关的资料。根据实验条件,找到适合的方案,找到需要的元器件及工具,准备实验。根据课程设计的要求和自己所要增加的功能写好程序流程图,在程序流程图的基础上,根据芯片的功能写出相应的程序。然后再进行程序调试和相应的修改,以达到能够实现所要求的功能的目的。还要根据实验的实际情况,添加些额外程序来使系统更加的稳定,如开关的消震荡(采用延迟)。程序要尽量做到由各个子程序组成,在有些程序后面最好加注释,这样在程序出错的检查过程中可以更容易查找的到,也更简洁,更明白易懂。该设计的程序可以参考DVCC系列单片机微机仿真实验系统实验指导书中的串并转换实验,也可自己根据自己熟悉的方法来编程。在设计控制开关时,注意2个中断的打开和关闭的先后顺序,否则就会出错。这次的单片机课程设计重点是理论与实际的相结合。不再只读书了。该设计从头到尾都要自己参与,熟悉了对整个设计的过程,更系统的锻炼了自己。
十、参考文献
苏家健等编的《单片机原理及应用技术》 高等教育出版社 2004年11月 余锡存等,《单片机原理及接口技术》 西安电子科技大学出版社 2004
孙涵芳等 《单片机原理及应用》 北京航空航天大学出版社 1990
吴金戌等 《8051电片机的实践与应用》 清华大学出版社
篇2:秒表单片机课程设计
题目:基于stc89c52rc的秒表设计
学生:唐伟轩 11071339
指导老师:
日期:2013年12月8日
基于stc89c52rc的秒表设计
此设计中硬件部分由王华杲完成,软件由唐伟轩完成一、设计要求
使用STC89C52RC单片机设计一个2位LED数码管显示的秒表,显示时间为00—99秒,每秒自动加1,设计开始、停止、复位键。
二、设计思路
为了功能拓展,本设计硬件部分采用了四位一体共阳数码管作为显示单元,采用三极管进行阳极位选驱动,阴极直接接限流电阻接单片机P0口;采用“4+1”按键,分别为“系统复位”、“计数停止”、“复位秒表”、“翻页”、“预留”功能,“系统复位”为系统总复位按键;“计数停止”和“复位秒表”按键接到单片机中断口(即INT0引脚与INT1引脚)。单片机的时钟晶振为12M。
软件部分设计采用“动态刷新”和“定时器精确计时”的方式实现秒表功能,时间最小刻度为0.01s,同时采用外部按键中断的方式实现“计数停止”、“复位秒表”功能,采用按键扫描实现“翻页”功能。
本设计秒表可在一次计时钟保存最多十次计时值。
三、硬件设计与分析
1.单片机最小系统
51单片机最小系统由复位电路和时钟电路组成。
51单片机的Reset引脚为单片机的复位引脚,在该引脚上保持两个机器周期的高电平,单片机复位,PC值复位至0000H,并在Reset引脚恢复至低电平时重新开始执行ROM中的程序,由此可设计典型单片机上电复位与手动复位一体的复位电路,该自动复位电路能在上电后在单片机Reset引脚上保持ms级的高电平时间,满足设计要求,电路如图3.1所示。
51单片机的时钟系统可选择使用外部时钟或内部RC时钟(不准确),xtal1与xtal2引脚为单片机外部时钟引脚,51单片机的机器周期为12个时钟周期,采用12M晶体振荡器时,机器周期为1us,外部晶振电路如图3.2所示。
图3.1图3.22.数码管显示电路设计
本设计中采用4位一体共阳数码管,4个共阳极使用三极管s9012进行控电平的电流放大,8个共阴极接限流电阻接到单片机P0口;51单片机P0属于漏极开路结构,在老式51单片机中作为外部数据总线使用,可在较高输入输出频率下使用,在本设计中,使用了P0的该特点,作为数码管的段码数据控制。
3.中断按键与按键扫描
51单片机支持两路外部中断,分别为INT0引脚和INT1引脚,恰当使用外部中断功能可极大地提高外部触发信号的响应速度。本设计中,共使用了4个按键,其中两个接在两个外部中断引脚上以提高其响应速度实现高级功能,另外两个按键接普通IO实现一般功能。
4.电路图
图3.3四、软件设计与分析
1.刷新显示程序
数码管显示部分由于其公共端共接结构,需采用刷新显示的方式驱动,驱动部分C语言程序如下:
P1=0xFE;//四位数码管扫描
P0=codetab[one];
delay(3);
P1=0xFD;
P0=codetab[two];
delay(3);
P1=0xFB;
P0=0X7F;//显示小数点
delay(3);
P0=codetab[three];
delay(3);
P1=0xF7;
P0=codetab[four];
delay(3);
2.定时器的应用
51单片机中含有两个定时器,分别为T0和T1,共有13位计数定时、16位计数定时、8位自动重装计数定时三种工作模式,每个定时器可产生独立的中断信号。51单片机定时器采用“向上计数”的方式,即加满溢出后产生中断,定时时钟源为系统时钟,每1个机器周期加1,本设计中采用12M外部时钟,对应定时器时钟为1us,要实现0.01s精度显示,即定时最大为10ms,这里采用定时20us,C语言程序设计如下:
void time0()
{//定时器初始化,定时20us
TMOD=0X01;
TH0 =0XF8;
TL0 =0X30;
//TR0 =1;
EA=1;
ET0 =1;
}
3.程序流程图
图4.1五、数据测试
1.秒表计时误差:小于0.1% 2.各按键触发功能是否正常:正常 3.最大单次计时记录次数:10次
六、参考文献
篇3:秒表单片机课程设计
关键词:单片机,数字秒表,汇编语言,仿真
1 概述
单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器或计时器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统。单片机与编程语言的结合可以快速高效的实现各种功能,该文结合单片机设计实现了一种基于AT89C51单片机的数字秒表。
2 系统概述
2.1 设计任务
数字秒表设计由单片机AT89C51、数码管、开关、电阻、电容等部分组成。其功能要求是用AT89C51设计一个2位LED数码显示的“秒表”,显示时间为00-99秒,每秒自动加一。另外还设计了一个“开始”按键、一个“复位”按键和一个“暂停”按键。按“开始”按键,开始计数,数码管显示从00开始每秒自动加一;按“复位”按键,系统清零,数码管显示00;按“暂停”按键,系统暂停计数,数码管显示当时的计数。
2.2 总体方案
系统主要有三部分构成:按键控制信号,单片机软件处理,数码管显示。电路运行时,由开关按键决定其运行方式,经过单片机内部的程序进行相应的处理,在数码管上显示出来。利用12M晶振的一个机器周期为1微秒,通过循环产生1秒时间延迟,扫描单片机中所存放的时间值(可正记时,也可倒计时),并通过输出显示在数码管上。此外,数码管各段连接了上拉电阻,是为了保证引脚外接的按键在未按下时,作为电流负载一直保持引脚为低电平。系统整体设计如图1所示。
3 数字秒表的proteus软件仿真电路设计
3.1 整体仿真电路
Proteus软件仿真设计如图2所示。
3.2 AT89C5l单片机和数码管显示电路的接口设计
使用动态显示电路接法,LED灯采用共阳极数码管,电路中采用P0口输出,并联控制两个数码管的8个段选控制端,P2.6、P2.7作为分别采用两个控制LED数码管的位选控制端,其中P2.6接显示个位数,P2.7接十位数,P0.0—P0.7对应了两位数码管的a,b,c,d,e f,g。
3.3 按键控制信号
三个按键采用独立式键盘接法,开始按键接P3.5,暂停按键接P3.6,清零按键接P3.7,低电平有效,三个按键功能均在子程序中显示。定时器0中断程序主要是延时程序。
3.4 其他管脚的设计
单片机中的Vss端接地,Vcc端接+5V电源,另外,三极管发射极端也接+5V电源,保证数码管有足够的电源供应。
4 计时器的软件程序设计
软件设计的思路为:在这个复杂的程序中,先根据设计的总体要求划分出各功能程序模块,分别确定主程序、子程序以及中断服务程序结构,并对各程序模块占用的资源进行统一的调配,最后根据流程图绘制具体的程序。因此在这个秒表程序中可划分为主程序、键盘控制、秒表计时程序三大模块。其中主程序完成初始化作用,动态显示程序,键盘控制程序,秒表计时程序等,延时程序由定时器中断服务子程序构成。
主程序:即初始化程序,用EQU命令首先对三个按键进行了定义,规定了堆栈指针和数据指针的首地址,对定时器进行设定,选用定时器0为工作方式1,50ms为定时时间,则要定时1s可以循环20次,设置中断程序的入口,并开中断EA,ET0等。
子程序:包括按键功能子程序和显示子程序。按键子程序对三个按键功能进行设定,其中P3.5口起到开始的功能,P3.6口连接的按键可以控制数码管的进度,P3.7对数码管数字进行复位,使数码管清零。三个按键均为低电平有效,JB命令先判断按键是否按下,若按下则跳转到显示子程序,JNB命令判断按键按下后是否弹起,若弹起来就执行开始、暂停、清零等功能。显示子程序:定义了P2.6、P2.7两个位选口,在单片机输出时,先选择字位选口,然后在所在的位口上进行字形选择,选择要点亮的字形。
中断程序:中断程序即定时器延时程序,当中断来临时,定时器重新装入初值,判断是否循环了20次,若循环20次说明定时器延时到达1s,就进行加一运算。程序设计流程图如图3所示。
重要程序段说明:
将0到99的数据通过对10整除和对10求余,将数据的个位和十位分开。
这段程序是将要显示的数字分别放到两个数码管上,使两个数码管分别显示十位和个位数字。
5 结论
该文使用AT89C51单片机设计了一款具有计时开始、暂停、复位功能的数字秒表,利用Proteus和Keil软件进行了仿真及调试,达到了期望的效果。系统结构简单,抗干扰能力强,具有较好的应用前景。
参考文献
[1]李朝青.单片机原理及接口技术[M].北京:北京航天航空大学出版社,2005.
[2]王爽.汇编语言[M].北京:清华大学出版社,2008.
[3]蒋辉平,周国雄.基于Proteus的单片机系统设计与仿真实例[M].北京:机械工业出版社,2009.
篇4:计时秒表的单片机设计
[关键词] AT89S51芯片 74LS47译码/驱动器 共阳级LED数码管
0.前 言
单片机系统的开发应用给现代工业带来了一次新的技术革命,自动化,智能化均离不开单片机的应用。各种计时和定时装置也层出不穷,本设计就是一例。
1.设计要求和思路
第一次按下T1后,由单片机的处理芯片发出二进制编码。由于驱动显示的是十进制数,所以需要加一个译码器。开始计时后,当个位数显示到“9”后,便会向十位数进位。同时个位数也将返回初值,重新进行计时。当十位数与个位数都显示“99”时,说明显示以达到了所设定的最大值。同时,数码管显示也将归零,显示“00”,重新开始;则说明译码器还应该具有自动前、后沿灭零控制。第二次按下T1后,计时停止;第三次按下T1后,计时归零。则说明译码器还应该具有一个灭灯输入,它用来控制灯的输出或禁止输出。
2.硬件结构框图(如图1)
根据设计思路要求,可以知道本系统由以下几个部分组成:电源、输入按键开关、单片机处理芯片、译码器、数码管显示器等五部分组成。
3.硬件组成图
本电路硬件部分主要由按键控制部分和译码驱动与显示两部分组成。其中按键控制部分采用独立式按键,独立式按键是各按键相互独立,每个按键占用一根I/O口线,每根I/O口线上的按键工作状态不会影响其他I/O口线上按键的工作状态。译码驱动与显示部分由显示器接口芯片与显示器构成。硬件电路如图2所示。
图2 硬件电路图
4.程序及其说明
根据电路的设计要求,其控制程序流程如图3所示。在编写程序的过程中,先进行各种初始化,其次编写出主程序,再将模块程序分成3次按键按下的独立的按键程序模块,分别进行独立设计、调试和查错,然后再将调试正确的子程序连接成一个完整的子程序。最后将主程序和子程序连成了一个完整的程序。
图3 程序流程图
程序清单
ORG 00H
START: ANL P2,#00H ;显示00
JB P3.5,$ ;T1=0?有键按下?
CALL DELAY1 ;消除抖动
JNB P3.5,$ ;T1=1?放开?
MOV R0,#00 ;计时指针初值
L1: MOV A,R0 ;计时指针载入ACC
MOV P2,A ;输出至P2
MOV R5,#10 ;延时1秒
A1: MOV R6,#200
CALL DELAY
DJNZ R5,A1
MOV A,R0 ;计时指针加1
ADD A,#01H
DA A ;做十进位调整
MOV R0,A ;存回计时指针寄存器
JMP L1 ;重复计时
L2: CALL DELAY1 ;第2次按消除抖动
JB P3.5,L3 ;放开了?是则跳至L3停止计时
JMP L2
L3: JB P3.5,$ ;第3次按T1?
CALL DELAY1 ;消除抖动
L4: JB P3.5,START ;放开了?是则跳至START归零
JMP L4
DELAY:
D1: MOV R7,#248 ;0.5毫秒
JNB P3.5,L2 ;第2次按T1?
DJNZ R7,$
DJNZ R6,D1
RET
DELAY1: MOV R6,#60 ;30毫秒
D2: MOV R7,#248
DJNZ R7,$
DJNZ R6,D2
RET
END
5.系统调试
程序的调试应一个模块一个模块地进行,首先单独调试各功能子程序,检验程序是否能够实现预期的功能,接口电路的控制是否正常等;最后逐步将各子程序连接起来总调。联调需要注意的是:各程序模块间能否正确传递参数,根据要求判断是否要对各子程序进行现场保护与恢复。
1、调试前检查各元器件是否完好。
2、接上电源,发现电路不工作,可能出现的问题是在焊锡时,可能出现虚焊、漏焊等;立即寻找虚焊或漏焊的地方,将其焊好。
3、接上电源,发现电路短路,可能出现的问题是在焊锡时,将AT89S51、74LS47的电压和接地接反,应迅速查找上述三元件的连接图,并用万能表测量。
篇5:实习报告-单片机秒表设计
第1章 单片机系统硬件电路.................................................................................1
1.1 实习目的..............................................................................................1 1.2 单片机型号及特性..............................................................................1 1.3 单片机开发板......................................................................................2
第2章 单片机应用系统软件.................................................................................5
2.1 STC下载软件......................................................................................5 2.2 Keil软件...............................................................................................5 2.3 外部电路驱动......................................................................................6
第3章 00-59秒计时器设计..................................................................................7
3.1 电路原理图..........................................................................................7 3.2 设计原理..............................................................................................7 3.3 实现方法..............................................................................................8
第4章 实习总结.....................................................................................................9
4.1 实习体会..............................................................................................9 4.2 设计硬件体会......................................................................................9
参考文献.................................................................................................................10 附录1 实物图........................................................................................................11 附录2 系统主要程序............................................................................................12
I
东北石油大学生产实习总结报告
第1章 单片机系统硬件电路
1.1 实习目的
了解单片机最小系统;
了解keilc软件操作,程序下载及调试方法; 掌握单片机外部电路使用; 掌握键盘和数码管显示编程方法; 应用单片机开发板进行实验开发;
1.2 单片机型号及特性
1、AT89S51单片机功能及特点
5l系列单片机中典型芯片(AT89S51)采用40引脚双列直插封装(DIP)形式,内部由CPU,4kB的ROM,256 B的RAM,2个16b的定时/计数器TO和T1,4个8 b的I/O端I:IP0,P1,P2,P3,一个全双功串行通信口等组成。特别是该系列单片机片内的Flash可编程、可擦除只读存储器(E~PROM),使其在实际中有着十分广泛的用途,在便携式、省电及特殊信息保存的仪器和系统中更为有用。5l系列单片机提供以下功能:4 kB存储器;256 BRAM;32条I/O线;2个16b定时/计数器;5个2级中断源;1个全双向的串行口以及时钟电路。空闲方式:CPU停止工作,而让RAM、定时/计数器、串行口和中断系统继续工作。掉电方式:保存RAM的内容,振荡器停振,禁止芯片所有的其他功能直到下一次硬件复位。5l系列单片机为许多控制提供了高度灵活和低成本的解决办法。充分利用他的片内资源,即可在较少外围电路的情况下构成功能完善的超声波测距系统。ATMEL的AT89S51是一种高效微控制器,AT89S2051是它的一种精简版本。AT89S单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
2、STC89C52单片机功能及特点
STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-Flash Programable and Erasable Read Only Memory)的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业
东北石油大学生产实习总结报告
标准的MCS-51指令集和输出管脚相兼容。
STC89C52完全兼容AT89C51 AT89C52 AT89S51 AT89S52 而且加入了更多新功能, 它内部有1280字节的SRAM、8-64K字节的内部程序存储器、2-8K字节的ISP引导码、除P0-P3口外还多P4口(PLCC封装)、片内自带8路8位AD(AD系列),片内自带EEPROM、片机自带看门狗、双数据指针等。
1.3 单片机开发板
1、复位电路
图1-1复位电路图
复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。
RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。若使用频率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。
东北石油大学生产实习总结报告
2、晶振电路
图1-2晶振电路图
简单地说,没有晶振,就没有时钟周期,没有时钟周期,就无法执行程序代码,单片机就无法工作。
对于一个高可靠性的系统设计,晶体的选择非常重要,尤其设计带有睡眠唤醒,往往用低电压以求低功耗的系统,这是因为低供电电压使提供给晶体的激励功率减少,造成晶体起振很慢或根本就不能起振,这一现象在上电复位时并不特别明显,原因是上电时电路有足够的扰动,很容易建立振荡,在睡眠唤醒时,电路的扰动要比上电时小得多,起振变得很不容易,在振荡回路中,晶体既不能过激励,容易振到高次谐波上,也不能欠激励不容易起振,晶体的选择至少必须考虑、谐振频点、负载电容、激励功率、温度特性长期稳定性。
8051的时钟周期即CPU的晶振的振荡频率的振荡周期(频率的倒数)当振荡频率为10MHZ时,振荡周期=1/10MHZ=0.1us机器周期是完成一个基本操作的时间单元,一个机器周期=12个时钟周期,当振荡频率为10MHZ时,机器周期=12x0.1=1.2us 8051的指令周期,指取出并执行一条指令的时间。一般为1-4个机器周期
3、键盘和中断
矩阵式键盘中,行、列线分别连接到按键开关的两端,行线通过上拉电阻接到+5V上。当无键按下时,行线处于高电平状态;当有键按下时,行、列线将导通,此时,行线电平将由与此行线相连的列线电平决定。这一点是识别矩阵按键是否被按下的关键。然而,矩阵键盘中的行线、列线和多个键相连,各按键按下与否均影响该键所在行线和列线的电平,各按键间将相互影响,因此,必须将行线、列线信号配合起来作适当处理,才能确定闭合键的位置。
按键按下时,与此键相连的行线与列线导通,行线在无键按下时处在高电平,显然,如果让所有的列线也处在高电平,那么,按键按下与否不会引起行线电平的变化,因此,必须使所有列线处在低电平,只有这样,当有键按下时,该键所在的东北石油大学生产实习总结报告
行电平才会由高电平变为低电平。CPU根据行平电的变化,便能判定相应的行有键按下。8号键按下时,第2行一定为低电平,然而,第2行为低电平时,能否肯定是8号键按下呢?回答是否定的,因为9、10、11号键按下同样使第2行为低电平。为进一步确定具体键,不能使所有列线在同一时刻都处在低电平,可在某一时刻只让一条列线处于低电平,其余列线均处于高电平,另一时刻,让下一列处在低电平,依次循环,这种依次轮流每次选通一列的工作方式称为键盘扫描。
外部中断请求源:即外中断0和1,经由外部管脚引入的,在单片机上有两个管脚,名称为INT0、INT1,也就是P3.2、P3.3这两个管脚。在内部的TCON中有四位是与外中断有关的。IT0:INT0触发方式控制位,可由软件进行置位和复位,IT0=0,INT0为低电平触发方式,IT0=1,INT0为负跳变触发方式。IE0:INT0中断请求标志位。当有外部的中断请求时,这位就会置1(这由硬件来完成),在CPU响应中断后,由硬件将IE0清0。IT1、IE1的用途和IT0、IE0相同。内部中断请求源TF0:定时器T0的溢出中断标记,当T0计数产生溢出时,由硬件置位TF0。当CPU响应中断后,再由硬件将TF0清0。TF1:与TF0类似。TI、RI:串行口发送、接收中断,中断允许寄存器IE在MCS-51中断系统中,中断的允许或禁止是由片内可进行位寻址的8位中断允许寄存器IE来控制的。
图1-3矩阵式键盘的结构
东北石油大学生产实习总结报告
第2章 单片机应用系统软件
2.1 STC下载软件
图2-1 总体方案原理框图
2.2 Keil软件
目前流行的51系列单片机开发软件是德国Keil公司推出的Keil C51软件,它是一个基于32位Windows环境的应用程序,支持C语言和汇编语言编程,其6.0以上的版本将编译和仿真软件统一为μVision(通常称为μV2)。Keil提供包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,由以下几部分组成:μVision IDE集成开发环境(包括工程管理器①、源程序编辑器②、程序调试器③,C51编译器、A51汇编器、LIB51库管理器、BL51连接/定位器、OH51目标文件生成器以及 Monitor-
51、RTX51实时操作系统。
东北石油大学生产实习总结报告
应用Keil进行软件仿真开发的主要步骤为:编写源程序并保存—建立工程并添加源文件—设置工程—编译/汇编、连接,产生目标文件—程序调试。Keil使用“工程”(Project)的概念,对工程(而不能对单一的源程序)进行编译/汇编、连接等操作。工程的建立、设置、编译/汇编及连接产生目标文件的方法非常易于掌握。首先选择菜单File-New…,在源程序编辑器中输入汇编语言或C语言源程序(或选择File-Open…,直接打开已用其它编辑器编辑好的源程序文档)并保存,注意保存时必须在文件名后加上扩展名.asm(.a51)或.c;然后选择菜Project-New Project…,建立新工程并保存(保存时无需加扩展名,也可加上扩展名.uv2);工程保存后会立即弹出一个设备选择对话框,选择CPU后点确定返回主界面。这时工程管理窗口的文件页(Files)会出现“Target1”,将其前面+号展开,接着选择Source Group1,右击鼠标弹出快捷菜单,选择“Add File to Group „Source Group1‟”,出现一个对话框,要求寻找并加入源文件(在加入一个源文件后,该对话框不会消失,而是等待继续加入其它文件)。加入文件后点close返回主界面,展开“Source Group1”前面+号,就会看到所加入的文件,双击文件名,即可打开该源程序文件。紧接着对工程进行设置,选择工程管理窗口的Target1,再选择Project-Option forTarget „Target1‟(或点右键弹出快捷菜单再选择该选项),打开工程属性设置对话框,共有8个选项卡,主要设置工作包括在Target选项卡中设置晶振频率、在Debug选项卡中设置实验仿真板等,如要写片,还必须在Output选项卡中选中“Creat Hex Fi”;其它选项卡内容一般可取默认值。工程设置后按F7键(或点击编译工具栏上相应图标)进行编译/汇编、连接以及产生目标文件。
2.3 外部电路驱动
1、串口
2、定时器
3、中断
东北石油大学生产实习总结报告
第3章 00-59秒计时器设计
3.1 电路原理图
图3-1电路原理图
3.2 设计原理
在设计过程中我们用一个存储单元作为秒计数单元,当一秒钟到来时,就让秒计数单元加 1,当秒计数达到 60 时,就自动返回到 0,从新秒计数。
对于秒计数单元中的数据要把它十位数和个数分开,方法仍采用对 10 整除和对 10 求余。
东北石油大学生产实习总结报告
在数码上显示,仍通过查表的方式完成。
一秒时间的产生在这里我们采用软件精确延时的方法来完成,经过精确计算得到 1 秒时间为 1.002 秒。
图3-1 程序流程图
3.3 实现方法
系统的软件设计也是工具系统功能的设计。单片机软件的设计主要包括执行软件(完成各种实质性功能)的设计和监控软件的设计。单片机的软件设计通常要考虑以下几个方面的问题:
(1)根据软件功能要求,将系统软件划分为若干个相对独立的部分,设计出合理的总体结构,使软件开发清晰、简洁和流程合理;
(2)培养良好的编程风格,如考虑结构化程序设计、实行模块化、子程序化。既便于调试、链接,又便于移植和修改;
(3)绘制程序流程图;(4)合理分配系统资源;
(5)为程序加入注释,提高可读性,实施软件工程;
东北石油大学生产实习总结报告
第4章 实习总结
4.1 实习体会
大约20天的的实习已经结束了,通过这次的实习锻炼了我们的实践能力,也是对我们以后的实际工作能力的具体训练和考察过程。现在是一个高科技的时代,单片机已经成为当今计算机应用中空前活跃的领域。因此对于我们这一专业的同学来说,学好单片机,并正确应用单片机是非常重要的。
此次单片机课程设计,从选题到定稿,从理论到实践,学到了很多的东西。同时不仅巩固了以前所学过的知识,而且还学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,要把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。这次的课程设计还让我学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。更重要的是,我在这一设计过程中,学会了坚持不懈,不轻言放弃。
4.2 设计硬件体会
设计过程,常有一些不如意,但毕竟这是第一次做,难免会遇到各种各样的问题。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。在整个设计中也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。
单片机实习虽然结束了,但通过实习所学到的东西将长久存在。相信这次单片机设计带给我们的严谨的学习态度和一丝不苟的科学作风将会给我们未来的工作和学习打下一个更坚实的基础。
东北石油大学生产实习总结报告
参考文献
[1] 张占松,孙时生,伍言真.电路和系统的仿真实践.北京:科学出版社电路.2000年1月
[2] Akagi H.Kanazawa Y ,Nabe A.Instantaneous reactive power compensators comprising switching devices without energy storage components.IEEE Trans.Ind.Applicat.,1984,20(3).625-630 [3] Peng F Z, Akagi H,A H;Nabae A.A novel harmonic power filter.PESC Record,1988,1151-1159 [4] 朱东起,姜新建,马大铭.无源和有源滤波器构成的并联型综合电力滤波系统.北京:清华大学学报(自然科学版),1999,39(3):49-52 [5] 邓肖粤、胡晓云《EDA在电子技术教学中的应用》 《实验与探索》 2000年12月
[6] 张占松,孙时生,伍言真.电路和系统的仿真实践.北京:科学出版社电路.2000年1月
[7] 郑春龙.Pspice在数模混合电路分析中的应用. 电子技术.1999(12)[8] 纪良文,蒋静坪.机器人超声测距数据的采集与处理.电子技术应用.2001(4)
东北石油大学生产实习总结报告
附录1 实物图
东北石油大学生产实习总结报告
附录2 系统主要程序
#include
code unsigned char tab[]={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};// 0-9
unsigned char Shiwei;//定义十位 unsigned char Gewei;//定义个位 void delay(unsigned int cnt){ while(--cnt);} main(){ TMOD |=0x01;//工作在模式1,16位定时 TH0=(65535-45872)/256;TL0=(65535-45872)%256;IE= 0x82;//打开中断 TR0=1;
//打开定时开关
while(1)
{
P0=Shiwei;//显示十位
P1=0xdf;
delay(300);
//短暂延时
P0=Gewei;//显示个位
P1=0xef;
delay(300);
} }
/*
定时器中断函数
*/
东北石油大学生产实习总结报告
void tim(void)interrupt 1 using 1 { static unsigned char second,count;TH0=(65535-45872)/256;TL0=(65535-45872)%256;
count++;
if(count==20)
{
count=0;
second++;
//秒加1
if(second==60)
second=0;Shiwei=tab[second/10];//十位显示值处理
Gewei=tab[second%10];//个位显示处理
}
}
篇6:电子秒表设计文献综述
前言:古代人为了测定昼夜之别,发明了日晷、水钟及其他早起计时工具,到了13世纪,由于需要更可靠的计时工具,中世纪的工匠发明了机械钟,虽然已可满足都市生活的需求,但对于科学应用来说,还是不够精确。随着数字电路的发展,计时工具的精度越来越高,对日常生活及科学都产生较大影响,研究电子秒表不仅是了解电子秒表的工作原理,关键是对各种门电路功能的理解,对研究和设计大型数字电路有着深远的意义。
主题:运用TTL 系列逻辑门及时序逻辑芯片实现最小单位0.1秒的计时秒表。通过555定时器及电阻、电容组成秒信号发生器为由74LS192、74LS08、74LS02集成组成计时控制电路提供时钟信号。然后用74LS47作为译码驱动加到数码管显示。具体要求如下: 电子秒表电路可现实6位数,计时范围为0—9小时,精度为0.1秒 电子秒表能实现三种功能:计数、保持、清零
独立组装、调试电路,分析计数器的逻辑功能和特点
数字逻辑电路主要研究电路输出量与输入量间的逻辑关系, 按逻辑功能可分为组合逻辑电路和时序逻辑电路。数字逻辑电路研究分为两方面:逻辑分析和逻辑设计。前者所要完成的工作是, 通过分析找出电路的逻辑功能并用逻辑函数加以描述和评定。后者是根据给定的逻辑间题设计出最简的逻辑电路, 从研究的顺序看, 两者互为逆过程。555 定时器的功能主要由两个比较器决定。两个比较器的输出电压控制 RS 触发器和放电管的状态。在电源与地之间加上电压,当 5 脚悬空时,则电压比较器 C1 的同相输入端的电压为 2VCC /3,C2 的反相输入端的电压为VCC /3。若触发输入端 TR 的电压小于VCC /3,则比较器 C2 的输出为 0,可使 RS 触发器置 1,使输出端 OUT=1。如果阈值输入端 TH 的电压大于 2VCC/3,同时 TR 端的电压大于VCC /3,则 C1 的输出为 0,C2 的输出为 1,可将 RS 触发器置 0,使输出为 0 电平。
逻辑函数是数字电路(一种开关电路)的特点及描述工具,输入、输出量是高、低电平,可以用二元常量(0,1)来表示,输入量和输出量之间的关系是一种逻辑上的因果关系。仿效普通函数的概念,数字电路可以用逻辑函数的的数学工具来描述。
真值表是列出命题公式真假值的表。通常以1表示真,0 表示假。命题公式的取值由组成命题公式的命题变元的取值和命题联结词决定,命题联结词的真值表给出了真假值的算法。真值表是在逻辑中使用的一类数学表,用来确定一个表达式是否为真或有效。卡诺图是逻辑函数的一种图形表示。一个逻辑函数的卡诺图就是将此函数的最小项表达式中的各最小项相应地填入一个方格图内,此方格图称为卡诺图。卡诺图的构造特点使卡诺图具有一个重要性质:可以从图形上直观地找出相邻最小项。两个相邻最小项可以合并为一个与项并消去一个变量。卡诺图用相邻项“循环邻接”的方法描述输出函数与输入变量取值组合间关系的方格图。主要用于逻辑函数的化简。
逻辑图用符号图表示输出与输入间的逻辑关系。它是数字逻辑电路通用的电路表达形式, 既是逻辑分析对象, 也是逻辑设计结果。
在组合电路逻辑设计中, 问题往往是以文字表达的方式提出, 而将这一问题归结为一个逻辑问题则要利用真值表,再由真值表得到问题的逻辑函数式, 然后通过卡诺图化简, 最后得到设计结果—逻辑图。正是这些逻辑功能的描述方法构成了组合电路逻辑设计的基本方法, 由此可见逻辑功能描述在数字逻辑电路研究讨论中的重要性。熟悉逻辑功能描述是关键, 掌握分析方法是重点。逻辑分析与设计是以逻辑功能描述为基础, 只有掌握了逻辑抽象和逻辑功能描述要领, 才能掌握逻辑分析与设计的方法, 才能抓住关键、重点和本质, 收到事半功倍的学习效果。主要参考资料:
【秒表单片机课程设计】相关文章:
单片机课程设计参考08-06
单片机课程设计格式08-06
优秀单片机课程设计09-05
51单片机课程设计课题04-10
单片机课程设计指导书11-02
单片机课程设计实践教学09-11
抢答器单片机课程设计04-11
单片机课程设计-简易数字钟的设计04-28
单片机课程设计-00-99手动计数器设计04-12
单片机课程设计_简易频率计数器04-23