欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    武汉纺织大学单片机微机原理课程设计.docx

    • 资源ID:11349388       资源大小:1.76MB        全文页数:14页
    • 资源格式: DOCX        下载积分:1金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要1金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    武汉纺织大学单片机微机原理课程设计.docx

    1、武汉纺织大学单片机微机原理课程设计武汉纺织大学微机原理与接口技术课程设计院系:机械工程与自动化学院指导老师:张成俊班级:机械11205姓名:张成俊第一章 绪论1.1课题背景当今时候是一个信息化的时代,信息的重要性不言而喻的,获取手段显得尤其重要。人们所接受的信息有70%来自于人的视觉,无论用何种方式获取的信息最终需要有某种显示方式来表示。在当代显示技术中,主流的有LED显示屏和LCD液晶显示,而在这些显示技术中,尤其以液晶显示器LCD(Liquid crystal display)为代表的平板显示器发展最快,应用最广。LCD是典型的发光器件,它一材料科学为基础,综合利用了精密机械,光电及计算机

    2、技术,并正在微机械,微光学,纤维光学等前沿领域研究基础上,向高集成化,智能化方向发展。液晶显示技术发展迅猛,市场预测表明,液晶显示平均年销售呈增长10%13%,不久的将来有可能取代CRT,成为电子信息产品的主要显示器件,另外,液晶显示器对空间电磁辐射的干扰不敏感,且在紧凑的仪器空间不需要专门的屏蔽保护,因而课大大简化仪器的结构和制造成本,在各种便携式仪器,仪表将会越来越广泛的应用。特别是在电池供电的单片机产品中,液晶显示更是必选的显示器件。1.2课题设计目标本设计是基于AT89S51芯片单片机为主控芯片,结合1602液晶显示模板等外围电路,通过软件程序,来实现液晶显示英文字母。本次设计的目的在

    3、于利用单片机和IIC技术来显示英文字母。1.3课程设计的主要工作(1)对系统的各个模块的各个功能进行深入分析和研究,在对课题所采用的方案进行可行详细的研究后设计具体功能电路。(2)熟悉所选芯片的功能并完成具体电路设计。(3)对系统的最终指标进行测试,针对系统的不足,进行分析并提出一些改正方法。1.4 设计要求循环显示字母。第二章 硬件设计2.1 LCD1602 简介2.1.1 LCD1602引脚功能LCD1602引脚如图2.1所示图2.1 LCD1602引脚图引脚图的功能如表21所示表引脚功能图2.1.2 LCD1602显示模指令集(1)清屏功能:清DDROM值和AC值(2)归位功能:光标复位

    4、,光标返回到地址00H(3)输入方式设置功能:设置光标,画面移动方式。其中:I/D=1:数据读写操作后,AC 自加一;I/D=0:数据读写操作后,AC 自减一;S=1:数据读写操作,画面平移;S=0:数据读写操作,画面不动;(4)显示开关控制功能:设置显示、光标和闪烁开关。其中:D 表示显示开关,D=1 为开,D=0 为关;C 表示光标开关,C=1 为开,C=0 为关;B 表示闪烁开关,B=1 为开,B=0 为关。(5)光标、画面位移功能:光标、画面移动。其中:S/C=1 画面移动一个字符位;S/C=0 光标移动一个字符位;R/L=1:右移;R/L=0 左移。(6)功能设置功能:工作方式设置(

    5、初始化指令)。其中:DL=1,8 位数据接口;DL=0,4 位数据接口;N=1,两行显示;N=0,一行显示;F=1,5*10 点阵显示;F=0,5*7 点阵显示。(7)CGRAM 地址设置功能:设置CGRAM 地址,A5A0=03FH。(8)DDRAM 地址设置功能:设置DDRAM 地址。其中:N=0,一行显示A6A0=04FH;N=1 两行显示,首行A6A0=02FH,次行A6A0=4067H。(9)读BF 及AC 值功能:读忙BF 和地址计数器AC 的值。其中:BF=1:忙,BF=0:准备好。此时AC 值意义为最近一次地址设置(CGRAM 或DDRAM)定义。(10)写数据功能:根据最近设

    6、置的地址性质,数据写入CGRAM 或DDRAM 中。(11)读数据功能:根据最近设置的地址性质,从CGRAM 或DDRAM 数据读出。2.2系统电路图系统的电路图如2.7 所示: 图2.7 系统电路图运行状况如图2.8:图2.9 运行状态第三章 软件设计3.1系统框图本课题的程序设计是在C 语言的基础之上的,可分为两大模块,分别是:(1)IIC 协议;(2)LCD 显示。程序总体框图如图3.1 所示:图3.1 总程序框图LCD 显示程序框图如图3.2 所示:图3.2LCD显示程序框图3.2 程序清单1. #include 2. #include 3. #defineucharunsignedc

    7、har 4. #defineuintunsignedint 5. sbitLCD_RS=P30;6. sbitLCD_RW=P31;7. sbitLCD_EN=P32;8. ucharcodedis1=good morning;9. ucharcodedis2=everyone;10. voiddelay(intms)11. 12. inti;13. while(ms-)14. 15. for(i=0;i250;i+)16. 17. _nop_();18. _nop_();19. _nop_();20. _nop_();21. 22. 23. 24. bitlcd_busy()25. 26.

    8、bitresult;27. LCD_RS=0;28. LCD_RW=1;29. LCD_EN=1;30. _nop_();31. _nop_();32. _nop_();33. _nop_();34. result=(bit)(P0&0x80);35. LCD_EN=0;36. returnresult;37. 38. voidlcd_wcmd(ucharcmd)39. 40. while(lcd_busy();41. LCD_RS=0;42. LCD_RW=0;43. LCD_EN=0;44. _nop_();45. _nop_();46. P0=cmd;47. _nop_();48. _n

    9、op_();49. _nop_();50. _nop_();51. LCD_EN=1;52. _nop_();53. _nop_();54. _nop_();55. _nop_();56. LCD_EN=0;57. 58. voidlcd_wdat(uchardat)59. 60. while(lcd_busy();61. LCD_RS=1;62. LCD_RW=0;63. LCD_EN=0;64. P0=dat;65. _nop_();66. _nop_();67. _nop_();68. _nop_();69. LCD_EN=1;70. _nop_();71. _nop_();72. _n

    10、op_();73. _nop_();74. LCD_EN=0;75. 76. voidlcd_pos(ucharpos)77. 78. lcd_wcmd(pos|0x80); 79. 80. voidlcd_init()81. 82. delay(15); 83. lcd_wcmd(0x38); 84. delay(5);85. lcd_wcmd(0x38);86. delay(5);87. lcd_wcmd(0x38);88. delay(5);89. lcd_wcmd(0x0c); 90. delay(5);91. lcd_wcmd(0x06); 92. delay(5);93. lcd_

    11、wcmd(0x01);94. delay(5);95. 96. voidlcd_clr()97. 98. lcd_wcmd(0x01); 99. delay(5);100. 101. voidflash()102. 103. delay(600);104. lcd_wcmd(0x08);105. delay(200);106. lcd_wcmd(0x0c); 107. delay(200);108. lcd_wcmd(0x08); 109. delay(200); 110. lcd_wcmd(0x0c);111. delay(200);112. 113. main()114. 115. uch

    12、ari,j;116. delay(10);117. lcd_init();118. while(1)119. 120. lcd_clr();121. 122. lcd_pos(0x10);123. i=0;124. while(dis1i!=0)125. lcd_wdat(dis1i);126. i+;127. 128. lcd_pos(0x50);129. i=0;130. while(dis2i!=0)131. 132. lcd_wdat(dis2i); 133. i+;134. 135. for(j=0;j16;j+)136. 137. lcd_wcmd(0x18);138. delay

    13、(100);139. 140. flash();141. 142. 第四章 调 试程序的调试是用Keil 软件和Proteus 联调的,LCD 两行滚动显示的字符,第一行为“good morning”第二行为everyone,两行同时向右平移。调试后的效果图如4.1 所示:图4.1 调试后的效果图 第五章 总 结通过本次课程设计,我熟悉和掌握了IIC 的原理及其应用,能够初步使用LCD1602 显示字符等。本课题的程序设计是基于C语言的,C 语言具有方便,快速,高效。当然本设计也存在不足之处,由于LCD1602 只能显示字符,而不能显示汉字和图片,如果想要显示汉字和图片的话,需要用到12832 等的LCD 模块,这是本设计的一大缺陷。另外,这次课题中的程序设计中,对时序要求很严格,尤其是IIC。通过本次课程设计,我有熟悉和掌握了单片机开发软件Keil和仿真软件Proteus。


    注意事项

    本文(武汉纺织大学单片机微机原理课程设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开