0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STC15系列单片机与迪文DGUS屏应用(六):单片机程序编写

电子设计 来源:电子设计 作者:电子设计 2020-12-24 17:34 次阅读

相信接触过STC15系列单片机的小伙伴们,应该会对其编程风格比较熟悉,没错,STC15系列单片机可以采用库函数编程,官方提供了标准的函数库,我们只需要利用好库函数,便可大大简化配置流程,从而提高编程效率。由于笔者这里的教程不是关于51单片机的基础教程,所以此处省去了新建工程以及如何添加库文件等操作。

首先,我们要养成良好的习惯,在使用任何一款板子的时候,先建一个配置板载资源的文件,当然要是板子比较复杂的话,可以分模块配置多个,由于笔者使用的板子比较简单,所以就只添加了一个名为“BSP_IO.h”的文件,顾名思义,就是一些输入输出的配置而已了。

接下来,我们来配置一下串口参数,在之前的帖子中我们知道,迪文DGUS屏的串口通信波特率配置的是115200,那么,我们在单片机程序中,自然也要讲串口通信的波特率配置成115200,其他的就不需要修改了:

程序中有需要用到串口定时向触摸屏刷新数据,所以,这里我们也配置一个定时器,并设置起中断频率为1000Hz,即:1ms中断一次。

接下来,我们需要根据板子上的IO分布,来配置一下IO口的输入输出模式,所有输入口均配置成“准双向口”,所有输出口均配置成“强推挽模式”。

另外,程序中也有用到两路0-5V电压的采集,所以此处我们还需要对ADC相关的参数进行配置,本例程中采用的是AD口分别是P10和P11,查询方式获取AD值:

至此,系统配置相关的东西基本就完成了,接下来,我们就需要自己写一些应用相关的函数了,本例中,笔者写了四个函数:

Uart1_Monitor(); //串口1数据监控

Uart1_Send(); //串口1发送指令

ADC_Sampling(); //ADC采样

GIOP_StateRefresh();//GPIO状态刷新

其中,Uart1_Monitor()函数,主要是用对串口中断接收到的数据进行解析,比如:DGUS屏按键返回的指令、参数设置的指令等;Uart1_Send()函数,主要用来定时向DGUS屏写入数据,比如:数据变量显示、图标变量显示等; ADC_Sampling()函数主要是对外部两路0-5V模拟量输入进行采样处理; GIOP_StateRefresh()函数主要是用来实时刷新输入输出口的状态。

审核编辑:符乾江
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6044

    文章

    44633

    浏览量

    639563
  • 程序编写
    +关注

    关注

    1

    文章

    14

    浏览量

    8254
收藏 人收藏

    评论

    相关推荐

    单片机Debug工具性能对比 单片机调试常用命令

    单片机(Microcontroller Unit, MCU)调试是嵌入式开发中的一个重要环节,它帮助开发者发现和修复代码中的错误,优化程序性能。不同的单片机和开发环境可能使用不同的调试工具和命令
    的头像 发表于 12-19 09:56 584次阅读

    单片机编程语言有哪些选择

    单片机(Microcontroller Unit,MCU)编程是指为单片机编写程序的过程,这些程序控制单片机的行为和功能。单片机广泛应用于嵌
    的头像 发表于 11-01 14:13 1105次阅读

    基于51单片机的手动数字时钟

    众多嵌入式控制应用系统提供灵活、高效的解决方案。本设计所使用的芯片可兼容以下所有的51系列单片机(包括AT系列STC系列)。资料内容仿真实
    的头像 发表于 10-22 14:12 309次阅读
    基于51<b class='flag-5'>单片机</b>的手动数字时钟

    单片机怎么写入程序

    程序通常涉及以下几个步骤: 选择单片机和开发环境 : 确定项目需求,选择合适的单片机型号。 安装相应的开发环境,如Keil、IAR、MPLAB等。 硬件连接 : 将单片机连接到开发板或
    的头像 发表于 10-21 11:21 1032次阅读

    单片机的中断机制

    单片机的中断机制是一种重要的处理方式,它允许单片机在执行主程序的过程中,能够暂停当前任务,转而处理外部或内部紧急事件。这种机制极大地提高了系统的响应速度和处理能力,使得单片机在各种应用
    的头像 发表于 10-17 18:03 1078次阅读

    单片机hex文件反编译成C语言的过程

    使用C语言编写,然后编译成机器码并烧录到单片机的存储器中。 Hex文件是一种用于存储单片机程序的文件格式,它包含了程序的机器码和一些附加信息
    的头像 发表于 09-02 10:49 4073次阅读

    keil可以读出单片机程序

    表述存在一定的误解,因为Keil主要是用于编写、编译和调试单片机程序的工具,而不是直接从单片机中读取已编程代码的工具。 一、Keil的主要功能 编程开发 :Keil允许用户使用C语言或
    的头像 发表于 09-02 10:32 1322次阅读

    单片机烧录程序用什么软件

    单片机烧录程序单片机开发过程中的一个重要环节,涉及到将编写好的程序代码通过烧录器写入单片机的R
    的头像 发表于 09-02 10:05 1781次阅读

    单片机烧录程序可以重新烧吗

    单片机(Microcontroller Unit, MCU)是一种集成电路芯片,它将计算机的CPU、存储器、输入/输出接口等集成在一块芯片上,用于控制各种电子设备。单片机烧录程序是指将编写
    的头像 发表于 09-02 10:04 1645次阅读

    单片机烧录程序的线比单片机上的少还能烧录吗

    单片机烧录原理 单片机烧录是指将编写好的程序代码通过一定的方式传输到单片机的存储器中,使其能够按照程序
    的头像 发表于 09-02 09:54 646次阅读

    单片机烧录程序的基本步骤是什么

    单片机烧录程序单片机开发过程中非常重要的一步,它涉及到将编写好的程序代码通过一定的方式传输到单片机
    的头像 发表于 09-02 09:47 1574次阅读

    读懂什么单片机:组成结构与应用

    欢迎来到单片机的世界,这是一种微小(但功能强大)的设备,改变了嵌入式系统的面貌。在本文中,您将了解单片机的一些基本知识、单片机的结构以及微处理器与单片机之间的一些区别。在深入
    的头像 发表于 08-09 11:49 1848次阅读
    一<b class='flag-5'>文</b>读懂什么<b class='flag-5'>单片机</b>:组成结构与应用

    蓝牙模块如何实现单片机和手机端数据互传

    ZX-D30、ZX-D37、ZX-D32等。 蓝牙模块设置 : 将蓝牙模块与单片机连接。通常,蓝牙模块通过串口(UART)与单片机通信。 设置蓝牙模块的工作模式和参数,例如波特率、名称、停止位、数据位等。这通常通过发送特定的AT命令来完成。
    的头像 发表于 07-24 17:59 3001次阅读
    蓝牙模块如何实现<b class='flag-5'>单片机</b>和手机端数据互传

    新手学习单片机最常见的大误区!

    最近看到台私信要资料的同学比较多,想必大家都是对单片机有着浓厚的学习兴趣,但是很多新手开始入门单片机的时候都会遇到一些学习的误区,今天就来整理一下大家可能会遇到的大误区。单片机作为嵌
    的头像 发表于 03-28 08:03 982次阅读
    新手学习<b class='flag-5'>单片机</b>最常见的<b class='flag-5'>六</b>大误区!

    基于单片机多功能洗衣控制

    需注意仿真中51单片机芯片是兼容的,AT89C51,AT89C52是51单片机的具体型号,内核是一样的。相同的原理图里,无论stc还是at都一样,引脚功能都是一样的,程序是兼容的,芯片
    发表于 03-18 10:13 871次阅读
    基于<b class='flag-5'>单片机</b>多功能洗衣<b class='flag-5'>机</b>控制