导航:首页 > 操作系统 > 单片机实战电路

单片机实战电路

发布时间:2024-03-27 02:05:32

单片机的开发过程是怎样的

单片机的开发过程: 这里所说的开发过程并不是一般书中所说的从任务分析开始,我们假设已设计并制作好硬件,下面就是编写软件的工作。在编写软件之前,首先要确定一些常数、地址,事实上这些常数、地址在设计阶段已被直接或间接地确定下来了。如当某器件的连线设计好后,其地址也就被确定了,当器件的功能被确定下来后,其控制字也就被确定了。然后用文本编辑器(如EDIT、CCED等)编写软件,编写好后,用编译器对源程序文件编译,查错,直到没有语法错误,除了极简单的程序外,一般应用仿真机对软件进行调试,直到程序运行正确为止。运行正确后,就可以写片(将程序固化在EPROM中)。在源程序被编译后,生成了扩展名为HEX的目标文件,一般编程器能够识别这种格式的文件,只要将此文件调入即可写片。在此,为使大家对整个过程有个认识,举一例说明:
单片机试验板ORG 0000H
LJMP START
ORG 040H
START:
MOV SP,#5FH ;设堆栈
LOOP:
NOP
LJMP LOOP ;循环
END ;结束
参考资料来源:吴鉴鹰吧
贡献文档:网络文库《吴鉴鹰单片机项目实战精讲》
单片机开发板参考:吴鉴鹰单片机开发板(视频教程详细,资源丰富,适合 学习使用)

Ⅱ 51单片机实战:与计算机异步串行通信

猴!今儿扯串口,相对于并行——一口气全把数据扔过去,串行显得更加稳重——一位一位来。
串行就是这样,只需要一条数据线(全双工和同步串行时两条),一位一位的传过去。为了让大家在直到你是在给我传数据而不是外面的噪音或者是胡说八道,所以串行数据的各位要组装帧(看正文中的 帧格式 )。乍一看,这种方式跟并行比肯定慢的一腿。但实际上,多亏了它的稳定性,可以在波特率极高的情况下依然保持稳定,这是并行所办不到的(传的快了或距离远了就张牙舞爪了),所以发展到现在,串口已经把并口甩走几条街啦。

并口传输的例子: 《51单片机实战:液晶显示器のLCD1602》

除此之外,串行传输分同步和异步。同步除了传输数据外,还要传输时钟信号,以保持双方同步。另一种,异步,就没这么麻烦了,也是本例中要讲到的,各自走各自的时钟就好,只要帧格式和波特率都商量好是一样的就好。

电平之前在文章 《51单片机实战:液晶显示器のLCD1602》 中介绍过,那里只说了TTL,本例中由于要和计算机打交道,所以多了一种电平:RS-232C

在单片机中是TTL,电脑那边传出和接收都是RS232,所以两种电平需要作转换。

当当当!它就是干这活的。

举个栗子,比如单片机从T1IN输入TTL电平,转换好的RS232电平就从R1OUT输出。其他的照猫画虎,这里不详细说这个东西,因为咱们在Proteus里干活,用不着转换(Proteus光环)。

在此描述串行传输数据速率。
正儿八经的说,波特率乃 码元 的传输速率,即每秒传输的码元个数(码元可以是任意进制的),并不是什么每秒传输的比特数,大家注意。
波特来源于一个人的名字: Jean-Maurice-Émile Baud ot ,因此简写为Baud,单位符号:Bd。波特率可简写成Bd/s。

在串口通信中,其码元就是二进制信号,所以波特率的数值等于比特率数值,但你不能说波特率就是比特率啊!

单片机的串口通信有四种方式(各方式具体是干什么的,别着急,在后面),其中方式0和方式2的波特率是固定的。方式1和方式3的波特率是可变的,其脉冲周期由定时器1溢出产生。

其中 f 是系统晶振频率,T1是计时器1, SMOD 是PCON中的最高位(PCON见相关寄存器的第一个)。

可以从上述公式看出,波特率不可变是因为直接与系统晶振频率相关(晶振频率不可变,除非换晶振),而可变是因为直接与T1的溢出率相关(溢出率可以改变)。

溢出率
在之前定时器应用的例子( 《51单片机实战:定时器与数码管的应用》 )中,我们计算的是溢出周期,也就是多长时间会溢出一次。这次我们用到的溢出率其实是同一个东西,取倒数就可以了。

详见: 《51单片机实战:定时器与数码管的应用》 - 知识点 - 定时器/计数器 - 初值

11.0592MHz
为什么要用这么蹩脚的数字作晶振频率哈,就是跟这里有关。如果你已经用上述公式计算过串口方式1下的12MHz和11.0592MHz在9600波特率下的定时器初值,你就会发现,前者得出一个小数,而后者是个整数。
我们可没办法用小数赋初值,所以你若用近似的整数作初值,就意味着会产生误差。

若用其他的晶振和波特率的话,请自行按前面的公式计算。

串行传输按比特来,一个个比特组成一个帧,帧需要一定的格式才能被双方识别这是一个帧信息。

电源管理 寄存器,用于管理单片机的电源部分。
字节地址: 87H ,不能位寻址, reg52.h 中已定义,单片机复位时全部清零。

上表中出现的“串口方式”见下表的SM0和SM1。

串口控制 寄存器,用于设定串口工作方式。
字节地址: 98H ,可位寻址, reg52.h 中已定义,单片机复位时全部清零。

上表中波特率可变的方式,都由定时器1的溢出率控制。

当单片机接收到字符 a 时,点亮一个LED灯。传送方式:9600波特率,8数据位,无校验位,1停止位。

本例中我就不写电脑端程序了,直接用现成的。

注意,这里面我没有放转换电平转换芯片(MAX232),只有在Proteus里可以这么干,现实中焊板子还是要做电平转换的,这里这个软件给简化了。

COMPIM

虚拟终端
右下角那个东西是虚拟终端(Virtual Terminal),他可以直接截获串口传来的消息然后显示出来。很方便做这方面调试时使用。

路径: 边栏 → instruments → virtual terminal

如果在调试的时候不小心把它的终端窗口关了,再次打开路径: 菜单 → debug - virtual terminal ,注意是在启动调试的情况下。

大年初二,拜访完姥姥家就该看看单片机怎么玩,你说是吧!这两天快马加鞭了,下一站:一周目大BOSS。各位加油。

Ⅲ MULTISIM怎么仿真51单片机

1、⑴组建仿真电路
"" componet”对话框的“family”栏中先选取“805x”,="" 然后在“componet”栏下选取“8051”,最后单击对话框右上角的“ok”按钮。鼠标箭头将带出一个“8052”模块,在电子仿真平台上单击鼠标,将先弹出MCU向导对话框之一,第一栏是工作区路径,第二栏是工作区取名,这里输入“my mcu design1”,最后单击下方的“Next”按钮;
⑵再次弹出MCU向导对话框之二,共有4栏选项,第一栏为项目类型,一般选择“Standard (标准) ”;第二栏选择编程语言种类,单击右侧下拉箭头,可以在“Assembly C汇编”和“C”语言之间选择,这里选取“C”语言;则第三栏自动显示“Hi-tech C51-Lite compiler”字样; 第四栏可以输入项目名称,本文取名为“project1”,最后单击下方的“Next”按钮;
⑶再次弹出MCU向导对话框之三,有2个单选项:“Create emptyproject (创建空项目) ”和“Addsource file (添加源文件) ”, 这里选取“Add sourcefile”;下面栏中可以输入后缀为“。 C”的源文件名,这里就用“LED001. c”最后单击下方“Finish”按钮完成。
⑷完成MCU向导对话框之后,这时能在电子仿真平台上显示出原来调出单片机模块U18051,右击鼠标退出元件操作。
⑸保存文件,在文件名栏输入“led11”文件名,默认文件后缀“.ms10”。
⑹在电子仿真软件Multisim10基本界面平台上,单击主菜单“View /Design Toolbox”,在基本界面左侧将打开“设计工具盒”窗口,单击“led11”前的“ + ”号可以看到刚才命名的工作区“my mcudesign1”,在工作区下面是项目名“project1 ”, 在项目名下面是源文件名“Led001. c”。
⑺编写MCU源C语言程序(过程略);
⑻调出其他仿真元件,搭建单片机仿真电路,进行仿真;
2、51单片机用protues这个软件仿真更好!里面已经有现成的51模块了。调用就可以用,电源、地、复位电路和时钟等等都不用画。只要把编好的程序下载到protues中的51单片机里面就可以运行。外围提供的器件可以自己搭建。非常好用。

3、可以参考《基于Multisim 10的51单片机仿真实战教程:使用汇编和C语言》。

Ⅳ 51单片机接继电器的原理图如下,能不能帮我解释一下原理

R1、DS1是指示用的,没有控制意义,可以去掉,分析的时候不用管。
Q1受CPU控制,R4是基极限流,CPU输出低电平时Q1导通,继电器线圈有电流,继电器吸合。
CPU输出高电平时,Q1截止,继电器线圈电流消失,继电器释放。
由于继电器线圈本身相当于是一个电感,电流跳变的时候,线圈两端会产生有反电势,为了避免反电势对电路中其他器件造成损坏,在线圈两端加上续流二极管D1,对反电势电压进行续流。

使用这个电路的时候应注意Q1的射极电压不能高于CPU的电源电压,否则Q1不能完全截止,控制会失效。

Ⅳ 求用单片机制作简易信号发生器的程序以及电路图

<p>运放选OP07就可以了,由于DAC0832是单电源供电的,只能产握唤生正记性波形,所以利用外部运放来段滑凯实让余现负极性波形的产生</p>
<p></p>

阅读全文

与单片机实战电路相关的资料

热点内容
诺基亚手机app哪里下载 浏览:520
看比赛用哪个app 浏览:976
如何评价如故app 浏览:151
建立表结构的命令 浏览:581
安卓文件为什么苹果手机打不开 浏览:84
东奥轻4可以在哪个app做题 浏览:165
金融科技加密卡 浏览:837
程序员那么开一共有多少集 浏览:982
面试程序员被问数学问题怎么办 浏览:93
背大学英语的app哪个最好 浏览:721
哪个app买的衣服好 浏览:469
天刀以前玩过的服务器忘了怎么办 浏览:213
单片机基础代码解读 浏览:235
广东青少年编程学习 浏览:511
买男士香水去哪个app 浏览:550
androidsleep函数 浏览:153
android内核代码下载 浏览:665
服务器如何添加墨迹 浏览:747
diglinux安装 浏览:279
虚拟机执行命令 浏览:446