小白跨行入门单片机从89C51到STM32

        新手小白入门单片机其实很简单。硬件,软件的入门只需要理解他们之间的一个核心原理,然后配合入门几个基本的元器件和常用的几个编程关键字词的识别,应用。即可开始单片机的入门之旅。

        这只是希望提供一个思路。你想让单片机按照你的想法工作。那么通过软件编程去设置它吧。

        这个核心原理。从改变单片机某个引脚高低电开始。你想让这个单片按照你想要的方式改变它某个引脚的电平。于是编写一段软件代码烧录到单片机里面,然后单片机按照你想要的方式改变引脚的电平状态。比如让一个引脚接一个LED灯以1秒间隔闪烁。

        具体到不同的单片机硬件软件都有些许不同,理解了核心原理,其他只是换汤不换药。比如想同样的改变某个引脚的电平状态只是软件写法,名称,规则等会有不同,原理都是差不多的。

        以C51单片机为例。

        这是一个STC15F104亮灭一个LED实例。需要硬件一个USB转TTL,一个stc15f104单片机,一个3.3V的LED灯,一个1K的电阻,连接这些零件的电线若干。需要准备软件KEILL的EDA编程环境,配套USB转TTL驱动,stc-isp-15xx烧录软件。还有最贵的一个东西。。。。一台能开机的电脑。

看示意图:了解基本的电路及电子元器件知识,看图接好准备的硬件电路。

 电脑上89C51软件开发环境配置好,串口驱动打好。

程序思路就是导入C51的头文件,然后给用的哪个引脚取个名字然后加个延时每隔一秒改变一次引脚的电平状态。从而控制LED灯的亮灭。

代码示意如下:

#include <REGX52.H>
sbit LED =P3^3;        //为控制LED灯的引脚取一个名字叫LED以下代码都围绕你想怎么控制这个LED灯展开。
void DELAY_MS(unsigned int a ){
        unsigned int i;
        while (--a !=0){
                for (i=0;i<=600;i++);
        }
}
void main (void){
        while (1){
                LED=~LED;
                DELAY_MS(1000);
        }
}


编译通过后烧录进单片机不出意外就可以看到效果。

----------------------------------------------------------------------

再看看STM32单片机。只是多了些引脚和其他所需基本电路,核心思想是一样的,想用哪个引脚控制LED灯就接哪个引脚,比如接在PA13上。

 电脑上STM32软件开发环境配置好,串口驱动打好,FlyMcu等烧录软件安装好。

程序也是多了一些控制引脚所需的其他配置。也是导入stm32的头文件,然后给用的那个引脚配置好工作所需参数取个名字然后加个延时每隔一秒改变一次引脚的电平状态。从而控制LED灯的亮灭。

代码示意如下:
#include "stm32f10x.h"
 void DELAY(unsigned int a ){                //设置延时函数,需适配
        unsigned int i;
        while (--a !=0){
                for (i=0;i<=6000;i++);
        }
}
void LedConfig(void)        //配置好引脚工作所需参数
{
    GPIO_InitTypeDef GPIO_InitStructure;    //定义结构体
    
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);    //打开GPIOA的外设时钟
    
    /* 配置结构体并初始化到GPIOA */
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;            //选择需要使用的引脚
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;    //配置输出频率
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;    //配置引脚输出模式
    GPIO_Init(GPIOA, &GPIO_InitStructure);                //初始化结构体
}
 
int main (void)
{
    LedConfig(); //调用配置好引脚工作所需参数

    while(1){

    GPIO_SetBits(GPIOA,GPIO_Pin_13);//控制PA13引脚电平变高

    DELAY(20);//调用延时

    GPIO_ResetBits(GPIOA,GPIO_Pin_13);//控制PA13引脚电平变低

    DELAY(20);

}

STM32比C51多了更多代码,名称规则也不尽相同,功能更强大。这些东西思路都是相通的。从C51开始能通过敲代码实际控制一个灯的状态开始,单片机的门就算入了。剩下的就是不断学习,不断深入以实现更多更复杂更好玩的功能。硬件软件各有侧重,一切尽在入门之后。

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
目录 摘 要 I Abstract II 第一章 设计方案的对比 1 第二章 总体方案设计 2 2.1 原理简介 2 2.2 方案设计思想 2 第三章 方案实现 3 3.1、音频脉冲的产生 3 3.2.音乐节拍的生成 4 3.3.建立音乐的步骤 4 第四章 硬件设计 5 4.1 硬件电路 5 4.1.1、AT89C51的工作特性 5 4.2 原理说明 6 4.3 电路各模块说明 6 4.3.1 键盘系统 6 4.3.2 放大电路 7 4.3.3 时钟电路 8 4.3.4 复位电路 8 5.3.5 显示电路 9 第五章 软件设计 10 5.1 主模块的设计 10 第六章 仿真、安装和调试 12 总结 13 致谢 14 参考文献 14 附录 15 附录一:音乐程序 15 附录二:基于单片机的数字音乐盒总电路图 32 摘 要 本设计是基于单片机的数字音乐盒设计,由单片机AT89C51芯片和LCD显示器为核心, 辅以必要的电路,构成的一个单片机电子数字音乐盒。要求利用I/O口产生一定频率的方 波,驱动蜂鸣器,发出不同的音调并采用LCD显示信息,从而演奏乐曲(最少三首乐曲, 每首不少于30秒),开机时有英文欢迎提示字符,播放时显示歌曲序号(或名称),可 通过功能键选择乐曲,暂停,播放。 本设计采用4*4键盘,用Protel99来画系统硬件图,采用汇编语言进行编程,编程后 利用KEIL C51来进行编译,再生成的HEX文件装入芯片中,采用proteus软件来仿真,检验功能得以 正常实现。该音乐盒的设计可以通过按键选择不同的曲目,播放和暂停,并通过LCD显示 歌曲号及播放时间。 本设计键盘采用动态扫描方式。每次扫描一行键盘,送此行低电平,读输入口的状态 值,判断有没有键按下。若有键按下,根据读入口的值选择显示值并送至显示值寄存单 元,判断键值,启动计数器T0,根据次值为偏移地址找到要选择的音乐的代码的首地址 ,根据代码产生一定频率的脉冲,驱动蜂鸣器,放出音。同时启动定时器T1,计算音乐 的播放的时间。 关键词:数字音乐盒 AT89C51 LCD显示器 Proteus软件 4*4键盘 动态扫描 KEIL C5 Abstract The design of digital music box is based on singal-chip microc- omputer.The Chip of AT89C51 and LCD displayer was the heart of this design,with some necessary aided circuits,thus constructing the digital depends on singal-chip microcomputer.This design requires the I/O ports whitch have a certain frequency,square wave,then driving the buzzer to produce different tones,and LCD display information to play music(at least 3 songs,no less than 30 seconds per song),There have Englishwelcome prompt character and song number displayed on LCD when turn on the button.It can complited the music play or pause by select the function key. The design uses 4*4keyboard,with protel99 to draw the systerm hardware chart,assembly language progra-mming,programming for later use keil compiler,and then load the generated HEX filechip,using proteus simulation software,testing fun-ctions can be properly realized,The design of music box plays achived through the buttons to select a different track,pl-ay and pause,and through the LCD display the song number and play time. The dynamic scann

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bothAD

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值