第一范文网 - 专业文章范例文档资料分享平台

单片机原理及应用实习报告

来源:用户分享 时间:2025/11/29 15:03:11 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

{

PA=H[i]; P1=L[i];

} } }

(4)液晶模块:SED1520液晶屏在使用时分为左右两个半屏,0、1、2、3四页。注意在使用时不要与数码管显示模块的地址重复,根据字模形成软件去的字模确定要显示的汉字的字模,组成一个字模数组,以方便调用。其余注意事项在第一部分的实习的报告中已有说明,此处不在赘述。

主要程序是xdata unsigned char CWADD1 _at_ 0x1cff; // 写指令代码地址(E1)

xdata unsigned char DWADD1 _at_ 0x1eff; // 写显示数据地址(E1) xdata unsigned char CRADD1 _at_ 0x1dff; // 读状态字地址(E1) xdata unsigned char DRADD1 _at_ 0x1fff; // 读显示数据地址(E1) xdata unsigned char CWADD2 _at_ 0x3cff; // 写指令代码地址(E2) xdata unsigned char DWADD2 _at_ 0x3eff; // 写显示 数据地址(E2) xdata unsigned char CRADD2 _at_ 0x3dff; // 读状态字地址(E2) xdata unsigned char DRADD2 _at_ 0x3fff; // 读显示数据地址(E2)

void WriteCHN16x16()// 中文显示子程序 {

unsigned char i,j,k; i = 0; j = 0;

while(j<2) {

Command = ((Page_ + j) & 0x03) | 0xb8; // 设置页地址 WriteCommandE1(); WriteCommandE2();

k = Column; // 列地址值 while(k < Column + 16){

if (k < PD1) { // 为左半屏显示区域(E1) Command = k;

WriteCommandE1(); // 设置列地址值 LCDData = CCTAB[Code_][i]; // 取汉字字模数据 WriteDataE1(); // 写字模数据

} else{ // 为右半屏显示区域(E2) Command = k-PD1;

WriteCommandE2(); // 设置列地址值

LCDData = CCTAB[Code_][i]; // 取汉字字模数据 WriteDataE2(); // 写字模数据 }; i++;

if( ++k >= PD1 * 2) break; // 列地址是否超出显示范围 } ; j++; }; } void yejing()

{ unsigned char t; CS8255=1; Init(); Clear();

for(t=0;t<10;t++) { Page_ = 0x02; Column = 0x00; Code_ = 0x00; WriteCHN16x16();

Page_ = 0x02; Column = 0x10; Code_ = 0x01; WriteCHN16x16();

Page_ = 0x02; Column = 0x20; Code_ = 0x02; WriteCHN16x16();

Page_=0x02;

Column = 0x30; Code_ = 0x03;

WriteCHN16x16();

Page_ = 0x02; Column = 0x40; Code_ = 0x04; WriteCHN16x16();

Page_ = 0x02; Column = 0x50; Code_ = 0x05;

}

CS8255=0; }

WriteCHN16x16();

Page_ = 0x02; Column = 0x60; Code_ = 0x06; WriteCHN16x16();

Page_ = 0x04; Column = 0x00; Code_ = 0x07; WriteCHN16x16();

Page_ = 0x04; Column = 0x10; Code_ = 0x08; WriteCHN16x16();

Page_ = 0x04; Column=0x20; Code_ = 0x09; WriteCHN16x16();

Page_=0x04; Column=0x30; Code_ =0x0a; WriteCHN16x16;

Page_=0x04; Column=0x40; Code_=0x0b;

WriteCHN16x16();

Page_=0x04;

Column=0x50; Code_=0x0c; WriteCHN16x16();

Page_ = 0x04; Column = 0x60; Code_ = 0x0d; WriteCHN16x16();

4、技术小结与心得:

(1)关于焊接。在焊接元件前,要先看懂电路原理图;在焊接元件

时,一定要注意与PCB版的电路原理图相结合,最好能对照电路图来焊接相关元件,避免因元件管脚或元件型号弄错而对后面的功能实现产生影响。在焊接时同样要避免产生虚焊或的情况,硬件的正确焊接为以后的软件程序设计及系统功能的实现做好了铺垫。

(2)关于程序设计。还是要注意时刻与单片机硬件的结合,这与第

一部分的实习的要求是一样的。在编写C程序时,要注意是否有实际应用的可能,应当考虑与硬件的结合性。

(3)关于硬件调试和软件整合。在硬件调试时,要分模块调试,首

先要解决各模块端口的地址,这一部分的实习用到8255,涉及控制字地址、PA、PB、PC口地址,所以必须对8255有一定的认识,才能确定它的各个端口地址,而且模块之间有口地址复用的情况,需要改动地址方能整合到一块。在软件整合时,要简化程序,就需要对已编好的各个模块程序进行修改,以便于调用,更能加快程序执行的速度。

搜索更多关于: 单片机原理及应用实习报告 的文档
单片机原理及应用实习报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c14fgq453xk2xzhu2l5h9_4.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top