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

发布时间:2023-07-19  

本文以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 灯、按键、数码管或一些传感器和继电器灯,也可以根据需要单独用杜邦线将组件按照组件使用手册与核心板连接。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    8051系列单片机介绍;8051系列单片机内部结构可以分为CPU、存储器、并行口、串行口、定时器/计数器和中断逻辑这几部分,如图。 处理器 微处理器又称CPU,由运算器和控制器两大部分组成。 1......
    内部扩展 RAM 是否可以访问,受辅助寄存器 AUXR 中的 EXTRAM 位控制。           STC8G 系列单片机的程序存储器和数据存储器是各自独立编址的。由于......
    80C51单片机介绍;80C51单片机属于MCS-51系列单片机,由Intel公司开发,其结构是8048的延伸,改进了8048的缺点。 增加了如乘(MUL)、除(DIV)、减(SUBB)、比较......
    分别属于工作寄存器组 1~3,若在程序设计中用到这些区,则最好把 SP 值改变为 80H 或更大的值为宜。STC8 系列单片机的堆栈是向上生长的,即将数据压入堆栈后,SP 内容增大。     堆栈介绍......
    STM32的单片机则具有较多的学习资料。下面就这两种单片机介绍一下编程环境。 1、单片机常用的编程环境 比较流行的单片机环境有keil和IAR,这两种环境可以覆盖市面上90%的单片机型号,而且......
    器输出模块、HH52P型固态继电器、CJ20-10型接触器、电加热水器,控制系统硬件结构图如图2所示。 2、STM32单片机介绍 STM32单片机是整个温度控制系统的核心部分。因为......
    转换输出到共阳极的LED数码管显示,利用T0定时器进行1S定时。 2.2  89S51 单片机介绍 MCS-51单片机典型产品有 8031(内部没有程序存储器,实际使用方面已经被市场淘汰)、8051(芯片采用HMOS......
    、51单片机介绍   1、从0开始,C语言基础      ROM:只读存储器,掉电不丢失,存程序     RAM:随机存储器,掉电丢失,存变量参数     看一块芯片:CPU位数,ROM/RAM大小,IO......
    STC8H8K64U单片机简介 宏晶科技的《STC8H 系列单片机技术参考手册》显示,STC8H 系列单片机是可以不需要外部晶振和外部复位的单片机,是以超强抗干扰、超低价、高速、低功耗为目标8051......
    AT89C51单片机和8051单片机有什么区别;51单片机是对所有兼容Intel8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8004单片机,后来随着Flashrom技术......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>