ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:90.01KB ,
资源ID:16138013      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16138013.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机嵌入式实验报告51秒表Word格式文档下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机嵌入式实验报告51秒表Word格式文档下载.docx

1、三、 使用的系统平台软件平台:keil51 keil51是美国keil software出品的51系列兼容单片机C语言软件开发系 统,是众多单片机开发软件之一,它支持众多不同公司的MCS51架构的芯片,它集编辑,编译,仿真于一体,同时还支持PLM、汇编、和C语言的程序设计,它的界面和常用的微软VC+的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有强大的功能。 硬件平台:STC89C52单片机、1602液晶显示器、按钮、发光二极管 STC89C52单片机:STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C5

2、2使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RA

3、M、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。 1602液晶显示器:1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块

4、(显示字符和数字)。目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。四、 系统总体设计 如下图所示,整个秒表以STC89C52为核心,按下停止键或启动键控制秒表的停止和开始,同时反映给STC89C52,再经过处理显示在1602液晶显示器上,进行计时。 五、 系统的详细设计硬件: 系统总的原理图如上图所示,按下暂停和启动按键,秒表开始计时并显示在LCD1602液晶显示器上。 对于STC89C52单片机,其内部带有定时/计数系统,此定时功能是通过对外部晶振的脉冲进行计数,从而达到计时功能。

5、 对于LCD1602通过指令来控制它的读写操作。软件流程图:六、 系统的软件实现主要函数: 延时函数:void delay1ms() unsigned char i,j; for(i=0;i10;i+) for(j=0;j33;j+); void delay(unsigned char n) unsigned char i;n; delay1ms();忙状态测试: unsigned char BusyTest(void) bit result;RS=0; /根据规定,RS为低电平,RW为高电平时,可以读状态 RW=1; E=1; /E=1,才允许读写 _nop_(); /空操作 /空操作四个机

6、器周期,给硬件反应3时间 result=BF; /将忙碌标志电平赋给result E=0; /将E恢复低电平 return result;void WriteInstruction (unsigned char dictate) while(BusyTest()=1); /如果忙就等待 RS=0; /根据规定,RS和R/W同时为低电平时,可以写入指令 RW=0; /E置低电平(根据表8-6,写指令时,E为高脉冲, / 就是让E从0到1发生正跳变,所以应先置0 /空操作两个机器周期,给硬件反应时间 P0=dictate; /将数据送入P0口,即写入指令地址 /空操作四个机器周期,给硬件反应时间

7、/E置高电平 /当E由高电平跳变成低电平时,液晶模块开始执行命令 void WriteAddress(unsigned char x) WriteInstruction(x|0x80); /显示位置的确定方法规定为80H+地址码x void WriteData(unsigned char y) RS=1; /RS为高电平,RW为低电平时,可以写入数据 P0=y; /将数据送入P0口,即将数据写入液晶模块void LcdInitiate(void)delay(15); /延时15ms,首次写指令时应给LCD一段较长的反应时间 WriteInstruction(0x38); /显示模式设置:162

8、显示,57点阵,8位数据接口 delay(5); /延时5ms,给硬件一点时间 /连续三次,确保初始化成功 delay(5); WriteInstruction(0x0c);显示开,无光标,光标不闪烁 WriteInstruction(0x06);光标右移字符移动 WriteInstruction(0x01); /清屏幕指令将以前的显示内容清除void DisplaySecond() i=s/10; /取整运算,求得十位数字 j=s%10; /取余运算,求得各位数字WriteAddress(0x46); /写显示地址,将十位数字显示在第2行第11列 WriteData(digiti); /将十

9、位数字的字符常量写入LCD WriteData(digitj); /将个位数字的字符常量写入LCD WriteData(46); WriteData(digitcount/2);void main(void) unsigned char i;LcdInitiate(); /调用LCD初始化函数TMOD=0x01; /使用定时器T0的模式1 TH0=(65536-46083)/256; /定时器T0的高8位设置初值 TL0=(65536-46083)%6; /定时器T0的低8位设置初值 EA=1; /开总中断 ET0=1; /定时器T0中断允许 TR0=1; /启动定时器T0count=0; /

10、中断次数初始化为0s=0; /秒初始化为0 WriteAddress(0x00); /写地址,从第1行第4列开始显示 i=0; /从字符数组的第1个元素开始显示 while(stringi!=0) /只要没有显示到字符串的结束标志,就继续 WriteData(stringi); /将第i个字符数组元素写入LCD i+; /指向下一个数组元素 /将分号的字符常量写入LCD while(1) /无限循环 DisplaySecond(); /显示秒 /给硬件一点反应时间 void Time0(void ) interrupt 1 using 1 /定时器T0的中断编号为1,使用第1组工作寄存器 co

11、unt+; /每产生1次中断,中断累计次数加1 if(count=20) /如果中断次数计满20次 count=0; /中断累计次数清0 s+; /秒加1 if(s=60) /如果计满60秒 s=0; /秒清0 TH0=(65536-46083)/256; /定时器T0高8位重新赋初值 /定时器T0低8位重新赋初值 七系统的测试结果 程序烧写进52单片机,单品机控制1602显示,可显示出“stopwatch”字样。当按下S1键,计数启动。当按下S2键,计数暂停。当按下S3键,计数置0,重新等待计数。初步完成计数功能。七、 总结 经过两个星期的的秒表设计,我认识到自己还有很多不足,一方面,动手能力较差,需要提高;另一方面,之前学的知识很多都忘记了,为了更好的完成这次秒表设计,必须要温习相关的内容。但更重要的是经过这两周的学习,我不仅对单片机的理论有了更好的了解,也成功的将理论知识运用到了实践中,提高了我各方面的能力,虽然有一些方面没有达到老师的要求,但是我会吸取经验,下次一定会做得更好。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1