版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录1 实验设计的目的和任务1.1 单片机秒表实验的概述1.2 系统设计思路及描述1.3 系统设计任务和要求2 软件与硬件设计2.1 系统硬件方案设计2.2 软件方案设计3 程序流程及实验效果3.1 源程序及说明3.2 原理图分析3.3 实验效果1.实验设计的目的和任务1.1单片机秒表实验的概述一、实验题目秒表系统设计用STC89C52RC设计一个3位LED数码显示“秒表,显示时间为00.059.9秒,每毫秒自动加一,每十毫秒自动加一秒.二、增加功能增加一个“复位00.0按键即清零,一个“暂停和“开始按键,一个“复位60.0按键用来60秒倒计时,一个倒计时“逐渐自减按键.三,实验难点单片机电子
2、秒表需要解决三个主要问题,一是有关单片机定时器一个限制顺序计时,一个限制倒计时的使用;二是如何实现LED的动态扫描显示;三是如何对键盘输入进行编程.四、实验内容提要本实验利用单片机的定时器/计数器定时和记数的原理,结合集成电路芯片8051、LED数码管以及实验板上的按键来设计计时器.将软、硬件有机地结合起来,使得系统能够正确地进行计时,数码管能够正确地显示时间.其中本实验设计了四个开关按键:其中key2按键按下去时开始计时,即秒表开始键同时也用作暂停键,key1按键按下去时数码管清零,复位为“00.0,key3按键按下去时数码管复位为“60.0用于倒计时,key4按键按下去那么是数码管开始“逐
3、渐自减倒计时.实验的意义1) 通过本次课程设计加深对单片机课程的全面熟悉复习和掌握,对单片机课程的应用进一步的了解.2) 掌握定时器、外部中断的设置和编程原理.3) 通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验.4) 该实验通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零,并同时可以用数码管显示,在现实生活中应用广泛,具有现实意义实验仪器集成电路芯片8051,七段数码管,51hei单片机开发板,MCS-51系列单片机微机仿真实验系统中的软件Keiluvision21.2 系统设计思路及描述该实验要求进行计时并在数码管上显示时间,那么
4、可利用MCS-51系列单片机的芯片AT89C52的P34P3.5,P3.6,P3.7作为按键的入口;定时器T0作为每0.1秒减一的定时器;定时器T1作为每0.1秒加一的定时器.其中“开始按键当开关由上向下拨时开始计时,此时假设再拨“开始按键那么数码管暂停;“清零按键当开关由上向下拨时数码管清零,此时假设再拨“开始按键那么又可重新开始计时.方框图如下列图:数字秒表设计导向图1.3 系统设计任务和要求1 .设计指标.了解8051芯片的的工作原理和工作方式,使用该芯片对LED数码管进行显示限制,实现用单片机的端口限制数码管,显示分、秒,并能用按钮实现秒表起动、停止、60秒、倒计时清零等功能,精确到0
5、.1秒.要求选用定时器的工作方式,画出使用单片机限制LED数码管显示的电路图,并实现其硬件电路,并编程完成软件局部,最后调试秒表起动、停止、清零等功能.2.设计要求画出电路原理图或仿真电路图;电路仿真与调试;2.软件与硬件设计2.1 系统硬件方案设计单片机应用系统由硬件系统和软件系统两局部组成.硬件系统是指单片机以及扩展的存储器、io接口、外围扩展的功能芯片以及接口电路.软件系统包括监控程序和各种应用程序.在单片机应用系统中,单片机是整个系统的核心,对整个系统的信息输入、处理、信息输出进行限制.与单片机配套的有相应的复位电路、时钟电路以及扩展的存储器和IO接口,使单片机应用系统能够运行.在一个
6、单片机应用系统中,往往都会输入信息和显示信息,这就涉及键盘和显示器.在单片机应用系统中,一般都根据系统的要求配置相应的键盘和显示器.配置键盘和显示器一般都没有统一的规定,有的系统功能复杂,需输入的信息和显示的信息量大,配置的键盘和显示器功能相对强大,而有些系统输入/输出的信息少,这时可能用几个按键和几个LED旨示灯就可以进行处理了.在单片机应用系统在中配置的键盘可以是独立键盘,也可能是矩阵键盘.3个数码管显示2.2 软件方案设计此次选用C51来编程,首先要有初始化程序,通过初始化程序,将对主程序所用到的变量、常量以及各个参数和所调用的子函数定义.其次还有显示程序、按键扫描及处理程序、时钟程序和
7、倒计时程序,系统软件流程图图如图2.2所示:图2.23程序流程及实验效果3.1源程序及说明#include<reg52.h>52#defineucharunsignedchar/#defineuintunsignedintsbitdula=P2A6;/sbitwela=P2A7;/sbitkey1=P3A2;/sbitkey2=P3A4;sbitkey3=P3A6;sbitkey4=P3A7;ucharcodetable=/0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;voiddelayms(uint);/voiddisplay
8、(uchar,uchar,uchar);/voidkeyscan();/ucharnum1,num2,bai,shi,ge;/uintnum;voidmain()/TMOD=0x11;/TH0=(65536-45872)/256;/装未TL0=(65536-45872)%256;系列单片机头文件宏定义中明U1锁存器的锁存端中明U2锁存器的锁存端中明四个按键的锁存端含有09的数字数组声明延时函数声明显示函数声明按键函数变量声明主函数入口设置TO,T1定时器11.05992M晶振定时50ms数为45872TH1=(65536-45872)/256;TL1=(65536-45872)%256;EA=
9、1;ET0=1;ET1=1;/开总中断/开启定时器T0中断/开启定时器T1中断while(1)/程序停在这里等待中断的发生,这个大循环也是实现数据显示的主体keyscan();/三个数码管要选送的数据bai=num/100;/百位shi=(num-100*bai)/10;/十位ge=num-100*bai-shi*10;/个位/直接把第二只数码管的小数点烧出来dula=1;/翻开段选P0=0x80;/送段选数据dula=0;/关闭断选P0=0xff;/送位选数据前关闭所有显示,预防翻开位选锁存时原来段选数据通过位锁存端造成混乱wela=1;/翻开位选P0=0xfd;/送位选数据wela=0;/
10、关闭位选delayms(5);/延时display(bai,shi,ge);voiddisplay(ucharbai,ucharshi,ucharge)dula=1;/翻开段选P0=tablebai;/送段选数据dula=0;/关闭断选P0=0xff;/送位选数据前关闭所有显示,预防翻开位选锁存时原来段选数据通过位锁存端造成混乱wela=1;/翻开位选P0=0xfe;/送位选数据wela=0;/关闭位选delayms(5);/延时dula=1;/翻开段选P0=tableshi;/送段选数据dula=0;/关闭断选P0=0xff;/送位选数据前关闭所有显示,预防翻开位选锁存时原来段选数据通过位锁
11、存端造成混乱wela=1;/翻开位选P0=0xfd;/送位选数据wela=0;/关闭位选delayms(5);/延时dula=1;/翻开段选P0=tablege;/送段选数据dula=0;/关闭断选P0=0xff;/送位选数据前关闭所有显示,预防翻开位选锁存时原来段选数据通过位锁存端造成混乱wela=1;/翻开位选P0=0xfb;/送位选数据wela=0;/关闭位选delayms(5);/延时voiddelayms(uintxms)/延时子函数uinti,j;for(i=xms;i>0;i-)for(j=110;j>0;j-);/i=xmsvoidkeyscan()if(key1=
12、0)delayms(10);if(key1=0)/while(!key1)/TR0=0TR1=1num=0TR1=0/if(key2=0)delayms(10);if(key2=0)/即延时约xms毫秒清零延时去抖等待按下定时器TR0关闭定时器TR1翻开送数据num=0定时器TR1关闭暂停和开始while(!key2);TR0=0;TR1=TR1;/每次按下,TR1的状态时相反的if(key3=0)/使计数器显示为60.0delayms(10);if(key3=0)while(!key3);TR0=0;TR1=1;num=600;TR1=0;实现计数器的倒数功能if(key4=0)/delay
13、ms(10);if(key4=0)while(!key4);TR1=0;TR0=1;voidT0_time()interrupt1TH0=(65536-45872)/256;/TL0=(65536-45872)%256;num2+;if(num2=2)/num2=0;/num1+;if(num1=10)num1=0;if(num=0)/num=600;num-;/num重装初值如果到了2次,说明0.1秒的时间到然后把num2清零重新再计2次当num自减为0时,重新为60.0,再开始倒计时逐渐自减voidT1_time()interrupt3TH1=(65536-45872)/256;/重装初值
14、TL1=(65536-45872)%256;num2+;if(num2=2)num2=0;num1+;if(num1=10)num1=0;num+;/if(num=600)num=0;/num/如果到了2次,说明0.1秒的时间到然后把num2清零重新再计2次逐渐自加这个数十用来送给数码管显示的,到了60.0后归零3.2原理图分析开类I按键原理图见开发板的电路图电源电路原理图.hex下载到TX-1C开3.3实验效果通过最后软件对程序的编译,组建,执行,还有最终生成.hex文件,把发板的STC89C52RC片机上的最终效果图如下:图1.复位“00.0BQBB图2.复位“60.0图3.“开始自加运行图4.“开始自减运行通过对本次实验的课程设计,使自己深刻的熟悉到自己的很多缺乏之处,在实际动手操作水平的缺乏,在进行程序编程时,自己需要,认真审题,看懂题目的要求!对于软件编程不益太简单或者太难.做到既能把课题完成又能锻炼自己的水平!根据课题要求,复习相关的知识,查询相关的资料.根据实验条件,找到适合的方案,找到需要的元器件及工具,准备实验.心得体会根据课程设计的要求和自己所要增加的功能写好程序流程图,在程序流程图的根底上,根据芯片的功能写出相应的程序和增加额外的功能程序.然后再进行程序调试和相应的修改,以到达能够实现所要求的功能的目的.还要根据实验的实际情况,添加些额外程序来使系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生子协议书虐生
- 2025年RCEP项下纸制品原产地规则应用考核试卷
- java邮箱发送协议书
- 平台保证金协议书
- 婆媳与儿子建房协议书
- 苹果xp安装协议书
- 2025年装配式建筑施工幕墙工程施工考核试卷
- 非法出售“企业对公账户”用于诈骗洗钱的刑事责任考核试卷
- 2025年互联网与信息技术行业准入考试人工智能算法伦理评估-AI劳动力替代对残障人士就业的伦理影响考核试卷
- 2025年互联网金融行业风险管理策略探讨研究报告及未来发展趋势预测
- 小学二年级家长课堂课件
- 2025年上海房屋租赁合同的范本
- 绿化工程安全专项方案
- 行政后勤管理员专业实操复习题
- 讲解员培训方案
- GB/T 10485-2025道路车辆外部照明和光信号装置环境耐久性
- 《房屋市政工程类有限空间作业安全》专项培训
- 工艺排气风管制作及安装技术方案
- 智慧水利职业规划
- 2024年储能电站epc合同范本
- 人教版劳动教育一年级上册全册课件
评论
0/150
提交评论