8乘8点阵显示计时一分钟.doc_第1页
8乘8点阵显示计时一分钟.doc_第2页
8乘8点阵显示计时一分钟.doc_第3页
8乘8点阵显示计时一分钟.doc_第4页
8乘8点阵显示计时一分钟.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

单片机原理课程设计课题名称:8乘8点阵显示计时一分钟 专业班级:电气工程及其自动化 学生学号: 学生姓名: 指导教师: 设计时间:2010年7月1日-2010年7月5日 目录摘要1设计任务和要求2方案论证3系统硬件设计3.1系统总原理图 3.2 元器件清单. 3.3 PCB板图.3.4Proteus仿真图3.5分电路图及原理说明 3.5.1 主控部分(单片机MCS-51). 3.5.2 单片机内部定时器T0. 3.5.3 8乘8点阵显示.4系统软件设计4.1程序流程图4.2程序源代码5心得体会6参考文献8乘8点阵显示计时一分钟摘要 本次课程设计的是使用单片机内部定时器T0定时一分钟,在一个8乘8点阵上显示数字。关键字:MCS-51单片机、8乘8点阵,动态扫描,。1 设计任务和要求1. 应用MCS-51单片机设计单片机实现定时一分钟,在8乘8点阵上显示。2. 软件设计部分,根据电路工作过程,画出软件流程图,根据流程图编写相应的程序,进行调试并打印程序清单;3.原理图设计部分,根据所确定的设计电路,利用Protel工具软件绘制电路原理图、PCB板图、提供元器件清单。2 方案论证直接用单片机的内部定时器来实现时间。该方案以MCS-51单片机为主控芯片,以MCS-51的内部定时器产生的1s中断作为时钟的驱动,然后在一个8乘8点阵显示的电路。此方案最大的缺点在于在一个8乘8点阵显示不是很清楚,但对更深一步了解8乘8点阵的使用有很大的帮助。3 系统硬件设计3.1系统总原理图 图1 总原理图3.2 元件清单元件序号型号或主要参数数量封装元件序号型号或主要参数数量封装R11k2AXIAL0.3U1AT89C511DIP40RP11K1SIP9K按键1按键4.5*6.5C122pF2RAD2.54DSdianzhen1点阵8*8-2*2C3104uF1RAD2.54Y1CRYSTAL1STAL33.3PCB板图 图2 总电路PCD板图 3.4Proteus仿真图 图3 proteus仿真图3.5分电路图及原理说明本次设计的硬件电路由主控部分(单片机MCS-51)、计时部分(单片机内部定时器T0)、显示部分(8乘8点阵)3个部分组成。各部分之间相互协作,构成一个统一的有机整体,实现点阵显示一分钟计时。现就各部分的硬件电路设计作出如下论述:3.5.1 主控部分(单片机MCS-51)MCS-51单片机作为主控芯片,控制整个电路的运行。其外围电路主要有两部分:复位电路和晶体振荡器。复位电路的功能是:系统上电时提供复位信号,直至系统电源稳定后,撤消复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。该设计采用含有二极管的复位电路,复位电路可以有效的解决电源毛刺和电源缓慢下降(电池电压不足)等引起的问题,在电源电压瞬间下降时可以使电容迅速放电,一定宽度的电源毛刺也可令系统可靠复位。晶体振荡电路:MCS-51单片机中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别为该反向放大器的输入端和输出端。这个反向放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度稳定性。如果使用石英晶体,电容应该使用30pF10pF。电路图如下:图4主控部分电路图3.5.2 单片机内部定时器T0通过单片机内部定时器T0产生1秒中断,定时器工作方式寄存器TMOD=0x01,所以设定定时器T0工作方式1。单片机时钟周期为12MHz,12个时钟周期为一个及其周期,那么此时机器周期就是1us,计满TH0和TL0,就需要216-1,个数,再来一个脉冲计数器溢出,随即向CPU申请中断。溢出一次共需65536us,约等于65.5ms,要定时50ms的话,就要给TH0和TL0赋初值,在这个基础上计时50000个数后,定时器溢出。所以TH0=(65536-50000)/256,TL0=(65536-50000)%256。3.5.3 8乘8点阵8乘8点阵,本例使用的是共阴极。每8个字节为一个数字的点阵代码,其中每字节的8位对应于一行的中的8个点,例如数组中低7行的8个字节0xf0,0x10,0x10,0x20,0x40,0x40,0x40,0x40/7就是数字7的第0-7行的点阵编码。P0控制着选中的行,P1给选中的行送编码。4 系统软件设计4.1程序流程图 8乘8点阵显示 开始 内部中断T0 计满一秒钟 刷新8乘8 显示4.2 源程序#include #define uchar unsigned char#define uint unsigned intuchar count,num,shi,ge;uchar code aa=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80;uchar code shuzi8= 0x60,0x90,0x90,0x90,0x90,0x90,0x90,0x60,/0 0x20,0x60,0x20,0x20,0x20,0x20,0x20,0x70,/1 0x60,0x90,0x10,0x10,0x60,0x80,0x80,0xF0,/2 0x60,0x90,0x10,0x10,0x60,0x10,0x90,0x60,/3 0x20,0x20,0x60,0xA0,0xA0,0xF0,0x20,0x20,/4 0x70,0x80,0x80,0xE0,0x10,0x10,0x90,0x60,/5 0x60,0x90,0x80,0xE0,0x90,0x90,0x90,0x60,/6 0xF0,0x10,0x10,0x20,0x40,0x40,0x40,0x40,/7 0x60,0x90,0x90,0x60,0x90,0x90,0x90,0x60,/8 0x60,0x90,0x90,0x90,0x70,0x20,0x60,0x40,/9 ;/延时函数void delay(uint x) uint i,j;for(i=0;ix;i+) for(j=0;j=4;/右移4位return tt; /显示函数void xieshuzi(uchar *kk,uchar *tt)uchar i,k,t,x;for(i=0;i8;i+)P1=aai;/选中点阵的行x=*(kk+i);t=youyi4wei(*(tt+i);/右移4位x|=t; /两个部分的组合 (逻辑或)P0=x; /行扫描送行编码delay(3);P0=0xff; /有效消影void main()TMOD=0x01;/设置定时器T0工作方式1 TH0=(65536-50000)/256;/赋初值(50ms初值) TL0=(65536-50000)%256; EA=1;/开总中断 ET0=1;/使能定时器0 TR0=1;/开启定时器0while(1)xieshuzi(shuzishi,shuzige); /扫描显示两位数/内部定时器T0void T0_time() interrupt 1 TH0=(65536-50000)/256;/赋初值(50ms初值) TL0=(65536-50000)%256; count+; /计时满50ms溢出一次 if(count=20) /溢出20次 即50ms*20=1000ms=1s count=0; num+; if(num=60) num=0; shi=num/10; ge=num%10; 5 心得体会 通过本次设计,使我们对单片机的了解有了更加深一步,我发现只有动手做才会孰能技巧,还有对材料的整理和理解。这次设计运用到的知识很多方面,尤其是单片机,像AT89C51,引脚多,硬件内部线路接通,所以用起来很方便,8乘8点阵。当然也要对这些元器件作相应调查。主要就是电路原理图,还有对引脚的作用熟悉。对于软件方面则是灵活运用单片机有关的程序语

温馨提示

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

评论

0/150

提交评论