大连理工大学单片机实验一报告

合集下载

关于单片机实训报告万能【六篇】

关于单片机实训报告万能【六篇】

关于单片机实训报告万能【六篇】【篇1】单片机实训报告万能通过今次单片机实训,使我对单片机的认识有了更深刻的理解。

系统以51单片机为核心部件,利用汇编软件编程,通过键盘控制和数码管显示实现了基本时钟显示功能、时间调节功能,能实现本设计题目的基本要求和发挥部分。

由于时间有限和本身知识水平的限制,本系统还存在一些不够完善的地方,要作为实际应用还有一些具体细节问题需要解决。

例如:不能实现只用两个按键来控制时钟时间,还不能实现闹钟等扩展功能。

踉踉跄跄地忙碌了两周,我的时钟程序终于编译成功。

当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。

我相信其中的酸甜苦辣最终都会化为甜美的甘泉。

但在这次实训中同时使我对汇编语言有了更深的认识。

当我第一次接触汇编语言就感觉很难,特别是今次实训要用到汇编语言,尽管困难重重,可我们还是克服了。

这次的实训使培养了我们严肃认真的做事作风,增强了我们之间的团队合作能力,使我们认识到了团队合作精神的重要性。

这次实训的经历也会使我终身受益,我感受到这次实训是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。

希望这次的经历能让我在以后学习中激励我继续进步。

【篇2】单片机实训报告万能通过这一个学期的单片机学习,我收获了很多关于单片机的知识,并且这些知识和日常的生活息息相关。

了解了一些简单程序的录入,LED显示器、键盘、和显示器的应用和原理。

LED显示器:LED显示器是由发光二管组成显示字段的器件。

通常的8段LED显示器是由8个发光二极管组成,LED显示器分共阳极和共阴极两种。

有段选码和和位选码。

当LED显示器每段的平均电流位5MA时,就有较满意的亮度,一般选择断码5-10MA 电流;位线的电流应选择40-80MA。

LED显示器的显示方式有动态和静态两种。

7289A芯片是具有SPI串行接口功能的显示键盘控制芯片,它可同时取得8位共阴极数码管和64个键的键盘矩阵。

大连理工大学单片机实验一报告

大连理工大学单片机实验一报告

大连理工大学实验报告实验时间:年月日星期时间:: ~ :实验室(房间号): 419 实验台号码:班级:姓名:指导教师签字:成绩:实验一MCS-51单片机的存储器读写实验一、实验目的和要求在RAM的20H,21H单元分别赋值64H、F5H,试将两个数相加,分别送至22H、23H(23H为高位)二、实验算法方法一:将64H、F5H分别赋值给20H、21H单元,通过累加器A将两个单元的数相加,将结果赋值给22H单元;判断有没有产生进位(CY=0 or CY≠0),产生进位则将23H单元置为)01H,否则置为00H。

方法二:将64H、F5H分别赋值给20H、21H单元,通过累加器A将两个单元的数相加,将结果赋值给22H单元;给累加器赋值00H,使用ADDC语句将A与00H相加,赋给23H。

三、实验流程图四、程序清单方法一:ORG 0000HLJMP STARTORG 0030H START: MOV 20H,#064HMOV 21H,#0F5HMOV A,20HADD A,21HMOV 22H,AJNC NEXT1MOV 23H,#01HJMP NEXT2NEXT1: MOV 23H,#00HNEXT2: SJMP $END 方法二:ORG 0000HLJMP STARTORG 0030H START: MOV 20H,#064HMOV 21H,#0F5HMOV A,20HADD A,21HMOV A,#00HADDC A,#00HMOV @R1,ASJMP $END五、实验结果与分析方法一:方法二:分析:如图所示,方法一、方法二都可以实现题目的要求遇到的问题:(1)送立即数时总忘记加“#”,导致运行结果出错;(2)方法一中缺少一句跳转语句,导致本应是不同状况下执行的两种不同的处理连续执行,使为23H赋值时出错。

解决办法:(1)检查程序,需要送立即数的地方加上“#”;(2)增加跳转语句,使两种处理方法分开执行。

单片机实训报告范文精选5篇精选

单片机实训报告范文精选5篇精选

单片机实训报告范文精选5篇实训报告是展示本身实训收获成长的重要报告,那么实训报告该如何写呢?小编精选了一些关于实训报告的优秀范例,一起来看看吧。

单片机课程设计心得体会在学校学习期间我有幸的参加了学校的单片机学习小组,在小组里我理解了什么是单片机,单片机有哪些用途,利用单片机可以实现哪些功能来方便人们的生活如交通灯,时钟,还有中,电子玩具等等,它们里面都有单片机的存在来实现某种功能。

通过在单片机小组里的学习我简单总结了几点心得和体会:第一:万事开头难,要英勇的迈出第一步,不要总找借口说没有学习过就总推脱。

凡事都有第一步可以先可简单的来,然后可以逐步的向深层次学习。

可以从建工程开始,然后可以找一个简单的小程序先把它敲进单片机内然他运转起来,感受一下单片机的运转,让本人理解单片机整个运转。

第二:关于知识点,学过的要掌握结实,关于没有学的和临时用不到的先不用学习。

比方:小灯得点亮就没有用到中断可以先不用看。

如此可以防止知识过多记不住的苦恼。

关于程序这里的知识点不能只停留在理论层次上,一定要结合着程序进展学习如此才能掌握的特别牢靠,当用到哪里的知识点不记得了可以去看书,关于用不到的可以不去看。

第三:程序不要只是看别人得,一定要本人写过才是本人的。

开始不明白可以参考别人的,看看每一句代表着什么意思,可以实现什么现象。

明白之后本人再重新写一遍,你会觉观察别人的能明白到本人写的时候特别困难。

当你本人能写出来的时候说明你真明白了。

第四:一定要学会程序调试的方法。

有时候把程序写完了然后运转时不能实现理想的现象。

这时有人就晕了不知该如何办,然后就去征询别人。

当别人找出征询题出在哪里时就会恍然大悟。

事实受骗遇到征询题一定要本人尝试着处理,不能遇到征询题就去征询别人。

本人一定要掌握处理征询的方法和思路。

第五:在学习初期看别人的代码,学习别人的思路这个特别有用。

通过看别人的代码特别是有多年编程经历的人的程序,可以迅速提高本人的编程水平。

大连理工大学单片机实验报告

大连理工大学单片机实验报告

大连理工大学单片机实验报告————————————————————————————————作者:————————————————————————————————日期:ﻩ大连理工大学本科设计报告题目: 单总线高精度温度采集系统课程名称:单片机综合设计实验学院(系):信息与通信工程学院专业:电子信息工程班级:电子学号:学生姓名:成绩:2016 年 5 月 5 日一.设计要求1. 启动DS 18B20进行12位高精度环境温度采集2. 利用12864LCD 屏/数码管显示数据3. 具有温度上限声光报警器4. 可以通过键盘设定报警上限值(选)二.设计分析及系统方案设计通过DS 18B20进行小数12位温度转换、采集,通过单片机读取DS18B 20采集到的12位温度值进行二进制到十六进制的转换,利用ZLG7290进行八位数码管显示;利用键盘进入中断来设定报警上限,当温度高于上限时进入报警子程序。

利用SW1进入中断来查看当前设置的温度报警上下限值,利用ZLG7290和数码管来显示。

主程序不断循环采集温度比较,并可随时进入中断来修改温度上下限和查看温度值。

三.系统电路图ZLG7290B SDA SCL /RSTI 2C 总线VCC上拉电阻 5K×28位数码管AT89C51P1.0 P1.1 P1.7四.外围接口模块硬件电路功能描述1.DS18B20:用于测定温度,测量范围-55~+125,分辨率为0.0625℃,数据格式为二进制补码形式。

2.ZLG7290B:用于数码管动态显示驱动,键盘扫描管理。

能够驱动8位共阴极结构的LED数码管或64位独立的LED,同时还能扫描管理多达64个按键的扫描识别,其中八个键可以作为功能键使用。

接口采用I²C结构。

3.蜂鸣器:这里用作报警,为无源蜂鸣器。

五.主程序中主要变量定义变量名称内存单元功能TEMPER_L 36H 存放温度低四位TEMPER_H 35H 存放温度高四位TEMPER34H 转换后的温度值33HBCD形式温度值TEMPER_BCDﻩTEMPER_NUM 60H 温度值缓冲单元WSLA_729070H 7290写控制单元RSLA_7290 71H 7290读控制单元20-27H数码管显示缓冲区28H 存放温度上限值30-31H 存放温度BCD码个位十位六.系统软件中各个子程序的功能描述子程序名称入口参数出口参数功能描述GET_TEMPER无35H,36H读取18B20的温度值READ_18200 35H,36H无向18b20读控制字TEMPER_COV35H,36H 20H,21H温度转换成十进制BCD码形式CF无R3,R4 拆分子程序,拆分送数码管显示INIT_1820 无无温度传感器初始化BUZZER无无蜂鸣器控制发声子程序INT_7290无28H 读取按键外部中断子程序RDKEY无 A 读取键值子程序DELAY 无无延时子程序七.主程序程序流程图8.程序清单(要求打印格式要规范、重要的语句要有必要的注释) SDABIT P1.0SCL BITﻩP1.1ﻩﻩTEMPER_L EQU 36HﻩTEMPER_H EQU35HﻩﻩTEMPER EQU 34Hﻩﻩ;转换后温度值ﻩTEMPER_BCDEQU 33Hﻩﻩ;BCD码温度值TEMPER_NUM EQU60Hﻩ;缓冲单元ﻩWSLA_7290 EQU 70HRSLA_7290 EQU 71HﻩﻩﻩFLAG1 BIT 00HﻩDQ BIT P3.3 ﻩ;总线控制单元ﻩORGﻩ0000HﻩﻩLJMPﻩMAINﻩORG ﻩ0003HLJMPﻩINT_7290ﻩﻩORGﻩﻩ0100HMAIN:ﻩMOV SP,#70Hﻩﻩﻩ;ZLG7290复位CLRﻩP1.7LCALL DELAYﻩﻩSETB P1.7ﻩﻩﻩﻩMOV28H,#1EH ﻩﻩﻩ;温度上限初始值30度ﻩﻩﻩMOVTMOD,#01Hﻩ;模式一,16位计数器ﻩﻩSETBﻩEAﻩﻩﻩ;允许INTO中断ﻩMODE: JBP1.3,SETTMP ﻩﻩ;拨码为0时采集温度;温度采集TMP:ﻩCLR EX0 ﻩﻩﻩﻩMOVﻩ27H,#1FH ﻩﻩ;tLP1:ﻩﻩLCALL GET_TEMPERﻩLCALLﻩTEMPER_COVﻩﻩﻩﻩ;7290显示ﻩMOVﻩR7,#08HﻩMOVﻩR0,#20HMOVﻩR2,#10HﻩMOVﻩR3,#WSLA_7290ﻩLCALLﻩWRNBYTLCALL DELAYﻩﻩﻩMOV A,TEMPERﻩﻩﻩﻩﻩﻩ;判断温度上限28H,R5MOVﻩﻩﻩCLRﻩCCJNE A,28H,relﻩ;此处报警温度为30度rel:ﻩJCﻩNETﻩﻩLCALLﻩBUZZERﻩ;大于等于时蜂鸣器报警ﻩﻩ;闪烁ﻩMOVﻩ28H,#70Hﻩ ;闪烁命令字ﻩMOV 29H,#7FHﻩ;闪烁命令字ﻩﻩMOVﻩR7,#02Hﻩﻩ;设定数据个数ﻩﻩMOVﻩR0,#28Hﻩ;设置源数据首地址MOVﻩR2,#07Hﻩﻩ;设置外围器件内部寄存器首地址MOVﻩR3,#WSLA_7290ﻩ;设定外围器件地址ﻩLCALLﻩWRNBYT ﻩ;调用显示子程序ﻩLCALLﻩDELAYﻩLJMPﻩNEXTTﻩﻩﻩﻩﻩﻩ;设定温度上限SETTMP:SETBﻩEX0ﻩ;7290复位CLR P1.7ﻩLCALLﻩDELAYﻩﻩSETBﻩP1.7ﻩﻩﻩ;显示设定内容ﻩMOVﻩ27H,#0B6H ;SMOV 26H,#9EHﻩ;EﻩMOVﻩ25H,#1FHﻩ;T.ﻩMOV R7,#03HﻩMOV R0,#25HﻩﻩMOVﻩR2,#15HﻩMOV R3,#WSLA_7290ﻩLCALLﻩWRNBYTLCALL DELAYﻩS JMP NEXTTNET:ﻩMOV 28H,#70Hﻩ;不能闪烁29H,#00HﻩMOVﻩﻩMOV R7,#02HMOVﻩR0,#28HﻩMOV R2,#07HﻩMOVﻩR3,#WSLA_7290ﻩLCALL WRNBYTﻩﻩLCALLﻩDELAYNEXTT: CALL DELAYSJMP MODEGET_TEMPER:ﻩSETBﻩDQ ﻩﻩ;定时入口BCD:ﻩLCALLﻩINIT_1820ﻩJBﻩFLAG1,S22ﻩﻩﻩLJMPﻩBCDﻩﻩ;若ds18b20不存在则返回S22: LCALLﻩDELAY1ﻩﻩMOV A,#0CCHﻩﻩ;跳过rom匹配0cch LCALLﻩWRITE_1820ﻩMOVA,#44Hﻩﻩ;发出温度转换命令ﻩLCALLﻩWRITE_1820ﻩLCALLﻩDELAYCBA:ﻩLCALL INIT_1820ﻩJBﻩFLAG1,ABCﻩﻩLJMPﻩCBAABC:ﻩLCALLﻩDELAY1MOV A,#0CCH ﻩ;跳过rom匹配LCALL WRITE_1820ﻩMOVﻩA,#0BEH ﻩ;发出读温度命令ﻩLCALL WRITE_1820LCALLREAD_18200ﻩRETWRITE_1820: ﻩﻩ;写ds18b20程序ﻩﻩMOV R2,#8ﻩCLRﻩCWR1:CLRﻩDQﻩMOV R3,#6 ﻩﻩﻩ;延时24usﻩDJNZﻩR3,$ﻩRRC AﻩMOV DQ,CﻩMOVR3,#23 ;延时60us ﻩDJNZﻩR3,$SETB DQNOPﻩDJNZﻩR2,WR1ﻩﻩSETBﻩDQRETREAD_18200:ﻩﻩﻩ;从1820中读出两个字节温度数据ﻩﻩPUSHﻩ01HﻩMOVﻩR4,#2ﻩﻩMOV R1,#36HRE00:ﻩMOV R2,#8RE01: CLRﻩCSETBﻩDQﻩNOPﻩCLR DQNOPﻩNOPﻩSETBﻩDQﻩﻩMOVﻩR3,#2ﻩﻩDJNZ R3,$ﻩMOV ﻩC,DQMOVﻩﻩR3,#23HﻩDJNZﻩR3,$ﻩﻩRRC AﻩDJNZ R2,RE01ﻩMOVﻩﻩ@R1,ADECﻩﻩR1ﻩDJNZ R4,RE0001HPOPﻩﻩﻩﻩRETU8TEMPER_COV:ﻩﻩﻩﻩﻩ;将读出的数据转换ﻩPUSH DPHﻩﻩPUSH DPLPUSHﻩ02HﻩﻩMOV ﻩA,#0F0HﻩﻩANLﻩA,TEMPER_Lﻩﻩ;舍去小数点后的四位ﻩSWAPﻩAﻩMOV TEMPER_NUM,AﻩMOV A,TEMPER_HﻩANL ﻩA,#07HSWAP AﻩADDﻩA,TEMPER_NUMﻩMOVﻩﻩTEMPER,Aﻩﻩﻩﻩﻩ;转换成十进制数显示MOVﻩB,#10ﻩDIV AB30H,B ;个位MOVﻩﻩMOVﻩB,#10DIV ABﻩﻩMOV31H,B ﻩ;十位ﻩANLA,#0FH ;百位ﻩﻩSWAPﻩAﻩADDﻩA,BﻩMOVﻩTEMPER_BCD,AﻩLCALLCF2;拆分查表ﻩMOVﻩ25H,R3ﻩMOV 26H,R4MOVﻩA,30HﻩANLﻩA,#0FHﻩLCALLCFMOV 24H,R3ﻩ;处理四位小数位数据ﻩMOV A,TEMPER_LﻩANL A,#0FH ;取低四位数据ﻩﻩMOV B,#02HﻩﻩMUL AB ﻩﻩ;字节转为字ﻩﻩMOV DPTR,#NUMSEGﻩMOVC A,@A+DPTRﻩMOV T EMPER_BCD,AﻩLCALLﻩCF2ﻩMOV 22H,R3MOV 23H,R4MOV A,TEMPER_LﻩANLA,#0FHﻩMOVﻩB,#02HﻩMULﻩABﻩINC AﻩﻩMOVC A,@A+DPTRﻩMOVﻩTEMPER_BCD,AﻩLCALLﻩCF2MOVﻩ20H,R321H,R4ﻩMOVﻩﻩ02HﻩPOPﻩﻩPOPDPLﻩPOPﻩDPHRET;--------------小数部分查表------------------------NUMSEG: DW 0000H,0625H,1250H,1875H,2500H,3125H,3750H,4375H DW5000H,5625H,6250H,6875H,7500H,8125H,8750H,9375Hﻩ;--------------------------------------------------;--------------拆分显示整数子程序------------------CF:ﻩﻩPUSHﻩ02HﻩPUSHﻩDPHPUSH DPLﻩMOV DPTR,#LEDSEGﻩﻩMOV R2,TEMPER_BCDﻩﻩANLﻩA,#0FHMOVCﻩA,@A+DPTR ﻩ;查表得字形码ﻩMOVﻩR3,AﻩMOVﻩA,R2ﻩﻩSWAP AﻩﻩANL A,#0FHMOVCﻩA,@A+DPTRMOV R4,AINCﻩR3 ﻩ;加上小数点POPﻩDPLﻩPOP DPHﻩPOP 02HﻩﻩRETﻩ;-----------------------------------------------;--------------拆分显示小数子程序------------------02HCF2:ﻩPUSHﻩﻩPUSH DPHﻩPUSHﻩDPLﻩPUSH ACCﻩMOV DPTR,#LEDSEGﻩﻩMOVﻩR2,TEMPER_BCDﻩMOVﻩA,R2ﻩANL A,#0FHﻩﻩMOVC A,@A+DPTRﻩﻩMOV R3,AMOVA,R2ﻩSWAPﻩAﻩANLﻩA,#0FHMOVCﻩA,@A+DPTRﻩMOVﻩR4,Aﻩ;加上小数点ﻩPOPﻩACCﻩﻩPOP DPLPOPDPH02HﻩﻩPOPﻩRETﻩ;-----------------------------------------------;-----------------led字型码---------------------LEDSEG: DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E4HDBﻩ0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH;----------------------------------------------- INIT_1820:ﻩSETBﻩDQﻩﻩNOPCLR DQﻩMOVﻩR0,#80HTSR1:ﻩDJNZ R0,TSR1ﻩ;延时300usﻩﻩSETB DQMOVﻩR0,#25Hﻩ;96usTSR2: DJNZﻩR0,TSR2ﻩJNBﻩDQ,TSR3LJMP TSR4 ﻩﻩﻩ;延时TSR3:ﻩSETBﻩFLAG1 ﻩ;致标志位ﻩﻩLJMPﻩTSR5ﻩﻩﻩﻩ;ds18b20存在TSR4: CLRﻩFLAG1ﻩﻩﻩ;清标志位ﻩﻩLJMPﻩTSR7ﻩﻩ;ds18b20不存在TSR5: MOVﻩR0,#06BHﻩ;延时200usTSR6: DJNZﻩR0,TSR6TSR7: SETBﻩDQRETDELAY1: MOVR7,#20H;80us延时ﻩﻩDJNZ R7,$ﻩﻩRET;---------------蜂鸣器驱动子程序-------------- BUZZER:PUSH 07HMOVﻩR7,#00HMOVﻩTL0,#33Hﻩ;设置定时0.5us初值ﻩMOV TH0,#0FEHSETB TR0ﻩﻩﻩ;启动t0WAIT:ﻩJNBﻩTF0,$ﻩCLR TF0ﻩMOV TL0,#33HMOV TH0,#0FEHﻩCPLP1.2DJNZﻩR7,WAITﻩCLR T R0SETBﻩP1.207HﻩPOPﻩRET;--------------------------------------------- ;-------------外部中断服务程序----------------INT_7290:PUSHﻩ00HPUSHﻩ01HPUSHﻩ02H03HPUSHﻩ04HﻩPUSHﻩPUSH07HﻩPUSH ACCPUSHﻩPSWSJMPﻩRD1ﻩRD1:JBﻩP3.2,$ﻩﻩ;以查询方式等待下一次按键操作SWAP ALCALLﻩRDKEYﻩCJNE A,#0AH,WAITT ;容错功能调整WAITT: JNC ﻩRD1ﻩﻩMOVﻩﻩTEMPER_BCD,AﻩLCALLCF2MOV B,#0AHﻩﻩMULﻩﻩABﻩMOV ﻩR5,AMOVﻩﻩ23H,R3ﻩMOVﻩﻩR7,#01HﻩMOV ﻩR0,#23HﻩMOV ﻩR2,#13HMOVﻩR3,#WSLA_7290ﻩLCALLﻩWRNBYTKEY2:ﻩJBﻩP3.2,$ ﻩﻩ;以查询方式等待下一次按键操作ﻩLCALL RDKEYﻩCJNEﻩA,#0AH,WAITT2WAITT2:ﻩJNC KEY2ﻩMOVﻩTEMPER_BCD,AﻩLCALLﻩCF2ﻩﻩMOVﻩA,R5ﻩADDﻩA,TEMPER_BCDﻩMOV R5,AﻩMOV ﻩ22H,R3MOV21H,#9CHﻩﻩ;CﻩMOV R7,#02HﻩMOVﻩR0,#21HﻩMOVﻩﻩR2,#11HﻩﻩMOV R3,#WSLA_7290ﻩLCALLﻩWRNBYTﻩ;确定键COMF: JB P3.2,$ﻩ;等待确认键LCALLﻩRDKEYﻩCJNE A,#0FH,COMFﻩﻩMOV 28H,R5ﻩ;上限值放入28h中DOWN:ﻩ;7290复位CLR P1.7LCALLﻩDELAYSETBﻩP1.7CLR IE0 ﻩ;必须清标志POPPSWPOP ACCPOP 07H04HPOPﻩPOPﻩ03HPOPﻩ02HPOP 00HRETI;---------------------------------------------;------------读取键值子程序(键值保存在A中)---RDKEY:MOVﻩR0,#1FHﻩMOVﻩR7,#01HﻩﻩMOVﻩR2,#01HﻩﻩMOVﻩR3,#WSLA_7290ﻩMOVR4,#RSLA_7290ﻩLCALLﻩRDADDﻩMOVﻩA,1FHﻩDECﻩAﻩRET;---------------------------------------------- ;------------延时子程序-----------------------DELAY: PUSHﻩ00Hﻩ;延时子程序ﻩPUSH01HﻩMOVR1,#00LP:ﻩMOVﻩR1,#00HDJNZ R1,$DJNZ R0,LPﻩﻩPOP 01HﻩPOP 00HﻩRET;---------------------------------------------(I2C子程序省略)九.系统调试运行结果说明、分析所出现得问题,设计体会与建议硬件使用ZLG51单片机开发平台,软件使用KEil2软件进行程序的编写编译以及调试。

单片机原理及应用(单片机电子时钟设计)-大连理工大学

单片机原理及应用(单片机电子时钟设计)-大连理工大学

网络教育学院《单片机原理及应用》大作业题目:单片机电子时钟设计学习中心:层次:专业:年级:学号:学生姓名:题目一:单片机电子时钟设计一、引言单片机技术在计算机中作为独立的分支,有着性价比高、集成度高、体积少、可靠性高、控制功能强大、低功耗、低电压、便于生产、便于携带等特点,越来越广泛的被应用于实际生活中。

单片机全称,单片机微型计算机,从应用领域来看,单片机主要用来控制系统运行,所以又称微控制器或嵌入式控制器,单片机是将计算机的基本部件微型化并集成在一块芯片上的微型计算机。

二、时钟的基本原理分析利用单片机定时器完成计时功能,定时器0计时中断程序每隔0.01s中断一次并当作一个计数,设定定时1秒的中断计数初值为100,每中断一次中断计数初值减1,当减到0时,则表示1s到了,秒变量加1,同理再判断是否1min钟到了,再判断是否1h到了。

为了将时间在LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要译码器,数据锁存器等较多硬件,可采用动态显示法实现LED显示,通过对每位数码管的依次扫描,使对应数码管亮,同时向该数码管送对应的字码,使其显示数字。

由于数码管扫描周期很短,由于人眼的视觉暂留效应,使数码管看起来总是亮的,从而实现了各种显示。

三、时钟设计分析针对要实现的功能,采用AT89S51单片机进行设计,AT89S51 单片机是一款低功耗,高性能CMOS8位单片机,片内含4KB在线可编程(ISP)的可反复擦写1000次的Flash只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准MCS- 51指令系统及80C51引脚结构。

这样,既能做到经济合理又能实现预期的功能。

在程序方面,采用分块设计的方法,这样既减小了编程难度、使程序易于理解,又能便于添加各项功能。

程序可分为闹钟的声音程序、时间显示程序、日期显示程序,秒表显示程序,时间调整程序、闹钟调整程序、定时调整程序,延时程序等。

运用这种方法,关键在于各模块的兼容和配合,若各模块不匹配会出现意想不到的错误。

单片机实训报告优选范文5篇分享

单片机实训报告优选范文5篇分享

单片机实训报告优选范文5篇分享单片)是一种集成电路芯片,是具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器计数器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。

下面就是小编给大家带来的单片机实训报告优选范文5篇分享,希望大家喜欢!单片机实训报告范文(一)前言一周的单片机实训很快就结束咯,在这一周的时间里,我学到了很多关于单片机各方面的知识。

老师在实训课中也教会咯我们很多关于单片机软件编程与硬件设施的知识。

一周的实训中我们一共实训咯好几个项目,通过这几个项目的实训,我们掌握咯一些单片机的汇编语言和硬件调试,达到了很好的效果。

一周时间实训过后,我把之前在课堂上不懂的知识点,通过实际操作的练习,我都搞明白咯。

当然在实训过程中也遇到咯很多问题,就是有时在调试方面不能调试成功,有时程序是没有错误,但是就是调试不好,一直找原因也找不出是什么原因。

希望以后能够拥有更多的实训时间和机会学习单片机。

实训任务一一、实验目的熟悉Keil C51集成开发环境的使用方法二、实验设备及器件IBM PC机三、实验内容按照本书的第2章的2.1节到2.4节内容进行Keil C51集成开发环境的安装和使用练习。

然后按照以下内容建立文件并编译产生HEX文件。

ORG 8000HLJMP MainORG 80F0HMain:MOV R7,#0LOOP:MOV R6,#0DJNZ R6,$DJNZ R6,$DJNZ R6,$DJNZ R6,$DJNZ R7,LOOP ;延时一台CPL P1.0CPL P1.1CPL P1.2CPL P1.3CPL P1.4CPL P1.5CPL P1.6CPL P1.7SJMP MainEND ;P1.0取反 ;P1.1取反 ;P1.2取反 ;P1.3取反 ;P1.4取反 ;P1.5取反 ;P1.6取反 ;P1.7取反通过该程序实现八盏灯的同时亮和同时灭的功能,更好的掌握汇编指令。

单片机课程设计实习报告(共6篇)

单片机课程设计实习报告(共6篇)

单片机课程设计实习报告(共6篇)ok3w_ads(“s004”);ok3w_ads(“s005”);精选范文:单片机课程设计实习报告(共6篇)实训任务:一、实训目的和要求:(1)熟练掌握keil c51集成开发环境的使用方法(2)熟悉keil c51集成开发环境调试功能的使用和dp?单片机仿真器、编程器、实验仪三合一综合开发平台的使用。

(3)利用单片机的p1口作io口,学会利用p1口作为输入和输出口。

(4)了解掌握单片机芯片的烧写方法与步骤。

(5)学会用单片机汇编语言编写程序,熟悉掌握常用指令的功能运用。

(6)掌握利用protel 99 se绘制电路原理图及pcb图。

(7)了解pcb板的制作腐蚀过程。

二、实训器材:pc机(一台)pcb板(一块)520ω电阻(八只)10k电阻(一只)led发光二极管(八只)25v 10μf电容(一只)单片机ic座(一块)at89c51单片机芯片(一块)热转印机(一台)dp?单片机仿真器、编程器、实验仪三合一综合开发平台(一台)三、实训步骤:(2)将流水灯程序编写完整并使用tkstudy ice调试运行。

(4)打开电源,将编写好的程序运用tkstudy ice进行全速运行,看能否实现任务要求。

(6)制板。

首先利用protel 99 se画好原理图,根据原理图绘制pcb图,然后将绘制好的pcb布线图打印出来,经热转印机转印,将整个布线图印至pcb板上,最后将印有布线图的pcb板投入装有三氯化铁溶液的容器内进行腐蚀,待pcb 板上布线图外的铜全部后,将其取出,清洗干净。

(7)焊接。

将所给元器件根据原理图一一焊至pcb板相应位置。

(8)调试。

先把at89c51芯片插入ic座,再将+5v电源加到制作好的功能板电源接口上,观察功能演示的整个过程(看能否实现任务功能)。

(流水灯控制器原理图)四、流水灯控制器程序的主程序:org 0000hsjmp startorg 0030hstart: mov a,#0ffhmov r0,#1chmov r2,#12hclr cloop1: acall delaydjnz r0,loop2sjmp loop4loop2: mov p1,arlc ajnc loop3sjmp loop1loop3: acall delaymov p1,arrc ajnc loop1sjmp loop3loop4: acall delaydjnz r1,loop5sjmp loop6loop5: mov p1,arrc a[单片机课程设计实习报告(共6篇)]篇一:单片机实习报告课程设计专业综合实习总结专业班级:学生学号:学生姓名:指导教师:实习时间:机电工程学院目录1.实习目的和意义 21.1实习目的 (2)1.2实习意义 (2)2.实习内容 2 3. 硬件介绍 23.1 总原理图 (3)3.2 LED显示模块............................................................... 6 3.3 数码管显示模块............................................................ 7 3.4 键盘模块 (9)3.5 A/D转换模块............................................................... 10 3.6 D/A转换模块 (13)3.7 中断嵌套模块 (14)3.8 时钟日历芯片模块 (15)4. 程序流程图 174.1 LED显示模块……………………………………………………… 17 4.2 数码管显示模块…………………………………………………… 19 4.3 键盘模块……………………………………………………………21 4.4 A/D转换模块.................................................................. 23 4.5 D/A转换模块 (23)4.6 中断嵌套模块 (24)4.7 时钟日历芯片模块 (24)5. 实习心得体会………………………………………………… 26 附录:程序清单……………………………………………………271、实习目的和意义1.1 实习目的1、熟悉本专业自己设计的“单片机课程实习”电路板,领会、掌握该电路板的设计原理及硬件布局。

单片机实习报告2篇

单片机实习报告2篇

单片机实习报告单片机实习报告精选2篇(一)实习报告实习单位:XXXX公司实习时间:20XX年X月-20XX年X月一、实习背景在本次实习中,我到了XXXX公司进行单片机相关的实习。

本次实习旨在通过实际操作和实践,深入了解单片机的原理和应用,并提升自己的实践能力和团队合作能力。

二、实习内容1. 学习基础知识在实习开始前,我先通过自学对单片机的基本知识进行了学习,包括单片机的原理、结构、指令系统和编程语言等。

2. 学习开发工具在公司的指导下,我学习了单片机的开发工具,包括Keil开发环境和Proteus仿真软件等。

通过学习和实践,我熟悉了这些工具的基本操作和常用功能。

3. 实际操作在掌握了基础知识和开发工具后,我开始进行实际操作。

根据公司的要求,我完成了一些单片机的应用案例,包括LED灯控制、电机控制、温度测量等。

通过实际操作,我加深了对单片机的理解,并提高了自己的实践能力。

4. 团队合作在实习期间,我积极参与到团队项目中。

与同事合作完成了一个基于单片机的智能家居控制系统的开发,包括温湿度监测、光照控制、门窗报警等功能。

这个项目不仅提高了我的团队合作能力,也进一步加深了我对单片机的应用理解。

三、收获与体会通过这次实习,我对单片机的原理和应用有了更深入的了解。

我不仅学到了书本上没有涉及到的实际操作经验,还学到了与人合作的能力。

在实践中遇到问题时,我学会了积极思考和与他人沟通,寻找解决问题的方法。

同时,我也认识到自己在某些方面的不足,比如对于理论知识的掌握还需要加强,对于一些高级功能的应用还需要进一步学习。

总的来说,这次实习对我来说是一次宝贵的经验,它不仅给我提供了实践机会,也让我认识到自己的不足之处,激发了我进一步深入学习的动力。

我相信,通过不断努力和实践,我能够在单片机领域取得更大的进步。

单片机实习报告精选2篇(二)参加单片机实训课程的心得体会如下:首先,通过单片机实训课程,我对单片机的原理和应用有了更深入的了解。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

大连理工大学实验报告
实验时间:年月日星期时间:: ~ :
实验室(房间号): 419 实验台号码:班级:姓名:
指导教师签字:成绩:
实验一 MCS-51单片机的存储器读写实验
一、实验目的和要求
在 RAM 的 20H ,21H 单元分别赋值64H、F5H ,试将两个数相加,分别送至22H、23H(23H为高位)
二、实验算法
方法一:将64H 、F5H 分别赋值给20H 、21H 单元,通过累加器 A 将两个单元的数相加,将结果赋值
给 22H 单元;判断有没有产生进位(CY= 0 or CY≠0),产生进位则将23H 单元置为)01H,否则置为00H。

方法二:将64H 、F5H 分别赋值给20H 、21H 单元,通过累加器 A 将两个单元的数相加,将结果赋值
给 22H 单元;给累加器赋值00H,使用 ADDC 语句将 A 与 00H 相加,赋给23H 。

三、实验流程图
四、程序清单
方法一:方法二:
ORG 0000H ORG 0000H
LJMP START LJMP START
ORG 0030H ORG 0030H
START:MOV 20H,#064H START:MOV 20H,#064H
MOV 21H,#0F5H MOV 21H,#0F5H
MOV A,20H MOV A,20H
ADD A,21H ADD A,21H
MOV 22H,A MOV A,#00H
JNC NEXT1ADDC A,#00H
MOV 23H,#01H MOV @R1,A
JMP NEXT2SJMP $
NEXT1:MOV 23H,#00H END
NEXT2:SJMP $
END
五、实验结果与分析
方法一:方法二:
分析:如图所示,方法一、方法二都可以实现题目的要求
遇到的问题:(1)送立即数时总忘记加“#”,导致运行结果出错;
(2)方法一中缺少一句跳转语句,导致本应是不同状况下执行的两种不同的处理连续执行,
使为 23H 赋值时出错。

解决办法:( 1)检查程序,需要送立即数的地方加上“#”;(2)增加跳转语句,使两种处理方法分开执行。

六、实验体会和建议
单片机的汇编语言与微机原理的汇编语言基本相似,但是数据的传递有很大不同,总是会忘记在送立即数
是忘记加“ #”,这一点以后一定会牢记!
七、主要仪器设备
名称型号备注
电脑联想
Keil V2。

相关文档
最新文档