- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
                        查看更多
                        
                    
                湖南大学电气与信息工程学院
本科生课程设计
题   目:  仿汽车自动报站系统
课   程: 单片机课程设计
专   业: 电气工程及其自动化	
班   级: 1109班
学   号: 20110704115 
姓   名: 易伟浪  
指导 老师:  王 亚
设计 时间:    2014年5月15日~5月26日
目录
一、任务及设计要求(课题要求)	1
1、任务	1
2、要求	1
二、系统原理框图(框架图)	1
1、LCD显示	2
2、蜂鸣器	2
3、按键输入	3
四:程序(含全部源程序及详细注释,主要的程序流程图)	4
1、主函数	4
2、蜂鸣器头文件	12
3、LCD头文件	13
4、LCD文件	14
5、字模头文件	22
6、键盘扫描文件	37
五、使用说明书(含功能描述及具体的操作指南)	42
六、心得体会	42
七、参考文献(教材、论文、相关书籍等)	43
八、教师评语(此处空两行,留待教师批阅)	43
一、任务及设计要求(课题要求)
1、任务
模拟设计制作一个公共汽车自动报站器,用LCD显示站名
2、要求
1)公共汽车全程设置若干停靠站,当汽车到达某站时,按键显示“*站到了,请乘客下车”,系统处于等待状态,一旦检测到汽车启动信号,LCD提示“车开了,乘客请买票,下一站**”
2)利用按键模拟汽车到站、启动、开门和关门等信号
3)利用LCD显示提示信息
4)利用蜂鸣器发出不同提示音配合当前状态
5)显示北京时间,可调整
6)在两站之间,可增添显示内容,例如:尊老爱幼,文明用语,注意安全等
二、系统原理框图(框架图)
三、硬件原理图
1、LCD显示
关键网络名和引脚名解释: 
(1)DISCTRL0~4:显示控制信号。
(2)D0~D7、DB0~DB7:数据总线。
(3)E:LCD使能信号。
(4)RS:数据、指令选择信号。
(5)RW:读、写选择信号。
(6)CS1、CS2:LCD12864由两部分组成,CS1和CS2为选择信号。
板上接口4的上排位LCD12864的接口,下排位LCD1602的接口,排针和排母左对齐插入。切勿插错。
2、蜂鸣器
本设计中采用无源电磁式蜂鸣器,蜂鸣器由PWM1(P2.6)控制。PWM1和PWM0均为片内PWM模块的输出。蜂鸣器和红外LED的驱动均采用普通NPN三极管。
插针配置: 
(1)若要使用蜂鸣器,可以接通插针3,为减少功耗,不用请断开。
3、按键输入
由于P1口(用于行扫描)内部无上拉电阻,为使无键按下时行信号为高电平,故将行信号接上拉电阻,电阻大小10K即可。
引脚复用:
P2.0~P2.3为4X4矩阵式键盘列扫描信号,又复用作步进电机控制信号,SPI信号、P2.1~P2.3还复用为数码管第5、6、7位位码控制信号。参与复用的一项功能使用时,其他参与复用的功能则不能使用。
插针配置: 
(1)插针10上面两脚接跳线帽,4X4矩阵式键盘输入,行扫描信号为P1.0~P1.3,列扫描信号为P2.0~2.3。
(2)插针10下面两脚接跳线帽,独立按键输入,该模式有4个独立按键可用,按键扫描所用端口为P1.0~P1.3。这4个按键为4X4矩阵键盘的左边4个按键。
四:程序(含全部源程序及详细注释,主要的程序流程图)
1、主函数
主函数流程图
主函数代码
#include ADUC848.H
#include LCD12864.H
#include bee.h
#define  station_all 10
unsigned char key=0xff;
unsigned char hour,minute,second;
unsigned long tt;          //进入定时器T1中断次数
unsigned char i=0 ,j =0;
unsigned char code station[][10]=
{
	{科教新村},{天马公寓},{天马山东},{湖南大学},{岳麓山南},{湖南师大},
	{二里半},{湖南师大},{市四医院},{五一广场}
};
void song()
{
	TH0	= Timer0_High;
	TL0 = Timer0_Low;
	TR0 = 1;
	delay1(time);	
}
void bee_init()               //蜂鸣器和显示时间的初始化函数
{ 
	TMOD = 0x11;                    //置T0,T1定时工作方式1
	ET0 = 1;                         //开T0中断
	EA = 1;
}
void time_init()
{
	TMOD=0x11;
	ET1=1;				//开定时器T1中断
	EA=1;
	TH1=(65536-12580)/
                 原创力文档
原创力文档 
                        

文档评论(0)