【单片机TM4C123学习(四):频率计】教程文章相关的互联网学习教程文章

单片机c语言教程:C51循环语句

单片机c语言教程第十三课 C51循环语句循环语句是几乎每个程序都会用到的,它的作用就是用来实现需要反复进行多次的操 作。如一个 12M 的 51 芯片应用电路中要求实现 1 毫秒的延时,那么就要执行 1000 次空语句 才能达到延时的目的(当然能使用定时器来做,这里就不讨论),如果是写 1000 条空语 句那是多么麻烦的事情,再者就是要占用很多的存储空间。我们能知道这 1000 条空语句, 无非就是一条空语句重复执行 1000 次,因此我们就...

stm32单片机的C语言优化

对于有些单片机,自身容量是很有限的,有的仅仅只有8k、16k的flash等,但是对32位mcu来说,这点空间实在有点小。不像计算机一样内存和rom都很多,因此有时候就需要进行代码优化。大家都知道,单片机最开始对整数运算很在行,对浮点数的运算也是转换为整数来进行,计算机是离散的,除了带dsp内核的mcu,有dsp模块的M4内核的arm来说,浮点数计算轻而易举。因此在单片机中,可以遵循以下几点:1、尽量不要浮点数,实在不行,用float类...

单片机TM4C123学习(四):频率计【代码】

1.#define的使用#define SQUARE_DUTY 0.52.FPU的开启:浮点运算FPUEnable(); FPULazyStackingEnable();3.定时器初始化//// Timer init// SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0); //使能外设TimerConfigure(TIMER0_BASE, TIMER_CFG_PERIODIC);//周期计时模式两个步骤:外部设备使能,设置定时器的类型4.定时周期设置 //// Timer delay period // ui32Period = (SysCtlClockGet()/4/83000); //...

自己用C语言写PIC32单片机的serial bootloader【代码】【图】

从15年12月份以来我的空余时间都在折腾15年底买的PIC32MZ EC Starter kit。并陆续写了十多篇随笔记录我折腾的历程。最近新完成的是用C语言实现了PIC32的UART bootloader, 采用串口通信,适用于Microchip的PIC32MZ EC,稍作对应的修改也可适用于PIC32MX, PIC32MZ EF等。Uart bootloader是用XC32编译的,电脑端的通信软件是用超级终端--HyperTerminal (也可以使用SecureCRT). 和之前我写的HyperBootloader_PIC16/PIC18/dsPIC和类似,...

PIC32单片机端C语言serial bootloader和PC端C#语言bootloader串口通信程序【代码】【图】

今天介绍下我新完成的为Microchip的32位单片机PIC32MZ2048ECH144开发的UART bootloader程序。整个工程分两部分,第一部分是单片机端用XC32编译的bootloader程序PhsBoot_v5.0,另一部分是PC端用C#编译的bootloader通讯程序PhsLoader_v5.0。两者之间采用固定的协定通信合作,如下。<STX><CMD><ADDRL><ADDRH><ADDRU><ADDRM><LEN><DATA>...<DATA><ETX>STX - Start of packet indicatorETX - End of packet indicatorLEN - The length o...

[51单片机] EEPROM 24c02 [I2C代码封装-保存实现流水灯]【代码】【图】

这里把EEPROM 24c02封装起来,今后可以直接调用,其连线方式为:SDA-P2.1;SCL-P2.0;WP-VCC>_<:i2c.c 1/*-----------------------------------------------2名称:IIC协议 3内容:函数是采用软件延时的方法产生SCL脉冲,固对高晶振频率要作 一定的修改....(本例是1us机器4周期,即晶振频率要小于12MHZ)5------------------------------------------------*/ 6 #include "i2c.h" 7#define _Nop() _nop_() //定义空指令 8 bit ac...

单片机C语言的程序架构【代码】

初学单片机时,都会纠结于其各个模块功能的应用,如串口(232,485)对各种功能IC的控制,电机控制PWM,中断应用,定时器应用,人机界面应用,CAN总线等. 这是一个学习过程中必需的阶段,是基本功。很庆幸,在参加电子设计大赛赛前培训时,MCU周围的控制都训练的很扎实。经过这个阶段后,后来接触不同的MCU就会发现,都大同小异,各有各的优势而已,学任何一种新的MCU都很容易入手包括一些复杂的处理器。而且对MCU的编程控制会提升一...

单片机课程设计-四位加法计算器设计参考程序(c语言)【代码】

1 #include<reg52.h> 2 typedef unsigned char uint8;3 typedef unsigned int uint16;4 5 sbit rw=P2^5;6 sbit rs=P2^6;7 sbit e=P2^7;8 sbit led=P3^7;9 10uint8 key,num,ei,eii,p;11 uint8 fuhao;//定义具体的那个符号,是加减还是乘除。 12 uint8 flag; //定义有没有按下符号键,这个是统称 13long a,b,c,d; //定义运算数据的第一个和第二个及等于的数变量 14 uint8 k; //定义小数点后面显示的位数 15 16 uin...

单片机控制IIC协议EEPROM芯片AT24C02模块化编程【图】

学习单片机已经有一段时间了,但是很多程序都缺少模块化的思想,之前以为只要把单个的功能封装在一个函数里面就是模块化,但是在公司经过了十多天实习,才真正有了模块化的编程思想,这里将我编写的51单片机控制1602液晶屏的程序共享一下,一是希望没有模块化编程思想的后来者看看,二是希望前辈们给予斧正 。(补充:以下代码只需要修改.h文件中含有 “选择” 字样的部分,就可以达到复用的效果) (因为里面用到的宏比较多...

对单片机C语言的一些误用和总结【代码】

在学习单片机的时候才真正知道C语言是什么它是来干什么的~但是C语言用到嵌入式只是它小小的一部分他的应用还有很多地方呢,呵呵我们这里就不讨论这个了。我们是不是在写程序的时候错误很多就算编译通过了也达不到我们预期的结果,完了自己是不是也很难找到错在哪儿吧?我绝得语言之所以能称之为语言,它肯定是一种工具一种相互交流相互通信相互传达之间的意图的工具,作为语言那肯定得有自己的语法,要想相互交流肯定得先学好它的语...

[TM4C123单片机实战] 两路ADC检测,短路报警【图】

如果最终得到的数据是两路数据的差值, 我们可以采用ADC的 Difference 工作模式#include <stdbool.h> #include <stdint.h> #include "inc/hw_memmap.h" #include "driverlib/adc.h" #include "driverlib/gpio.h" #include "driverlib/pin_map.h" #include "driverlib/sysctl.h" #include "user/LCDDriver.h"#define abs(x) (((x)<0)? -(x):(x))uint32_t pui32ADC0Value[1]={0}; //这是我们的数据缓存, ADC采样数据存储在这里 void a...

51单片机学习笔记——基于C与汇编(1) 初识51单片机【图】

即便疫情如此还是逃避不了开学啊!最近开始学习8051系列单片机的基本原理与应用,不过作为一个学计算机的本科菜鸟,感觉写博客也力不从心,因而选择结合(盗版,嘿嘿)我一个学硬件的朋友的文章,组成一个系列。写博客是个学习的好手段,大家一起进步吧!能力所限,如果文中有所不妥,恳请指正! 该系列文章基于8051系列单片机,Keil4/Keil2,并主要使用C和汇编实现例程,汇编部分由我的大佬朋友(盗版对象)完成。本文参考了该文的内...

51单片机的直流电机PWM调速控制系统(附Proteus仿真+C程序等全套资料)【图】

设计思路 直流电机PWM控制系统的主要功能包括:很实现对直流电机的加速、减速以及电机的正转、反转和急停,并且可以调整电机的转速,能够方便的实现电机的智能控制。 主体电路:即直流电机PWM控制模块。这部分电路主要由AT89C52单片机的I/O端口、定时计数器、外部中断扩展等控制直流电机的加速、减速以及电机的正转和反转,并且可以调整电机的转速,能够很方便的实现电机的智能控制。其间是通过AT89C52单片机产生脉宽可调的脉冲信号...

C语言从入门到精通到实战学习路线图(指针/函数/数组/文件/标准库/接口/单片机/数据结构/算法/面试)

C语言是一门永不过时的编程开发语言,到处都离不开它,学好这门编程语言,用处极大。但是如何学好学精它,却让人很头疼,在学习过程中总会遇到各种各样的疑难杂症。 收集整理了一些C语言编程学习必备的资料,涵盖:C语言学习路线图,编程工具,编程思维,指针,函数,数组,文件,标准库,常见问题解惑,数据结构,常用算法,算法分析,接口实现,单片机开发,程序实例,名题范例,面试宝典等等。认真看完这些,估计都能成为大神。...

为什么C语言是最适合单片机编程的高级语言!【图】

为什么还在用C语言编程?答案是:C语言是最适合单片机编程的高级语言。 这个问题的意思应该是:现在有很多很好用的高级语言,如java,python等等,为什么这些语言不能用来编写单片机程序呢?那么这个问题的答案就是:不是不能,而是不合适。?一、单片机编程的特点 对单片机编程来说; 首先要考虑的是单片机的程序空间和数据空间都是有限的,所以要让程序尽量短小精悍,以节省程序占用的存储空间。 第二、单片机编程的一个主...