其实STC单片机可以不用免掉电下载,想要知道怎样才能免掉电下载,我们先要了解STC单片机是怎样实现串口下载的,其实STC单片机出厂时就预置了一段ISP监控程序,我们称作ISP引导码,这段ISP监控程序就好比电脑硬盘的系统引导区。我们对STC单片机上电启动时,单片机首先执行ISP引导码检测串口是否下载程序的命令,如果上位机在对单片机下载程序时,单片机检测到下载数据流就启动ISP下载功能对单片机进行程序下载,这就是我们平时实验时点击下载后按开发板电源键的过程。
STC单片机在进行冷启动时会从ISP引导码开始执行程序,而进行热启动或按复位键软启动时是从用户程序段开始执行的。然而熟悉STC单片机的朋友知道STC单片机增加了ISP/IAP控制寄存器ISP_CONTR,用来管理ISP/IAP功能和是否软启动,其各位功能大家可参照STC公司相关资料。当我们将ISP_CONTR置为0x60时单片机自动复位从ISP引导码开始执行。由此我们在需要下载程序时将ISP_CONTR置为0x60就可以完成下载了。
STC 先安装<STC 单片机编程工具>软件到计算机中, 然后进行下面的 *** 作。 以下是烧录程序的主要界面。 烧录过程非常简单, *** 作也非常简单。 图中红色的五个大数字就 表示了整个过程。简简单单的五步就可以了(实际上只需 4 步)。 启动本烧录程序后, 第一步就是选择烧录器件。 本烧录软件支持STC 全系列的 51 单片机芯片, 因此, 第一步必须选择相对应的型号。 由于本实验板选用的单片机芯片就是本烧录软 件首次启动默认的型号,所以,本项一般都不需要选择。另外,“ AP Memory”是指该芯片的内存大小和起止地址, 根据器件型号自动更改, 不必 理会。 选择了器件型号, 第二步就应该选择将要被烧录的 HEX 机器码文件。 HEX 文件由单片机开发环境输入、 编辑代码, 最后编绎产生。至于如何产生 HEX 文件, 很多资料也都有介绍, 本板光盘中有详细的说明, 并且提供了多套开发软件(每套都能用) 。 通过对照自学完全可以很快掌握 *** 作。 并且,本实验板光盘也提供了多 种单片机开发环境供大家学习研究。 本光盘中提供了一些例子程序, 大家可以点“open file”按钮, d出以下窗口(源程序也 有,但这里不显示),先选择一些例子程序烧录实验。 选好了文件后, 大家可以发现“文件校验和” 中的数据发生了变化, 大家可以通过留意这个数据是否 变化来确 定打开文件是否成功, 或者文件刷 新是否 有更改。 当然, 文件打开后, 会显示在右边的数据区, 大家也可以观查右边数据区是否有更改。不过, 当数据太多时, 更改的地方又很少时, 观查“文件校验和” 会更快更准确。 选好了器件, 选好了文件, 第三步就可以设置串口和串口通信速度了。 串口是一个九针的插座, 老式的鼠标口就是串口。 为了让通信可靠, 我们可以适当的选低一些的速度, 这个串 口线较长时非常重要。 烧录过程中, 如果出现失败, 可以考虑将串口通信速度降低再试, 这是由于机器配置以及当地环境因素决定的, 当环境干扰过大时, 必需选低一点的波特率(即通信速率) 。烧录成功与失败,可以从信息区的提示看出。 选择并设置好串口后(一般不需更改) , 进入第四步, 而这一步基本上不用更改。 设置时钟倍频主要是为了提高工作速度, 设置时钟增益是为了降低电磁幅射。 这些, 对于高级工程人员和最终产品会很有用, 对于初学者来说, 只当没有看见就行了。第五步是最后一步, 点击“Download/下载” , 就可以进入烧录状态。特别 说明 :点击“ Download/ 下载”之前实验板的电源开关必须关闭,使单片 机彻底断电, 点击“Download/下载” 之后才可以使单片机上电,完成 程序的烧录。 注意: 点击“Re-Download/重复下载” 也可以, 这常用于大批量的编程, 不必每次都去点“Download/下载” 。 出现以下图状态时, 给实验板通电就可以完成编程过程(如果实验 板已经通电,则必须关掉电源 1 秒钟再次通电)。 重点注意事项: 注意: 整个烧录过程中(任何过程中) , 不要用手或者导体接触单片机集成电路的引脚或者电路! 这样很可能会永久性的损坏单片机实验板或者集成电路或者电脑主机。 原因: 绝对大多数的电脑没有采取良好的接地措施! 而电脑主机、 显示器的电源电路中,又有电容直接连接到市电, 这个电压和电流经常会达到很高, 当我们触摸电脑机箱后, 有时会感受到明显的电击, 就是这个原因! 另外尽量消除人体的高压静电, 高压静电也可能对 集成电路或者电路已经造成永久性的损坏。 解决方法: 当实验板与电脑连接时, 尽量不要用手接触单片机引脚; 尽量消除人体的高 压静电(实验时保持手有一定的潮湿度,可有效抑制静电产生) 现在就过过瘾吧! 在本光盘中提供了一些例子程序, 并且提供了已经编译好的HEX文件, 立即打开,试着分别烧录试试吧! 同一块集成电路(MCU), 通过不同的源程序代码, 倾刻间表现出不同的功能, 并且可以长期稳定工作, 这就是单片机的魅力所在! 只有懂了单片机, 才能设计开发出更复杂 、更可靠、更稳定的产品! 所以说, 不论学习电子技术多少年, 不论有了多少年电子工作经验, 不论是否会修理电 子产品,如果不懂单片机,就始终低人一等!!! 单片机不难, 采用本站最新S TC 编程、 实验、 开发一体化功能单片机板, 先实践, 后理 论,在书和光盘的帮助下,让你最快速度学会单片机! 仕别三日, 当令人刮目相看! 要实现理想, 从现在做起!看看这个,单片机用的是ADUC848,AD转换输出正弦波,和PWM原理类似。
实验八 D/A转换实验
一、实验目的
1.了解芯片内部D/A转换模块设置方法。
2.了解D/A转换原理。
3. 了解Keil软件中逻辑分析仪的使用方法。
4. 了解用单片机产生正弦信号的基本方法。
二、实验原理
ADuC848中包含一个12位电压输出DAC模块,DAC模块中寄存器的设置如下:
DAC控制寄存器:DACCON
NC表示未定义;
DACPIN为DAC输出引脚选择;
1 = 设置DAC输出引脚为Pin 13 (AINCOM)
0 = 设置DAC输出引脚为Pin 14 (DAC)
DAC8为DAC转换位数模式选择位;
1 = 设置DAC为8位转换;
0 = 设置DAC为12位转换;
DACRN为DAC输出范围选择位;
1 = 设置DAC的输出范围为 0 V - AVDD;
0 = 设置DAC的输出范围为 0 V - 2.5 V (VREF);
DACCLR为DAC清除位;
1 = 设置DAC为正常 *** 作模式;
0 = 复位DAC数据寄存器DACL/H to 0;
DACEN为DAC使能位
1 = 使能DAC转换;
0 = 不使能DAC转换;
DAC数据寄存器:DACH/L
DACH为12位转换的高位数据寄存器
四、程序流程图和源程序
1、主程序流程图
2、源程序清单
DACCON EQU 0xfD 定义模数转换控制器
DACH EQU 0xfc 定义模数转换数据寄存器高8位
DACL EQU 0xfb 定义模数转换数据寄存器低8位
ORG 0000H
LJMP MAIN
ORG 0200H
MAIN:MOV DACCON , #0fH DAC operation
CLR A
MOV DACH , A 模数转换高八位清零
PRG3:MOVR0,#09H正弦波
MOVR4,#40H
LP11:MOV A,R0
MOVCA,@A+PC
MOV DACL,A 2
ACALL DELAY 2
INCR01
DJNZR4,LP11 2
SJMP PRG3 2
DATA0:
DB 80H,8CH,98H,0A5H,0B0H,0BCH,0C7H,0D1H,0DAH,0E2H,0EAH
DB 0F0H,0F6H,0FAH,0FDH,0FFH,0FFH,0FDH,0FAH,0F6H,0F0H
DB 0EAH,0E2H,0DAH, 0D1H,0C7H,0BCH,0B0H,0A5H,98H,8CH
DB 80H, 7FH,73H,67H,5AH,4FH,43H,38H,2EH, 25H,1DH,15H
DB 0FH,09H,05H,02H,00H, 00H,02H,05H,09H,0FH,15H
DB 1DH,25H,2EH,38H,43H,4FH,5AH,67H,73H,7FH
RET
DELAY: MOV R6,#10H
MOV R7,#0A1H
DELAYLOOP: 延时程序
DJNZ R6,DELAYLOOP
DJNZ R7,DELAYLOOP
RET
END
四、实验板插针配置:
无需插针配置,注意DAC是从CONDACOUT1端子输出,可用示波器观察DAC输出波形。若产生失真情况,请检查开发板DA输出端LM358运算放大器的放大倍数,适当更改所查函数表的范围。
五、思考题
1、改变程序,使能添加输出锯齿波;
2、改变程序,使输出添加三角波;
3、改变程序,使输出添加方波;
4、改变程序,并制作一个简单的函数发生器
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)