任务一 制作静态显示广告屏(2)(课件)-《单片机技术及应用》(高教版第四版) 同步精品课堂

2025-08-25
| 24页
| 54人阅读
| 0人下载
精品

内容正文:

任务一 制作静态显示广告屏(2) 单片机技术及应用 同步精品课堂 高等教育出版社第 4 版 1 学会焊接 LCD12864 液晶显示模块电路 掌握绘制 LCD12864 液晶显示模块电路原理图的方法 能够根据需求编写 C51 源程序并编译生成 HEX 文件 完成LCD12864液晶显示模块的仿真调试程序 绘制 LCD12864 液晶显示模块电路原理图 编写 C51 源程序实现文字显示 理解 LCD12864 的地址定位和字模显示原理 调试程序以实现正确的文字显示效果 在信息展示的场景中,静态显示广告屏有着广泛的应用。 今天我们将学习如何使用 LCD12864 液晶显示模块制作一个静态显示广告屏,显示特定的数字、英文和汉字。 任务一 制作静态显示广告屏- 任务实施 ① 启动 Protel DXP 2004,新建一个电路原理图文件,其文件名为 “LCD12864 液晶显示模块电路原理图.SchDoc”。 启动与新建文件 任务一 制作静态显示广告屏- 任务实施 ② 从元件库 “Miscellaneous Connectors.IntLib” 中查找 “Header20” (液晶接口),拖入工作窗口。 ③ 从元件库 “Miscellaneous Devices.IntLib” 中查找 “Res2”(3 个电阻)、“Res Pack”(排阻)、“RPot SM”(滑线变阻器),拖入工作窗口。 ④ 在自制元件库中新建一个元件 “AT89C51”,然后添加到工作窗口中。 元件查找与拖入 任务一 制作静态显示广告屏- 任务实施 ④ 绘制如图所示的电路。 ⑤ 保存该文件。 绘制与保存 任务一 制作静态显示广告屏- 任务实施 ① 根据 LCD12864 液晶显示模块电路原理图选取元件,用万用表测量元件的好坏。 ② 绘制元件布局图,在万能电路板上按布局图依次进行元件的排列、插装。 ③ 按工艺要求焊接元件,背面用直径为 0.5 - 1mm 的导线连接,直到所有的元件连接并焊完为止。 焊接 LCD12864 液晶显示模块电路 - 元件选取、测量、布局与焊接 任务一 制作静态显示广告屏- 任务实施 ① 启动 Keil uVision2,新建一个工程文件 “LCD12864 液晶显示模块.uV2”。 ② 新建一个 C51 源程序文件 “LCD12864 液晶显示模块.C”,根据程序流程图,输入下面的 C51 源程序。 编程 - 启动与新建文件 任务一 制作静态显示广告屏- 任务实施 编程 - 字模数据部分(汉字) uchar code hanzi_ZM[][32] = {     /*-- 文字:壮 --*/     /*-- 新宋体12;此字体下对应的点阵为:宽x高=16x16 --*/     0x00, 0x0F, 0x10, 0x20, 0x20, 0x10, 0x0F, 0x00, 0x00, 0x00, 0x00,  0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x20, 0x18, 0xC7, 0x44, 0x44,  0x44, 0x44, 0xFC, 0x44, 0x44, 0 x44, 0x44, 0x04, 0x00, 0x00,     /*-- 文字:丽 --*/     /*-- 新宋体12;此字体下对应的点阵为:宽x高=16x16 --*/     0x04, 0x04, 0x04, 0x07, 0x04, 0x04, 0x04, 0x04, 0xFF, 0x04, 0x04,  0x04, 0x04, 0x04, 0x04, 0x00,     0x80, 0x84, 0x44, 0x44, 0x24, 0x14, 0x0C, 0x07, 0x0C, 0x14, 0x24,  0x44, 0x44, 0x84, 0x80, 0x00,     // 其他汉字字模数据...}; 任务一 制作静态显示广告屏- 任务实施 编程 - 字模数据部分(数字及英文) uchar code shuzi_ZM[][16] = {     /*-- 文字:1 --*/     /*-- 新宋体12;此字体下对应的点阵为:宽x高 = 8x16 --*/     0x00, 0x10, 0x10, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x3F,  0x20, 0x20, 0x00, 0x00,     /*-- 文字:9 --*/     /*-- 新宋体12;此字体下对应的点阵为:宽x高 = 8x16 --*/     0x00, 0xE0, 0x10, 0x08, 0x08, 0x10, 0xE0, 0x00, 0x00, 0x00, 0x31, 0x22,  0x22, 0x11, 0x0F, 0x00,     // 其他数字和英文字母字模数据...}; 任务一 制作静态显示广告屏- 任务实施 编程 - 延时函数与写数据、写指令函数 void delayms(uint x)  //毫秒延时函数 {     uchar i;     while (x--)         for (i = 0; i < 123; i++); } void writeData(uchar x)  //写数据 {     rs = 1; //数据     wr = 0; //写     P0 = x; //将x写入LCD12864中     _nop_();     E = 1; //使能端有效     _nop_(); E = 0; //使能端无效 } void writeCon(uchar x)  //写指令 {     rs = 0; //指令     wr = 0; //写     P0 = x; //将x写入LCD12864中     _nop_();     E = 1; //使能端有效     _nop_();     E = 0; //使能端无效 } 任务一 制作静态显示广告屏- 任务实施 编程 - 定位函数与清屏函数 void lcd_xy(uchar x, y) //定位 {     if (y < 64) //若列小于64在左半屏显示 {         CS1 = 1; //左半屏片选有效         CS2 = 0; //左半屏片选无效         writeCon(0x40 | y); //写入y地址     }  else  //若列小于64在左半屏显示 {         CS1 = 0; //左半屏片选无效         CS2 = 1; //左半屏片选有效         writeCon(0x40 | (y - 64));     }     writeCon(0xb8 | x); //写入x地址 } void clear() {     uint i, j;     CS1 = CS2 = 1;     for (i = 0; i < 8; i++) //开显示  {         writeCon(0xb8 + i); //页地址         writeCon(0x40); /列地址         for (j = 0; j < 64; j++) {             writeData(0x00); //送数据         }     }} //写入y地址 任务一 制作静态显示广告屏- 任务实施 编程 - 初始化函数 void init12864() //初始化LCD12864  {     RST = 0; //LCD12864复位     delayms(15);     RST = 1;     writeCon(0x3e); //关显示     writeCon(0xb8); //页地址初始化从0页开始     writeCon(0x40); //列地址初始化从列开始     writeCon(0xc0); //显示开始线从第一行开始     writeCon(0x3f); //开显示 } 任务一 制作静态显示广告屏- 任务实施 编程 - 写汉字函数 void writeHZ(uchar x, y, uchar code *p) //写一个汉字16*16  {     uint t = 0;     uchar i, j;     for (i = x; i < x + 2; i++)  //显示一个汉字占两页 {         for (j = y; j < y + 16; j++) //显示一个汉字占16列  {             lcd_xy(i, j); //定位坐标位i页j列             writeData(p[t++]); //输出正常字模数据         } }} 任务一 制作静态显示广告屏- 任务实施 编程 - 写字符函数 void writeAsci(uchar x, y, uchar code *p) //写一个字符8*16   {     uint t = 0;     uchar i, j;     for (i = x; i < x + 2; i++)  {         for (j = y; j < y + 8; j++)  //显示一个字符占8列 {             lcd_xy(i, j);             writeData(p[t++]);         }     }} 任务一 制作静态显示广告屏- 任务实施 编程 - 主函数 void main() {     init12864();     clear();     writeAscii(0, 16, shuzi_ZM[0]);     writeAscii(0, 24, shuzi_ZM[1]);     writeAscii(0, 32, shuzi_ZM[2]);     writeAscii(0, 40, shuzi_ZM[3]);     writeAscii(0, 48, shuzi_ZM[4]);     writeAscii(0, 56, shuzi_ZM[5]);     writeAscii(0, 64, shuzi_ZM[6]);     writeAscii(0, 72, shuzi_ZM[7]);     writeAscii(0, 80, shuzi_ZM[8]);     writeHZ(2, 16, hanzi_ZM[0]);     writeHZ(2, 32, hanzi_ZM[1]);     writeHZ(2, 48, hanzi_ZM[2]);     writeHZ(2, 64, hanzi_ZM[3]);     writeHZ(2, 80, hanzi_ZM[4]);     writeHZ(4, 16, hanzi_ZM[5]);     writeHZ(4, 32, hanzi_ZM[6]);     writeHZ(4, 48, hanzi_ZM[7]);     writeHZ(4, 64, hanzi_ZM[8]);     writeHZ(4, 80, hanzi_ZM[9]);     writeAscii(6, 16, shuzi_ZM[9]);     writeAscii(6, 24, shuzi_ZM[10]);     writeAscii(6, 32, shuzi_ZM[11]);     writeAscii(6, 40, shuzi_ZM[12]);     writeAscii(6, 48, shuzi_ZM[13]);     writeAscii(6, 56, shuzi_ZM[14]);     writeAscii(6, 64, shuzi_ZM[15]);     while (1);} ③ 编译生成 HEX 文件 “LCD12864 液晶显示模块.HEX”。 任务一 制作静态显示广告屏- 任务实施 仿真调试程序 ① 启动仿真软件 Proteus 7.4,新建一个仿真文件 “LCD12864 液晶显示模块.DSN”。 ② 单击元件选择按钮 “P”,从元件库中选择需要的元件:排阻 (RP1) 1 个、液晶显示模块 (LCD12864) 1 个、电位器 (RV2) 1 个和单片机芯片 (AT89C51) 1 块。 ③ 根据电路原理图绘制仿真电路图 (省略复位和时钟电路),添加电源 (VCC) 和地端,修改元件标号和标称值。 ④ 双击芯片 AT89C51,在弹出的对话框中加载 HEX 文件 (LCD12864 液晶显示模块.HEX),修改时钟频率为 12 MHz。 任务一 制作静态显示广告屏- 任务实施 仿真调试程序 ⑤ 单击仿真按钮,观察仿真效果,如图所示。 ⑥ 按 Ctrl + S 组合键保存文件。 随堂检测1 在绘制 LCD12864 液晶显示模块电路原理图时,从哪个元件库中 查找 “Header20” 元件? 答案:从元件库 “Miscellaneous Connectors.IntLib” 中查找。 在编程中,延时函数 delayms 的作用是什么? 答案:实现毫秒级的延时。 随堂检测2 在仿真调试程序时,需要选择哪些元件? 答案:需要选择排阻 (RP1) 1 个、液晶显示模块 (LCD12864) 1 个、电位器 (RV2) 1 个和单片机芯片 (AT89C51) 1 块。 在写汉字函数 writeHZ 中,一个汉字显示占多少页和多少列? 答案:一个汉字显示占 2 页和 16 列。 1 介绍如何对静态显示广告屏进行改进,实现动态显示效果,如文字滚动、闪烁等。 1. 绘制 LCD12864 液晶显示模块电路原理图 任务一 制作静态显示广告屏(2) 2. 焊接 LCD12864 液晶显示模块电路 启动与新建文件 查找与拖入元件 绘制电路 保存文件 绘制思路 字模数据部分 延时函数与写数据、写指令函数 定位函数与清屏函数 初始化函数 写汉字和写字符函数 主函数 编译生成 HEX 文件 3. 搭接电路 4. 绘制程序流程图 5. 编程 6. 仿真调试程序 感谢观看 24 $$

资源预览图

任务一 制作静态显示广告屏(2)(课件)-《单片机技术及应用》(高教版第四版) 同步精品课堂
1
任务一 制作静态显示广告屏(2)(课件)-《单片机技术及应用》(高教版第四版) 同步精品课堂
2
任务一 制作静态显示广告屏(2)(课件)-《单片机技术及应用》(高教版第四版) 同步精品课堂
3
任务一 制作静态显示广告屏(2)(课件)-《单片机技术及应用》(高教版第四版) 同步精品课堂
4
任务一 制作静态显示广告屏(2)(课件)-《单片机技术及应用》(高教版第四版) 同步精品课堂
5
任务一 制作静态显示广告屏(2)(课件)-《单片机技术及应用》(高教版第四版) 同步精品课堂
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。