课程-单片机理论与实践-
文章平均质量分 95
zhangrelay
{23年6月之后由AI完全主导}2023年充分见证了AIGC的强大潜力,在被完全取代之前,依旧不忘初心,坚持更新。(2022年及之后,虽然课程教学所作的努力全部失败,但依然在努力寻找那微弱的光。2021年及以前:LoveRobot,Go!!!!人工智能和机器人粉,从事机器人工程专业本科教学和科研工作,研究方向包括多机器人仿真技术,控制与协作,机器人系统软硬件开发等。)
展开
-
单片机教案 2.2 ATmega2560单片机闪烁灯的制作和编程
这不仅是学习嵌入式系统和Arduino编程的基础,也是进一步探索更复杂项目的起点。Arduino程序设计是基于Arduino平台进行的,它允许用户通过简单的编程语言(类似于C++的一个子集)来编写代码,以控制Arduino开发板上的硬件。闪烁灯的制作是一个简单而有趣的电子项目,它可以帮助我们理解基本的电子电路和编程概念。通过以上知识点和技巧,你可以开始编写自己的Arduino程序,并控制Arduino开发板上的各种硬件。随着经验的积累,你可以逐渐掌握更高级的功能和技巧,以创建更复杂和有趣的电子项目。原创 2024-10-08 14:29:59 · 1424 阅读 · 0 评论 -
单片机教案 2.1 ATmega2560单片机最小应用系统
ATmega2560拥有54个可编程的输入/输出引脚,这些引脚可以配置为输入或输出模式,用于与外部设备进行数字信号的收发。原创 2024-10-08 14:10:44 · 1689 阅读 · 0 评论 -
单片机教案 1.2 ATmega2560单片机和Arduino IDE编程基础
单片机教案 1.1 ATmega2560单片机概述-CSDN博客ATmega2560单片机是一款功能强大的8位AVR微控制器,其引脚资源丰富,能够满足各种复杂应用的需求。ATmega2560单片机总共有100个引脚(在Arduino Mega 2560开发板上使用了其中的大部分,但并非全部),这些引脚包括数字输入/输出引脚、模拟输入引脚、电源引脚、复位引脚、通信接口引脚等。两段代码对比// 定义PWM输出引脚。原创 2024-10-08 14:03:04 · 1748 阅读 · 0 评论 -
单片机教案 1.1 ATmega2560单片机概述
Arduino是一个能够用来感应和控制现实物理世界的一套工具,它由一个基于单片机并且开放源码的硬件平台,和一套为Arduino板编写程序的开发软件组成。Arduino的核心是单片机(Microcontroller),它是一个集成了CPU、内存和外设的芯片。Arduino平台支持多种单片机,每种单片机都有其独特的特性和应用场景。Arduino Mega 2560概述Arduino Mega 2560是一款功能强大的开发板,搭载ATmega2560微控制器。原创 2024-10-08 13:45:17 · 2866 阅读 · 0 评论 -
单片机理论与实践融入机器人课程镜像
全功能免安装课程镜像制作一直是线上课程融入线下的抓手和核心。目前正在紧张有序推进第4版镜像制作,前一版本镜像如下: 机器人实践课程镜像(https://blog.csdn.net/zhangrelay/article/details/103868465) 除了修正反馈bug,优化内容外,增加51系列全部课程内容。主要涉及四款:mcu8051ide sdcc stcgal HML_FwLib_STC89这些都在博客中详细介绍过,这里再简单说明一下:mcu8051ide安装原创 2020-12-28 21:16:38 · 54745 阅读 · 0 评论 -
单片机补充案例--复习提要
程序题需要会简单说明各部分的功能,需要会添加注释,理解代码的真正含义,然后写出核心代码即可。填空20分 选择20分 编程45分(其中说明15分,代码只占30分) 分析15分数码管 定时器 串口 模拟数字转换流程图,要和程序匹配,注意单片机系统多功能情形下的状态变换。...原创 2020-12-17 21:05:03 · 57054 阅读 · 0 评论 -
单片机补充案例--颤抖的数码管
这是数码管模拟波形的动态效果,但是代码中有些小bug,眼尖的可以发现哦。直接上代码,课题上讲过了:/***************************************************************************** * 头文件 * *********************************************原创 2020-12-17 20:54:20 · 7157 阅读 · 0 评论 -
单片机补充案例--中断到底用不用
是否使用中断依据实际情况而定,并非是做题惯性,题目要求用就用,这种思想不适合工作。下面两段程序都能实现实验二的要求,对比学习一下吧:中断方式:/***************************************************************************** * 头文件 * ***************************原创 2020-12-05 23:35:45 · 8296 阅读 · 8 评论 -
单片机补充案例--两只老虎
将led换成喇叭,通过编程实现音乐和电子琴功能也是非常容易的,单片机两只老虎的案例网上资料很多不再列举,查找即可:这里,给出sdcc方案下,使用喇叭发音的示例代码:/***************************************************************************** * 头文件 * ***************************原创 2020-12-05 23:31:31 · 11672 阅读 · 0 评论 -
单片机补充案例--按键点灯
这是一个及其简单的案例,按下key点亮led,为什么还要补充呢?1. 输入和输出2. 数字量/***************************************************************************** * 头文件 * *************************************************************原创 2020-12-05 23:26:53 · 9464 阅读 · 0 评论 -
单片机补充案例--I2C和AD使用PCF8591
效果如下所示,AD转换结果用数码管显示:源程序是keil,转为Linux_SDCC,如下:adtest.c#include <8052.h>unsigned char flag1s = 1; //1s定时标志unsigned char T0RH = 0; //T0重载值的高字节unsigned char T0RL = 0; //T0重载值的低字节unsigned char LedBuff[4] ={0xFF,0xFF,0xFF,0xFF}; //显示缓.原创 2020-11-29 20:39:05 · 55167 阅读 · 0 评论 -
单片机补充案例--入侵检测系统
说明:使用 STC89C52 设计入侵检测系统,给出方案和核心代码,需满足下列要求:1. 发现入侵立刻开启 LED 闪烁警示2. 入侵超过 5s 警报响起3. 手动清除声光报警时,需输入安许可防密码设备:程序:#include <8052.h>__sfr __at (0xE8) P4;__sbit __at (0xEC) P4_4;#define LED P0 //LED闪烁警示#define LSA P1_5 //P0控制=0.原创 2020-11-13 10:15:08 · 9961 阅读 · 0 评论 -
单片机补充案例--stc89c52的P4口使用
说明:头文件为8052.h默认情况下不能使用P4口,需要添加如下代码,如使用P4_4:__sfr __at (0xE8) P4;__sbit __at (0xEC) P4_4;当然也可以使用固件库。具体案例参考:https://zhangrelay.blog.csdn.net/article/details/109194115入侵检测系统未使用固件库,参考程序如下:#include <8052.h>__sfr __at (0xE8) P4;__sbit __原创 2020-11-13 10:11:12 · 11073 阅读 · 0 评论 -
单片机补充案例--LCD1602普通字符显示
说明:使用LCD1602显示普通字符设备:程序:#include<8052.h> #define uchar unsigned char#define uint unsigned int #define lcden P1_2#define lcdrs P1_0#define rw P1_1 uchar table1[] = "Happy Happy ";uchar table2[] = "1234567890 ";uchar num; v.原创 2020-11-13 10:06:43 · 7370 阅读 · 0 评论 -
单片机补充案例--LED数码管99秒倒计时
说明:使用数码管实现倒计时显示设备:程序:#include<8052.h> #define LSC P1_7 //特殊功能寄存器的位定义,#define LSB P1_6 //3-8译码器的输入端,#define LSA P1_5 //控制三极管Q2~Q6的导通unsigned char smgduan[]={0xc0,0xf9,0xa.原创 2020-11-13 10:04:31 · 10681 阅读 · 2 评论 -
单片机补充案例--速度反馈控制LED灯柱状图
说明:速度快LED显示灯多,速度慢LED显示灯少,显示次序从下向上。设备:程序:#include<8052.h>#define LSA P1_5#define LSB P1_6#define LSC P1_7unsigned char speed = 0;unsigned char cnt = 0;void EXint_Init(void);void Delayms(unsigned int); void EXINT0() __interrupt 0.原创 2020-11-13 10:01:42 · 6969 阅读 · 0 评论 -
单片机补充案例--速度反馈控制LED亮度
说明:使用中断测速,速度快LED亮,速度慢LED暗。设备:程序:#include<8052.h>#define LSA P1_5#define LSB P1_6#define LSC P1_7#define Led P0unsigned char speed = 0;unsigned char cnt = 0;char a=0;void EXint_Init(void);void Delayms(unsigned int); void EXINT.原创 2020-11-13 09:58:36 · 7171 阅读 · 0 评论 -
单片机补充案例--数字IO口呼吸灯
说明:不使用PWM口,而是使用数字口和时延函数模拟,从而实现普通IO口对LED灯的亮度控制。设备:程序:循环演示#include <8052.h> #define LSA P1_5 #define LSB P1_6 #define LSC P1_7 #define Led P0 int main(void) { unsigned int a; LSA = 0; LSB =.原创 2020-11-13 09:53:14 · 1528 阅读 · 0 评论 -
单片机补充案例--简易里程计
说明:使用外部中断捕获车轮上脉冲,用于计数从而测量车轮总里程。设备:代码:#include<8052.h>#define LSA P1_5 #define LSB P1_6#define LSC P1_7char light;void EXint_Init(void);void Delayms(unsigned int); void EXINT0() __interrupt 0;void main(){ EXint_Init(); .原创 2020-11-13 09:49:27 · 1344 阅读 · 0 评论 -
单片机实验说明<四>矩阵键盘与LCD基本使用
实验四 矩阵键盘识别设计设计要求:对4×4矩阵式键盘电路的键值进行编码,编程实现在LCD液晶显示器上显示每个按键的“0-F”序号电路设计:软件代码:#include "hml/hml.h" #define uchar unsigned char#define uint unsigned int #define lcden P1_2#define lcdrs P1_0#define rw P1_1/* IO引脚分配定义 */#define KEY_IN_1 P.原创 2020-10-21 21:58:29 · 5655 阅读 · 0 评论 -
单片机实验说明<三>数码管和定时器基本使用
实验三(上) 数码管动态显示设计设计要求:编程实现8段数码管的动态扫描显示,要求4个数码管从左到右分别显示“1”、“2”、“3”、“4”、及“A”、“b”、“C”、“d”。电路设计:软件代码:/***************************************************************************** * 头文件原创 2020-10-21 21:57:11 · 3398 阅读 · 0 评论 -
单片机实验说明<二>外部中断基本使用
实验二 外部中断应用 设计要求:自行设计实验线路并编制程序:要求在无外部中断时最右一位发光二极管点亮。请编程实现:当外部中断0请求中断时发光二极管左移;当外部中断1请求中断时发光二极管闪烁。电路设计:软件代码:/***************************************************************************** * 头文件原创 2020-10-21 21:55:14 · 2268 阅读 · 0 评论 -
单片机实验说明<一>数字口基本使用
机器人类单片机课程为突出专业特色,对实验作了大量补充和讲解,除了uno,cozmo和tianbotmini之外,加入了大量相关单片机案例,使课程紧密融合物联网和机器人工程,增加Linux下调试方式,作为windows之外的补充,补充esp8266,esp32等wifi单双核单片机,补充操作系统概念。相关内容在课程中已经测试过,但并未得到有效的批评和建议,现全部公开。项目名称:实验一 流水灯设计/报警产生器设计这是典型数字口应用案例。实验一(上) 流水灯设计 设计要求:(1)掌握单片机原创 2020-10-21 21:53:13 · 2485 阅读 · 0 评论 -
HML_FwLib_STC89使用笔记(单片机课程补充资料)
HML_FwLib_STC89适用于Linux和Windows,并且可以直接全功能支持STC89C52RC等芯片全部功能,并非如keil4的<reg52.h>或sdcc中<8052.h>的基本功能。在usr直接使用make -j编译即可使用,生成ihx和hex均可下载:支持stc89系列芯片如下:#define MCU_MODEL_GENERIC 0x01#define MCU_MODEL_STC89C51RC 0x02#define原创 2020-10-21 10:55:42 · 1804 阅读 · 4 评论 -
51单片机在Ubuntu和MacOS下程序开发和下载
这学期有51单片机课程,平时调试代码不用windows,查阅了一些资料,不太能用,现在将51单片机在ubuntu下(Linux通用)开发和下载说明一下:需要用到SDCC和stcgal。已测试Linux通用,Ubuntu16.04,18.04.20.04均可。什么是SDCC?SDCC是可重定目标的,优化的标准C(ANSI C89,ISO C99,ISO C11)编译器套件,针对的是基于Intel MCS51的微处理器(8031、8032、8051、8052等),Maxim(以前为Dalla..原创 2020-09-07 17:08:11 · 5384 阅读 · 13 评论 -
单片机理论与实践课程总结与补充材料
单片机理论与实践课程总结与补充 部分课程资料:链接:http://pan.baidu.com/s/1slhLrUP 密码:it82如果有在截止日期前才完成作业报告等习惯,可以参考这篇拖延症的视频:http://open.163.com/movie/2016/3/Q/E/MBHQSM52F_MBI15O7QE.html先推荐两个单片机学习网站,然后再做总结:1 创客智造:专注于开源硬件和软件的学习和应用.Arduino,Raspberry Pi,树莓派,ROS机器人系统, Turtlebot,UA原创 2017-02-17 22:10:07 · 2386 阅读 · 0 评论 -
如何快速学会单片机编程并应用?
如何快速学会单片机编程并应用?先上一些参考资料,主要来源知乎:1 -怎样学会单片机?-2 -arduino、arm、树莓派、单片机四者有什么不同?-3 -单片机可以替代PLC么?-4 -单片机有没有必要用汇编讲?-5 -相关课程-单片机和C语言,是自动化(机器人)学科重要的基础内容。如果对机器人感兴趣,可参考机器人工程师学习计划。课程学习动机~Why?为什么学习单片机编程?单片机方向就业?把握市场需求!软硬件能力的综合训练,电路原理图+软件编程(C语言)。原创 2016-12-24 21:20:37 · 55360 阅读 · 2 评论 -
基于ROS的Most Stars开源代码汇总(自动驾驶汽车+RGBDSLAMv2+ROS2+人识别与跟踪等)
Star 200+https://github.com/CPFL/Autoware用于城市自主驾驶的开源软件。 http://www.tier4.jp/Autoware用于城市自主驾驶的集成开源软件,由第四层维护。支持以下功能:3D本地化3D映射路径规划路径跟随加速/制动/转向控制数据记录汽车/行人/物体检测交通信号检测交通灯识别车道检测对象跟踪传感器校准传感器融合面向云的地图连接自动化智能手机导翻译 2017-05-12 18:20:50 · 27906 阅读 · 10 评论