微机原理课程设计报告39543.docx
- 文档编号:1733067
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:10
- 大小:189.35KB
微机原理课程设计报告39543.docx
《微机原理课程设计报告39543.docx》由会员分享,可在线阅读,更多相关《微机原理课程设计报告39543.docx(10页珍藏版)》请在冰豆网上搜索。
微机原理课程设计报告39543
青岛农业大学
理学与信息科学学院
微机接口课程设计报告
设计题目LCD液晶屏显示系统日期、时间和星期
学生专业班级电子信息工程2012级02班
学生(学号)周巧丽(20123288)
设计小组其他同学(学号)周倩(20123287)
涛(20123134)
指导教师爱涛
完成时间2015.07.09
实习(设计)地点信息楼526
2015年07月09日
1.课程设计的目的和任务1
1.1设计目的1
1.2设计任务1
2.分析与设计1
2.1设计任务分析1
2.2设计方案论证1
2.3系统硬件设计及原理图2
2.3.1系统硬件设计2
2.3.1.1最小系统2
2.3.1.2LCD显示电路2
2.3.1.3STC89C51简介3
2.3.2原理图4
2.3.2.1LCD与单片机原理图4
2.3.2.2仿真电路图4
2.4程序流程图和源代码清单5
3.系统实施7
3.1系统实现与调试过程中遇到的主要问题分析7
3.2系统运行的结果7
4.总结与体会.7
5.参考文献8
课程设计成绩评定表9
1.课程设计目的和任务
1.1设计目的
学生通过本课程的实践,能进一步掌握汇编语言或C语言程序设计基本概念,掌握基本的程序设计方法;通过设计一个完整的小型程序,初步掌握开发软件所需的需求定义能力、功能分解能力和程序设计能力、代码调试技能;学习编写相关设计文档;为未来的硬件设计打下良好的基础。
要求学生掌握所学的程序设计方法的基本知识,结合实际深入理解汇编语言或C语言程序设计的基本概念、原理及方法。
运用所学的基础知识开发一个小型的程序,充分利用单片机学习板或微机原理接口实验箱,设计适合的方法,解决问题。
掌握设计任务的具体要求,进行设计、调试软件的具体方法、步骤和技巧。
对一个实际课题的软件设计有基本了解,拓展知识面,激发在此领域中继续学习和研究的兴趣,为学习后续课程做准备。
1.2设计任务
课程设计是培养学生运用有关课程的基础理论和技能解决实际问题,进一步提高学生本专业必要的基本技能、方法和创新能力的重要环节之一。
通过课程设计要使学生受到设计方法的初步训练,能用文字、图形和现代设计方法简要、系统、正确的表达设计成果。
本课程设计主要是训练学生综合运用学生学过的硬件和软件知识,设计硬件电路,编写应用程序,独立完成一个实际的应用设计系统,并学会撰写设计报告。
2.分析与设计
2.1设计任务分析
此次的微机接口课程设计,设计的任务为利用单片机实验板中直流电机电路,实现LCD液晶屏显示系统时间、日期和星期。
先将时钟芯片中的时间信息通过单片机进行读取,又因为时钟芯片又能准确记录相应时间,通过单片机向其写入命令来获取相应时间,通过汇编语言控制,实现时间信息的动态显示。
设计过程中要利用汇编语言来进行任务实现,汇编语言是一门重要的程序设计语言,是汇编指令集、伪指令集和使用它们规则的统称,使用具有一定含义的符号为助忆符,用指令助忆符、符号地址等组成的符号指令称为汇编格式指令。
2.2设计方案论证
本课题来源于专业课程设计,取材于专业课程《微机原理与接口技术》、《汇编语言》和《单片机原理》等课程中的相关容,要求为利用单片机实验板中直流电机电路,实现LCD液晶屏显示系统时间、日期和星期。
2.3系统硬件设计及原理图
2.3.1系统硬件设计
2.3.1.1最小系统
复位时单片机的初始化操作,只要给RST引脚加上两个机器周期以上的高电平信号,就可以使STC89C51单片机复位。
本次采用的是12M晶振,按钮复位电路。
2.3.1.2LCD显示电路
LCD1602可以显示2行16个字符,有8位数据总线D0—D7,和RS、R/W、EN三个控制端口,工作电压为5V,并且带有字符对比度调节和背光。
LCD1602引脚说明如下表所示:
LCD液晶显示器各引脚功能及结构
编号
符号
引脚说明
编号
符号
引脚说明
1
VSS
电源地
9
D2
双向数据口
2
VDD
电源正极
10
D3
双向数据口
3
VL
对比度调节
11
D4
双向数据口
4
RS
数据/命令选择
12
D5
双向数据口
5
R/W
读写/选择
13
D6
双向数据口
6
E
模块使能端
14
D7
双向数据口
7
D0
双向数据口
15
BLK
背光源地
8
D1
双向数据口
16
BLA
背光源正极
VDD:
电源正极,4.5V—5.5V,通常使用5V电压;
VL:
LCD对比度调节端,电压调节围为0—5V。
接正极时对比度最弱,接地电源时对比度最高,但对比度过高会产生“鬼影”,因此通常使用一个10K的电位器来调整对比度,或者直接串接一个电阻到地;
RS:
MCU写入数据或者指令选择端。
MCU要写入指令时,使RS为低电平;MCU要写入数据时,使RS为高电平;
R/W:
读写控制端。
R/W为高电平时,读取数据;R/W为低电平时,写入数据;
EN:
LCD模块使能信号控制端。
写数据时,需要下降沿触发模块。
D0—D7:
8为数据总线,三态双向。
如果MCU的I/O口资源紧的话,该模块也可以只使用4位数据线D4—D7接口传送数据。
A:
LED背光正极。
需要背光时,A串接一个限流电阻接VDD,K接地。
K:
LED背光地端。
本次课程设计中LCD显示屏的D0到D7与单片机P0口相连,LCD显示屏EN口与单片机P3.4口相连,RS与P3.5相连。
通过滑动变阻器改变LCD显示屏的显示对比度。
2.3.1.3STC89C51简介
STC89C51是采用8051核的ISP(InSystemProgramming)在系统可编程芯片,最高工作时钟频率为80MHz,片含8KBytes的可反复擦写1000次的Flash只读程序存储器,器件兼容标准MCS-51指令系统及80C51引脚结构,芯片集成了通用8位中央处理器和ISPFlash存储单元,具有在系统可编程(ISP)特性,配合PC端的控制程序即可将用户的程序代码下载进单片机部,省去了购买通用编程器,而且速度更快。
2.3.2原理图
2.3.2.1LCD与单片机原理图
2.3.2.2仿真电路图
2.4程序流程图和源代码清单
#include
#include
sbitRSPIN=P1^5;//引脚定义
sbitRWPIN=P1^6;
sbitEPIN=P1^7;
unsignedcharXPOS,YPOS;
unsignedcharDisTab1[]="DATEDISDB'0000-00-00',0DH,0AH,'$'";
unsignedcharDisTab2[]="TIMEDISDB'00:
00:
00',0DH,0AH,'$'";
voiddelay(unsignedintt)
{unsignedinti,j;
for(i=0;i for(j=0;j<10;j++); } voidlcdwaitidle(void)//忙状态判别 {P0=0xff; RSPIN=0; RWPIN=1; EPIN=1; while((P0&0x80)==0x80);//读取忙标志BF,判为1否,为1等待 EPIN=0; } voidlcdwcn(unsignedcharc)//写指令c {RSPIN=0; RWPIN=0; P0=c; EPIN=1; _nop_(); EPIN=0; } voidlcdwc(unsignedcharc)//查询忙标志,然后写指令c {lcdwaitidle(); lcdwcn(c); } voidlcdwd(unsignedchard)//查询忙标志,然后写数据d {lcdwaitidle(); RSPIN=1; RWPIN=0; P0=d; EPIN=1; _nop_(); EPIN=0; } voidlcdpos(void) { XPOS&=0x3f; YPOS&=0x03; if(YPOS==0x00) lcdwc(XPOS|0x80);//DDRAM地址设置(第1行) elseif(YPOS==0x01) lcdwc((XPOS+0x40)|0x80);//DDRAM地址设置(第2行) } voidlcdinit(void)//LCD初始化 {delay(150);lcdwcn(0x38);//总线8位,两行显示,5*7点阵字符体 delay(50);lcdwcn(0x38); delay(50);lcdwcn(0x38); lcdwc(0x38); lcdwc(0x08);//关闭显示,光标消失,闪烁禁止 lcdwc(0x01);//清屏 lcdwc(0x06);//AC加1计数,禁止滚动 lcdwc(0x0e);//开显示 } voidDisplay(void)//显示子程序 { for(XPOS=0;XPOS<16;XPOS++) { YPOS=0;lcdpos();lcdwd(DisTab1[XPOS]); YPOS=1;lcdpos();lcdwd(DisTab2[XPOS]); delay(2000); } for(XPOS=16;XPOS<30;XPOS++) { lcdwc(0x18);//滚屏 YPOS=0;lcdpos();lcdwd(DisTab1[XPOS]); YPOS=1;lcdpos();lcdwd(DisTab2[XPOS]); delay(2000); } } voidmain(void) { EPIN=0; lcdinit(); while (1) { lcdwc(0x01); lcdwc(0x02); Display(); delay(5000); } } 3.系统实施 3.1系统实现与调试过程中遇到的主要问题分析 由于通过查阅参考书及网上资料,我所编写的这种程序基本上不存在语法上的错误,只是要求对程序进行仔细阅读及理解,并且在一些地方进行必要的改写,且加入了我自己的认识,使这种程序更容易理解。 通过查阅资料,我还了解到了汇编语言的语言组成数据传送指令、整数和逻辑运算指令、移位指令、条件设置指令、控制转移指令、串操作指令和输入输出指令等。 3.2系统运行的结果 本课程设计运行的结果符合了课程设计的设计任务要求,综合运用了学过的硬件和软件知识,设计硬件电路,编写了相应的实现程序,独立完成了一个实际的应用设计系统,实现了液晶屏最终显示系统日期、时间和星期。 4.总结与体会 本次的微型计算机原理课程设计涉及到了微机原理中对接口技术的基本认识;单片机原理中对单片机类型、原理、芯片控制过程的相关知识;还有LCD液晶屏的工作原理。 我从本次课程设计中受益颇多,我更加深入的学习了微机原理的相关接口技术知识,明白了单片机原理中基本的单片机类型和芯片控
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 课程设计 报告 39543