




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/ICC-AVR application builder : 2015-7-3 10:21:56/ Target : M128/ Crystal: 1.0000Mhz/* 目 的: 建立液晶4x8c使用示例目标系统: 基于AVR单片机 应用软件: ICCAVR 版本更新记录:-实验内容:通过串行控制使液晶OCM4X8C显示字符图像-硬件连接:PD.0-CS / RSPD.1-SID / R/WPD.2-SCLK / EPD.3-PSBPD.4-RST-注意事项: 详见说明书-*/#include #include #define uint unsigned int#define uchar unsigned char#define x1 0x80#define x2 0x88#define y 0x80#define comm 0#define dat 1#define CS_ON setb(PORTD,0)#define CS_OFF clr(PORTD,0)#define STD_ON setb(PORTD,1)#define STD_OFF clr(PORTD,1)#define SCLK_ON setb(PORTD,2)#define SCLK_OFF clr(PORTD,2)/H=并口; L=串口;#define PSB_ON setb(PORTD,3)#define PSB_OFF clr(PORTD,3)/Reset Signal 低电平有效#define RST_ON setb(PORTD,4)#define RST_OFF clr(PORTD,4)#define TURE 1extern char buffer107;void wr_lcd (uchar dat_comm,uchar content);void delay (uint us); #pragma data:datauchar table_1 = 锄禾日当午 汗滴禾下土 谁知盘中餐 粒粒皆辛苦 ;uchar table_0 = 鹅鹅鹅 曲项向天歌 白毛浮绿水 红掌拨青波 ; uchar const table_212 = 0123456789: ;uchar Year_=年;uchar Week_=星;uchar Week1_=期; uchar Month_=月;uchar Day_=日;uchar Hour_=时;uchar Minute_=分;uchar Second_=秒;uchar Regulate_=调;/调节uchar ding_=定;uchar shi_=时;uchar kai_=开;uchar guan_=关;uchar over_=完;uchar one_=一;uchar two_=二;uchar three_=三;uchar fore_=四;uchar five_=五;uchar six_=六;uchar seven_=日;uchar wen_=温;uchar du_=度;uchar dian_=.;uchar shes_=;uchar maohao_=:;/*-*/void delay (uint us) /delay time while(us-);void delay1 (uint ms) uint i,j; for(i=0;ims;i+) for(j=0;j15;j+) delay(1);/*-初始化-*/void init_lcd (void) RST_ON;/rst=1; PSB_OFF;/psb=0; wr_lcd (comm,0x30); /*30-基本指令动作*/ wr_lcd (comm,0x01); /*清屏,地址指针指向00H*/ delay (100); wr_lcd (comm,0x06); /*光标的移动方向*/ wr_lcd (comm,0x0c); /*开显示,关游标*/*-显示汉字或字符-*/void chn_disp (uchar *chn) uchar i,j; wr_lcd (comm,0x30); wr_lcd (comm,0x80); for (j=0;j4;j+) for (i=0;i16;i+) wr_lcd (dat,chnj*16+i); /*-上半屏显示汉字或字符-*/*void chn_disp1 (uchar *chn) uchar i,j; wr_lcd (comm,0x30); wr_lcd (comm,0x80); j=0; for (i=0;i16;i+) wr_lcd (dat,chnj*16+i); wr_lcd (comm,0x90); j=1; for (i=0;i16;i+) wr_lcd (dat,chnj*16+i);/-显示图形-void img_disp (uchar *img) uchar i,j; for(j=0;j32;j+) for(i=0;i8;i+) wr_lcd (comm,0x34); wr_lcd (comm,y+j); wr_lcd (comm,x1+i); wr_lcd (comm,0x30); wr_lcd (dat,imgj*16+i*2); wr_lcd (dat,imgj*16+i*2+1); for(j=32;j64;j+) for(i=0;i8;i+) wr_lcd (comm,0x34); wr_lcd (comm,y+j-32); wr_lcd (comm,x2+i); wr_lcd (comm,0x30); wr_lcd (dat,imgj*16+i*2); wr_lcd (dat,imgj*16+i*2+1); wr_lcd (comm,0x36);/-下半屏显示图形-void img_disp1 (uchar *img) uchar i,j; for(j=0;j32;j+) for(i=0;i8;i+) wr_lcd (comm,0x34); wr_lcd (comm,y+j); wr_lcd (comm,x2+i); wr_lcd (comm,0x30); wr_lcd (dat,imgj*16+i*2); wr_lcd (dat,imgj*16+i*2+1); wr_lcd (comm,0x36);*/-显示点阵-void lat_disp (uchar data1,uchar data2) uchar i,j,k,x; x=x1; for(k=0;k2;k+) for(j=0;j16;j+) for(i=0;i8;i+) wr_lcd (comm,0x34); wr_lcd (comm,y+j*2); wr_lcd (comm,x+i); wr_lcd (comm,0x30); wr_lcd (dat,data1); wr_lcd (dat,data1); for(i=0;i8;i+) wr_lcd (comm,0x34); wr_lcd (comm,y+j*2+1); wr_lcd (comm,x+i); wr_lcd (comm,0x30); wr_lcd (dat,data2); wr_lcd (dat,data2); x=x2; wr_lcd (comm,0x36);/*-*/当data1=0xff,data2=0xff时,在x0,y0处反白显示16xl*yl.void con_disp (uchar data1,uchar data2,uchar x0,uchar y0,uchar xl,uchar yl) uchar i,j; for(j=0;jyl;j+) for(i=0;ixl;i+) wr_lcd (comm,0x34); wr_lcd (comm,y0+j); wr_lcd (comm,x0+i); wr_lcd (comm,0x30); wr_lcd (dat,data1); wr_lcd (dat,data2); wr_lcd (comm,0x36);/-任意位置显示汉字;或显示字符(只能在双数列)/ 说明:显示汉字或字符/ 入口参数:*chn带显示字符数组/ HANG1显示的位置/ MOUNT1显示字符的个数void chn_disp_RY (char *chn,uchar HANG1,uchar MOUNT1) uchar i,j; wr_lcd (comm,0x30); wr_lcd (comm,HANG1); j=0; for (i=0;i=4; BCD0=BCD0+0x30; BCD1&=0x0f; BCD1=BCD1+0x30; /写入显示数据地址 wr_lcd (comm,0x30); wr_lcd (comm,WZ); /如果FH不等于0,先显示前导符号 if(FH!=0) wr_lcd (dat,FH); /显示数据 wr_lcd (dat,BCD0); wr_lcd (dat,BCD1); /-任意位置显示2位数字、符号或1个汉字/ 说明:显示2位的数据/ 入口参数:FH如果FH=0,则说明显示的位置是16的整数倍/ 如果FH不等于0,则说明显示的位置不是16的整数倍,需要在前加入半位的符号,FH代表将要加入符号的编码/ WZ待显示数据位置/ SZ待显示的数据void fh2_disp(uchar WZ,uchar SZ0,uchar SZ1)/写入显示数据地址wr_lcd (comm,0x30);wr_lcd (comm,WZ);/显示数据wr_lcd (dat,SZ0);wr_lcd (dat,SZ1);/*-清DDRAM-*/void clrram (void) wr_lcd (comm,0x30); wr_lcd (comm,0x01); delay (180);/*-*/void wr_lcd (uchar dat_comm,uchar content) uchar a,i,j; delay (50); a=content; CS_ON;/cs=1; SCLK_OFF;/sclk=0; STD_ON;/std=1; for(i=0;i5;i+) SCLK_ON;/sclk=1; SCLK_OFF;/sclk=0; STD_OFF;/std=0; SCLK_ON;/sclk=1; SCLK_OFF;/sclk=0; if(dat_comm) STD_ON;/ std=1; /data else STD_OFF;/ std=0; /command SCLK_ON;/sclk=1; SCLK_OFF;/sclk=0; STD_OFF;/std=0; SCLK_ON;/sclk=1; SCLK_OFF;/sclk=0; for(j=0;j2;j+) for(i=0;i4;i+) if(a&0x80)=0x80) STD_ON;/ std=1; /data else STD_OFF;/ std=0; /commanda=a1; /std=CY; SCLK_ON;/sclk=1; SCLK_OFF;/sclk=0; STD_OFF;/std=0; for(i=0;i4)&0x00ff;r=(p&= 0x000f)*625; lat_disp (0x00,0x00); wr_lcd (comm,0x30); wr_lcd (comm,0x98);/第四行显示 chn_disp_RY(wen_,0x98,2); chn_disp_RY(du_,0x99,2); chn_disp_RY(maohao_,0x9a,1); /wr_lcd (dat,table_2v/1000); /wr_lcd (dat,table_2v/100); wr_lcd (dat,table_2q/10%10 ); wr_lcd (dat,table_2q%10); /chn_disp_RY(dian_,0x9e,2); chn_disp_RY(shes_,0x9c,2); /wr_lcd (dat,table_2(v/10)%10); /wr_lcd (dat,table_2v%10);/时间设定/void Tiaozi(char v) / clrram(); lat_disp (0x00,0x00); wr_lcd (comm,0x30); delay1 (800); wr_lcd (comm,0x80);/第一行显示 秒,分,时,日,月,星期,年 chn_disp_RY(Regulate_,0x80,2);/显示调_ :_ _ fh2_disp(0x82,table_210,table_211); delay1 (800); if(v=0x00) chn_disp_RY(Second_,0x81,2);/单独显示汉字 if(v=0x01) chn_disp_RY(Minute_,0x81,2);if(v=0x02) chn_disp_RY(Hour_,0x81,2); if(v=0x03) chn_disp_RY(Day_,0x81,2); if(v=0x04) chn_disp_RY(Month_,0x81,2);if(v=0x05) chn_disp_RY(Week_,0x81,2); if(v=0x06) chn_disp_RY(Year_,0x81,2); if(v=0x07) chn_disp_RY(over_,0x81,2); delay1 (8000);void Tiaoshu(int v) fh2_disp(0x83,table_2v/10,table_2v%10);/定时设定/void Dingshi(char v) /clrram(); lat_disp (0x00,0x00); wr_lcd (comm,0x30); delay1 (8000); wr_lcd (comm,0x80);/第一行显示 秒,分,时,日,月,星期,年 chn_disp_RY(Regulate_,0x80,2);/显示调_ :_ _
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版招投标投标担保合同解除条件及法律后果
- 2025年度智能设备采购与管理规范合同
- 2025年度智能硬件开发与应用合伙协议
- 新能源微电网稳定性控制与新能源发电系统谐波治理报告
- 2025电子商务平台会员管理与基础应用服务协议
- 2025版离婚房屋下载全新协议范本
- 2025年智能停车场车位销售及管理服务合同范本
- 2025版商场内快闪店场地租赁与推广合作合同
- 2025版图书售后服务与客户保障合同范本
- 2025年度水利工程专用土工布采购及施工服务合同
- 八年级下册美术提纲
- 内部准驾证管理办法
- 2023年单螺杆泵的结构设计与性能分析全套图纸
- 无创正压通气护理
- GB/T 20481-2017气象干旱等级
- 风电发电机组电控系统知识-安全链部分课件
- 医疗质量管理工具课件
- 急性上呼吸道感染病人的护理
- 小学教师量化考核表
- 房建监理平行检查记录表格模板(参考版)
- 计算机操作系统(第四版)-汤小丹-课后习题答案
评论
0/150
提交评论