推荐阅读最新更新时间:2024-11-11 10:38
51 单片机简单的多任务调度例子
利用定时器2产生10mS的定时中断作为时钟节拍,任务切换时保存工作寄存器等操作 嵌入了汇编指令,因此Task_Switch.C文件要做相应的设置才能编译通过。受硬件资源和编译器的限制,有很多无奈。程序只好这样写了,不管怎么说,到底是能调度起来了。 注:这里是老版本,后面又改动的新版本。 /******************************************************* 本程序只供学习使用,未经作者允许,不能用于其它任何用途 AT89S52 MCU 使用24M晶振 时钟节拍设置为10mS main.c file Created by Computer-lov. Date: 2005.10.27 Co
[单片机]
单片机IO口模拟UART串口通信
为了让大家充分理解 UART 串口通信的原理,我们先把 P3.0 和 P3.1 当做 IO 口来进行模拟实际串口通信的过程,原理搞懂后,我们再使用寄存器配置实现串口通信过程。 对于 UART 串口波特率,常用的值是 300、600、1200、2400、4800、9600、14400、19200、28800、38400、57600、115200 等速率。IO 口模拟 UART 串行通信程序是一个简单的演示程序,我们使用串口调试助手下发一个数据,数据加 1 后,再自动返回。 串口调试助手,这里我们直接使用 STC-ISP 软件自带的串口调试助手,先把串口调试助手的使用给大家说一下,如图 11-6 所示。第一步要选择串口助手菜单,第二步
[单片机]
一款51单片机电子钟制作(C语言)
/*一款电子钟程序,此电子钟是四位电子钟数码管组成的,功能分别有走时、响闹、走时间调整、闹钟时间调整等功能!调整部分分别由三个按键实现,一个功能键,一个+(加)键,另一个为-(减)键,其它功能键是复用功能!*/ 硬键介绍:数码管个位.十位.百位.千位.小数点分别接P0.0 P0.1 P0.2 P0.3 P0.4。蜂鸣器接P3.5脚,功能按键接P3.2 加按键接P3.3 减按键接P3.4 以下是两张图片!!! #include reg52.h //头文件 #define uchar unsigned char//宏定义 #define uint unsigned int//宏定义 uchar shi,fen,nshi,nfe
[单片机]
你了解你的GD32 MCU系统主频是多少吗 ?
系统时钟是GD32 MCU的时基,可以理解为系统的心跳,片上所有的外设以及CPU最原始的时钟都来自于系统时钟,因而明确当前系统时钟是多少非常重要,只有明确了系统时钟,才能够实现准确的定时、准确的采样间隔以及准确的通信速率等。 以GD32F303为例,其系统时钟配置在system_gd32f30x.c中,如下图所示,可以通过打开或者关闭相关的宏定义进行时钟配置,GD32以及提供了一些时钟配置的函数,可以通过宏定义开关进行选择。 确认当前系统时钟有以下两个方法: 1、软件方式确认 使用void SystemCoreClockUpdate(void)函数进行更新当前系统时钟SystemCoreClock,该函数为根据当前RCU
[单片机]
单片机入门学习八 STM32单片机学习五 时钟系统
单片机学习除了了解该篇 单片机入门学习五 STM32单片机学习二 跑马灯程序衍生出的stm32编程基础 中的基础外,我们还需要有时钟的概念,本篇将记录 stm32的时钟系统。 1、STM32时钟介绍 下面这幅图时stm32的时钟系统框图 1)蓝底框表示 时钟源,即: ①HSI是高速内部时钟,RC振荡器,频率为8MHz。 ②HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。 ③LSI是低速内部时钟,RC振荡器,频率为40kHz。(WDG看门狗 使用该时钟源) ④LSE是低速外部时钟,接频率为32.768kHz的石英晶体。(RTC实时时钟 使用该时钟源) ⑤PLL为锁相环
[单片机]
基于51单片机的模拟开关
1.实验任务 如图4.2.1所示,监视开关K1(接在P3.0端口上),用发光二极管L1(接在单片机P1.0端口上)显示开关状态,如果开关合上,L1亮,开关打开,L1熄灭。 2.电路原理图 图4.2.1 3.系统板上硬件连线 (1). 把“单片机系统”区域中的P1.0端口用导线连接到“八路发光 二极管 指示模块”区域中的L1端口上; (2). 把“单片机系统”区域中的P3.0端口用导线连接到“四路拨动开关”区域中的K1端口上; 4.程序设计内容 (1).开关状态的检测过程 单片机对开关状态的检测相对于单片机来说,是从单片机的P3.0端口输入信号,而输入的信号只有高 电平 和低电平两种,当拨开开关K1拨
[单片机]
教你设计单片机硬件系统
一个单片机应用系统的硬件电路设计包含两部分内容:一是系统扩展,即单片机内部的功能单元,如ROM、RAM、I/O、定时器/计数器、中断系统等不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路。二是系统的配置,即按照系统功能要求配置外围设备,如键盘、显示器、打印机、A/D、D/A转换器等,要设计合适的接口电路。 系统的扩展和配置应遵循以下原则: 1、尽可能选择典型电路,并符合单片机常规用法。为硬件系统的标准化、模块化打下良好的基础。 2、系统扩展与外围设备的配置水平应充分满足应用系统的功能要求,并留有适当余地,以便进行二次开发。 3、硬件结构应结合应用软件方案一并考虑。硬件结构与软
[单片机]
基于51单片机的自行车里程表
一.硬件方案 本设计的硬件主要由51单片机+最小系统+LCD1602液晶显示模块+霍尔测速模块+电机模块+电位器调速模块+蜂鸣器模块+LED指示灯模块+按键模块+时钟模块+AT24C02存储芯片: 二.设计功能 (1)采用霍尔传感器非接触式测电机转速; (2)电机(3v直流小电机)的速度可通过电位器调节速度,来模拟自行车速度快慢; (3)采用DS1302时钟芯片准确计时,AT24C02掉电存储设置的数据; (4)采用LCD1602液晶显示,年月日、时分、星期、总里程、当前速度; (5)按键可以设置时间、轮胎半径和超速报警值; (6)四个按键功能:设置时间、加、减、设置半径,加减键同时按下可清零里程。 三.设计原理图 (1)
[单片机]