芯圣电子增强型1T 8051单片机入门手记01
cac55 2024-12-16 11:15 24 浏览 0 评论
HC89F0541/0531 是一颗采用高速低功耗 CMOS 工艺设计开发的增强型 8 位单片机,内部有 32K
Bytes FLASH 程序存储器, 256 Bytes IRAM 和 1K Bytes XRAM, 最多 30 个双向 I/O 口, 5 个 16 位定时
器/计数器, 3 组 12 位带死区控制互补 PWM, 1 个 8 位 PWM, 2 个 UART, 1 个 SPI, 一个 IIC, 最多
26 个外部中断, 16+2 路 12 位 ADC,四种系统工作模式(正常、低速、掉电和空闲)和 18 个中断源。
拿到一款开发板以及相关资料,怎样能够快速有效地了解它的概貌,对于新手来说一个快速上手的流程还是十分必要的,这样便不需要在了解到许多资料后,才知道正确的实操方式,一般都是习惯边操作边学习,既能快速学习又能及时掌握。今天我们就以上海芯圣的HC89F0541这款单片机为例,讲述如何在Keil环境下快速上手操作。
目前芯圣电子正在21IC做开发板的赠送活动,欢迎广大单片机爱好者、初学者多多参与。
1. 芯圣电子SDK-HC89F0541开发板简介
SDK-HC89F0541开发板是基于HC89F0541设计的快速开发工具,包含 MCU 开发电路和在板调试模块。MCU开发电路为调试 HC89F0541提供了必要的外设配置,在板调试模块则用作调试器和烧写器。
1.1. 板载功能介绍
1.1.1. 按键
SDK-HC89F0541配置2个物理按键:脱机烧录按键和复位按键。图1中1为脱机烧录按键用于在板调试模块的脱机烧录;图1中5为复位按键作为芯片的硬件复位按键使用。二者通过测试针的引脚连接MCU。
1.1.2. 测试针
SDK-HC89F0541配置2组2*10测试针(图1中2所示),连接至MCU全部引脚,提供用户测试或扩展功能。
1.1.3. 指示灯
SDK-HC89F0541配置4个指示灯分别用于:上电指示灯(图1中7所示LED2)、脱机烧录按键指示灯(图1中7所示LED1)和复位按键指示灯(图1中3所示)。
1.1.4. 外部时钟
SDK-HC89F0541预留了2组外部时钟接口,分别为低频晶振和高频晶振(图1中4所示)。使用外部晶振时需要用户自己焊接相应的晶振和晶振电容(推荐值为20PF),2组晶振可通过下表中的引脚连接到MCU。
1.1.5. 跳线设置
SDK-HC89F0541上有三组跳针J14(两组)\J13(图1中6所示),上电前需对跳针状态进行确认,具体设置如下:
1.1.6. 在板调试模块接口
SDK-HC89F0541预留了两组仿真烧录接口(图1中8所示),分别位于MCU开发电路和在板调试模块。包含双线、四线和ISP接口。
1.1.7. USB接口
SDK-HC89F0541提供1组MicroUSB接口(图1中9所示),通过该接口实现5V供电以及与PC机通信的功
能。
1.2. HC89F0541的开发环境建立及调试
HC89F0541系列芯片支持第三方IDE开发,可使用Keil MDK开发工具进行程序的编辑、编译链接及调试下载等功能。
1.2.1. Keil MDK安装
可参照《敏矽微电子Cortex-M0学习笔记02-开发环境的建立及调试》。
1.2.2. HC-LINK仿真软件安装
① 解压下载的软件安装包HC-LINK仿真器安装软件,运行 HC-LINK.exe;
② 点击“Next”按钮;
③ 点击“Next”按钮;
当提示系统缺少 mfc100u.dll 以及 msvcr100.dll 时,先取消此次安装再使用 DirectX Repair 工具修复。
XP 或 Win7 系统使用 DirectX Repair 工具修复。
Win8 或 Win10 系统使用 DirectX_Repair_win8_win10 工具修复。
DirectX Repair 和 DirectX_Repair_win8_win10 工具组合压缩包下载地址:
https://www.onlinedown.net/soft/120082.htm
④ 点击“Change”按钮,找到Keil安装文件夹,点击“确定”按钮,然后点击“Next”按钮;
⑤ 继续点击“Next”按钮;
⑥ 安装中......;
⑦ 安装完成,点击“Finish”按钮并退出。
至此我们便可以通过Keil平台,选择HC89F0541等系列芯片进行程序调试。
1.2.3. 建立工程
① 打开Keil软件,然后点击Project/New μVision Porject,新建一个项目。
② 选择一个放工程的文件夹,例如在example文件夹下新建名为test1的工程,点击“保存”。
③ 选择Holychip MCU Database,点击OK。
④ 选择HC89F0541,点击OK,然后根据需求选择是否载入启动代码,至此就完成了一个空工程的建立。
keil建立工程时,选择完芯片后会提示是否添加启动代码到刚刚新建的工程,一般选择“是”添加启动代码。启动代码作用是配置硬件,设置一下堆栈、程序入口点等。
⑤ 点击File/New,建立一个空白文档。
⑥ 在空白文档中编写C51或汇编程序,编写完成后将文件保存在example文件夹里。
⑦ 将main.c添加到工程中
1.2.4. 第一种添加文件方式
A. 点击下图菜单栏中红框处图标
B. Groups 组选择“Source Group1”,右下角选择“Add Files...”添加文件
C. 选择需要添加的.c文件,点击“Add”,然后点击“Close”关闭窗口,或者直接点击右上角y退出,退出后便可看到Files:下成功添加main.c文件,然后再点击“OK”退出当前窗口,左侧视图中“Source Group1”下已经添加main.c文件。
D. 选中main.c文件,点击下方“Cancel”按钮可将文件从组中删除,点击“OK”退出当前窗口,左侧视图中“Source Group1”下不再有main.c文件。
1.2.5. 第二种添加文件方式
a. 左侧视图中右击“Source Group1”,选择“Add Files to Source Group1... ”
b. 选择main.c文件,点击“Add”按钮进行添加
c. 退出后可看到左侧视图中“Source Group1”下已经成功添加main.c文件
d. 右击main.c文件,选择Remove File main.c
e. 点击“是”移除main.c文件
⑧ 打开工程选项配置
或直接点击快捷按钮
⑨ 打开Target标签页,勾选Use On-chip ROM和Use On-chip XRAM
⑩ 打开Output标签页,勾选Create HEX File
? 打开Debug标签页,点选Use,并在下拉列表框中选择 HC-LINK Driver,然后点击Setting,全部勾选Cache Options,这样可以加快仿真速度,如果是C51程序,需要勾选Run to main()
? 点选Utilities标签页,在下拉列表框中选择HC-LINK Driver,同时勾选Update Target before Debugging,然后点击Setting。
注:勾选Update Target before Debugging之后,用户在每次编译程序后,无需点Download进行下载,直接点Debug就可以完成程序的下载,并进入仿真。
? 芯片配置完后,点确定,然后点击OK,这样就完成一个新工程的建立。
1.3. 例程讲解
#define ALLOCATE_EXTERN
#include "HC89F0541.h"
/*********************************************
实现效果:P00设置为下降沿中断,每进一次中断后,LED1状态改变一次
******************************************************************************/
void main()
{
/****系统初始化*******/
CLKSWR = 0x51; //选择内部高频RC为系统时钟,内部高频RC2分频,Fosc=16MHz
CLKDIV = 0x01; //Fosc 1分频得到Fcpu,Fcpu=16MHz
/************相关配置初始化********************/
P1M4 = 0xC2; //P14设置为推挽输出
/*************INT1配置初始化********************/
P0M0 = 0x69; //P00设置为带SMT上拉输入
PITS0 |= 0x01; //INT0下降沿
IE |= 0x01; //打开INT0中断
EA = 1; //打开总中断
while(1);
}
/******************************************************************************
*@说明 INT0中断服务函数
*@参数 无
*@返回值 无
*@注 无
******************************************************************************/
void INT0_Rpt() interrupt INT0_VECTOR
{
P1_4 =~ P1_4; //外部中断一次,P14翻转一次
}
(1) 将开发板通过USB接口连接到电脑,打开一个例程在Keil环境下,编译运行该工程文件,点击方框处按钮加载程序进行调试,进入到调试界面,此时光标停在红色三角所标注的位置,再点击红色圆圈处单步运行按钮,单步运行一下程序,检测可以正常调试。设置一个断点(红色菱形处设置)。
(2) 点击全速运行
(3) 加载程序开发板状态,此时LED3的灯亮,LED4灯灭
细节图
(4) 用杜邦线连接开发板P00端口与GND端口,这时P00端产生下降沿,产生中断LED4灯亮,此时程序停到断点处。
细节图
(5) 拔掉杜邦线GND端,LED4灯灭。可以反复测试,接地产生下降沿则灯亮,反之灯灭。
由此可测试产生下降沿外部中断程序。
附录:寄存器配置,相关内容来自HC89F0541芯片手册
相关推荐
- Mac电脑强制删除任何软件方法-含自启动应用
-
对于打工者来说,进入企业上班使用的电脑大概率是会被监控起来,比如各种流行的数据防泄漏DLP,奇安信天擎,甚至360安全卫士,这些安全软件你想卸载是非常困难的,甚至卸载后它自己又安装回来了,并且还在你不...
- Linux基础知识 | 文件与目录大全讲解
-
1.linux文件权限与目录配置1.文件属性Linux一般将文件可存取的身份分为三个类别,分别是owner/group/others,且三种身份各read/write/execute等权限文...
- 文件保护不妥协:2025 年 10 款顶级加密工具推荐
-
数据安全无小事,2025年这10款加密工具凭借独特功能脱颖而出,从个人到企业场景全覆盖,第一款为Ping32,其余为国外英文软件。1.Ping32企业级加密核心工具,支持200+文件格...
- 省心省力 一个软件搞定系统维护_省心安装在哪里能找到
-
◆系统类似于我们居住的房间,需要经常打理才能保持清洁、高效。虽然它本身也自带一些清理和优化的工具,但借助于好用的第三方工具来执行这方面的任务,会更让人省心省力。下面笔者就为大家介绍一款集多项功能于一身...
- JAVA程序员常用的几个工具类_java程序员一般用什么软件写程序
-
好的工具做起事来常常事半功倍,下面介绍几个开发中常用到的工具类,收藏一下,也许后面真的会用到。字符串处理:org.apache.commons.lang.StringUtilsisBlank(Char...
- 手工解决Windows10的若干难题_windows10系统卡顿怎么解决
-
【电脑报在线】很多朋友已经开始使用Win10,估计还只是测试版本的原因,使用过程中难免会出现一些问题,这里介绍解决一些解决难题的技巧。技巧1:让ProjectSpartan“重归正途”从10074...
- System32文件夹千万不能删除,看完这篇你就知道为什么了
-
C:\Windows\System32目录是Windows操作系统的关键部分,重要的系统文件存储在该目录中。网上的一些恶作剧者可能会告诉你删除它,但你不应该尝试去操作,如果你尝试的话,我们会告诉你会发...
- Windows.old 文件夹:系统备份的解析与安全删除指南
-
Windows.old是Windows系统升级(如Win10升Win11)或重装时,系统自动在C盘创建的备份文件夹,其核心作用是保留旧系统的文件、程序与配置,为“回退旧系统”提供保...
- 遇到疑难杂症?Windows 10回收站问题巧解决
-
回收站是Windows10的一个重要组件。然而,我们在使用过程中,可能会遇到一些问题。例如,不论回收站里有没有文件,都显示同一个图标,让人无法判别回收站的空和满的真实情况;没有了像Windows7...
- 卸载软件怎么彻底删掉?简单几个步骤彻底卸载,电脑小白看过来
-
日常工作学习生活中,我们需要在安装一些软件程序,但随着软件的更新迭代速度,很多时候我们需要重新下载安装新的程序,这时就需要将旧的一些软件程序进行卸载。但是卸载软件虽然很简单,但是很多小伙伴们表示卸载不...
- 用不上就删!如何完全卸载OneDrive?
-
作为Windows10自带的云盘,OneDrive为资料的自动备份和同步提供了方便。然而,从隐私或其他方面考虑,有些人不愿意使用OneDrive。但Windows10本身不提供直接卸载OneDri...
- 【Linux知识】Linux下快速删除大量文件/文件夹方法
-
在Linux下,如果需要快速删除大量文件或文件夹,可以使用如下方法:使用rm命令删除文件:可以使用rm命令删除文件,例如:rm-rf/path/to/directory/*这个命令会递...
- 清理系统不用第三方工具_清理系统垃圾用什么软件
-
清理优化系统一定要借助于优化工具吗?其实,手动优化系统也没有那么神秘,掌握了方法和技巧,系统清理也是一件简单和随心的事。一方面要为每一个可能产生累赘的文件找到清理的方法,另一方面要寻找能够提高工作效率...
- 系统小技巧:软件卸载不了?这里办法多
-
在正常情况下,我们都是通过软件程序组中的卸载图标,或利用控制面板中的“程序和功能”模块来卸载软件的。但有时,我们也会发现利用卸载图标无法卸载软件或者卸载图标干脆丢失找不到了,甚至控制面板中卸载软件的功...
- 麒麟系统无法删除文件夹_麒麟系统删除文件权限不够
-
删除文件夹方法例:sudorm-rf文件夹名称。删除文件方法例:sudorm-r文件名包括扩展名。如果没有权限,给文件夹加一下权限再删。加最高权限chmod775文件名加可执行权限...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- 如何绘制折线图 (52)
- javaabstract (48)
- 新浪微博头像 (53)
- grub4dos (66)
- s扫描器 (51)
- httpfile dll (48)
- ps实例教程 (55)
- taskmgr (51)
- s spline (61)
- vnc远程控制 (47)
- 数据丢失 (47)
- wbem (57)
- flac文件 (72)
- 网页制作基础教程 (53)
- 镜像文件刻录 (61)
- ug5 0软件免费下载 (78)
- debian下载 (53)
- ubuntu10 04 (60)
- web qq登录 (59)
- 笔记本变成无线路由 (52)
- flash player 11 4 (50)
- 右键菜单清理 (78)
- cuteftp 注册码 (57)
- ospf协议 (53)
- ms17 010 下载 (60)