导航:首页 > 操作系统 > 单片机小实验

单片机小实验

发布时间:2022-05-06 23:07:11

单片机实验数据排序

原发布者:瀚海湛蓝
实验一、数据排序实验一、实验目的熟悉8031指令系统,掌握程序设计方法。二、实验内容编写并调试一个排序子程序,其功能为用冒泡法将内部RAM中几个单元字节无符号的正整数,按从小到大的次序重新排列。三、实验程序框图NNN四、实验步骤1把8032片内RAM区50H—5AH中放入不等的数据(用寄存器读写方法)。2用连续运行方式从起始地址0100H开始运行程序(输入0100后按EXEC键)。3排序结束,显示“P.”。4用寄存器读写方法检查50—5AH中内容应从小到大排列。五、参考程序DORDE:MOVSP,#60H;设置栈指针MOVR3,#50HDORDE1:MOVA,R3MOVR0,A;数据指针传送到R0MOVR7,#0AH;长度送到R7CLR00H;清零标志位MOVA,@R0DORDE2:INCR0MOVR2,ACLRC;清零进位标志MOV22H,@R0CJNEA,22H,DORDE3;是否相等SETBCDORDE3:MOVA,R2JCDORDE4;小于或等于不交换SETB00HXCHA,@R0DECR0XCHA,@R0;大于交换位置INCR0DORDE4:MOVA,@R0DJNZR7,DORDE2JB00H,DORDE1;未完继续MOVR0,#7EH;完,关显示器前三位MOVA,#0FFHMOVR4,#06HDORDE5:MOV@RO,ADECR0DJNZR4,DORDE5MOV7EH,#0CH

② 单片机实验箱的实验项目

(一)软件实验
(1)清零程序;
(2)拆字程序;
(3)拼字程序;
(4)数据区传送子程序;
(5)数据排序实验;
(6)查找相同数据个数;
(7)无符号双字节快速乘法子程序;
(8)多分支程序;
(9)脉冲计数实验;
(10)电脑时钟实验。
(二)硬件实验
(1)P1口亮灯实验;
(2)P1口转弯灯实验;
(3)P3.3口输入,P1口输出实验;
(4)工业顺序控制实验;
(5)8255 A、B、C口输出方波实验;
(6)8255 PA口控制PB口;
(7)8255控制交通灯;
(8)简单I/O扩展实验;
(9)A/D0809转换实验;
(10)D/A0832转换实验;
(11)8279键盘显示实验;
(12)通用打印机实验;(打印机选配)
(13)微型打印机打印字符、曲线、汉字实验;(打印机选配)
(14)I2C储存卡读写实验;
(15)继电器控制实验;
(16)步进电机控制;
(17)8253方波实验;
(18)小直流电机调速实验;
(19)16*16 LED点阵显示实验;
(20)128*64 LCD液晶显示实验;
(21)8250可编程异步通讯接口实验(自发自收);
(22)8251可编程通讯接口实验(与PC机);
(23)单片机RS232/485串行发送实验(双机通讯);
(24)单片机RS232/485串行接收实验(双机通讯);
(25)温度实验;
(26)压力实验;
(27)DS18B20单总线数字温度传感器实验;
(28)红外线遥控通信实验;
(29)PWM脉冲宽度调制实验;
(30)射极跟随器实验;
(31)电子音乐演奏实验。
(三)扩展卡实验(选配)☆
1、KZ-1扩展卡完成以下实验:
(32)MAX813看门狗实验
(33)74LS165并转串实验
(34)74LS164串转并实验
(35)查询式键盘实验
(36)74LS138译码实验
2、KZ-2扩展卡完成以下实验:
(37)LM331 V/F转换实验
(38)LM331 F/V转换实验
(39)光耦隔离模块实验
3、KZ -3扩展卡完成以下实验:
(40)串行EEPROM 93C46读写实验
(41)I2C AT24C02读写实验
(42)TLC549串行A/D转换实验
(43)TLC5615 10位D/A串行转换实验
(44)PCF8563 I2C日历时钟实验
4、KZ -4扩展卡完成以下实验:
(45)ISD1730语音录放实验
5、CAN总线扩展卡:
(46)CAN总线通讯接口实验
6、TCP/IP以太网扩展卡
(47)以太网TCP/IP协议接口实验
7、USB2.0卡
(48)USB2.0通讯接口实验。
8、1032扩展卡:
Lattice公司:Lattice1032E芯片实验开发。
9、1K30扩展卡:
Atera公司:EP1K30TC144芯片实验开发。
10、C8051F020扩展卡+DICE-EC5仿真器:
C8051F020是完全集成的混合信号系统级MCU芯片。下面列举了一些主要芯片资源:
(1)高速流水线结构的8051兼容的CIP-51内核(最大25MIPS);
(2)全速非侵入式的系统调试接口(片内);
(3)真正12位100ksps的8通道ADC,带PGA和模拟多路开关;8位500ksps的8通道ADC;
(4)两个12位DAC,可编程更新时序;
(5)64K字节可在系统编程的FLASH存储器;
(6)4352(4096+256)字节的片内RAM;
(7)可寻址64K字节地址空间的外部数据存储器接口;
(8)硬件实现的SPI,SMBus/IIC和两个UART串行接口;
(9)5个通用的16位定时器;
(10)具有5个捕捉/比较模块的可编程计数器/定时器阵列;
(11)片内看门狗定时器,2个比较器,VDD监视器和温度传感器;
(12)64个I/O端口;
(13)-40~85度工业级温度范围;
(14)2.7V~3.6V工作电压,100脚TQFP封装;
11、DICE-DAQ数控式创新实验平台扩展卡(实验对象通过软件仿真)
闭环控制
(1)机器人扫地雷实验;
(2)刀库捷径选择实验;
(3)四层电梯实验;
(4)四级传送带实验;
(5)邮件分拣实验;
(6)水塔水位控制实验;
(7)交流电机Y/△起动实验;
开环控制:
(8)交通信号灯实验;
(9)步进电机实验;
(10)舞台灯实验;
(11)LED显示实验;
(12)液体混合装置实验;
(13)八通道逻辑分析实验;
(14)温度压力实验;
(15)连线自检实验;。

③ 要做这样一个单片机实验:类似鼓风机向上吹起乒乓球,乒乓球停会在一高度,但并不稳定,而是在晃动,

不知道你是想做一个固定高度停止还是需要做一个可调整高度让乒乓停止呢。
如果是固定高度的话,在适当高度设置一个光电检测单元,当乒乓达到高度时候出发单元,程序控制鼓风机减小风力,使向上的风力跟乒乓的重力达到平衡就可以使乒乓停住了。
如果是可调高度的,可能会用到类似光栅尺的测量元件,计算出乒乓的高度,然后触发程序控制悬停。
听你说是在做单片机实验,估计要准确计算悬停的时候所用的风力(即鼓风机转速)有一定困难,可以通过实际实验来测出一个合适的值,高于这个值乒乓上升,低于这个值乒乓就会下降了。
由于没有具体做过只是一个大概思路,可以大家讨论下

④ 单片机流水闪烁灯的实验目的

学习基础知识。

⑤ 51单片机小灯实验

给你第一用汇编第二用C吧,另一半自己搞定。

ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV A,#0FEH
MOV R2,#8
LOOP:
MOV P0,A
LCALL DELAY
CLR C
RLC A
DJNZ R2,LOOP
SJMP $
DEALY:
MOV R3,#200
DELAY1:
MOV R4,#250
DJNZ R4,$
DJNZ R3,DELAY1
RET
END

#include<reg51.h>
#define uchar unsigned char
uchar num;
sbit LED=P1^0;
void t0isr() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
num++;
if(num>=200)
{
num=0;
LED=~LED;
}
}
main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
ET0=1;
EA=1;
LED=0;
while(1);
}

⑥ 51单片机 水滴实验(LED小灯水滴变大下落,带拖尾效果)程序看不太懂,能解释下具体的实现过程吗

单片机学了一圈,回过头来才看明白这个东西
水滴变大,就是用了pwm波的占空比,亮的次数一次比一次多的话,那么就会变的越来越亮的,,因为在252除4的63次循环中,每次都会k++,那么下次的时候执行db0=1的时间就会比上一次的时间短,那么就会变大了,不过这个程序这么写看着很复杂,你实现一个灯的亮度变化和,8个灯依次的亮度从大到小就能看懂这个了,等到水滴下落的时候,在254次的循环中,每次遇到加速的时间数组的时候就要变化各个灯的亮度,来模拟下落,然后后面的64的循环就是在64次中,用占空比实现到底是哪个灯最亮,哪个比前个暗一点,然后k的15次循环就是碰到该改变P0的值的一次了,这样就会按照a的数字改变值

⑦ 用单片机做一个简单的实验,控制电路什么的,不要像毕业设计那样复杂的。

看这篇帖子的,我想都是电子爱好者或电类专业学生。不知道大家都处于什么一个阶段,这篇帖子是写给入门者的,要解决一个问题:初学者应重点掌握什么电子知识,大学阶段如何学习?

先说点貌似题外的东西——3个谬论。

谬论一:高中老师常对我们说,大家现在好好学,考上了大学就轻松了,爱怎么玩怎么玩。这真是狗屁。别的专业我不好说,电气、电子、电力、通信、自动化等电类专业,想要轻松那是不可能地(当然你是天才就另说),专业课上讲的东西对决大多数人来说那是云里雾里,从来都是一知半解,需要你课下大量时间精力地消化。有些东西甚至需要你若干年后在工作中遇着时才回过味:“哦,原来以前学的那东西是干这使的。”你要能想得起,并知道怎么回头去补,就算是上学时专业课学得很扎实了。

谬论二:填志愿时经常有人对我们说:专业不重要,学校最重要,进了个好学校想学什么再学。这亦是狗屁。进了学校,本专业的课程就可能会压得你喘不过气来,还有多少人有时间和毅力选修第二专业?而所学专业几乎就是决定了你今后一生的职业生涯。而学校,说实在话本科阶段我觉得从老师那学到的东西各校间差别不是很大。课上讲的大同小异,课下也不会有什么好老师给你单独指导和点拨,若能遇着,那是你的幸运。越牛的学校的越牛的老师就越忙,不要指望他们会在教学上花多少心思,更不要指望他们对你另眼相看。反倒是一些普通院校的小老师们可能跟学生走得更近,辅导更多些,虽然他们可能水平一般,但对于你大学的学习来说还是足够的。综上所述,我觉得对于一个电子爱好者来说,成为一名普通重点大学的电子系学生比成为北大的哲学系学生更重要。当然看帖的应该大多数都是学电的,那恭喜你,这个专业不错的,虽不是什么“朝阳产业”,但绝对是个“常青行业”。

谬论三:上了大学,可能又有不少人对你说,在大学专业不重要,关键的是学好计算机和英语,这样就不愁找不到好工作了。这也是屁话。你要明确一点:你将来不是纯靠英语吃饭的,也不是做编程、搞软件开发或动画创作的。我是想说:若果你性格偏内向沉稳、肯钻研、爱好电子行业,将来想从事电子设计和研发工作,那你一定要学好专业课。当然英语也很重要,但以后工作中用得多的是你的专业英语,即能读懂英语技术文档,而不是跟别人比你口语多正宗多流利。至于计算机,那就是一工具,不要花太多时间去学photoshop、3dmax、Flash、网页制作等流行软件,这些在你今后的工作中用不着,也会牵扯你大量时间精力。好钢用在刀刃上,多进进实验室多搭搭电路吧。当然,电类学生对电脑也有特殊要求,那就是用熟Protel、
Multisim,学好汇编语言、C语言、选学PLD相关软件。任务也是很重的。

以上说了3个谬论,下面言归正传吧。那么进了大学,读了电类专业,这4年你该学些什么呢?

首先要了解:电类专业可分为强电和弱电两个方向,具体为电力工程及其自动化(电力系统、工厂供变电等)专业属强电,电气工程及其自动化以强电为主弱电为辅,电子、通信、自动化专业以弱电为主。其他更进一步的细分要进入研究生阶段才划分。但无论强电还是弱电,基础都是一样的。

首先高数是要学好的,以后的信号处理、电磁场、电力系统、DSP等不同方向的专业课都用得着。

专业基础课最重要的就是电路分析、模拟电路、数字电路。这3门课一定要学好。这3门课一般都是大一下学期到大三上学期开设,对大多数对电子知识还了解不多的同学来说,通常是学得一知半解,迷迷糊糊。所以,最好是在开课之前或是开课的同时读一两本通俗浅显的综合介绍电子知识的书籍,对书中的知识你不需要都懂,能有个大致感觉就行。

对这这种入门读物的选择很重要,难了看不懂可能兴趣就此丧失或备受打击,反而事与愿违。在此推荐一本《电子设计从零开始》(杨欣编着,清华大学出版社出版),该书比较系统全面地介绍了电子设计与制作的基础知识,模电、数电、单片机、Multisim电路仿真软件等都有涉及,一册在手基本知识就差不多了,关键是浅显易懂,有一定趣味性。另外科学出版社引进出版的一套小开本(32开)电子系列图书也不错,是日本人写的,科学出版社翻译出版,插图较多,也较浅显,不过这一系列分册较多,内容分得较细。

除了看书,还要足够重视动手实践。电路、模电、数电这些课程进行的同时都会同时开设一些课程试验,珍惜这个动手机会好好弄一弄,而不要把它当作一个任务应付了事。跟抄作业一样,拷贝别人的试验结果在高校中也是蔚然成风,特别是几个人一个小组的实验,那就是个别勤奋好学的在那折腾,其他人毫不用心地等着出结果。

我只想说,自己动手努力得来的成果才是甜美的,那种成就感会让你充实和满足。游手好闲的,到临近毕业找工作或在单位试用时,心中那种巨大的惶恐会让你悔不当初。这种教训太多了,多少次我们都是蹉跎了岁月才回过头来追悔莫及。除了实验课好好准备好好做之外,许多学校都设有开放性实验室,供学生平时课余自觉来弄弄。珍惜这种资源和条件吧,工作后不会再有谁给你提供这种免费的午餐了。

当然有些学校没有这么好的条件,或缺少器件,那同学们就在电脑上模拟一把试验平台吧,就是学好用好Multisim软件。Multisim是一种电路仿真软件,笔者上学时叫做EWB,后来随着版本更新,先后更名为Multisim2001、Multisim7、Multisim8。这个软件可模拟搭建各种模拟电路和数字电路,并可观测、分析电路仿真结果。大伙可以把模电、数电中学习的电路在这软件里面模拟一下,增加感性认识,实验前后也可把试验电路在软件里模拟,看跟实际试验结果有多大差别。可以说,只要你是学电的,这个小软件就是你上学时必须掌握的,对你的学习助益很大。另一个必须掌握的软件那就是protel了。

上学时,从小学期的综合设计实验到毕业设计,最后都会要求你用Protel绘出设计的电路原理图和PCB版;工作后,Protel也是你必须掌握的基本技能,部分同学毕业后一两年内的工作,可能就是单纯地用这软件画板子。Protel的版本也走过了Protel98、Protel99、Protel99SE、ProtelDXP、Protel2004的发展道路。Protel99SE、ProtelDXP、Protel2004这三个版本现在用得最多,目前许多学校教学或公司内工程师使用的都还是Protel99SE,当然若作为新的自学者直接从Protel2004学起似乎好一些。

综上所叙,作为最基本的EDA(电子设计自动化)软件,Multisim和Protel是所有电类学生在上学时必须掌握的。其他的如Pspice、Orcad、SYstemview、MATLAB、QuartusII等等,需根据不同的专业方向选学,或是在进入研究生阶段或工作后在重点学习使用。那Multisim和Protel好学么?入门应该问题不大,让师兄师姐指导指导,或是找一两本入门书看一看就OK了。这里推荐一本《电路设计与仿真——基于Multisim 8与Protel 2004》(也是杨欣编着,清华社出版),作为这两款软件的入门学习挺不错的,关键是一本书包含了两款软件学习,对穷学生来说比较划算,若是花钱买两本书分别去学这两个软件,就不值了,因为Multisim的入门不是很难。另用Protel画PCB电路板学问挺大的,有必要多看一些技术文档或是买一本高级应用类的图书。

2.大三大四(学习专业课,尝试应用)
进入大三,就涉及到专业课的学习了,本文只讨论以应用为主的专业课,其他如《电力系统分析》、《电机学》、《自控原理》、《信号与处理》、《高电压》、《电磁场》等等以理论和计算为主的专业课,咱就不多提了。当然这些课对你今后向研究型人才发展很重要,也都很让人头疼,要有建议也只能说是努力学、好好学,懂多少是到少(不过别指望全都懂),以后工作或接着深造用得着时再回过头来接着补接着学,那时有工作经验或接触多了有感性认识,可能学着就容易些了。
那以应用为主的专业课又有哪些呢?不同专业方向有不同的课程,很难面面俱到。这里先简单罗列一下,有微机原理与接口技术(也称单片机)、开关电源设计、可编程逻辑器件(PLD)应用、可编程逻辑控制(PLC)应用、变频器应用、通信电路、数字集成电路分析与设计、DSP、嵌入式等等。可能有同学要问:这么多东西,大学阶段要想都学好不容易吧?答案是不仅是不容易,而且是不可能。这些技术每一门展开来都是复杂的一套知识,可以说,你只要精通其中一门,就可以到外边找个不错的工作了。
而且在大学阶段,这些课程也不是都要学的,而是针对不同专业方向选修其中几门(具体选哪几门,多研究研究你们各自的专业培养方案,多请教老师),学的时候争取能动基本用法即可,真正的应用和深入是要到工作后的;当然你若很勤奋或有天赋,能熟练掌握某一门达到开发产品的程度,那毕业后找个好工作就轻而易举了。到这里我们需要再明确一点:电子领域知识繁多、浩如烟海,所以一般搞硬件的公司都有较多的员工,一个研发项目是多人细致分工、共同完成的,所以我们经常会听到团队意识这个名词。因为一个人的能力有限,不可能掌握所有的知识。比如一些人专门负责搞驱动,一些人专门从事逻辑设计,一些人专门搞高频无线,一些人专门搞测试,一些人专门设计外壳,一些人专门设计电路板等等。

看到这里可能有的同学头都大了:那说来说去大学阶段到底究竟应该学些什么呢?说实话写到这里我的头也大了,电子设计涉及方方面面的东西太多了,实在不是一篇文章甚至一本书能说得清楚的。所以我决定剔除这些生涩的课程名目,大致说一下我所认为的一个电类学生或是想要成为电子工程师的自学者应该掌握的基本的专业技能。

现在应该说单片机不知道那是相当严重的问题。单片机的知识和应用的技巧成了求职面试中必备的问题。但是单片机的知识较难入手,但是你如果看了《51单片机应用从零开始》(清华大学出版社,王玉凤,刘湘黔,杨欣编着)就不是这么感觉的了,这是一本中学生都读得懂的单片机基础和应用教程。这本教程凝结了国内几所重点大学中站在科研、教学第一线教师们的心血,也得到了英国剑桥大学、牛津大学、伦敦帝国理工大学、伦敦大学、加的夫大学等世界着名大学多位博士生导师的指导意见。经过多位学者的精心裁剪,本书的脉络、线索、内容才真正符合读者学习单片机的需要。

《51单片机应用从零开始》以生动活泼、平实易懂的语言讲述。尽量让单片机学习过程中不断涌现的专业词汇,在不知不觉的情况下通过多方面的使用而掌握。本书没有用专业的描述方法来叙述知识点,取而代之的是以“讲故事”的形式把应该了解的内容和盘托出。
十分注重基础知识的铺垫。在单片机学习之前,需要对计算机原理和电子技术有一定的了解。本书考虑到不同读者的知识背景不同,把这两个基础理论融入到了单片机的讲解当中,使阅读起来感觉不到有什么障碍。
构建了全面的学习支撑体系。每章最后的“实例点拨”除了巩固每章的学习知识外,更重要的是开辟单片机应用的视野;再加上“器件介绍”环节,补足单片机从基础到应用所需要的知识;以及丰富的附录内容可作为学习和应用单片机的强力参考。这便构建了一个完整学习单片机的支撑体系。
既授人以鱼,也授人以渔。书中有充足的实例应用,可以用在单片机实验、单片机课程设计当中。但更重要的是,这些实例前后都伴随着仔细的讲解,一个例子下来就能摸清来龙去脉。
叙述的内容全面、新颖、权威。严格按照单片机官方的技术参考对其进行讲解,包括所有51单片机学习与应用需要的基础知识。无论叙述的内容或是实例,都是目前世界上单片机应用的主流。
全书浑然一体。虽然每章各具标题,实际上互有联系。而这种联系如果在书中忽略不谈,则会对理解和记忆产生障碍。本书在正文中多次有知识点的相互映射,这不但能加深前后内容的联系,而且能深化理解与记忆。

我认为:除了最初提到的电路分析、模拟电路、数字电路、单片机外,应了解并掌握电子元器件识别与选用指导、基本仪器仪表的使用、一些常用电路模块的分析与设计、单片机的应用、PLD的应用、仿真软件的应用、电路板设计与制作、电子测量与电路测试。

电子元器件的识别与使用就不用说了,这是元素级的基础,不过要想掌握好也并不容易,一些电子系学生毕业了,还认不出二极管、三极管实物、分不清电解电容的正负极等等,也不是没有的事。还是一句话,多进进实验室,多跑跑电子市场,多看看书。

仪器仪表的使用,大学的实验课中你至少会用过数字万用表,波形发生器、电源、示波器、小电机、单片机仿真机,至少要把这些东西的接线方法和用法弄懂吧。

常用电路模块也是包罗万相,各种放大电路、比较器、AD转换电路、DA转换电路、微分电路、积分电路,还有各种数字逻辑单元电路等等,只能说,大致了解吧,并学会怎么去查资料、查芯片查管脚。最基本的,做实验或课程设计中用到的各种芯片要弄熟。

单片机,这是应该掌握的。时下单片机种类繁多,但各大小企业用得最多的还是51系列单片机,而且价格便宜、学习资料也最全,故给自学者推荐。当然各学校开课讲的单片机型号会有所不同,没关系,学好单片机编程,学好了一种,再学别的单片机就容易了。

PLD(可编程逻辑器件),一种集成电路芯片,提供用户可编程,实现一定的逻辑功能。对可编程逻辑器件的功能设定(即要它实现什么功能)要有设计者借助开发工具,通过编写程序来实现,这跟单片机类似。开发工具可学习Altera公司的Quartus II软件(这是该公司的第4代PLD开发软件,第3代是MAX+PLUS II软件)。编程语言学习硬件描述语言VHDL或Verilog HDL。

仿真软件最基本的就是前面说的Multisim了,另外还可学MATLAB。其他的试专业情况选学或是工作后学。电路板设计与制作主要是用Protel软件辅助进行。这在前面已有介绍,读者应该也比较熟悉。

最后建议同学们积极与各类电子竞赛赛事,参加一场比赛一个项目做下来,电子设计的一个流程和各环节的基础知识就能串起来了,对知识的融会贯通及今后走向工作岗位都有莫大裨益。

以上这些东西我说得笼统,深入下去又是一大堆要学的东西。还是那句话,多啃书本、多实践!清华大学出版社有一套“电子电路循序渐进系列教程”是按照上面我所讲的那个思路出的,可惜好像还没出全,现在好像只有《单片机在电子电路设计中的应用》、《电路设计与制板——Proetl应用教程》、《仿真软件教程——Multisim和MATLAB》、《常用电路模块分析与设计指导》几本。另外听听你们老师的意见、师兄师姐的意见,问问他们应读些什么书,当然也不能尽听尽信,翻开一本书我想你先大致看看他讲得是否通俗,自己琢磨着能看懂几分?我想能有5分懂这本书就值得一看了,示自己现阶段的知识情况,太浅显的书不用看了,太深的书也不要去看,看得迷迷糊糊还打击自信心丧失了兴趣。

好了,就此停笔吧。本来是要写个书目推荐,可干瘪瘪的罗列一堆书目有什么意义?还是写下这些字,让同学们自己去思考去选择去深入吧,希望能对你们有所帮助。

最后一句老生常谈也是我的切肤之痛:大学四年会一晃而过,要学的东西太多太多,不要虚度光阴。及时当努力,岁月不待人!
另外,虚机团上产品团购,超级便宜

⑧ 单片机实验注意事项

单片机开发规则与注意事项

随着大规模集成电路技术的发展,单片微型计算机也随之大发展,各种新颖的单片机层出不穷。单片机具有体积小、重量轻、应用灵活且价格低廉等特点,广泛地应用于人类生活的各个领域,成为当今科学技术现代化不可缺少的重要工具。

单片机系统的开发融合了硬件和软件的相关技术。要完成单片机系统的开发,用户不仅需要掌握编程技术,还需要针对实际应用选择合理的单片机芯片和外围器件,以此为基础,设计硬件电路。

正确估计单片机的能力,知道单片机能做什么,最大程度的挖掘单片机的潜力对一个单片机系统设计者来说是至关重要的。单片机的能力的关键就在软件设计者编写的软件上。只有充分地了解到单片机的能力,才不会做出“冗余”的系统设计。而采用许多的外围芯片来实现单片机能实现的功能。这样做,即增加了系统成本,也可能会降低了系统的可靠性。

要完成单片机系统的开发,用户不仅需要掌握编程技术,还需要针对实际应用选择合理的单片机芯片和外围器件,以此为基础,设计硬件电路。

单片机开发规则与注意事项

设计满足要求的最精简的系统

正确估计单片机的能力,知道单片机能做什么,最大程度的挖掘单片机的潜力对一个单片机系统设计者来说是至关重要的。单片机的能力的关键就在软件设计者编写的软件上。只有充分地了解到单片机的能力,才不会做出“冗余”的系统设计。而采用许多的外围芯片来实现单片机能实现的功能。这样做,即增加了系统成本,也可能会降低了系统的可靠性。

看门狗电路通常是一块在有规律的时间间隔中进行更新的硬件。更新一般由单片机来完成,如果在一定间隔内没能更新看门狗,那看门狗将产生复位信号,重新复位单片机。更新看门狗的具体形式多是给看门狗芯片相关引脚提供一个电平上升沿或读写它的某个寄存器。使用看门狗电路将在单片机发生故障进行死机状态时,重新复位单片机,像EN8F154本身就带有看门狗。

确定系统的复位信号可靠

一般在单片机的数据手册(Datasheet)中都会提到该单片机需要的复位信号的要求。一般复位信号的宽度应为。复位电平的宽度和幅度都应满足芯片的要求,并且要求保持稳定。还有特别重要的一点就是复位电平应与电源上电在同一时刻发生,即芯片一上电,复位信号就已产生。不然,由于没有经过复位,单片机中的寄存器的值为随机值,上电时就会按PC寄存器中的随机内容开始运行程序,这样很容易进行误操作或进入死机状态。

确定系统的初始化有效

系统中的芯片以及器件从上电开始到正常工作的状态往往有一段时间,程序开始时延时一段时间,是让系统中所有器件到达正常工作状态。究竟延时多少才算合适?这取决于系统的各芯片中到达正常工作状态的时间,通常以最慢的为准。一般来说,EN8F154的延时20-100毫秒已经足够。对于系统中使用嵌入式MODEM等“慢热”型的器件来说,则应更长。当然,这都需要在系统实际运行中进行调整。

当然,仿真是单片机开发过程中非常重要的一个环节,除了一些极简单的任务,一般产品开发过程中都要进行仿真,仿真的主要目的是进行软件调试,当然借助仿真机,也能进行一些硬件排错。一块单片机应用电路板包括单片机部份及为达到使用目的而设计的应用电路,仿真就是利用仿真机来代替应用电路板(称目标机)的单片机部份,对应用电路部份进行测试、调试。仿真有CPU仿真和ROM仿真两种,所谓CPU仿真是指用仿真机代替目标机的CPU,由仿真机向目标机的应用电路部份供给各种信号、数据,进行调试的办法。

⑨ 简单的单片机实验题目!编了下,不知道对不对!麻烦指点!

本题目涉及到两个片外地址。
传统的单片机,只有一个片外数据指针DPTR,地址的处理就比较麻烦。
稍新一些的单片机,如AT89S52,就有两个DPTR。
楼主的题目,像是学校里面的作业,一般是不使用两个DPTR的。
本题目,数据量很小,可以先全部倒到片内,再传送到片外的目的地。
这样便于大批数据的修改,但是,为了解决现在的小问题,程序未免嫌长。
还是在楼主的程序上,稍加修改。
程序如下:
;
MOV DPTR, #1000H ;第一块地址
MOV R7, #10H ;第二块地址
MOV R6, #10H ;此处修改了,原为00H
MOV R2, #8
LOOP:
MOVX A, @DPTR ;取第一地址内容
MOV B, A ;暂时存放
PUSH DPH
PUSH DPL
MOV DPH, R7
MOV DPL, R6 ;DPTR = 1010H
MOVX A,@DPTR ;取第二地址内容
XCH A, B
MOVX @DPTR, A ;交换存放
INC DPTR
MOV R7, DPH ;保存第二地址
MOV R6, DPL
POP DPL ;恢复第一地址
POP DPH
XCH A, B
MOVX @DPTR, A ;将首地址1010H的内容放到1000H
INC DPTR
DJNZ R2,LOOP
;完

阅读全文

与单片机小实验相关的资料

热点内容
考驾照怎么找服务器 浏览:882
阿里云服务器如何更换地区 浏览:970
手机app调音器怎么调古筝 浏览:501
锐起无盘系统在服务器上需要设置什么吗 浏览:17
红旗出租车app怎么应聘 浏览:978
如何编写linux程序 浏览:870
吉利车解压 浏览:248
java输入流字符串 浏览:341
安卓软件没网怎么回事 浏览:785
dvd压缩碟怎么导出电脑 浏览:274
冒险岛什么服务器好玩 浏览:541
如何在服务器上做性能测试 浏览:793
命令序列错 浏览:259
javaif的条件表达式 浏览:576
手机app上传的照片怎么找 浏览:531
云服务器面临哪些威胁 浏览:748
c语言各种编译特点 浏览:177
路由器多种加密方法 浏览:604
程序员阻止电脑自动弹出定位 浏览:168
如何做服务器服务商 浏览:762