单片机原理与应用课程设计说明书_第1页
单片机原理与应用课程设计说明书_第2页
单片机原理与应用课程设计说明书_第3页
单片机原理与应用课程设计说明书_第4页
单片机原理与应用课程设计说明书_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

单 片 机 原 理 与 应 用 课 程 设 计 说 明 书 题 目: 基于 51 单片机的秒表设计 系 部: 信息与控制工程系 专 业: 测控技术与仪器 班 级: 11 级 1 班 学生姓名: xxx 学 号: xxxxxxxxxx 指导教师: xx 2013 年 12 月 12 日 目 录 1 设计任务与要求 .1 1.1 设计任务 .1 1.2 设计要求 .1 2 设计方案 .1 2.1 设计思路 .1 2.2 使用器件、芯片 .1 2.2.1 微控制器 stc89c52 .1 2.2.2 移位寄存器 74ls164 2 2.2.3 共阳极数码管 3 2.2.4 看门狗芯片 MAX813 .3 2.2.5 串口下载芯片 MAX232 .4 3 硬件电路设计 .5 3.1 显示电路 .5 3.2 复位电路 .5 3.3 串口下载电路 .6 4 主要参数计算与分析 .6 4.1 定时初值计算 .6 4.2 段码对照 .7 5 软件设计 .7 6 调试过程 .8 6.1 软件仿真 .8 6.2 硬件调试 .8 7 结论 .8 8 附录 .9 9 参考文献 .14 单片机/ 微机接口课程设计说明书 1 1 设计任务与要求 1.1 设计任务 利用 51 单片机的定时计数器设计一个秒表,其中设有一个按键,定时器工作在 方式 1。当第一次按下按键时,定时器开始计时。第二次按下按键时,停止计时并 计算两次按键的时间间隔,送显示器显示。第三次按下按键时定时器清零,等待下 一次按键。 1.2 设计要求 设计三位数码管最长显示 59.9s,设置一个按键式开关能够实现上述三次按键 功能。 2 设计方案 2.1 设计思路 根据设计要求,实验电路可由 89c52 单片机内部定时器/计数器定时和记数的功能来 实现计时,并由 74ls164 作为串入并出的数据输出驱动 3 位 LED 数码管段选端。 对 52 单片机进行程序烧录时还需使用 max232 作为串行接口通信的电平转换芯 片。 根据设计内容,需要单片机时钟频率转换到秒的单位,以及对按键输入产生对 应的反应和 3 位数码管输出位的显示及位选显示的延迟。因此程序应由按键读取和 输出段码转换及延迟程序组成。 2.2 使用器件、芯片 2.2.1 微控制器 stc89c52 STC89C52 是一种带 8K 字节闪烁可编程可檫除只读存储器(FPEROM-Flash Programable and Erasable Read Only Memory )的低电压,高性能 COMOS8 的微处 理器,俗称单片机。该器件采用 ATMEL 搞密度非易失存储器制造技术制造,与工业 标准的 MCS-51 指令集和输出管脚相兼容。 图2-1 stc89c52管脚图 2.2.2 移位寄存器 74ls164 74ls64 是 8 位边沿触发式移位寄存器,串行输入数据,然后并行输出。数据 通过两个输入端(DSA 或 DSB)之一串行输入;任一输入端可以用作高电平使能端, 控制另一输入端的数据输入。两个输入端或者连接在一起,或者把不用的输入端接 高电平,一定不要悬空。时钟 (CP) 每次由低变高时,数据右移一位,输入到 Q0, Q0 是两个数据输入端(DSA 和 DSB)的逻辑与,它将上升时钟沿之前保持一个建立 时间的长度。主复位 (MR) 输入端上的一个低电平将使其它所有输入端都无效,非 同步地清除寄存器,强制所有的输出为低电平。 图2-2 74ls164管脚图 单片机/ 微机接口课程设计说明书 3 表2-1 74ls164管脚说明 2.2.3 共阳极数码管 3 位八段共阳极数码管作为显示,其中只需第二位显示小数点,其余两位所有 计时段小数点不显示。 图2-3 数码管 LED-SP41056内部结构图 2.2.4 看门狗芯片 MAX813 看门狗电路的应用,使单片机可以在无人状态下实现连续工作,其工作原理是: 看门狗芯片和单片机的一个 I/O 引脚相连,该 I/O 引脚通过程序控制它定时地往看 门狗的这个引脚上送入高电平(或低电平) ,这一程序语句是分散地放在单片机其他 控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段进入死循 环状态时,写看门狗引脚的程序便不能被执行,这个时候,看门狗电路就会由于得 不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个复位信号, 使单片机发生复位。即程序从程序存储器的起始位置开始执行,这样便实现了单片 机的自动复位。 (1)工作电源端(VCC):接+5V 电源。 (2)电源接地端(GND):接 0 V 参考电平。 (3)复位信号输出端(RST) 上电时,自动产生 200 ms 的复位脉冲;手动复位端输入低电平时,该端也产生 复位信号输出。 图2-4 max813管脚图 2.2.5 串口下载芯片 MAX232 芯片的作用是将单片机输出的电平转换成机能接收的 电平,将机输出的电平转换成单片机能接收的电平,实现 计算机与单片机之间的串行通信。 单片机/ 微机接口课程设计说明书 5 图2-5 MAX232管脚图 3 硬件电路设计 3.1 显示电路 图3-1 显示电路 3.2 复位电路 图3-2 复位电路 3.3 串口下载电路 图3-3 串口下载电路 4 主要参数计算与分析 4.1 定时初值计算 晶振频率采用 fosc=12MHZ,Tcy=1(121000000)12=1us。选定定时器 T0。 数码管为三位,前两位设为秒计时,最低一位计时满 100ms 变化一次数,数字从 0- 9 循环显示。当计时满 1s 时,第二位开始显示,数字依然是从 0-9 循环显示。第二 位满 10 时,最高位开始从 0-5 显示,满 6 时,最多显示 60s。此处选择工作方式 1。 单片机/ 微机接口课程设计说明书 7 方式 1 的定时时间为 65.536ms,选择定时器 T0,方式 1,设定 T0 的定时时间 为 10ms,每隔 10ms 中断一次,中断 10 次即为 0.1s。 确定计算初值: X=65536-10000; TH0=(65536-10000)/256; TL0=(65536-10000)%256。 4.2 段码对照 无小数点位 0-9 对应码表 0x18,0x5F,0x68 ,0x4A,0x0F,0x8A,0x88,0x5E, 0x08,0x0A 有小数点位 0-9 对应码表 0x10,0x57,0x60,0x42,0x07,0x82,0x80,0x56,0x00,0x02 5 软件设计 开始 定时器初始化, 设定计数初值 判断是否计数达 到 10ms Y 执行中断服务程序 判断中断是否执行了 10 次/是否计时 60s Y 中断执行次数清零/计 时清零 N 6 调试过程 6.1 软件仿真 单片机/ 微机接口课程设计说明书 9 6.2 硬件调试 首先先对整个焊接电板进行整体检查,寻找是否有虚焊点和漏焊点,以及焊接 不牢固等。再将程序通过串口下载到单片机中。最后将电路接上 5V 稳压电源。此时 数码管能够正常显示,但在老师的指导下发现有半亮情况,即“影” ,通过在段选给 值前对数码管输入“0xff”进行消影。得到了最终的完成电路。 7 结论 通过接近两个周的课程设计,我们一项项的参与了从设计、画板、编程、焊板 到调试的整个过程,从中我们收获了最直接的就是付出努力取得成果的喜悦。在这 个过程中,我们不仅巩固了从单片机到 protues 等学科的知识,还通过动手学习并 掌握了焊接的知识和技巧,通过一步步的绘制到元器件的焊接,了解了各器件的功 能和用法,在编程时又将自己薄弱的程序知识补充了不少。 但是在这个过程我也发现了非常多的不足。专业课学的并不够扎实是最大的问 题,很多时候都会遇上几个人还无法解决的问题,所以要重新将基础知识抓牢,只 有这样才能在需要的时候不至于手足无措。 通过这次课程设计,我们不但复习了过去所学,并且学到了一些新东西。更重 要的是通过这一次切身实践,才使我们真正将理论与实际结合起来,并且遇到了很 多实实在在的需要我们亲自解决的问题。通过解决这些问题,我们处理实际问题的 能力有了很大提高,积累了我们的实践经验,以便为以后打下牢固的基础。还让我 们在学习中更能分清主次,了解自己的不足,在接下来的学习中能够更好的掌握必 须掌握的知识,技能,这是我们这两周的巨大收获。 在这次的课设中,我们同样明白了团结合作的重要性,每个人都不可能样样精 通,在更多的时候团队的力量是巨大的,在这次这个并不算简单的课程设计中不仅 了解了自己的不足还知道了借助他人的力量才能更好的共同成功。 在最后,再次感谢指导老师和同组的同学。 8 附录 #include /包含 52 单片机头文件 #define uchar unsigned char /宏定义 #define uint unsigned int sbit simuseri_CLK=P25; /声明 P2 口第六位,作为 74LS164 的时钟 信号 sbit simuseri_DATA=P24; /声明 P2 口第五位,作为 74LS164 的串行 输入 sbit a0=ACC0; uint temp,aa,count,dd,bai,shi,ge; uchar code table1=0x18,0x5F,0x68 ,0x4A,0x0F,0x8A,0x88,0x5E, 0x08,0x0A; uchar code table2=0x10,0x57,0x60,0x42,0x07,0x82,0x80,0x56,0x00,0x02;/共阳极数码 管码表 void display(uint bai,uint shi,uint ge);/声明子函数 void delay(uint z); /声明子函数 void init(); /声明子函数 uint key1times; sbit key1=P13; /位声明 void keyscan() /按键扫描执行函数 if(key1times=0) temp=0; if(key1=0) delay(5); /按键消抖 if(key1=0) while(!key1); /等待按键释放 单片机/ 微机接口课程设计说明书 11 start:key1times+;/累计按键的次数 switch(key1times)/多分支选择语句 case 1: temp=0; break; case 2: TR0=TR0; break; case 3: temp=0; break; case 4: TR0=1; break; case 5: key1times=1; goto start; /- - / 函数名称:out_simuseri / 输入参数:data_buf / 输出参数:无参 / 功能说明:8 位同步移位寄存器,将 data_buf 的数据逐位输出到 simuseri_DATA /- - void out_simuseri(uchar data_buf) uchar i; i=8; ACC=data_buf; do simuseri_CLK=0; simuseri_DATA=a0; simuseri_CLK=1; ACC=ACC1; while(-i!=0); /*/ void main() init(); while(1) /大循环 keyscan(); display(bai,shi,ge); /调用显示函数 /*/ void delay(uint z) /延时函数 uint x,y; for(x=z;x0;x-) for(y=110;y0;y-); /*/ void display( uint bai,uint shi,uint ge)/显示函数 bai=temp/100%10; shi=temp/10%10; ge=temp%10; 单片机/ 微机接口课程设计说明书 13 P0=0xFF; /消影 out_simuseri(table1bai);/调用 out_simuseri 函数 P0=0xFE; delay(1); P0=0xFF; out_simuseri(table2shi); P0=0xFD; delay(1); P0=0xFF; out_simuseri(table1ge); P0=0xFB; delay(1); /*/ void init() /初始化函数 key1times=0; temp=0; aa=0; TMOD=0X01; TH0=(65536-10000)/256; /设定定时器初值 TL0=(65536-10000)%256; EA=1; /开总中断 ET0=1; /允许 T0 中断 TR0=1; /启动 T0 中断 /*/ void timer0() interrupt 1 /定时器 T0 中断服务子程序 TH0=(65536-10000)/256; TL0=(65536-10000)%256; aa+; /中断次数加 1 if(aa=10) /计时 100ms aa=0; temp+; if(temp=600) temp=0; 单片机/ 微机接口课程设计说明书 15 9 参考文献 1 张兰红,邹华,刘纯利 著:单片机原理及应用M.北京:机械工业出版 社, 2012. 2 阎石:数字电子技术基础M.北京:高等教育出版社,2008 年 3 华成英、童诗白,模拟电子技术基础,北京:高等教育出版社,2008 年 4 何桥,单片机原理及应用,北京:中国铁道出版社,2

温馨提示

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

评论

0/150

提交评论