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