基于凌阳单片机的电子时钟设计2.docx
- 文档编号:7080639
- 上传时间:2023-01-17
- 格式:DOCX
- 页数:14
- 大小:276.48KB
基于凌阳单片机的电子时钟设计2.docx
《基于凌阳单片机的电子时钟设计2.docx》由会员分享,可在线阅读,更多相关《基于凌阳单片机的电子时钟设计2.docx(14页珍藏版)》请在冰豆网上搜索。
基于凌阳单片机的电子时钟设计2
目录
一摘要2
二引言3
三系统设计5
3.1方案论证5
3.1.1Lcd显示模块5
3.1.2语音模块(A/D)5
3.1.4Led模块5
3.1.5触键唤醒模块6
3.2硬件设计6
3.2.1Lcd的电路7
3.2.2Led电路8
3.2.3按键电路9
3.2.4语音电路(A/D)9
3.2.5电源电路10
3.3软件设计及流程图(主要是主程序及Led部分)11
3.3.1系统主体(main.c)11
3.3.2Led程序:
15
3.3.3语音播报及AD(由刘沭负责)16
3.3.4lcd(由吴大鹏负责)16
四总结及心得体会16
参考文献:
17
一摘要
介绍一下单片机和凌阳61单片机
二引言
电子钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到广泛应用。
随着人们生活环境的不断改善和美化,在许多场合可以看到数字电子钟。
在城市的主要营业场所、车站、码头等公共场所使用LCD数字电子钟已经成为一种时尚。
但目前市场上各式各样的LCD数字电子钟大多数用全硬件电路实现,电路结构复杂,功率损耗大等缺点。
因此有必要对数字电子钟进行改进。
本设计基于单片机技术原理,以SPCE061A单片机作为核心控制器,通过硬件电路的制作以及软件程序的编制,设计制作出一个LCD多功能数字时钟系统。
该时钟系统主要由时钟模块、计时模块、语音播报模块、液晶显示模块、键盘控制模块组成。
系统具有简单清晰的操作界面,能够准确显示时间以及日期,并且实现同步播报功能,可随时进行时间调整。
小组分工:
本小组成员有赵红,王瑞、吴勃庆、王鹏。
组长为赵红,其中小组四人共同设计主框架、搭建硬件电路;王瑞和吴勃庆负责主程序的编写,赵红和王鹏负责Lcd子程序部分以及中断部分;所有组员分工明确,齐心协力共同完成本次课程设计。
三系统设计
3.2硬件设计
试验箱
总体接线
1.1PLCD501模组的硬件平面图
这一模块可以使用lcd或者led数码管来实现。
我组最后选择用lcd液晶显示来显示时间以及日期。
之所以选择lcd来实现,是因为它具有很多优点。
低压微功耗,平板型结构,被动显示型(无眩光,不刺激人眼,不会引起眼睛疲劳)而且显示信息量大(因为像素可以做得很小)无电磁辐射(对人体安全,利于信息保密)。
具体的实现方法是利用C语言的编程(代码见程序system.c)。
下面的硬件设计将详细的介绍lcd的模块的接口电路以及具体的接线方法。
1.2模组的内部设置的点阵图
3.2.1Lcd的电路
这部分的主要接线如下:
IOA8-15接液晶显示模块DB0-DB7
IOB4接液晶显示模块AO
IOB5接液晶显示模块的R/W
IOB6接液晶显示模块的EP
DB0-DB7为双向数据口,AO为数据/使命控制位,R/w为读/写信号,EP是全能端(低电平有效)
要这部分工作时Key接线与IOA低八位相连就可以了。
Lcd模块接口电路
程序下载后会显示日期、时间。
按Key1可以进入时间调整界面。
3.2.3按键电路
按键电路直接与IOA口连接。
其原理图如下:
3.2.5常用功能函数介绍
液晶显示控制类:
LCD501_Init液晶初始化
LCD501_ClrScreen清屏
LCD501_ReverseColor显示翻转
LCD501_SetPaintMode设置图形显示模式
LCD501_GetPaintMode获取当前显示模式
LCD501_FontSet设置文本字体
LCD501_FontGet获取当前文本字体
LCD501_PutChar显示单个字符
LCD501_PutString显示字符串
LCD501_PutPixel画点
LCD501_Line画直线
LCD501_Circle画圆
LCD501_Rectangle画矩形
LCD501_Bitmap位图显示/汉字显示
SPCE061A与SPLC501的接口采用6800并行接口电路,即8位数据总线、1个读写选通端口、1个数据指令选通端口、1个信号使能端口,具体接法如下图:
按键采用凌阳61板上提供的三个按键,接口电路如下:
3.3软件设计及流程图
软件部分由三个部分组成:
主程序部分、2Hz时基中断部分、1KHz时基中断部分,主程序部分主要负责初始化LCD和显示界面,2Hz时基中断部分负责时间的计数,1KHz时基中断部分负责按键的扫描,下面是这三个程序的流程图:
2.2.1程序流程图:
2Hz时基中断
1KHz时基中断
主程序(main.c)由王瑞和吴勃庆负责编写,王鹏和赵红负责LCD以及中断模块
3.3.2Lcd和中断程序:
F_SPLC501_Initial_IO:
//LCD对应IO口设置程序,作用是把Lcd对应的IO口设置为输出
pushr1to[sp]
r1=[P_IO_Data_Di]
r1|=M_IO_DATA_MASK
[P_IO_Data_Di]=r1//设置对应的数据口为输出
r1=[P_IO_Data_A]
r1|=M_IO_DATA_MASK
[P_IO_Data_A]=r1//设置对应的数据口为悬浮输出
r1=[P_IO_Data_B]
r1|=M_IO_DATA_MASK
[P_IO_Data_D]=r1
r1=[P_IO_Ctrl_Di]
r1|=(M_IO_EP+M_IO_AO+M_IO_RW+M_IO_CS)
[P_IO_Ctrl_Di]=r1//设置对应的控制口为输出
r1=[P_IO_Ctrl_A]
r1|=(M_IO_EP+M_IO_AO+M_IO_RW+M_IO_CS)
[P_IO_Ctrl_A]=r1//设置对应的控制口为悬浮输出
r1=[P_IO_Ctrl_B]
r1|=~(M_IO_EP+M_IO_AO+M_IO_RW+M_IO_CS)
[P_IO_Ctrl_D]=r1
popr1from[sp]
retf
F_SPLC501_Write_Com:
//单片机向LCD写指令
pushr2,r3to[sp]//入栈保护
pushr5to[sp]
r2=[P_IO_Ctrl_B]//得到IOB口的状态
r2&=~(M_IO_EP+M_IO_CS)//EP、CS变低电平
[P_IO_Ctrl_B]=r2
r2=[P_IO_Ctrl_B]
r2&=~(M_IO_AO+M_IO_RW)
[P_IO_Ctrl_B]=r2//AO、RW变低电平
.ifdefDATA_PORT_HIGHT
r1=r1lsl4
r1=r1lsl4
.endif
r3=[P_IO_Data_B]
r3&=~M_IO_DATA_MASK
r1&=M_IO_DATA_MASK
r1=r1+r3
[P_IO_Data]=r1//往数据口送数据
nop
r2|=M_IO_EP//EP变高电平
[P_IO_Ctrl]=r2
nop
r2&=~M_IO_EP//EP变低电平
r2|=M_IO_CS//CS变低电平
[P_IO_Ctrl]=r2
popr5from[sp]//出栈
popr2,r3from[sp]
retf
F_SPLC501_Write_Data:
/*单片机向LCD写数据,该函数与F_SPLC501_Write_Com类似只是A0设置为高电平,在此不多加描述*/
voidLCD501_Init(unsignedintInitialData)//初始化LCD,参数为LCD的初始化时显示的数据
{
unsignedinti,j;
F_SPLC501_Initial_IO();//InitialLCDIO
F_SPLC501_Write_Com(M_LCD_ON);//LCDOn
F_SPLC501_Write_Com(M_LCD_POWER_ALL);//设置上电控制模式
F_SPLC501_Write_Com(M_LCD_ELE_VOL);//电量设置模式(显示亮度)
F_SPLC501_Write_Com(0x0012);//指令数据0x0000~0x003f
F_SPLC501_Write_Com(M_LCD_VDD_SET);//V5内部电压调节电阻设置
F_SPLC501_Write_Com(M_LCD_COM_NOR);//Com扫描方式设置
F_SPLC501_Write_Com(M_LCD_SEG_REV);//Segment方向选择
F_SPLC501_Write_Com(M_LCD_ALL_LOW);//全屏点亮/变暗指令
F_SPLC501_Write_Com(M_LCD_ALL_NOR);//正向反向显示控制指令
F_SPLC501_Write_Com(M_LCD_STATIC_OFF);//关闭静态指示器
F_SPLC501_Write_Com(0x0000);//指令数据
F_SPLC501_Write_Com(M_LCD_BEGIN_LINE+0);//设置显示起始行对应RAM
for(i=0;i<8;i++)//往LCD中填充初始化的显示数据
{
F_SPLC501_Write_Com(M_LCD_COL_PAGE+i);
F_SPLC501_Write_Com(M_LCD_COL_LINE_LOW);
F_SPLC501_Write_Com(M_LCD_COL_LINE_HIG);
for(j=0;j<128;j++)
{
F_SPLC501_Write_Data(InitialData);
}
}
CurPaintMode=0;
CurPowerMode=1;
CurLCDSet=8;
CurScroll=0;
CurScrMode=1;
CurASCIIFont=1;
}
voidLCD501_Bitmap(unsignedintx,unsignedinty,unsignedint*word)/*让LCD在指定位置画出位图和文字*/
{
unsignedintuntype,Shift_Num,Read_Back;
inti,j,m,n;
unsignedintx_low,x_hight;
unsignedinty_whide,y_Number,y_Number_8;
Shift_Num=y&0x07;
untype=*(word++);
i=untype>>8;
j=(untype&0xff);
if((x+j)>128||(y+i)>64||y>64)
return;
y=(y>>3)+M_LCD_COL_PAGE;
x=x+4;
y_whide=i>>4;
if(i&0x000f)y_whide+=1;
//test
F_Cover_Initial(i,Shift_Num);
//test
y_Number=i+Shift_Num;
y_Number_8=y_Number;
i=y_Number&0x0f;
y_Number=y_Number>>4;
if(i)y_Number++;
i=i&0x07;
y_Number_8=y_Number_8>>3;
if(i&&y_Number_8!
=8)y_Number_8++;
for(n=0;n { x_low=(x&0x000f);//定位列地址设置的低位指令 x_hight=((x>>4)&0x000f)+0x10;//定位列地址设置的高位指令 x++; for(m=0;m<4;m++)Shift_Data_buf[m]=0; for(m=0;m { F_SPLC501_Write_Com(y+m); F_SPLC501_Write_Com(x_low);//设置初始地址 F_SPLC501_Write_Com(x_hight); Read_Back=F_SPLC501_Read_Data(); untype=m>>1; if(m&0x01) Shift_Buff[3-untype]=Shift_Buff[3-untype]|(Read_Back<<8); else Shift_Buff[3-untype]=Read_Back; } F_Data_Cover(word,Shift_Num,y_Number,(y_whide<<4)); for(m=0;m { F_SPLC501_Write_Com(y+m); F_SPLC501_Write_Com(x_low);//设置初始地址 F_SPLC501_Write_Com(x_hight); untype=m>>1; if(m&0x01) Read_Back=Shift_Data_buf[3-untype]>>8; else Read_Back=Shift_Data_buf[3-untype]; } word=word+y_whide; } } voidLCD501_PutString(intx,inty,unsignedint*string)//让LCD在指定位置显示字符串 { unsignedintx_err=6,y_err=8; if(CurASCIIFont) { x_err=8; y_err=16; } while(*string! =0) { if((x+x_err)>127) { x=0; y=y+y_err; } if(y>63)y=0; LCD501_PutChar(x,y,*string); string++; x+=x_err; } } 四、调试说明 程序开始运行后,会显示两个界面,第一个界面显示出“课程设计计算机接口数字电子时钟”,经过一定的延时,就自动进入第二界面,第二界面将一直持续下去,进入时钟界面,时钟正常计时,当有用户按下KEY1,则进入选择调试模式,循环按KEY1,课选择不同的模式调整,在调试时间参数是可按KEY2来增加参数和KEY3减少参数。 如果在进入第二界面没有按下KEY1键,可以通过按KEY2和KEY3来增加或减少LCD的对比度。 四总结及心得体会 参考文献: 《凌阳16位单片机C语言开发》李晓白北京航空航天大学出版社 《单片机实验与实践教程》夏继强北京航空航天大学出版社,2001 《单片机高级教程》第1版何立民北京航空航天大学出版社,2001 《单片微型计算机原理接口与应用》第1版徐惠民、安德宁北京邮电大学出版社,1996
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 电子 时钟 设计