实训1:单片机秒表设计(共11页).doc

上传人:飞****2 文档编号:30232964 上传时间:2022-08-05 格式:DOC 页数:11 大小:111KB
返回 下载 相关 举报
实训1:单片机秒表设计(共11页).doc_第1页
第1页 / 共11页
实训1:单片机秒表设计(共11页).doc_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《实训1:单片机秒表设计(共11页).doc》由会员分享,可在线阅读,更多相关《实训1:单片机秒表设计(共11页).doc(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上单片机秒表设 计(论文)题目名称: 单片机秒表设计专业班级: 学 号: 学生姓名: 指导教师: 2011年 6月 15日一、 单片机的功能 单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器 RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。MCS-51系列单片机,其主要功能如下:8位CPU4kbytes 程序存储器(ROM)128bytes的数据存储器(RAM)32条I/O口

2、线111条指令,大部分为单字节指令21个专用寄存器2个可编程定时/计数器5个中断源,2个优先级一个全双工串行通信口外部数据存储器寻址空间为64kB逻辑操作位寻址功能双列直插40PinDIP封装单一+5V电源供电40个引脚按引脚功能大致可分为4个种类:电源、时钟、控制和I/O引脚。 电源: VCC - 芯片电源,接+5V; VSS - 接地端; 注:用万用表测试单片机引脚电压一般为0v或者5v,这是标准的TTL电平。但有时候在单片机程序正在工作时候测试结果并不是这个值而是介于0v-5v之间,其实这是万用表的响应速度没这么快而已,在某一个瞬间单片机引脚电压仍保持在0v或者5v。 时钟:XTAL1、

3、XTAL2 - 晶体振荡电路反相输入端和输出端。 控制线:控制线共有4根, ALE/PROG:地址锁存允许/片内EPROM编程脉冲 ALE功能:用来锁存P0口送出的低8位地址 PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。 PSEN:外ROM读选通信号。 RST/VPD:复位/备用电源。 RST(Reset)功能:复位信号输入端。 VPD功能:在Vcc掉电情况下,接备用电源。 EA/Vpp:内外ROM选择/片内EPROM编程电源。 EA功能:内外ROM选择端。 Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。 I/O线 80C51

4、共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。 P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线) 5. P3口第二功能 P30 RXD 串行输入口 P31 TXD 串行输出口 P32 INT0 外部中断0(低电平有效) P33 INT1 外部中断1(低电平有效) P34 T0 定时计数器0 P35 T1 定时计数器1 P36 WR 外部数据存储器写选通(低电平有效) P37 RD 外部数据存储器读选通(低电平有效)二、 设计思路1、使用单片机,设计秒表,能显示分分秒秒;2、使用三个按键停止,开始,复位,其中“开始”按键当开关由上向下拨时开始计时,此时若再

5、拨“开始”按键则数码管暂停;“清零”按键当开关由上向下拨时数码管清零,此时若再拨“开始”按键则又可重新开始计时;3、使用液晶或数码管显示;4、使用定时器中断;三、功能实现及描述使用定时器中断产生50ms的时间;每次中断,使用全局变量,记录当时的时间;主函数检查按键,显示时间;按键MCS-51液晶显示秒表设计导向图四、 电路图及解释 解释:P34,P35,P36三个引脚分别接清零开关,停止开关和复位开关,P0口和p2口跟七段数码管相连,用来向七段数码管来发送数据。五、 流程图及解释 解释:程序从主函数开始,初始化端口,定时器赋初值TH0=56,TL0=56,设置成允许定时器中断,开始定时,若定时

6、时间到50ms,定时器溢出,执行中断函数;计数值timecount0加1,若timecount0加到100,timecount0就清为0之后,timecount加1,若timecount0等于50,说明1s到了,timecount清空,秒计数器加1;把当前的时间送到P0,P2口在数码管上显示。判断TR0的值是否为0,若为0,这当前按键是开始,暂停或继续,若不为0,都要判断P3_4是否等于0,若等于0,计数值0,不等于0,退出中断,返回主函数,继续计数。六、代码设计#include #include #define uchar unsigned char#define uint unsigned

7、 intuint timecount=0, count=0,timecount0=0;/ timecount 为50ms计数器,count为1s计数器,均为全局变量uchar code table = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x80;/09的段码表,0xff为熄灭符uchar a1,a2,a3,a4;sbit dula=P26;sbit wela=P27;sbit a=P34;sbit b=P35;sbit c=P36;/*延时函数*/void delay

8、(uint xms) /延时程序,xms是形式参数uint i, j;for(i=xms;i0;i-) / i=xms,即延时xms, xms由实际参数传入一个值for(j=10;j0;j-);/此处分号不可少/*显示函数*/display(uchar q_c,uchar b_c,uchar sh_c,uchar g_c) dula=1; /控制显示代码锁存器,禁止输出P0=tableq_c; /09的显示代码dula=0; /控制锁存器,送出显示代码P0=0xff; /4位管,电源全关(余晖)wela=1; /控制锁存器,不允许输出 供电P0=0xfb; /第一位管 供电 一轮wela=0;

9、 /控制锁存器,允许输出,送出4位管 供电delay(1); /保持一定时间,防止闪烁 dula=1;P0=tableb_c|0x80;dula=0;P0=0xff;wela=1;P0=0xf7;wela=0;delay(1);dula=1;P0=tablesh_c;dula=0;P0=0xff;wela=1;P0=0xef;wela=0;delay(1);dula=1;P0=tableg_c;dula=0;P0=0xff;wela=1;P0=0xdf;wela=0;delay(1); void key() if(a=0) /复位 delay(10); if(a=0) count=0; TR0

10、=0; while(a!=0); if(b=0) /停止 delay(10); if(b=0) TR0=0; while(b!=0); if(c=0) /开始 delay(10); if(c=0) TR0=1; while(c!=0); /*主函数*/main() P0=0xff; P2=0xff; TMOD=0x02; /定时器T0方式1 TH0=56; TL0=56; /50ms定时初值 EA=1; ET0=1; /开总中断,开定时器T0中断,启动定时器T0 while(1) key(); a1=(count/60)/10; /取出记数分数的十位 a2=(count/60)%10; /取出

11、记数分数的个位 a3=(count%60)/10; /取出记数秒数的十位 a4=(count%60)%10; /取出计数值的个位 display(a1,a2,a3,a4); /调显示函数 /*定时器T0中断函数*/void timer0() interrupt 1 using 0 timecount0+; /计数值加1 if(timecount0=100)/若timecount0为100,(100*0.2ms=20ms) timecount0=0;/ timecount0清0timecount+; if(timecount=50) /若timecount为50,说明1s到(50*20ms=10

12、00ms) timecount=0; /当timecount=50时,timecount清0 count+; /秒计数器加1 七、实训总结通过这次的课程设计,使我对单片机程序设计的方法、要求有了初步的了解并且积累了一些实践经验,对软件的应用有了更进一步的了解,相信对以后进一步学习单片机知识,这对自己无论是在感性上还是理性上都会有一定的帮助,而且通过这次的设计,激发了我对单片机课程浓厚的兴趣,增强了我对书本理论的运用。虽然现在对所涉及的知识和要求的综合分析能力较为复杂,可这其中体现了创新思想和知识的结合应用,今后我将更广泛地涉及这方面的知识,希望能在这一领域有所成就实验利用单片机的定时器/计数器定时和记数的原理,结合实验箱上的集成电路芯片LED数码管以及实验箱上的按键来设计计时器。将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间。其中本实验设计了三个开关按键:其中一个按键按下一开始计时,即秒表开始键,另一个按键按下去时暂停计时,使秒表停留在原先的计时,第三个按键按下去时清0(复位键),本实验中开始时都要使各按键回到各初始位置,最终结果成功实现。专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁