




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖南科技大学信息与电气工程学院单片机课程设计报告题 目: 电子日历 专 业: 电子信息工程 班 级: 2班 姓 名: abc 学 号: * 指导教师: * 任务书题 目电子日历 时 间安排2012年6月116月22日(第17、18周) 目 的:通过单片机原理与应用这门课的课程设计,学生应能对mcs-51单片机有一个全面的认识,掌握以mcs-51单片机为核心的电子电路的设计方法和应用技术。 1.进一步掌握8279键盘显示电路的编程方法。 2.进一步掌握定时器的使用和编程方法。 3.进一步掌握中断处理程序的编程方法。 要 求:(1) 利用8031作为主控器组成一个电子日历和电子钟。(2) 利用led分别显示当前时间和日历。(3) 利用尽可能少的开关实现:校正日历和时间。总体方案实现: 用8031作为主控制器,并采用8279作为辅助芯片,控制键盘、led数码管等的操作和显示。指导教师评语: 评分等级:( ) 指导教师签名: 2一、课程设计的目的通过单片机原理与应用这门课的课程设计,学生应能对mcs-51单片机有一个全面的认识,掌握以mcs-51单片机为核心的电子电路的设计方法和应用技术。1.进一步掌握8279键盘显示电路的编程方法。 2.进一步掌握定时器的使用和编程方法。 3.进一步掌握中断处理程序的编程方法。 二、实验要求(1) 利用8031作为主控器组成一个电子日历和电子钟。(2) 利用led分别显示当前时间和日历。利用实验机上提供的8279键盘电路,数码显示电路,设计一个电子钟(日历),用小键盘控制电子钟(日历)的启停及初始值的预值。 电子钟做成如下两种格式(按f键两种格式可以切换): xx -xx-xx 由左向右分别为: 时、分、秒 xx -xx-xx 由左向右分别为: 年、月、日 1.c键:清除,显示00-00-00。 2.a键:启动,电子钟(日历)计时。 3.d键:停止,电子钟(日历)停止计时。 4.b键:设置初值:由左向右依次输入预置的时、分、秒(年、月、日)值,同时应具有判断输入错误的能力,若输入有错,则显示: 00-00-00 按b键即可重新输入预置值: 5.f键:实现电子钟和日历的切换。 6.e键:程序退出。三、设计方案的描述本实验采用8031作为主控制器,并采用8279作为辅助芯片,控制键盘、led数码管等的操作和显示。8279主要特点:(1)、可同时进行键盘扫描及文字显示;(2)、键盘扫描模式(scanned keyboard mode);(3)、传感器扫描模式(scanned sensor mode);(4)、激发输入模式(strobe input entry mode);(5)、8乘8键盘fifo(先进先出);(6)、具有接点消除抖动,2键锁定及n键依此读出模式;(7)、双排8位数或双排16位数的显示器;(8)、右边进入或左边进入。16位字节显示存储器。 8031芯片图如下: 8279芯片: 四、硬件原理图硬件原理图如下:pcb图如下:五、基本原理说明8279显示部分按扫描的方式工作。可以显示8或16位led显示块。8279电路工作原理:1.i/o控制及数据缓冲器数据缓冲器是双向缓冲器,连接内、外总线,用于传送cpu和8279之间的命令或数据;i/o控制线是cpu对8279进行控制的引线。cs是8279的片选信号,cs=0时,8279才被允许读出或写入信息。wr、rd为来自cpu的控制信号。a0用于区别信息特性:a0=1时,表示数据缓冲器输入为指令、输出为状态字;a=0时,输入、输出皆为数据。2.控制与定时寄存器及定时控制控制与定时寄存器用来寄存键盘及显示的工作方式,以及由cpu编程的其它操作方式。这些寄存器一旦接受并锁存送来的命令,就通过译码产生相应的信号,从而完成相应的控制功能。定时控制包含基本记数键。首级计数器是一个可编程的n级计数器。n可以231之间由软件编程,以便从外界时钟clk分频得到内部所需要的100khz时钟。然后再经过分频为键盘扫描提供适当的逐行扫描频率和显示扫描时间。3.扫描计数器扫描计数器有两种工作方式。按编码方式工作时,计数器作二进制记数。4位记数状态从扫描线sl0sl3输出,经外部译码器译码后,为键盘和显示器提供扫描线;按译码方式工作时,扫描计数器的最低二位被译码后,从sl0sl3输出。因此,sl0sl3提供了4中取1的扫描译码。4.回复缓冲器、键盘去抖及控制来自rl0rl3的8根回复线的回复信号,由回复缓冲器缓冲并锁存。在键盘工作方式中,回复线作为行列式键盘的行列输入线。在逐行列输入时,在逐行列扫描时,回复线用来搜索每一行列中闭合的键。当某一键闭合时,去抖电路被置位,延时等待10ms后,再检验该键是否继续闭和,并将该键的地址和附加的移位、控制状态一起形成键盘数据被送入8279内部fifo(先进先出)存储器。键盘数据格式如下: d7 d6 d5d4 d3 d2 d1 d0控制 移位 扫描 回复控制和移位(d6、d7)的状态由两个独立的附加开关决定,而扫描(d5、d4、d3)和回复(d2、d1、d0)则是被按键置位的数据。d5、d4、d3来自动扫描计数器,是按下键的行列编码,而(d7d7d7)则来自行/列计数器,它们是根据回复信号而确定的行/列编码。在传感器开关状态矩阵方式中,回复线的内容直接被送往和相应的传感器ram(即fifo存储器)。在选通输入方式中,回复线的内容在cntl/stb线的脉冲上升沿被送入fifo存储5.fifo/传感器及其状态寄存器fifo/传感器ram是一个双重功能的88ram。在键盘或选通方式工作时,它是fifo存储器,其输入或读出遵循先入先出的原则。fifo状态寄存器用于存放fifo的工作状态。例如,ram是满还是空;其中存有多少数据;是否操作出错等。当fifo存储器不空,状态逻辑将产生irq=1信号向cpu申请中断。在传感器矩阵方式工作时,这个存储器以是传感器不是存储器。它存放着传感器矩阵中的每一个传感器状态。在此方式中,若检索出传感器的变化,irq信号变为高电平,向cpu申请中断。6.显示ram和显示地址寄存器显示ram用来存储显示数据。容量为168位。在显示过程中,存储的显示数据轮流从显示寄存器输出。显示寄存器分别为a、b两组,outa03和outb03可以单独送数,也可以组成一个8位的字。显示寄存器的输出与显示扫描配合,不断从显示ram中读出显示数据,同时轮流驱动被选中的显示器件,以达到多路复用的目的,使显示器件呈现稳定的显示状态。显示地址寄存器用来寄存由cpu进行读/写显示ram的地址,它可以由命令设定,也可以设置成每次读写或写入之后自动递减。六、程序流程图七、源程序清单/-8279键盘显示实验(电子秒表)-/*利用实验机上提供的8279键盘电路,数码显示电路,设计一个电子钟(日历),用小键盘控制电子钟(日历)的启停及初始值的预值。 电子钟做成如下两种格式(按f键两种格式可以切换): xx -xx-xx 由左向右分别为: 时、分、秒 xx -xx-xx 由左向右分别为: 年、月、日 1.c键:清除,显示00-00-00. 2.a键:启动,电子钟(日历)计时 3.d键:停止,电子钟(日历)停止计时 4.b键:设置初值:由左向右依次输入预置的时、分、秒(年、月、日)值,同时应具有判断输入错误的能力,若输入有错,则显示: 00-00-00 按b键即可重新输入预置值: 5.f键:实现电子钟和日历的切换 5.e键:程序退出。*/7/-头文件引用-#include#include#include/-宏声明-#define d8279 xbyte0xf238 /8279 数据口地址#define c8279 xbyte0xf239 /8279 状态/命令口地址#define uchar unsigned char#define uint unsigned int#define timedisp 1#define datedisp 0/-变量定义-uchar idata time = 0,0,0,12; /10毫秒,秒,分,十uchar idata day3 = 18,6,8;uchar idata diss8=0x20,0x20,0,0,0,0,0,0;/显示缓冲区uchar code ledseg = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71, 0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87, 0xff,0xef,0xf7,0xfc,0xb9,0xde,0xf9,0xf1,0x00,0x40;/led显示常数表bit bdata sbz,wbz,kbz; /定义秒标志、键值合法标志、读键标志bit bdata flag = timedisp;/-取键值函数-uchar getkey() uchar key; if(c8279&0x07)=0x00) kbz=0; /无键按下,置标志 else kbz=1; c8279=0x40; /读fifo ram命令 key=d8279; key=(key&0x3f); /取键盘数据低6位 return(key); /-显示函数- void disled(d) uchar idata *d;uchar i;c8279=0x90;for(i=0;i0;i-) do getkey(); /读键盘 while(kbz=0);/无键输入,则再读 if(getkey()9)|(getkey()0)/判断输入是否大于9,小于0 wbz=0; /置非法输入标志 return; else wbz=1; /置合法输入标志 if(i = 6)|(i = 3) i-; dissi-1=getkey(); disp(); /显示输入的字符 else dissi-1=getkey(); disp(); /显示输入的字符 /-时间清零子程序-void cleart() tr1=0; /关计数器time0=0; /10毫秒清零time1=0; /秒清零time2=0; /分钟清零time3=0; /小时清零disms(); /显示毫秒sbz=1; /置秒标志/-设置初值子程序-void sett() getword(); /读数 if(wbz=1) /判断输入合法性 if(flag = 1) time3=(diss7*10+diss6); if(time324)/判断输入小时值 24 time2=(diss4*10+diss3); if(time260)/判断输入分钟数 60 time1=(diss1*10+diss0); if(time160)/判断输入秒值 60 ; else cleart(); /时间清零 else cleart(); /时间清零 else cleart(); /时间清零 else day2=(diss7*10+diss6); if(day232)/判断输入小时值 24 day1=(diss4*10+diss3); if(day113)/判断输入分钟数 60 day0=(diss1*10+diss0); if(day0100)/判断输入秒值 60 ; else cleart(); /时间清零 else cleart(); /时间清零 else cleart(); /时间清零 else cleart(); /时间清零 display();/显示时间/-主程序-void main() uint counter = 0;first(); /初始化 while(1) /循环 counter+; if(counter = 10000 ) /flag = !flag; counter = 0; getkey(); /读键盘 if(kbz=1) /判断是否有键输入 switch(getkey() case 0x0c: cleart(); /输入键是c,转cleart break; case 0x0a: tr1=1; /输入键是a,电子钟计时 break; case 0x0d: tr1=0; /输入键是d,电子钟停止计时 break; case 0x0b: tr1=0; /输入键是b,转sett sett(); break; case 0x0e: _nop_();/输入键是e, case 0x0f: flag = !flag;break; while(1)/等待回到监控 else if(sbz=1) display();/显示时间 sbz=0;/清标志 10 八、心得体会 通过这次单片机电子日历的课程设计,我不仅加深了对单片机理论的理
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 利用社交媒体助力打造未来的持续学习体系
- 教育政策与经济发展关系研究
- 小学生狗咬伤急救知识
- 技术助力医学进步的实践案例
- 教育心理学在跨文化学习中的应用
- 陕西省辅警考试题及答案
- 2024年沈阳市教育系统招聘笔试真题
- 2024年甘肃招聘聘用制教师笔试真题
- 2025年中国辊底式保护气氛压体生产线行业投资前景及策略咨询研究报告
- 2025年中国自行车部件行业市场调查、投资前景及策略咨询报告
- 高企研发费用培训
- 集客业务培训心得
- 物业维修电工培训内容
- 车间成本控制管理制度
- 厂房屋顶光伏项目可行性分析报告
- PADI潜水OW理论知识课件
- 2025年“安康杯”安全生产知识竞赛考试题(附答案)
- 模具钳工应聘简历
- 2025年《处方管理办法》标准课件
- 低压电工作业试题含参考答案
- 2025年中考物理知识点归纳(挖空版)
评论
0/150
提交评论