数字文本显示器设计与制作.docx
- 文档编号:447537
- 上传时间:2022-10-10
- 格式:DOCX
- 页数:45
- 大小:1.81MB
数字文本显示器设计与制作.docx
《数字文本显示器设计与制作.docx》由会员分享,可在线阅读,更多相关《数字文本显示器设计与制作.docx(45页珍藏版)》请在冰豆网上搜索。
数字文本显示器设计与制作
1.任务
1.1.描述
1.1.1.组成
数字文本显示器硬件设计是以STM32OPEN407Z-C测试版以及LCD液晶显示屏组成。
Open103ZARM模块主要是由USB电源接口,JTAG接口,复位按钮模块,串行口等组成。
1.1.2.功能
在数字文本显示器系统中,用户启动后,用液晶屏上显示欢迎界面,按用户键进入主界面,然后可以通过摇杆键,输入的任意一一组数字,在屏幕上会显示该数字,并且可以显示该数字的个,十,百,千等位。
最后按复位按钮可以使系统回到初始状态。
1.2.要求
1.2.1.基本要求
①随机输入一组数字,LCD显示该数字,并且该数字的各个位。
②当密码输入其他字符时无法读出该数字。
③完成实验报告,其中包括:
硬件设计,软件设计,调试过程,完成的主要内容,实物照片,任务分工说明。
1.2.2.扩展要求
当输入任意数字时,该系统能够能读出该数字。
1.2.3.分工
总体设计——许多1016407011
硬件设计——杨志明1016407029
软件设计——朱勇1016407020
报告——苏仁阳1016407018
2.方案
2.1.方案设计
使用Keiluvision4软件对STM32OPEN407Z-C测试版编程。
3.设计
3.1.硬件设计
3.1.1原理图
3.1.2LCD液晶屏端口
3.1.3用户按键
3.1.4摇杆键
3.2.软件设计
3.2.1.主要函数说明
(1)函数1
A.函数原型
intmain(void)
{
GPIO_Configuration();
LCD_Initializtion();
LCD_Clear(Blue);
GUI_Chinese(80,40,"苏州大学应用技术学院",White,Blue);
GUI_Text(100,60,"10",White,Blue);
GUI_Chinese(120,60,"信息",White,Blue);
GUI_Chinese(160,60,"第一组",White,Blue);
GUI_Chinese(100,80,"朱勇",White,Blue);
GUI_Chinese(160,80,"杨志明",White,Blue);
GUI_Chinese(100,100,"许多",White,Blue);
GUI_Chinese(160,100,"苏仁阳",White,Blue);
GUI_Chinese(80,160,"请选择输入位数",White,Blue);
sprintf(s1,"%d",n);
GUI_Text(240,160,(uint8_t*)s1,White,Blue);
B.函数实现
实现欢迎界面的显示,结构体的初始化。
(2)函数2
A.函数原型
#include"stm32f10x.h"
#include"LCD/LCD.h"
#include
#ifdef__GNUC__
/*WithGCC/RAISONANCE,smallprintf(optionLDLinker->Libraries->Smallprintf
setto'Yes')calls__io_putchar()*/
#definePUTCHAR_PROTOTYPEint__io_putchar(intch)
#else
#definePUTCHAR_PROTOTYPEintfputc(intch,FILE*f)
#endif/*__GNUC__*/
intn=1;
inta;
intb;
intc;
intd;
inte;
intsum;
intflag=1;
chars1[30];
chars2[30];
/*Privatefunctionprototypes-----------------------------------------------*/
voidGPIO_Configuration(void);
voidUSART_Configuration(void);
voidtran(void);
voidsums(void);
voidap(void);
voidbp(void);
voidcp(void);
voiddp(void);
voidep(void);
voidah(void);
voidbh(void);
voidch(void);
voiddh(void);
voideh(void);
/*******************************************************************************
*FunctionName:
Delay
*Description:
DelayTime
*Input:
-nCount:
DelayTime
*Output:
None
*Return:
None
*Attention:
None
*******************************************************************************/
voidDelay(uint32_tnCount)
{
for(;nCount!
=0;nCount--);
}
voidFLAG()
{
if(!
(GPIOC->IDR&0x0004))
{
flag=flag-1;
if(flag<1)
flag=1;
Delay(0xfffff);
}
if(!
(GPIOA->IDR&0x0001))
{
flag=flag+1;
if(flag>n)
flag=n;
Delay(0xfffff);
}
sprintf(s2,"%d",flag);
GUI_Text(100,60,(uint8_t*)s2,White,Blue);
}
voidap()
{
if((!
(GPIOC->IDR&0X0002))&&(flag==1))
{
a=a+1;
if(a>9)
a=9;
Delay(0xfffff);
}
if((!
(GPIOC->IDR&0X0008))&&(flag==1))
{
a=a-1;
if(a<0)
a=0;
Delay(0xfffff);
}
}
voidbp()
{
if((!
(GPIOC->IDR&0X0002))&&(flag==2))
{
b=b+1;
if(b>9)
b=9;
Delay(0xfffff);
}
if((!
(GPIOC->IDR&0X0008))&&(flag==2))
{
b=b-1;
if(b<0)
b=0;
Delay(0xfffff);
}
}
voidcp()
{
if((!
(GPIOC->IDR&0X0002))&&(flag==3))
{
c=c+1;
if(c>9)
c=9;
Delay(0xfffff);
}
if((!
(GPIOC->IDR&0X0008))&&(flag==3))
{
c=c-1;
if(c<0)
c=0;
Delay(0xfffff);
}
}
voiddp()
{
if((!
(GPIOC->IDR&0X0002))&&(flag==4))
{
d=d+1;
if(d>9)
d=9;
Delay(0xfffff);
}
if((!
(GPIOC->IDR&0X0008))&&(flag==4))
{
d=d-1;
if(d<0)
d=0;
Delay(0xfffff);
}
}
voidep()
{
if((!
(GPIOC->IDR&0X0002))&&(flag==5))
{
e=e+1;
if(e>9)
e=9;
Delay(0xfffff);
}
if((!
(GPIOC->IDR&0X0008))&&(flag==5))
{
e=e-1;
if(e<0)
e=0;
Delay(0xfffff);
}
}
voidah()
{
sprintf(s1,"%d",a);
switch(a)
{
case1:
GUI_Chinese(60,120,"一",White,Blue);break;
case2:
GUI_Chinese(60,120,"二",White,Blue);break;
case3:
GUI_Chinese(60,120,"三",White,Blue);break;
case4:
GUI_Chinese(60,120,"四",White,Blue);break;
case5:
GUI_Chinese(60,120,"五",White,Blue);break;
case6:
GUI_Chinese(60,120,"六",White,Blue);break;
case7:
GUI_Chinese(60,120,"七",White,Blue);break;
case8:
GUI_Chinese(60,120,"八",White,Blue);break;
case9:
GUI_Chinese(60,120,"九",White,Blue);break;
case0:
GUI_Chinese(60,120,"零",White,Blue);break;
}
}
voidbh()
{
sprintf(s1,"%d",b);
switch(b)
{
case1:
GUI_Chinese(100,120,"一",White,Blue);break;
case2:
GUI_Chinese(100,120,"二",White,Blue);break;
case3:
GUI_Chinese(100,120,"三",White,Blue);break;
case4:
GUI_Chinese(100,120,"四",White,Blue);break;
case5:
GUI_Chinese(100,120,"五",White,Blue);break;
case6:
GUI_Chinese(100,120,"六",White,Blue);break;
case7:
GUI_Chinese(100,120,"七",White,Blue);break;
case8:
GUI_Chinese(100,120,"八",White,Blue);break;
case9:
GUI_Chinese(100,120,"九",Whi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 文本 显示器 设计 制作
![提示](https://static.bdocx.com/images/bang_tan.gif)