公交车自动报站系统毕业论文(DOC) 下载本文

武汉大学珞珈学院本科毕业论文

参考文献

[1] 杨素行 模拟电子技术基础简明教程 第三版 高等教育出版社 2006.5. [2] 阎石 数字电子技术基础 第五版 高等教育出版社2006.5.

[3] 陈忠平,曹巧暖 单片机原理及接口 第二版 北京:清华大学出版社,2011.5. [4] 董尚斌 电子线路(Ⅱ) 清华大学出版社 2008.10.

[5] 于敬芬:基于AT89S52和TLC0834的数据采集系统[J],中国水运(学术版),2006. [6] 张毅刚,彭喜元,姜守达.新编MCS-51单片机应用设计[M].第2版.哈尔滨:哈尔滨工业大学出版社,2006.

[7] 楼苗然.51系列单片机[M].北京:北京航空航天大学出版社,2003. [8] 康华光主编.电子技术基础[M].第四版.北京:高等教育出版社,1999.

[9] 李华.MCS-51系列单片机实用接口技术[M].北京:北京航空航天大学出版社,2003. [10]韦丽华.微机控制的公共汽车自动报站系统[J].辽宁工学院学报,2002.

1

武汉大学珞珈学院本科毕业论文

附 录

程序清单:

#include #define uint unsigned int #define uchar unsigned char sbit p2_3=P2^3; sbit p2_4=P2^4;

uchar code table[][]={

} void init() { ss=0; CS=1; p2_0=1; p2_1=1; p2_2=1; wr_com(0x30); delay(1); wr_com(0x30); delay(1); wr_com(0X0c); delay(1); wr_com(0x08); delay(1); wr_com(0x01); delay(15);

wr_com(0x06);

“珞珈学院 ”, “电子信息科学系 ”, “电子信息工程3班 ”, “设计:熊鹏 ”, “指导教师:李婧 ”

//功能设定指令

//功能设定指令

//去游标

//显示开指令

//清屏指令

//进入设定点指令

2

武汉大学珞珈学院本科毕业论文

}

void wr_com(uchar com) { }

void wr_data(uchar date) { }

void display(num) //写站名 {

uchar num1;

for(num1=0;num1<8;num1++) {

wr_date(table[num][num1]); delay(20); }

在该程序中编写了,该字符段在显示器中显示的过程。首先num=1,则字符段为珞珈学院。随着num的不同,则选择显示的字符段也不同。

3

//写指令

p2_3=0; P0=com; delay(5); p2_4=1; delay(5); p2_4=0;

//写数据

p2_3=1; P0=date; delay(5); p2_4=1; delay(5); p2_4=0;

武汉大学珞珈学院本科毕业论文

键盘扫描程序:

* 函数名 : KeyDown * 函数功能

: 检测有按键按下并读取键值

* 输入 : 无 * 输出 : 无

****************************************************************************/

void KeyDown(void) {

char a=0; GPIO_KEY=0x0f;

if(GPIO_KEY!=0x0f)//读取按键是否按下 {

Delay10ms();//延时10ms进行消抖

if(GPIO_KEY!=0x0f)//再次检测键盘是否按下 {

GPIO_KEY=0X0F; //测试列 switch(GPIO_KEY) { }

GPIO_KEY=0XF0; switch(GPIO_KEY) { }

while((a<50)&&(GPIO_KEY!=0xf0))//按键松手检测 {

Delay10ms();

4

case(0X07): case(0X0b): case(0X0e):

KeyValue=0;break; KeyValue=1;break; KeyValue=3;break;

case(0X0d): KeyValue=2;break;

//测试行

case(0X70): case(0Xb0): case(0Xe0):

KeyValue=KeyValue;break; KeyValue=KeyValue+4;break; KeyValue=KeyValue+12;break;

case(0Xd0): KeyValue=KeyValue+8;break;