单片机课程设计报告书_第1页
单片机课程设计报告书_第2页
单片机课程设计报告书_第3页
单片机课程设计报告书_第4页
单片机课程设计报告书_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于基于 MCS51 的简易数字频率计的简易数字频率计 学院:学院: 年级:年级: 专业:专业: 学号:学号: 姓名:姓名: 指导老师:指导老师: 1 一课程设计的目的及意义一课程设计的目的及意义 (1)目的:通过本次课程设计,巩固和加深“单片机原理 与应用”中的理论知识,了解和应用 dvcc 仿真系统,结合软硬件, 基本掌握单片机的应用的一般设计方法,提高电子电路的设计和实 验能力,并且提高自身查找和运用资料能力 (2)意义:通过本次课程设计,使得理论知识系统化,从 中或得一些实战工作经验,提高个人与团体指挥的作用。 二课程设计课题:二课程设计课题: 频率计系统设计:用 AT89C51 单片机设计一个六位 LED 显示 的频率计。 三频率计原理:三频率计原理: 本系统采用测量频率法,可将频率脉冲直接连接到 AT89C51 的 T0 端,将 T/C1 用做定时器。T/C0 用做计数器。在 T/C1 定时的 时间里,对频率脉冲进行计数。在 1S 定时内所计脉冲数即是该脉 冲的频率。 图图 1:测量时序图:测量时序图 由于 T0 并不与 T1 同步,并且有可能造成脉冲丢失,所以 2 对计数器 T0 做一定的延时,以矫正误差。具体延时时间根据 具体实验确定。 四功能及按键说明四功能及按键说明 P0.0P0.5 为 LED 位选择,其中 P0.5 指向十万位 P0.0 指向 个位,RP1 为 P0 口的上拉电阻。P2.0P2.7 为 LED 的段位选择,对 应 LED 的 A,B,C,D,E,F,G,DP。P3.4 为待测频率入口。 五程序流程图五程序流程图 1.主程序 main 流程图 3 2定时 50ms 中断子程序 xtimer1()流程图 3显示子程序 display 流程图 4 六六 原理图原理图 图 2:频率计原理图 七七 源程序代码源程序代码 /*简易数字频率计:T1 定时计器,T0 计数器,由 P34(/T0)口输入待测频率*/ /*T1 定时 1S,在这 1S 内 T1 的计数值就是待测的频率值。*/ #include/头文件 #include/头文件 #define uchar unsigned char/宏定义 #define uint unsigned int/宏定义 sfr16 DPTR=0 x82;/定义 DPTR bit status_F=1;/状态标志位 uint aa, qian, bai,shi,ge,bb,wan,shiwan; /定义变量 uchar cout; unsigned long temp;/定义长整型变量 /*数码管显示 0-9*/ uchar code table=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e, 0 x79,0 x71; /*子函数声明*/ void delay(uint z); void init(); void display(uint shiwan,uint wan,uint qian,uint bai,uint shi,uint ge); void xtimer0(); void xtimer1(); 5 /*主函数*/ void main() P0=0XFF; /初始化 P0 口 init();/调用定时器,计数器初始化 while(1) if(aa=19)/定时 20*50MS=1S aa=0;/定时完成一次后清 0 status_F=1;/完成计数 TR1=0; /关闭 T1 定时槛,定时 1S 完成 delay(46); /延时较正误差 TR0=0;/关闭 T0 DPL=TL0; /计数量的低 8 位 DPH=TH0;/计数量的高 8 位 temp=DPTR+cout*65535; /计数值放入变量 shiwan=temp%/; wan=temp%/10000; qian=temp%10000/1000;/显示千位 bai=temp%1000/100;/显示百位 shi=temp%100/10;/显示十位 ge=temp%10;/显示个位 display(shiwan,wan,qian,bai,shi,ge); /调用显示函数 /*定时器,计数器初始化*/ void init() temp=0;/变量赋初值 aa=0; cout=0; IE=0X8A;/开中断,T0,T1 中断 TMOD=0 x15;/T1 为定时器工作于方式 1,T0 为计数器工作于方式 1 TH1=0 x3c;/定时器赋高 8 初值 , 12M 晶振 TL1=0 xb0;/定时器赋低 8 初值 , 12M 晶振 TH0=0;/计数器赋高 8 初值初值 TL0=0;/计数器赋低 8 初值 TR1=1;/开定时器 1 TR0=1;/开计数器 0 6 /*显示子函数*/ void display(uint shiwan,uint wan,uint qian,uint bai,uint shi,uint ge) P0=0 xdf;/P0 口是位选 1101 1111 改成 1111 1101 =0XDF P2=tableshiwan;/显示 shiwan 位 delay(5); P0=0 xef;/P0 口是位选 1110 1111 改成 1111 1110 =0XFE P2=tablewan;/显示 wan 位 delay(3); P0=0 xf7;/P0 口是位选 1111 01111 改成 0111 1111=0X7F P2=tableqian;/显示千位 delay(3); P0=0 xfb;/P0 口是位选 1111 1011 改成 1011 1111=0XBF P2=tablebai;/显示百位 delay(3); P0=0 xfd; /P0 口是位选 1111 1101 改成 1101 1111 =0XDF P2=tableshi;/显示十位 delay(3); P0=0 xfe;/P0 口是位选 1111 1110 改成 1110 1111 =0XEF P2=tablege;/显示个位 delay(3); /*定时中断子函数*/ void xtimer1() interrupt 3 TH1=0 x3c;/定时器赋高 8 初值 TL1=0 xb0;/定时器赋低 8 初值 aa+; /*计数器中断子函数*/ void xtimer0() interrupt 1 cout+; /*延时子函数。延时 1MS*/ void delay(uint z) uint i,j; for(i=0;iz;i+) for(j=0;j110;j+);/j 上限为 125 7 八八 仿真结果与分析仿真结果与分析 此简易频率计的特点是由于加入了延时补偿,对于低频率脉冲 能够准确计数,对于较高频率,则频率越高,误差越大。但总体来 讲,误差相对较小。 1.在 13257HZ,测量结果是准确的,如图 1 所示 1HZ,1KHZ,3257HZ 的仿真图: 图图 3:1HZ,1KHZ,3257HZ 的仿真图: 8 2在在 3258HZ9.5KHZ 的时候测量有误差并且慢慢减少。的时候测量有误差并且慢慢减少。 在在 3258HZ 时候达到最大误差时候达到最大误差 0.03069%,如图。,如图。9.5KHZ 时候达到最小误差时候达到最小误差 0.01368%。如图。如图。 图图 3:测量 3258HZ 的仿真结果 图图 4:测量 95013HZ 的仿真结果 3从从 9.6KHZ999.7629KHZ,测量误差越来越大,在,测量误差越来越大,在 9.6KHZ 为为 0.01458%,在,在 999.7629KHZ 时为时为 0.0237% 图图 5:测量 9.6KHZ 的仿真结果 9 图图 6:测量999.7629KHZ 的仿真结果 九课程设计心得体会九课程设计心得体会 在单片机应用系统设计时,必须先确定该系统的技术要求,这是系统设计 的依据和出发点,整个设计过程都必须围绕这个技术要求来工作。在设计时遵 循从整体到局部也即自上而下的原则。把复杂的问题分解为若干个比较简单的、 容易处理的问题,分别单个的加以解决。在设计开始时,我们应根据应用的和 设计要求提出设计的总体任务,绘制硬件和软件的总框图。将总任务分解成可 以独立表达的子任务,这些子任务再向下分,直到每个子任务足够简单,能够 直接而容易的实现为止。在程序调试时应按各个功能模块分别调试。 在程序设计时,正确合理的设计是非常重要的,比如说,有些执行程序以 实时中断方式调用时,如果不正确的设计,有可能陷入无休止的中断申请,使 程序无法正常工作。正确的程序设计包括程序的结构是否合理,一些循环结构 和循环指令的使用是否恰当,能否使用较少的循环次数或较快的指令,是否能 把某些延迟等待的操作改为中断申请服务,能否把某些计算方法和查表技术适 当简化等。另外程序的设计要具有可扩展性,程序的结构要标准化,便于阅读、 修改和扩充。 通过本次课程设计,我更加地了解和掌握单片机的基本知识和基本的编写 程序,也更加深入地了解单片机这么课程,掌握汇编语言的设计和调试方法, 熟悉 DVCC 系统的操作及其功能应用,更加熟悉设计的流程及程序的组合、调 用和系统的调试。在程序设计中,要善于

温馨提示

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

评论

0/150

提交评论