标题: 初学51单片机 [打印本页]

作者: zyscxr    时间: 2024-6-24 00:03
标题: 初学51单片机
本人新购了一块板,现要静下心来学习。目前只会开机,不要笑我,对于写代码和烧写程序都陌生,只想让屏上近快显示个0000也好,这也算是进了!万事开头难,望各们高手帮指导帮助!

作者: 人工置顶员    时间: 2024-6-25 22:39
顶一下
作者: xiaobendan001    时间: 2024-6-26 07:24
买板子时没有给一本书和U盘?
作者: LaoYuTou    时间: 2024-6-26 08:20
卖的板子不是应该有例程的吗,先从例程看下,具体问题再说。
作者: cyi8    时间: 2024-6-26 08:35
学习单片机还是要有基础的,可以从基础学起。如果是没有一点基础的,建议先了解单片机的运行机制然后再学习编程语言,然后学习软件操作(编程,调试,仿真,文件输出等等)最后才是硬件仿真。如果是有基础的,例如懂得一门编程语言,知道单片机原理,了解什么是数据地址,什么是指令地址,什么是定时器,什么是计数器,什么叫中断等等,在此基础上学习单片机就会快很多了。例如原先学习过C语言,那么你只需要了解一下单片机的寻址方式,编程时候需要导入的头文件,然后就可以在KEIL上用C语言搭建一个程序,再了解一下12864显示屏的DATASHEET,很容易就可以编出来可以点亮屏幕并显示数据的程序了
作者: 公司的    时间: 2024-6-26 09:33
加油,多练习实践
作者: pmx3698    时间: 2024-6-26 09:50
可以看看苏科大的视频,相信对可以带你快速入门

作者: mtt661    时间: 2024-6-26 09:59
欢迎入坑
作者: 1860774xxxx    时间: 2024-6-26 11:05
还是从先点亮第一个LED灯开吧 然后到按键控制开关灯 流水灯 学数码管还早着呢
作者: ly1972001    时间: 2024-6-26 11:40
加油。遇到要掌握的基础,不要逃课啊!
作者: valen21    时间: 2024-6-26 12:40
不错,慢慢学
作者: Y_G_G    时间: 2024-6-26 12:47
1602LCD是一个比较深入的内容了,至少对于新手来说是这样的
1,先学基础,就是数字电路,单片机入门之类的,网上很多教程
什么叫"与",什么叫"或"之类的,后面的书箱都会用到数字电路上的专业名词的,如果你连位移是什么都不知道的话,单片机这条路是走不远的
这是每个学习单片机一定要走过的路程,这个过程会很枯燥,你可能会有一种"学了一个月,什么也没学会"的感觉,但你还是得一步一步来
2,要有一本书,纸质的或者是PDF的都可以,对着书上的课程,一节一节的来
3,C语言一定要过关,这是很重要的,可以边学C语言边学单片机
作者: STC庄伟    时间: 2024-6-26 13:40
要跟着郭老师 过渡到STC8H8K84U  带硬件USB  可以USB下载  USB仿真
作者: 阳洋    时间: 2024-6-26 16:13
加油加油,我也一样
作者: 51单片机账号    时间: 2024-6-28 09:26
加油,初学者对板子的选择有要求吗
作者: 1401466199    时间: 2024-6-28 13:04
我建议先把数码管上显示0000之后在进行LCD液晶显示屏的处理,得先打基础呀,LCD和数码管相差不多,弄懂数码管就简单很多了
作者: yaosongjin    时间: 2024-6-28 16:16
不应该先点灯吗?上来就点数码管有点飘了啊
作者: 2831606172    时间: 2024-6-28 21:44
可以自己先从b站上看点入门教学,再了解一点饭钱借的内置板子,然后就可以慢慢的实践课
作者: shangzhanyu    时间: 2024-6-29 07:54
网上找教程看看,从最简单的led灯开始搞起,后面还有pwm、spi、i2c、串口、adc等等
作者: rayin    时间: 2024-6-29 07:55
先用1602显示一个 hello world !, 再结合18B20sensor 在数码管或1602上显示温度.  一步一布实现了, 水平能力也就提升了
作者: TTQ001    时间: 2024-6-30 01:17
我们都鼓励你。当你开始学习51单片机时不要害怕,从这个网站上找到可行的例子并练习。
作者: sgql    时间: 2024-6-30 17:43
小宋老师教程最经典,没有之一
作者: adoreAY    时间: 2024-7-1 22:21
一起加油,买的同款
作者: 3205563085    时间: 2024-7-1 23:37
编程语言要过关啊
作者: yan_is_me    时间: 2024-7-2 08:37
一般单片机会有配套的例程代码资源,如果想快速使用51单片机,可以直接烧录例程中的hex文件就行,还是很有趣的,要坚持学下去
作者: @西风    时间: 2024-7-5 16:42
先看看怎么用ISP,就算会第一步了
作者: xiaoyao166ny    时间: 2024-7-6 12:40
我也有一块   卖家有例程的  网上也有视频教程
作者: 54565ll    时间: 2024-7-6 19:20

加油,多练习实践
作者: 白水大虾2016    时间: 2024-7-10 09:37
1860774xxxx 发表于 2024-6-26 11:05
还是从先点亮第一个LED灯开吧 然后到按键控制开关灯 流水灯 学数码管还早着呢

是呀!任重道远呢!
作者: 嵌入式小周    时间: 2024-7-25 15:15
数码管刷新吗? 我会
作者: 1853403148    时间: 2024-7-26 14:53
B站搜索江协科技,这个博主有个51单片机基础教程一共大概一两周就能拿下来
作者: 51Proteus0001    时间: 2024-7-28 20:06
学习51单片机是一个很好的起点,特别是对于初学者来说,因为它相对简单,且有大量的学习资源和社区支持。以下是一些基本步骤和建议,帮助你开始学习51单片机:

了解基本概念:

学习单片机的基本概念,包括中央处理单元(CPU)、内存(ROM和RAM)、输入/输出(I/O)端口、定时器/计数器等。
获取硬件:

购买或获取一块51单片机开发板,它通常包含单片机、一些LED灯、按钮、LCD显示屏、串口等接口。
学习汇编语言和C语言:

虽然C语言是编写51单片机程序的首选,但了解一些汇编语言可以帮助你更好地理解程序是如何在硬件上执行的。
安装开发环境:

安装适合51单片机的集成开发环境(IDE),如Keil uVision、IAR Embedded Workbench等。
编写第一个程序:

学习如何编写简单的程序,例如点亮LED灯、读取按钮状态、使用定时器等。
学习I/O编程:

学习如何控制单片机的输入/输出端口,这是与外部设备交互的基础。
作者: zyscxr    时间: 2024-9-22 17:35
xiaobendan001 发表于 2024-6-26 07:24
买板子时没有给一本书和U盘?

没有,在电子市场上买的,网上买估计会带
作者: zyscxr    时间: 2024-9-22 17:42
人工置顶员 发表于 2024-6-25 22:39
顶一下

非常感谢
作者: zyscxr    时间: 2024-9-22 17:46
1860774xxxx 发表于 2024-6-26 11:05
还是从先点亮第一个LED灯开吧 然后到按键控制开关灯 流水灯 学数码管还早着呢

#include "reg51.h"

typedef unsigned char BYTE;
typedef unsigned int WORD;

//-----------------------------------------------

/* define constants */
#define FOSC 11059200L

#define T1MS (65536-FOSC/12/1000)   //1ms timer calculation method in 12T mode

/* define SFR */
sbit TEST_LED = P1^0;               //work LED, flash once per second


/* define variables */
WORD count;                         //1000 times counter

//-----------------------------------------------

/* Timer0 interrupt routine */
void tm0_isr() interrupt 1
{
    TL0 = T1MS;                     //reload timer0 low byte
    TH0 = T1MS >> 8;                //reload timer0 high byte
    if (count-- == 0)               //1ms * 1000 -> 1s
    {
        count = 1000;               //reset counter
        TEST_LED = ! TEST_LED;      //work LED flash
    }
}

//-----------------------------------------------

/* main program */
void main()
{
    TMOD = 0x01;                    //set timer0 as mode1 (16-bit)
    TL0 = T1MS;                     //initial timer0 low byte
    TH0 = T1MS >> 8;                //initial timer0 high byte
    TR0 = 1;                        //timer0 start running
    ET0 = 1;                        //enable timer0 interrupt
    EA = 1;                         //open global interrupt switch
    count = 0;                      //initial counter

    while (1);                      //loop
}

目前找了一段程序,可以点亮一个灯了,也学会了烧录程序!有点进步,但只是一个灯,要实现逐个点亮还得需要时间研究一下
作者: herui2128    时间: 2024-9-25 16:40
买清扬开发板,给了视频和电子书的吧,跟着视频学就行了呀,不难的。
作者: 1527266409    时间: 2024-9-25 21:33
第一节课;点亮流水灯
作者: mtt661    时间: 2024-10-16 23:53
先拔掉1602,从点灯开始
作者: easymfk    时间: 2024-10-17 16:56
sgql 发表于 2024-6-30 17:43
小宋老师教程最经典,没有之一

哪里有教程,发来看看




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1