8C单片机的系统扩展m概论.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
8C单片机的系统扩展m概论

*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;选通I/O输入(A口);选通I/O输出(A口);*;*;*;8155基本输出应用:交通灯控制 8155定时器应用:分频器;;;#includereg51.h #includeintrins.h #includeabsacc.h #define uchar unsigned char #define uint unsigned int #define com8155 XBYTE[0x7f00] #define light XBYTE[0x7f01] void delay(uchar N) {uint j; while(N--) for(j=0;j5000;j++) _nop_();};*;void main(void) {uchar i; SP=0x60;com8155=0x01; light=0x11; delay(5); //点亮所有红灯 while(1) {light=0x14; delay(88); //东西绿灯亮,南北红灯亮 for(i=0;i5;i++) //东西黄灯闪烁5次,南北红灯亮 {light=0x12;delay(4); light=0x10;delay(4); } light=0x41; delay(88); //东西红灯亮,南北绿灯亮 for(i=0;i5;i++) //东西红灯亮,南北黄灯闪烁 {light=0x21;delay(4);light=0x01;delay(4);}}};*;*;*;CGRAM可定义8个字形 ;*;序号;清屏:DDRAM全写空格,光标回到屏幕左上角,地址计数???清0 (01H); 光标归位:光标回到屏幕左上角; 输入模式设置:I/D光标移动方向;S全部屏幕。 I/D S 0 0,光标左移一格且地址计数器减1 0 1,屏幕内容全部右移一格,光标不动 1 0,光标右移一格且地址计数器加1(06H) 1 1,屏幕内容全部左移一格,光标不动 显示与不显示设置:D、C、D分别为字符显示、光标显示、光标闪烁 开关。 DCB=111,显示字符和光标,光标闪烁(0FH) 光标或屏幕内容移位选择:S/C屏幕内容/光标移动选择,0移动光标, 1移动屏幕内容;R/L移动方向选择,0左移,1右移。 S/C R/L=01,右移光标 功能设置:DL数据接口位数选择,0为4位,1为8位;N单/双行显示选 择,0单行,1双行;F点阵选择,0为5*7点阵,1为5*10点阵。 DL N F=110,8位数据,两行,5*7点阵(38H);#includereg51.h #includeintrins.h #define uchar unsigned char #define LCD_D P3 sbit RS=P2^5; sbit RW=P2^6; sbit E=P2^7; char code tab1[]={W,E,L,C,O,M,E,0x00}; char code tab2[]={Y,O,U,0x00};;void delay(uchar N) {uchar i; while(N--) for(i=0;i250;i++);} void write_cmd(uchar cmd)// 写指令 {LCD_D=cmd;RS=0;RW=0;E=0;delay(15);E=1;} void write_byte(uchar dat)//写字节 {LCD_D=dat;RS=1;RW=0;E=0;delay(15);E=1;};void main() {uchar i;SP=0x70;E=1; write_cmd(0x01); //清屏 write_cmd(0x38); //功能设置: 8位数据,两行,5*7点阵 write_cmd(0x0F); //显示设置:开显示和光标,光标闪烁 write_cmd(0x06); //输入模式设置:光标右移1格且地址计数器加1 i=0;write_cmd(0x80); //DDRAM地址设置:00H,即第一行1列 while(tab1[i]!=0x00) {write_byte(tab1[i]);i++;} i=0; write_cmd(0xC0);//DDRAM地址设置:40H,即第二行1列 while(tab2[i]!=0x00) {write_byte(tab2[i]);i++;} while(1);};* LCD12864应用举例 ;名称;指令名称; 设计要求:;Tabx[i] 送左屏KS0108 i++,j--;主程序流程图;uchar code t

文档评论(0)

骨干 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档