Microcontroller Embedded C Programming: Absolute Beginners

所在平台: Udemy

课程主页: https://www.udemy.com/course/microcontroller-embedded-c-programming-absolute-beginners/

课程评论:没有评论

第一个写评论        关注课程

课程简介

Coursera 嵌入式C语言编程:零基础入门 课程总结 本 Coursera 课程“嵌入式C语言编程:零基础入门”旨在为已有桌面编程经验,熟悉C语言(或Java、C++)的初学者提供一个“无硬件”的嵌入式软件开发入门。课程重点讲解C语言如何在实际嵌入式系统中使用。 课程内容涵盖: **第一章:嵌入式系统C语言编程介绍** - 什么是嵌入式系统? - 处理器、编程语言和操作系统的选择 - 嵌入式软件开发流程 **第二章:8051微控制器家族介绍** - 8051微控制器的命名、外部接口、复位、时钟、内存 - I/O引脚、定时器、中断、串行接口及功耗 **第三章:Hello Embedded World** - Keil软件的安装与项目配置 - 模拟器搭建与程序运行 - 程序代码解析(硬件构建的讨论) **第四章:读取开关** - 读取端口引脚的基本技术 - 字节和位的读写方法 - 上拉电阻的作用、开关抖动处理 - 实际代码示例:读取开关输入、数羊计数 **第五章:代码结构化** - C语言面向对象编程概念 - 项目头文件(MAIN.H)和端口头文件(PORT.H) - 重构“Hello Embedded World”和数羊示例 **第六章:满足实时性约束** - 使用定时器0和定时器1创建精确延时 - 创建可移植的硬件延时 - 超时机制的重要性与实现 - 循环和硬件超时示例:更可靠的开关接口 **第七章:创建嵌入式操作系统** - 简单嵌入式操作系统的基础 - sEOS的介绍与使用(基于定时器0/1) - 可移植性分析及备选方案 - 使用sEOS的重要设计考量 (示例:牛奶巴氏杀菌) **第八章:多状态系统和功能序列** - 实现多状态(定时)系统 (示例:交通灯、机械恐龙) - 实现多状态(输入/定时)系统 (示例:洗衣机控制器) **第九章:使用串行接口** - RS-232协议详解 - RS-232的现状及基本协议(异步传输、波特率、流控制) - 软件架构和片上UART的应用 - 内存需求,示例:显示 elapsed time 到PC - 串行菜单架构 (示例:数据采集、遥控机器人) **第十章:案例研究:入侵报警系统** - 入侵报警系统的软件架构 - 关键软件组件解析 - 程序运行与总结 **第十一章:未来展望** - 课程目标达成回顾 - 进一步学习的建议(如:定时触发嵌入式系统模式、嵌入式操作系统) 总而言之,该课程以8051微控制器为平台,通过C语言深入浅出地讲解了嵌入式系统开发所需的各项核心概念和实践技能,为学员打下坚实的嵌入式软件开发基础。

课程评论(0条)

课程详情

An embedded system is an application that contains at least one programmable computer (typically in the form of a microcontroller, a microprocessor or digital signal processor chip) and which is used by individuals who are, in the main, unaware that the system is computer-based. Use of embedded processors in passenger cars, mobile phones, medical equipment, aerospace systems and defence systems is widespread, and even everyday domestic appliances such as dishwashers, televisions, washing machines and video recorders now include at least one such device.This course provides a ‘hardware-free' introduction to embedded software for students who:● Already know how to write software for ‘desktop' computer systems.● Are familiar with a C-based language (Java, C++ or C).● Want to learn how C is used in practical embedded systems.Chapter 1 Programming embedded systems in CIntroductionWhat is an embedded system?Which processor should you use?Which programming language should you use?Which operating system should you use?How do you develop embedded software?ConclusionsChapter 2 Introducing the 8051 microcontroller familyIntroductionWhat's in a name?The external interface of the Standard 8051Reset requirementsClock frequency and performanceMemory issuesI/O pinsTimersInterruptsSerial interfacePower consumptionConclusionsChapter 3 Hello Embedded WorldIntroductionInstalling the Keil software and loading the projectConfiguring the simulatorBuilding the targetRunning the simulationDissecting the programAside: Building the hardwareConclusionsChapter 4 Reading switchesIntroductionBasic techniques for reading from port pinsExample: Reading and writing bytesExample: Reading and writing bits (simple version)Example: Reading and writing bits (generic version)The need for pull-up resistorsDealing with switch bounceExample: Reading switch inputs (basic code)Example: Counting goatsConclusionsChapter 5 Adding structure to your codeIntroductionObject-oriented programming with CThe Project Header (MAIN.H)The Port Header (PORT.H)Example: Restructuring the ‘Hello Embedded World' exampleExample: Restructuring the goat-counting exampleFurther examplesConclusionsChapter 6 Meeting real-time constraintsIntroductionCreating ‘hardware delays' using Timer 0 and Timer 1Example: Generating a precise 50 ms delayExample: Creating a portable hardware delayWhy not use Timer 2?The need for ‘timeout' mechanismsCreating loop timeoutsExample: Testing loop timeoutsExample: A more reliable switch interfaceCreating hardware timeoutsExample: Testing a hardware timeoutConclusionsChapter 7 Creating an embedded operating systemIntroductionThe basis of a simple embedded OSIntroducing sEOSUsing Timer 0 or Timer 1Is this approach portable?Alternative system architecturesImportant design considerations when using sEOSExample: Milk pasteurizationConclusionsChapter 8 Multi-state systems and function sequencesIntroductionImplementing a Multi-State (Timed) systemExample: Traffic light sequencingExample: Animatronic dinosaurImplementing a Multi-State (Input/Timed) systemExample: Controller for a washing machineConclusionsChapter 9 Using the serial interfaceIntroductionWhat is RS-232?Does RS-232 still matter?The basic RS-232 protocolAsynchronous data transmission and baud ratesFlow controlThe software architectureUsing the on-chip UART for RS-232 communicationsMemory requirementsExample: Displaying elapsed time on a PCThe Serial-Menu architectureExample: Data acquisitionExample: Remote-control robotConclusionsChapter 10 Case study: Intruder alarm systemIntroductionThe software architectureKey software components used in this exampleRunning the programThe softwareConclusionsChapter 11 Where do we go from hereIntroductionHave we achieved our aims?Suggestions for further studyPatterns for Time-Triggered Embedded SystemsEmbedded Operating SystemsConclusions

课程标签

0人关注该课程

主题相关的课程