傻大方


首页 > 学习 >

基于单片机的简易触摸屏手机( 六 )



按关键词阅读:


把上一步的两个配置文件,以及第2步里做出的图片,设计的图标库,以及自制的字库文件都通过SD卡下载到迪文屏上,迪文屏就是通过SD卡的数据进行操作的,按照固定的顺序进行界面测试,有问题的话,重新修改前面的几步,再把自己的主控芯片用串口跟迪文屏连到一起,进行数据联调,看跟自己的要求是否相符,若有问题,再调试主控芯片的程序以及触摸屏的配置文件 。
3.4 RTC实时时钟
3.4.1时钟功能简介
本款迪文触摸屏自带RTC模块,内部已经集成到主控器内,通过用配套的迪文开发组态软件,配置相应的界面和按钮,就能很方便地显示出时间,最多可以显示年,月,日,时,分,秒,星期等信息,而且这七个信息可以任意组合设置,只显示其中的几个信息也是可以的,这样我在每个界面都能显示出时间,因为它是基于变量地址的,并不会局限于只在某一页显示,正好符合我制作简易手机的要求,还有一个好处,只要一次设置了RTC时钟,即使系统掉电,时间信息也不会消失,因为屏上还带了一个备用电池,时间信息可以保存两年,且按照内部的计数一直正常
计时 。当再次上电后,跟真正的时间也是一致的 。
4 软件设计
4.1 Keil软件介绍
Keil软件是ARM公司旗下的一款比较通用的编程软件,Keil软件因为其良好的界面,方便的操作,而且它适用于我们很多常用的单片机,所以它的普及率比较高 。Keil软件有两种版本,一种是用于C51编程的,一种是用于ARM编程的 。Keil软件的使用也是很方便的,如何新建一个工程的步骤很经典,一般都是新建工程,然后选择芯片,接着新建文件,并把新文件添加到工程中,并把工程和文件保存一下,就行了 。
Keil软件还有软件仿真的功能,当程序出现问题时,又没有硬件来调试的时候,就可以使用软件仿真的功能,进行调试 。通过选中debug按钮,就切换到软件仿真功能,仿真里主要有运行,暂停,停止,单步运行,过程单步等几个操作,还能调出寄存器窗口,在单步运行时查看每一步操作后各个寄存器值的变化 。这样可以很方便的发现程序出问题的地方 。
4.2编程总结
1.定义1位的变量时,例如各种标志位flag,养成习惯,用sbit定义,不要用uchar 。
2.52单片机是有三个定时器的,一定要有心 。
3.除法运算(即取模运算)既适用于整数,又适用于小数,而取余运算只能用于整数 。
4.全局变量是一个很重要的概念,它可以起到函数间联系的桥梁作用 。
所以设计人员习惯把全局变量的第一个字母大写,这样可以与函数中的局部变量和形参区分开,就像华哥那样 。
5.SPI:高速同步串行口 。3~4线接口,收发独立、可同步进行 。
6.#define WRST_H,这个语句的作用是起注释说明的作用 。
7.c语言中定义变量时,若未赋初值,系统自动赋初值0(对数值型变量)或空字符(对字符变量) 。
8.用sprintf函数输出两位整数的方法是sprintf(tab2,"%3.0f",(float)temp);还可以用sprintf(tab2,"%d",(int或uint)temp),关键是temp的类型必须是整型,而是uchar就不行 。
9.格式化输出的技巧:%7.2f表示输出格式为一共7列即7位,小数点后是2位 。
10.原来数据是先传高位还是先传低位,直接在芯片手册里就能看到,在最左边的就是第一个要传的数据 。
11.精益求精,持之以恒 。
12.程序最好写流程图 。
13.调试出现错误时,先查硬件!再查软件 。
14.各种时序图,例如18b20的初始化,就好像是密码,只有输入密码正确,你才能操作它 。
15.注意P2口的接口顺序跟另外三个有所不同 。
在汇编语言里,单片机中逻辑非是CPL指令,微机里是not指令 。
16.atmel单片机跟stc单片机的区别:1)P0口是否要接上拉电阻2)前者是用串口下载,后者是用SPI下载 。
17.在程序中位定义跟字节定义是不一样的,例如SCON寄存器中位定义跟字节定义的差别就很大,因为顺序会有问题 。
18.即使是定义了初值的数组,它里面的值也是可以改变的 。
19.想要打印东西的空数组可以这样定义:uchar tab3[2] 。
20.函数尽量都定义为有返回值的,这样便于模块化编程 。
21.其实软件仿真很重要,比如12864的读写时序,即各种其它外围器件的初始化都应该先用keil软件仿真一下,因为在不同的晶振频率下,各条指令的执行时间久不一样了 。
22.单片机一共有16根地址线,所以最大能扩展64K的ROM及RAM 。
23.网上不会有那么多现成的资料,需要靠自己用脑子去思考,通过零碎的资料来逐步推理出自己想得到的东西 。


稿源:(未知)

【傻大方】网址:/a/2021/0402/0021244164.html

标题:基于单片机的简易触摸屏手机( 六 )


上一篇:基于单片机的非接触式IC卡的读写

下一篇:基于单片机电子万年历课程设计