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()函数主要是用来实时刷新输入输出口的状态。

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

    关注

    6002

    文章

    43982

    浏览量

    620907
  • 程序编写
    +关注

    关注

    1

    文章

    14

    浏览量

    8152
收藏 人收藏

    评论

    相关推荐

    STC15系列单片机器件手册

    STC8位单片机 ---超强抗干扰,无法解密 -采用STC第八代加密技术 ---不需要外部晶振和外部复位的单片机 ---可省掉外部EEPROM,利用IAP技术
    发表于 11-28 15:09 10次下载

    STC15W系列开发板--兼容51单片机开发板--转换座(PCB源文件)

    该文件用于STC单片机旧开发板,用来使用stc15-------stc32G12K128可以直接去华秋打板,这样以前的旧开发板可以用来学习32位最新单片机,例如
    发表于 11-21 10:25 0次下载

    STC15F2K60S2单片机内部EEPROM读写操作的介绍

    STC15系列单片机内部集成了大容量的EEPROM,其与程序空间是分开的。
    的头像 发表于 11-08 17:41 1057次阅读
    <b class='flag-5'>STC15</b>F2K60S2<b class='flag-5'>单片机</b>内部EEPROM读写操作的介绍

    用汇编语言怎么给STC15单片机写一个计数程序

    用汇编语言怎么给STC15单片机写一个计数程序,既从P3.3口输入50个脉冲,脉冲宽度不定,有长有短,在P3.4口输出一个脉冲,那位大神帮忙设计写一个程序
    发表于 10-31 06:11

    stc15单片机官方ADC例程,代码烧进去串口全是乱码是怎么回事?

    代码烧进去串口全是乱码???波特率改成单片机 的11.0592也是乱码,stc15f2k60s2
    发表于 10-28 06:39

    STC单片机如何加密代码?

    STC单片机如何加密代码啊
    发表于 10-20 07:23

    51单片机轻松入门一基于STC15W4K系列

    电子发烧友网站提供《51单片机轻松入门一基于STC15W4K系列.rar》资料免费下载
    发表于 10-09 15:56 13次下载
    51<b class='flag-5'>单片机</b>轻松入门一基于<b class='flag-5'>STC15</b>W4K<b class='flag-5'>系列</b>

    单片机DGUS通信例程之界面源文件

    资料简介:该源码是基于DGUSSTC15系列单片机
    发表于 10-09 08:56

    基于DGUSSTC15系列单片机通信实战例程

    资料简介:该源码是基于DGUSSTC15系列单片机
    发表于 10-09 07:43

    请问avr程序如何移植到STC单片机?

    avr程序如何移植到STC单片机?
    发表于 10-08 08:38

    STC15F204EA系列单片机器件手册

    STC15F204EA系列单片机STC生产的单时钟/机器周期(IT)的单片机,是高速/高可靠/低功耗/超强抗干扰的新一代8051
    发表于 09-28 07:10

    STC8系列单片机技术参考手册

    STC8 系列单片机是不需要外部晶振和外部复位的单片机,是以超强抗干扰/超低价/高速/低功耗为目标的 8051 单片机,在相同的工作频率下,
    发表于 09-26 07:36

    STC15W408AS单片机比较器的相关寄存器

    STC15W408AS单片机内置比较器功能。的比较器内部规划如下图所示。
    发表于 06-23 11:31 1180次阅读
    <b class='flag-5'>STC15</b>W408AS<b class='flag-5'>单片机</b>比较器的相关寄存器

    STC15W408AS单片机A/D转换器的结构和相关寄存器

    STC15系列单片机内部集成了8路10位高速A/D转换器。STC15系列单片机的A/D转换口在P
    发表于 06-16 10:08 736次阅读
    <b class='flag-5'>STC15</b>W408AS<b class='flag-5'>单片机</b>A/D转换器的结构和相关寄存器

    使用STC15W408AS单片机I/O口点亮LED

    流出)或开漏输出功能。每个口由2个控制寄存器中的相应位控制每个引脚工作类型。STC15系列单片机的I/O口上电复位后为准双向口/弱上拉(传统8051的I/O口)模式。每个I/O口驱动能力均可达到20mA
    发表于 06-15 14:50 1221次阅读
    使用<b class='flag-5'>STC15</b>W408AS<b class='flag-5'>单片机</b>I/O口点亮LED