终于可以固化进ROM可以跑程序了,你还需要一段小型的开启代码(bootloader)

前置:汇编语言

%{#include %}%union {char *s; int n;}%token NAME NUMBER%destructor { free($$); } NAME NUMBER%token IF WHILE DO%type if0%token GOTO ELSE INT IN OUT HALT......%%int yyerror(char *s){ printf("%sn",s); }int main{ yyparse; }%{#include #include "y.tab.h"int n=0;%}......while {yylval.n=++n;return(WHILE);}[0-9]+ {yylval.s=strdup(yytext);return(NUMBER);}[a-zA-Z][a-zA-Z0-9]* {yylval.s=strdup(yytext);return(NAME);}. {return(yytext[0]);}%%int yywrap{ return(1);}

然后开始写操作系统

前置:ucos(嵌入式操作系统)

系统宏定义,系统功能配置,系统头文件,初始化文件,调度文件,任务管理文件

系统时间管理文件,信号量文件,邮箱文件,消息队列文件,内存管理文件,系统服务文件,MAIN文件。

写操作系统中的任务

前置:C语言,数据结构,算法导论。

start: JK startnopsdal 32sdah 0datploop: tinginltinginhjend cxcutenopjmp loopincexcute: call 32nopjmp startnop

拿着含辛茹苦的板子还需要配置最小系统以及外围器件

前置:PCB设计和制造,电焊等技艺,模电、高频电子线路,信号与系统

如果有信号传输

通讯协议

前置:SPI,I2C,CAN,TCP/IP、wifi等等

uintSPI_RW( uintuchar){uintbit_ctr;for(bit_ctr= 0;bit_ctr< 8;bit_ctr++) // output 8-bit{MOSI = (uchar & 0x80); // output 'uchar', MSB to MOSIuchar = (uchar << 1); // shift next bit into MSB..SCK = 1; // Set SCK high..uchar |= MISO; // capture current MISO bitSCK = 0; // ..then set SCK low again}return(uchar); // return read uchar}RF天线

前置:微波技术,电磁场与电磁波,HFSS,天线技术等等。

以上回答来源:知乎,作者:彭谟威

链接:https://www.zhihu.com/question/28580074/answer/93515413

看完这位同学的回答,网友纷纷评论表示:

化学,光学,半导体物理,等等就光刻胶涂胶的方式就够你研究一辈子了

这是一个人的活吗?

没有一定水平干不了这些的,微电子专业,呵呵

然后再制造出通量电容,回到过去,干死自己

最后一张图是PCB layout还是IC的?

。。。看完我已经不想学单片机了。。手动再见

好吧,短短几分钟,经历了一遍《从入门到放弃》

︿( ̄︶ ̄)︿不能更详细。。。

其实,一位道友曾经尝试过制作51单片机,接下来欣赏网友一路向北lm的制作过程:

设计的电路原理图如下

PCB设计如下,双面板,10*10以内(打印比较便宜),3D图效果图如下:

板卡功能:

1. 板载8个LED 可做流水灯实验。

2. 板载4位一体数码管 可做数码管静态 动态显示实验。

3. 板载CH340下载芯片,可以通过USB实现一键下载。

4. 板载MAX232串口芯片,现在串口下载,串口通讯。

5. 板载继电器模块,可实现对大电流大电压的控制。

6. 板载蜂鸣器模块,可以作为相关应用的提示。

7. 板载1602液晶接口,可以实时显示相关字符数据。

8. 板载12864液晶接口,可以实时显示汉子字符数据。

9. 板载四颗独立按键,可以实现对一些功能的触发。

10. 板载NRF24L01 无线接口,实现无线传输。

11.所有IO口引出,方便调试。

几天后,拿到打印后的板子,红色很是喜庆哈。

马不停蹄的焊接,很累啊,这么多贴片测试的过程必然艰辛。

大功告成,一块板子横空出世,赶紧试试, 板子焊接完成正面图,还算可以。

LED、数码管、蜂鸣器、继电器一切OK,USB CH340 下载电路也OK,使用Max232 DB9串口下载也OK,液晶接口1602 12864 也可以正常显示,基本功能都一切正常这次打板还是比较成功的。趁着这股劲,一鼓作气,多焊机了几块板子,摆一排,成就感爆棚。

下面是测试功能的一些图,包括1602、12864与oled显示。

▲1602显示

▲12864显示

▲oled显示

《c语言 从入门到放弃》,从入门到放弃的?单片机这样做很容易!相关推荐

  1. 1C语言 从放弃到入门-王桂林-专题视频课程

    <1>C语言 从放弃到入门-1052人已学习 课程介绍         C语言 从放弃到入门 课程收益     所有对C语言有入门恐惧的人. 讲师介绍     王桂林 更多讲师课程     ...

  2. 【HTML/CSS】从放弃到入门-笔记1

    从放弃到入门1 ⇒ 从放弃到入门2 了解浏览器 浏览器和服务器(了解) 浏览器是一款软件,浏览器功能:1将网页渲染出来给用户查看,2让用户通过浏览器与网页交互 不同浏览器的内核不同,渲染效果会有小的差 ...

  3. 五分钟学后端技术:分布式系统理论 - 从放弃到入门

    转载声明 本系列文章转自某技术大佬的博客https://www.cnblogs.com/bangerlee/ 该系列文章是我在网上能够找到的最全面的分布式理论介绍文章了,一直没看到有人整理这个系列文章 ...

  4. Scala从入门到入土(从入门到放弃)

    Scala从入门到入土(从入门到放弃) 1 Scala介绍 Scala是一门 综合了 面向对象的 函数式编程的 基于JVm的 语言 特点: 1 语法简洁 2 开发速度快 , 运行速度快 3 兼容 Ja ...

  5. C++音视频开发从放弃到入门(基于FFmpeg+OpenCV)

    前言 音视频开发一定要学C++吗?答案是肯定的.虽然其它语言也能搞音视频开发,甚至使用起来更简单,但"语言越高级,离真相就越远",当你的功能需求日益增多,程序的性能需求越来越迫切, ...

  6. python与c语言在语法上的区别-Python与C语言基础对比(Python快速入门)

    代码较长,建议使用电脑阅读本文. 10分钟入门Python 本文中使用的是Python3 如果你曾经学过C语言,阅读此文,相信你能迅速发现这两种语言的异同,达到快速入门的目的.下面将开始介绍它们的异同 ...

  7. 单片机独立式按键c语言程序,(原创)51单片机C语言程序设计--速学教程实例(入门篇)之独立按键(查询)...

    (原创)51单片机C语言程序设计--速学教程实例(入门篇)之独立按键(查询) /************************************************************ ...

  8. ZYNQ从放弃到入门(三)- 中断(一)

    在检查PS端IO口状态时,常用的就是轮询,但是实际工程中很少用这种方式,主要是运行复杂逻辑时,轮询方式效率太低,CPU需要等待IO口状态变化,这种肯定不符合大多数应用,所以多数情况下都是使用中断方式进 ...

  9. 最新易语言调用大漠插件制作脚本入门教程

    最新易语言调用大漠插件制作脚本入门教程 这是田野学院的一套零基础视频.学习做辅助脚本入门还是不错的. https://pan.baidu.com/s/1BWd2_kIjL6OLE7q-VcDVlw 提 ...

  10. ZYNQ从放弃到入门(八)-PS和PL交互

    之前的几篇文章主要集中在 Zynq SoC 的处理系统 (PS) 方面,包括: 使用 MIO 和 EMIO Zynq SoC 的中断结构 Zynq 私有定时器和看门狗 Zynq SoC 的三重定时器计 ...

最新文章

  1. 欺诈网站都注重用户体验!你,还在等什么?!
  2. Qt for Android 调用android原生接口分享图片或文字
  3. LoadRunner脚本篇
  4. SpringCloud Zuul(六)之PRE Filter
  5. FreeRTOS任务创建和删除
  6. BugkuCTF-MISC题做个游戏
  7. 记录一次分组求和查询优化
  8. mysql常见错误及解决办法_mysql常见错误代码、原因及处理办法
  9. Word 2010、Excel 2010中插入日期与时间(转)
  10. python统计词频瓦尔登湖_1.5 python文件操作
  11. 目前大数据工具主要哪些?
  12. C8051F C2/JTAG接口
  13. EXTJS资源库管理平台 2013.5.26-在线制作头像
  14. 2012-2022:深度学习十年后是撞墙了吗?Hinton、LeCun、李飞等大佬纷纷发声
  15. 100W个微信红包封面,人人都能领取到!!!
  16. 关于齐次坐标的理解(经典)
  17. linux log4j2.xml,动态配置log4j2.xml日志输出文件的位置
  18. 分享CVPR2019(附会议视频全记录)
  19. 单通道与双通道 RAM:哪个更适合游戏?
  20. MIKE21 教程 3.3 随时空变化的网格文件制作(.dfsu文件制作)以降雨时空序列文件为例

热门文章

  1. c++ primer plus第六版复习题及答案
  2. 现代优化算法 之 遗传算法
  3. c语言atm机实训目的意义,计算机实习目的与意义
  4. Tool for FMEA
  5. 诚龙网刻PXE网刻出错解决
  6. AutoResetEvent和ManualResetEvent的区别
  7. 015-JVM-使用javap查看class文件内容
  8. Qt面对高分辨率屏幕的解决方法思考
  9. Win11系统的显卡驱动安装的详细方法步骤
  10. 月薪30K+的电子工程师应具备什么?