基于单片机的交通控制系统源程序.doc

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
/********************************************** 文件名:基于单片机的交通控制系统 作 者:风雪子郁 时 间: 2012/11/22 邮 箱:fxziyu@ 地 址:四川信息职业技术学院(雪峰校区) **********************************************/ /************************** 液晶显示函数源程序 **************************/ #include intrins.h #define LCD_databus P0 //LCD8 位数据口 sbit RS=P2^2; //RS 为0 命令;1 数据 sbit RW=P2^1; //RW 为1--写;0--读 sbit EN=P2^0; //使能端 sbit CS1=P2^4; //片选1 低电平有效,控制左半屏 sbit CS2=P2^3; //片选1 低电平有效,控制右半屏控制右半屏 unsigned char num; void Delay(unsigned int t) { unsigned int i,j; for(i=0;it;i++) for(j=0;j110;j++); } void Read_busy()//读“忙”函数数据线的最高位DB71 则busy { P0=0x00; RS=0; RW=1; EN=1; while(P0 0x80); EN=0; } void write_LCD_command(unsigned char value) { Read_busy();//每次读写都要忙判断 RS=0; //选择命令 RW=0; //读操作 LCD_databus=value; EN=1; //EN 由10 锁存有效数据 _nop_(); _nop_(); EN=0; } void write_LCD_data(unsigned char value)//写数据函数 { Read_busy(); RS=1; //选择数据 RW=0; LCD_databus=value; EN=1; //EN 由10 锁存有效数据 _nop_(); _nop_(); EN=0; } void Set_page(unsigned char page)//设置“页”LCD12864 共8 页,一页是8 行点阵点 { page=0xb8|page; //页的首地址为0xB8 write_LCD_command(page); } void Set_line(unsigned char startline) //设置显示的起始行 { startline=0xC0|startline; //起始行地址为0xC0 write_LCD_command(startline); //设置从哪行开始:共0--63;一般从0 行开始显示 } void Set_column(unsigned char column) //设置显示的列 { column=column 0x3f; //列的最大值为64 column= 0x40|column; //列的首地址为0x40 write_LCD_command(column);//列位置 } void SetOnOff(unsigned char onoff) //显示开关函数:0x3E 是关显示,0x3F 是开显示 { onoff=0x3e|onoff; //0011 111x,onoff只能为0 或者1 write_LCD_command(onoff); } void SelectScreen(unsigned char screen) //选屏 { switch(screen) { case 0: CS1=0;CS2=0;break; //全屏 case 1: CS1=0;CS2=1;break;//左半屏 case 2: CS1=1;CS2=0;break;//右半屏 default:break; } } void ClearScreen(unsigned char screen) //清屏 { unsigned char i,j; SelectScreen(screen); for(i=0;i8;i++)//控制页数0-7,共8 页 { Set_page(i); Set_column(0); for(j=0;j64;j++) //控制列数0-63,共64 列 { write_LCD_data(0x00); //写入0,地址指针自加1 } } } void InitLCD()

文档评论(0)

2749166188 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档