《C语言编程实训》实训指导书三.doc_第1页
《C语言编程实训》实训指导书三.doc_第2页
《C语言编程实训》实训指导书三.doc_第3页
《C语言编程实训》实训指导书三.doc_第4页
《C语言编程实训》实训指导书三.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

- 7 -C语言编程实训实训指导书三 适应专业:应用电子技术 广州康大职业技术学院自动化系 二0 一0年十一月 C语言编程实训实训三八红旗手 单片机时钟程序设计一、实训目的 1掌握LED显示、键盘、定时/计数器综合应用程序的设计方法;2熟悉运用PROTEUS ISIS仿真调试单片机时钟程序的基本操作。二、实训设施 PROTEUS计算机软件、PC机三、实训要求1使用C语言编程,实现由单片机控制LED数码管显示时、分、秒的电子时钟,并具有用按键修改时钟参数的功能(采用2个按键)。2写出1000字以上的实训总结报告(内容以单片机时钟程序设计及源程序清单为主)。四、实训内容1设计单片机时钟硬件系统(1)学习单片机时钟工作原理 6位七段LED显示器(共阳极数码管), 采用动态扫描的方法进行显示, 即逐个循环点亮各位显示器。这样虽然在任一时刻只有一位显示器被点亮,但是由于间隔时间较短(不超过10毫秒),且人眼具有视觉残留效应,因此看起来与全部显示器持续点亮效果完全一样。 动态扫描时, 单片机芯片的P1口(P1.0P1.5)输出段控信号, P3口(P3.0P3.5)输出位控信号, 当两口为高电平时,该字段就不显示;当两口为低电平时,就显示相应字段。 时间校正的操作方法:两按键串联,接在单片机芯片的P2.4与P2.5之间, 按下按键K1,可调整“分”; 按下按键K2,可调整“时”。(2)使用PROTEL绘制电路原理图从PROTEUS库中选取以下元器件: 7SEG-MPX2-CA(或7SEG-MPX6-CA):六位数码管 AT89C51:单片机 BUTTON:按键 CAP、CAP-ELEC:电容、电解电容 CRYSTAL:晶振 RES:电阻放置元器件放置电源和地(终端)连线元器件属性设置电气检测 绘制完全的电路原理如图3-1所示 图3-1 单片机电子时钟电路原理图2学习识读单片机时钟程序程序清单:#include#define uint unsigned int#define uchar unsigned charvoid keys();sbit P30=P30;sbit P31=P31;sbit P32=P32;sbit P33=P33;sbit P34=P34;sbit P35=P35;sbit key=P24;sbit key1=P25;uchar code table10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;uchar hour=23,minute=59,second=0;uint a,b,dd,ee,gg,hh;static char count=0;void delay(uint z) int x,y; for(x=z;x0;x-) for(y=110;y0;y-);void int1() interrupt 1 using 2 TH0=(65536-50000)/256;TL0=(65536-50000)%256; count+;void main() TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; for(;) a=hour/10;b=hour%10;dd=minute/10;ee=minute%10; gg=second/10;hh=second%10; keys(); P3=0X00; P1=tablea; P30=1; delay(1); P3=0X00; P1=tableb; P31=1; delay(1); P3=0X00; P1=tabledd; P32=1; delay(1); P3=0X00; P1=tableee; P33=1; delay(1); P3=0X00; P1=tablegg; P34=1; delay(1); P3=0X00; P1=tablehh;P35=1; delay(1); if(count=20) count=0; second+; if(second=60) second=0; minute+; if(minute=60) minute=0; hour+; if(hour=24) hour=0; void keys() if(key=0) delay(5); if(key=0) while(!key); delay(5); minute+; if(minute=60) minute=0; delay(10); if(key1=0) delay(5); if(key1=0) while(!key1); delay(5);hour+;if(hour=24) hour=0; delay(10); 3. PROTEUS仿真(1) 加载目标代码文件鼠标指针指在器件AT89C51上,先右击再左击,在弹出的属性编辑对话框Program File 一栏中单击打开按钮,出现文件浏览对话框,找到单片机时钟的机器码文件,单击“打开”按钮,完成添加文件

温馨提示

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

评论

0/150

提交评论