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

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

3天内不再提示

以STC8H8K64U单片机兼容STC89C52开发板的设计

我快闭嘴 来源:电子产品世界 作者:刘光乾;陈熙;刘庆 2021-06-12 16:39 次阅读

作者:刘光乾,陈熙,刘庆,陈丹,马兴茹

本文以STC8H8K64U单片机兼容STC89C52传统开发板及发挥引脚最大化资源配置设计核心板,结合与Keil C兼容的图形化编程语言,以项目开发和教学应用为基础讲解对51单片机的软硬件开发应用,以更好地推进单片机教学和项目开发实践应用。

0 引言

单片机教学在很多高职院校的很多专业都有涉及,不同层次专业水平的学生,在学习单片机与实践开发应用中难以过渡,特别是单片机硬件结构和软件编程基础较差时更是难以入门。本文基于众多单片机教学与应用研究及学徒制教学改革与探索,从单片机应用与教学现状分析、STC8H8K64U 单片机简介、STC8H8K64U 兼容STC89C52 开发板的核心系统设计及图形化编程与仿真等五个方面进行讲述,供单片机教学教改及单片机爱好者学习研究之用。

1 单片机应用与教学模式及现状简介

单片机作为智能电子产品开发设计及嵌入式基础,业内项目式入门资料包括:郭天祥老师的“新概念51单片机”,及相关的单片机开发经验与分享;以51 单片机课程为例的创客式项目教学在编程类课程中的应用研究;邵华老师以项目为导向的课程创新机制,在《单片机编程与实训》课程中的实践和对比效果显著;陈育群 老师在面向单片机初学者的编程方法探究中采用基于编程字典的方法能使单片机初学者快速掌握单片机的编程。

单片机的编程模式也是日新月异,如基于传统51单片机C 语言编程技巧探讨,介绍了编程特点与技巧及模块化编程设计;张华林老师在单片机编程模块化设计研究中详细讲述了模块化编程方法;黎民山老师的基于流程图编程的单片机软件系统开发,将程序代码与直观图形相结合,以图形化的编程改变对程序语法及句法的要求;黄睿老师在双编程语言在单片机项目驱动教学中的运用,分别运用汇编语言和C 语言实现功能,实现选择与融合的对比教学;基于互联网+ 技术的大病术后吹气练习仪的图形化单片机编程项目设计,以及基于创新创业教学实践项目的山地羊肚菌物联网应用设计,也从项目设计和教学实践等方面进行了单片机应用的探究,可见单片机应用与教学资源已经琳琅满目了。

2 STC8H8K64U单片机简介

宏晶科技的《STC8H 系列单片机技术参考手册》显示,STC8H 系列单片机是可以不需要外部晶振和外部复位的单片机,是以超强抗干扰、超低价、高速、低功耗为目标8051 单片机,在相同的工作频率下,STC8H系列单片机比传统8051 约快12 倍。依次按顺序执行完全部的111 条指令,STC8H 系列单片机仅需147 个时钟,而传统8051 则需要1 944 个时钟。STC8H 系列单片机是STC 生产的单时钟/ 机器周期(1T) 的单片机,是宽电压、高速、高可靠、低功耗、强抗静电、较强抗干扰的新一代8051 单片机,超级加密,指令代码完全兼容传统 8051。

3 STC8H8K64U兼容STC89C52开发板的核心系统设计

3.1 STC8H8K64U兼容STC89C52开发板设计的意义

根据STC8H8K64U 和STC89C52 的功能特性和引脚定义,让STC8H8K64U 核心板兼容传统STC89C52的40P 开发板,是既兼容以前大量基于STC89C52 教学开发板资源,又保留STC8H8K64U 的64 引脚全功能,使扩展开发资源利用最大化,在教学和应用上都具有很好的意义。

3.2 STC8H8K64U兼容STC89C52开发板设计的引脚对应

按照STC8H8K64U 和STC89C52 的功能特性和引脚定义及保留STC8H8K64U 的64 引脚全功能的原则,进行引脚及功能对应,如表1。

以STC8H8K64U单片机兼容STC89C52开发板的设计

3.3 STC8H8K64U兼容STC89C52核心板设计原理图(如图1)

以STC8H8K64U单片机兼容STC89C52开发板的设计

3.4 STC8H8K64U兼容STC89C52核心板设计说明

按照STC8H8K64U 兼容STC89C52 传统40P 底座开发板及保留STC8H8K64U 的64 引脚全功能的原则,排列相关器件及引脚,如图2 所示。

以STC8H8K64U单片机兼容STC89C52开发板的设计

4 STC8H8K64U核心板图形化编程与仿真

4.1 STC8H8K64U核心板图形化编程软件

目前,软硬件都比较经典的“天问51”系列开发板和图形化编程软件同时具备在线编程和脱机编程两种编程环境。脱机编程可以直接进行图形编程,同时生成基于SDCC 的字符C 文件,也可以直接在字符编程窗口进行字符编程;编程结果可以通过“天问”下载器直接连接开发板进行在线运行,实现实物仿真效果,也可以直接编译生成main.c 文件。在线编程环境还可以直接导出Keil C 的工程文件,非常方便。“天问”图形化编程软件可以在其官方网站下载,目前是Block0.1.6 版本,安装即可。

4.2 STC8H8K64U核心板图形化编程方法

在“天问”网站及论坛有很多关于该图形化编程的教程参考资料,在打开天问Block 软件后,其界面内包含了相应的操作功能区及菜单按钮,如图3 所示。点击左上角的文件夹图标菜单按钮,出现“新建项目”、“打开项目”、“保存”、“项目另存”、“项目中心”、“提交作业”的菜单页面,可进行新建、打开项目及保存等相关操作。

左边各功能模块及逻辑控制图形化指令包括单片机内部模块,如:系统配置、GPIO 模块、PWM 模块、ADC 模块、定时器模块、串口模块、外部中断设置、所有中断设置、读写寄存器。逻辑与控制模块包括:控制、数学与逻辑、文本与数组、变量、函数。文本模块包括:显示器模块(LED 流水灯、HC595 串入并出位移缓存器、数码管、点阵LED、RGB 流水灯、OLED 屏幕、LCD1602 屏幕、LCD12864、TFT 彩屏、彩屏触摸)、传感器模块、红外I2C、SPI、扩展等模块。丰富的功能模块及库函数给项目开发学习应用带来很多便利,对初学者入门,推进教学应用更为有利。

图形编程和字符编程分别位于界面主功能区左右两个主窗口,以满足编程窗口的最大化,两个窗口大小可以用其交界面下部的三角按钮拖动改变相应窗口大小,以满足图形化编程或字符编程课程的需要。

未连接菜单表示没有连接相应的开发板,如果将开发板用对应的编程下载器连接到电脑USB 口,则会显示已连接设备,通过编程可进行串口监视器的应用、运行程序进行在线硬件仿真或编译生成main.c 文件供,KeilC 环境使用。其中运行程序进行在线硬件仿真突破了传统Keil C 软件仿真或通过STC-ISP 仿真的方式,更加直接地进行随时编程随时运行并查看结果,非常方便。软件右上角的“更多”菜单,提供了编程手册、芯片手册、视频学习、开发者论坛、购买、安装驱动等功能模块,让学习编程更加方便,其中编程手册提供了初学者使用软件的基本方法介绍,视频学习通过各功能程序的编程使用操作视频,更加直观形象地展示该软件的使用方法。

4.3 STC8H8K64U核心板图形化编程技巧

虽然该软件已经把单片机编程变得很简单形象,但是对于初学者可能还是感觉无从下手, 这里作个引导和说明。

1)“天问”图形化编程基于模块化设计,相应的功能模块已经形成功能函数进行封装,编程者只需要根据功能需求进行调用, 如图4所示。

整个程序遵循一个主程序入口:

void main(void)

{

setup();

while(1){

loop();

}

}

在主程序中执行初始化和反复执行等功能子程序:

void setup()

{

twen_board_init();// 天问51 初始化

}

void loop()

{

}

而STC8 的头文件及系统时钟初始化也在系统框架首部默认给出:

#include 《STC8HX.h》uint32 sys_clk = 24000000;// 设置PWM、定时器、串口、EEPROM 频率参数

#include “lib/twen_board.h”

2)由“天问”Block 图形化编程框架可以看出,所有的初始化包括端口定义、变量和函数定义、定时器和中断等初始化都在“初始化”框架模块里面进行,而主要功能程序全部放在“重复执行”框架模块中。需要注意的是,初始化工作很重要,很多功能模块操作前,要先看一下里面有没有对应的初始化积木指令,如果有一定要放在初始化框架中进行初始化。在“重复执行”框架里面放置功能程序,显然将全部功能程序直接放置在此框架里面是不明智的,不仅可读性差,也不方便调试和移植,最好是将各功能程序分解成子程序,再在“重复执行”框架中调用,根据程序功能的复杂程度,可以执行多级子程序(函数)模块。

3)虽然功能程序要在“重复执行”框架中才能被执行,但是在此框架中执行的程序都是按照先后顺序依次执行,很多时候有些功能程序是有规律地重复执行,可采用定时器模式进行,这样在定时器中既能按照设计的时间定时执行功能,同时也不会占用“重复执行”框架的资源。

4)对于图形化编程,很多初学者要么难以掌握编程流程和思路,要么不知道该怎么调用合适的指令,或是程序逻辑衔接不合理,导致运行失败或死机。采用流程图和模块化编程的思路,先将要实现的功能进行流程化梳理,再将功能程序进行资源分配,根据需要实现的功能对应于单片机硬件接口和相关电路元件。本项目设计的核心板也是为了兼容传统STC89C52 开发板,可以直接将其插在对应的40P 底座上,利用现有开发板硬件资源如LED 灯、按键、数码管或一些传感器和继电器灯,也可以根据需要单独用杜邦线将组件按照组件使用手册与核心板连接。

责任编辑:tzh

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

    关注

    6031

    文章

    44509

    浏览量

    632544
  • 编程
    +关注

    关注

    88

    文章

    3585

    浏览量

    93563
  • 开发板
    +关注

    关注

    25

    文章

    4928

    浏览量

    97144
收藏 人收藏

    评论

    相关推荐

    STC8H8K64U单片机存储器总结

    本文对STC8H8K64U单片机存储器进行了总结(它的内存构造和其他单片机并无太大差别),并发表了本人的一些看法,存储器是单片机、微机的关键,理解这一部分内容,受益终生。
    发表于 09-30 16:16 1w次阅读
    <b class='flag-5'>STC8H8K64U</b><b class='flag-5'>单片机</b>存储器总结

    51单片机(STC8H8K64U/STC8051U34K64)_RA8889_HW_SPI4参考代码(v1.3) 硬件SPI方式驱动大屏显示

    文章导引: (1)51单片机(STC8051U34K64)_RA8889_SPI4参考代码(v1.3) (2)51单片机STC8H8K64U通过RA8889/RA8876如何控制彩屏_
    发表于 07-17 11:15

    STC89C52单片机

        STC89C52RC是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K字节系统可编程Flash存储器。STC89C52
    发表于 07-14 06:07

    STC89C52单片机详细介绍

    STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-Flash Programable and Erasable Read Only Memory )的低电压,高性能COMOS8的微处理器,俗称
    发表于 08-26 15:16 2077次下载
    <b class='flag-5'>STC89C52</b><b class='flag-5'>单片机</b>详细介绍

    基于单片机STC89C52的摇摇棒

    基于单片机STC89C52的摇摇棒设计,有电路图和源程序
    发表于 11-23 14:38 28次下载

    STC89C52/RD+ 系列单片机中文指南

    宏晶 STC89C52 使用手册 8单片机
    发表于 11-30 14:55 173次下载

    单片机STC89C52程序

    单片机STC89C52源程序。
    发表于 01-11 18:16 112次下载

    STC89C52单片机介绍

    STC89C52单片机介绍。
    发表于 05-20 13:55 257次下载

    STC89C52单片机开发板的电路原理图免费下载

    本文档的主要内容详细介绍的是STC89C52单片机开发板的电路原理图免费下载
    发表于 04-17 08:00 64次下载
    <b class='flag-5'>STC89C52</b><b class='flag-5'>单片机</b><b class='flag-5'>开发板</b>的电路原理图免费下载

    单片机STC89C52

    的一种低功耗、高性能CMOS8位微控制器,具有8K字节系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但是做了很多的改进使得芯片具有传统51单片机不具备的功能。
    发表于 11-11 12:06 7次下载
    <b class='flag-5'>单片机</b><b class='flag-5'>STC89C52</b>

    STC89C52单片机

    STC89C52单片机STC89C52STC89C52看到涛哥这篇文章了,纪念一下还在搞嵌入式的我们!硬件实物图实物抽象化的图为:这个STC89C52名字是什么意思呢?
    发表于 11-23 17:06 111次下载
    <b class='flag-5'>STC89C52</b><b class='flag-5'>单片机</b>

    解决普中单核A2开发板更换STC89C52STC89C52RC芯片,出现无法烧录的问题

    解决普中单核A2开发板更换STC89C52STC89C52RC芯片,出现无法烧录的问题错误:更换芯片后,开发板的蜂鸣器发出“呜呜”声音,使用普中科技的烧录软件下载程序时,会出现“无法
    发表于 11-25 16:21 70次下载
    解决普中单核A2<b class='flag-5'>开发板</b>更换<b class='flag-5'>STC89C52</b>为<b class='flag-5'>STC89C52</b>RC芯片,出现无法烧录的问题

    STC8H8K64U实验箱V9.3原理图

    电子发烧友网站提供《STC8H8K64U实验箱V9.3原理图.pdf》资料免费下载
    发表于 10-25 14:33 7次下载
    <b class='flag-5'>STC8H8K64U</b>实验箱V9.3原理图

    STC89C52单片机最小系统-基础版技术手册

    STC89C52单片机最小系统-基础版技术手册
    发表于 09-18 10:56 12次下载

    51单片机STC8H8K64U通过RA8889/RA8876如何控制彩屏 I2C源码下载

    用51单片机STC8H8K64U驱动彩屏,控制器采用瑞佑RA8889. 使用软件模拟I2C方式通信,驱动大屏显示。
    的头像 发表于 11-01 11:02 338次阅读
    51<b class='flag-5'>单片机</b><b class='flag-5'>STC8H8K64U</b>通过RA8889/RA8876如何控制彩屏 I2<b class='flag-5'>C</b>源码下载