单片机实训报告

上传人:1666****666 文档编号:38821823 上传时间:2021-11-09 格式:DOC 页数:11 大小:136.52KB
收藏 版权申诉 举报 下载
单片机实训报告_第1页
第1页 / 共11页
单片机实训报告_第2页
第2页 / 共11页
单片机实训报告_第3页
第3页 / 共11页
资源描述:

《单片机实训报告》由会员分享,可在线阅读,更多相关《单片机实训报告(11页珍藏版)》请在装配图网上搜索。

1、 单片机实训报告单片机实训报告 实训题实训题目目一、一、实训实训目的目的二、整体二、整体设计设计三、硬件三、硬件电电路路图图四四、程序、程序流程流程图图五、源五、源程序程序六、六、实训实训体会体会实训报告第 一 页一、一、实训目的实训目的通过数字钟的设计与制作,将前面所学的单片机内部定时器资源、I/O 端口、键盘和现实接口等知识融会贯通,锻炼独立设计、制作和调试应用系统的能力,深入领会单片机应用系统的硬件设计、模块化程序设计及软硬件调试方法等,并掌握单片机应用系统的开发过程。本设计主要实现以下功能: (1)自动计时,由 6 位 LED 显示器显示时、分、秒; (2)具有校准功能,可以设置当前时

2、间; (3)具备定时启闹功能,可以设置启闹,启闹 1 分钟后自动关闭闹钟。二、整体设计二、整体设计1. 设计要求(1)自动计时,由 6 位 LED 显示器显示时、分、秒。(2)具备校准功能,可以设置当前时间。 -按键调整时间(3)具备定时启闹功能,可以设置启闹时间,闹 60 秒后自动关闭闹铃。2. 系统总体设计方案 实训报告第 二 页3.系系统统方案方案选择选择(1)单片机选型及最小系统选用 MCS-51 系列主流芯片 STC89C52RC,内部带有 4KB 的 Flash ROM,无须外扩程序存储器。由于数字钟无需大量运算和暂存数据,片内 128 字节 RAM 可以满足设计要求。(2)计时方

3、案选择(1)实现时钟功能,各大厂家推出了一系列实时时钟电路,如DS1287、DS12887、DS1302、PCF8563、S35190 等。这些芯片具备年、月、日、时、分、秒计时功能和多点定时功能,计时数据每秒自动更新一次,不需程序干预。单片机可通过中断或查询方式读取计时数据。(2)利用单片机内部定时器进行中断定时,配合软件延时实现时、分、秒计时功能。(3)显示及键盘方案利用单片机并行 I/O 口,实现 LED 动态显示该方案直接使用单片机并行口作为显示接口,无需外扩接口芯片,但占用资源较多,且动态扫描显示方式需占用 CPU 时间。在非实时测控或单片机具有足够并行口资源的情况下可以采用。所以选

4、用 LED 数码管。利用液晶 LCD1602 显示,实现液晶显示,该方案显示信息量大,编程麻烦。MCU显示模块键盘模块实时时钟DS1302模块数据存储EEPROM 24LC02串口通信模块实训报告第 三 页设计按键,按键采用 44 键盘,使显示结果更简洁。功能键:时间设定,首先按下是时钟秒的调节;其次为时钟分的调节;再次为时钟时的调节;加 1 键:加 1 键为每次按下功能键时,分别对时、分、秒进行加 1;减 1 键:减 1 键为每次按下功能键时,分别对时、分、秒进行减 1;时钟与闹铃转换键:闹钟设置/启闹/停闹键。三、硬件电路图三、硬件电路图实训报告第 四 页123456ABCD654321D

5、CBATitleNumberRevisionSizeBDate:26-Dec-2011Sheet of File:C:Documents and SettingsAdministrator件件件件件件件BACKUP1.DDBDrawn By:P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST9P3.0RXD10P3.1TXD 11P3.2INT012P3.3INT113P3.4 T014P3.5 T115P3.6 WR16P3.7 RD17XTAL218XTAL119Vss20P2.021P2.122P2.223P2.324P2.425P2.526P2.62

6、7P2.728PSEN29ALE30EA31P0.732P0.633P0.534P0.435P0.336P0.237P0.138P0.039Vcc40STC89C52vcc1f2g3e4d5vcc6dp7c8b9a10GND1k20022uFvccRESETvccP00P01P02P03P04P05P06P07vcc1f2g3e4d5vcc6dp7c8b9a10vcc1f2g3e4d5vcc6dp7c8b9a10vcc1f2g3e4d5vcc6dp7c8b9a10vcc1f2g3e4d5vcc6dp7c8b9a10vcc1f2g3e4d5vcc6dp7c8b9a10Q1PNPQ2PNPQ3PN

7、PQ4PNPQ5PNPQ6PNPA1B2C3E14E25E36Y015Y114Y213Y312Y411Y510Y69Y77U?74LS138R11KR21KR31KR41KR51KR61KvccP00P01P02A7B1C2D6LT3BI/RBO4RBI5a13b12c11d10e9f15g14U?74LS47R9100R10100R11100R12100R13100R14100R15100VCCP04P05P06P07C1+1C1-3C2+4C2-5T1 IN11T2 IN10R1 IN13R2 IN8GND15VCC16VS+2VS-6T1 OUT14T2 OUT7R1 OUT12R2 O

8、UT9MAX232162738495J1DB9+C210u+C310u+C510u+C610u+C7100uVCCRXDTXDS1S2S3S4P14P15P16P17S5S6S7S8S9S10S11S12S13S14S15S16P10P11P12P13LS1SPEAKERQ7PNPR2010KR211KR22200VCCP33四四、程序、程序流程图流程图实训报告第 五 页开始初始化启动定时器显示时钟检测键盘键盘模块显示模块响闹钟停止NY是否有键按下闹钟时间是否到主函数实训报告第 六 页是否有键按下切功能键显示模块分加调试程序分加 1分减时加时减调试程序分减 1调试程序时加 1调试程序时减 1Y

9、YYYYYN键盘模块键盘模块显示模块切换键按下U=1显示时钟显示闹钟YYU=2显示模块显示模块五、源五、源程序程序#include#define uchar unsigned char #define uint unsigned intsbit p10=P10;sbit p14=P14;sbit p15=P15;sbit p16=P16;sbit p17=P17;sbit p3=P33;uchar t0;/定义 hang lie key t0uint n,x,p,w,z,h;int 实训报告第 一 页i,j,m,a,b,c,d,k,e,f,r,y,a1,b1,c1,d1,e1,f1,u,h1,

10、k1,r1,v;uchar code tab=0 x00,0 x10,0 x20,0 x30,0 x40,0 x50,0 x60,0 x70,0 x80,0 x90;void delay(uint q);/延时函数声明void saomiao();/键盘扫描函数声明void xianshi();void naozongxianshi();void dingshi();void saomiao();/*显示*/void xianshi() a=h%10;b=h/10;c=k%10;d=k/10;e=r%10;f=r/10;P0=taba;delay(1);P0=tabb+0 x01;delay(

11、1);P0=tabc+0 x02;delay(1);P0=tabd+0 x03;delay(1);P0=tabe+0 x04;delay(1);P0=tabf+0 x05;delay(1); /*闹钟显示*/ void naozongxianshi() a1=h1%10;b1=h1/10;c1=k1%10;d1=k1/10;e1=r1%10;f1=r1/10;P0=taba1;delay(1);P0=tabb1+0 x01;delay(1);P0=tabc1+0 x02;delay(1);P0=tabd1+0 x03;delay(1);P0=tabe1+0 x04;delay(1);P0=ta

12、bf1+0 x05;delay(1);/*定时器t0*/ void dingshi() EA=1; ET0=1; TMOD=0 x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; TR0=1; void timer() interrupt 1 TH0=(65536-50000)/256;TL0=(65536-50000)%256; m+;if(m=20) m=0;h+; if(h=60) h=0;k+; if(k=60)实训报告第 二 页 k=0;r+; if(r=24) r=0; /*键盘扫描函数*/void saomiao() unsign

13、ed char hang=0,lie=0,key=0; P1=0 x0f; /赋初值if(P1!=0 x0f) /判断是否有键按下 hang=P1; /读行号 P1=0 xf0; /行列反转 lie=P1; /读列号 key=hang|lie; /读键值 switch(key)/根据键值不同 调用不同的处理函数 case 0 xee:n=1;break;case 0 xde:n=2;break;case 0 xbe:n=3;break;case 0 x7e:n=4;break;case 0 xed:n=5;break;case 0 xdd:n=6;break;case 0 xbd:n=7;br

14、eak;case 0 x7d:n=8;break;case 0 xeb:n=9;break;case 0 xdb:n=10;break;case 0 xbb:n=11;break;case 0 x7b:n=12;break;case 0 xe7:n=13;break;case 0 xd7:n=14;break;case 0 xb7:n=15;break;case 0 x77:n=16;break; /*延时函数*/ void delay(uint o ) for(i=0;i0;j-);/*功能选择键*/void gongnengjian() if(n=5) if(n!=5);n=0;u+;if

15、(u=3) u=1; delay(30); /*时间调试+闹钟调试*/void shijiantiaoshi() if(u=1) if(n=1) if(n!=1);n=0; k+;delay(30); if(k=60) r=r+1; k=0;if(r=24)实训报告第 三 页 r=0; if(n=2) if(n!=2);n=0; k-;delay(30); if(k=0) k=59; if(n=3) if(n!=3);n=0;r+;delay(30);if(r=24) r=0; if(n=4) if(n!=4);n=0; r-;delay(30); if(r=-1) r=23; xianshi

16、();/*闹钟*/if(u=2)if(n=1) if(n!=1);n=0; k1+;delay(30); if(k1=60) k1=0;r1=r1+1; if(r1=24) r1=0; if(n=2) if(n!=2);n=0; k1-;delay(30); if(k1=0) k1=59; if(n=3) if(n!=3);n=0; r1+;delay(30); if(r1=24) r1=0; if(n=4) if(n!=4);n=0; r1-;delay(30);实训报告第 四 页 if(r1=-1) r1=23; naozongxianshi(); /*闹钟*/void naozhong(

17、) if(k=k1)&(r=r1) for(v=0;v50;v+) p3=0; p3=1; /*主函数*/void main() dingshi(); while(1) saomiao(); gongnengjian(); shijiantiaoshi(); naozhong(); 六、六、实训实训体会体会十天的单片机实训结束了,这次让我学到了很多东西, 为期 10 天的单片机实训虽然不是很长,但是让我感觉到了原来编程不是很简单,先开始的显示时钟不是很难,下面的闹钟设置及调试部分就花费了相当长的时间,本来还以为编程会很简单的,等到实际操作起来才知道它的复杂性,没有想像中的那么得心应手,理解流程是有思维的前提。我们竭尽全力思考,在老师的精心指导以及同学的互助下,程序基本编写成功,这是我们共同努力的结果,我不得不感慨单片机的重要性与高难度性,所以为期 10 天的单片机实训没有浪费,我从中学到了很多知识,也让我对单片机有了更深一步的了解。这次实训中出现了很多问题,第一、是在学习上,没动脑,这次实训所遇到的多半问题多数都是由于我们不够严谨。第二,实训中,我认识到,无论做什么事情,只要你足够坚强,有足够的毅力与决心,加上足够的挑战困难的勇气,就没有什么办不到的。 “世上无难事,只怕有心人”。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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