大连理工大学单片机实验一报告
大连理工大学电子工程训练实验报告
c)按键控制音乐播放。按键按下并保持,音乐响起;松开按键,音乐停止播放。
d).综合以上模块功能后,系统成功实现按键控制直流电机的转速转向的控制,同时数码管显示直流电机的工作状态,并可用按键控制音乐的播放与停止,电机控制部分与音乐播放部分并不冲突。
5、实验结束后,必须拔掉电烙铁的电源线;已经加热的电烙铁,必须冷却后再放入抽屉中;
6、焊锡中含铅,不要含在口中,实验结束后要洗手;
7、稳压电源在使用前,应先调好要使用的电压,再进行线路连接,并确保连接的极性正确;
8、抢救触电人员时,应首先切断电源或用绝缘物体挑开电源线,使触电者脱离电源,千万不要用手拖拉触电人员,以免连环触电;
2)音乐播放:乐曲是由音调和节奏组成的,这两种特征都可以用单片机的定时器来实现,所以音乐文件在程序中是一个很大的数组,数组中包含着音乐的两种控制特征。音乐的输出以及播放、停止控制分别用两个按键来控制。
3)总体设计:显示数码管用~进行位选,P0口控制显示数字;直流电机用和输出PWM波形,通过三极管进行驱动,~分别是正反转控制,加速,减速,启动,停止按键;音乐播放通过输出,由控制。
2)51单片机最小系统。
3)按键控制音乐播放。
4)四位一体数码管显示(三极管8550驱动)。
5)直流电机驱动电路。
6)按键控制电机转动并在四位一体数码管显示。
2.设计原理及系统方案设计
1)直流电机:直流电机只要能提供一定的直流就可以转动,改变电压极性可以改变转动方向,可以通过给直流电机提供脉冲信号来驱动它,脉冲信号的占空比可以影响到直流电机的平均速度,因此可以通过调整占空比从而能实现调速的目的(PWM调速)。电机的驱动电流是比较大的,所以需要用三极管来放大电流。程序的关键就是如何实现占空比的调整,这个可以通过对51单片机定时器重装初值进行改变,从而改变时间。
大连理工大学单片机实验报告
大连理工大学单片机实验报告————————————————————————————————作者:————————————————————————————————日期:ﻩ大连理工大学本科设计报告题目: 单总线高精度温度采集系统课程名称:单片机综合设计实验学院(系):信息与通信工程学院专业:电子信息工程班级:电子学号:学生姓名:成绩: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软件进行程序的编写编译以及调试。
单片机实验报告
单片机实验报告一、实验目的本次单片机实验的主要目的是通过实际操作和编程,深入了解单片机的工作原理和应用,掌握单片机系统的设计、开发和调试方法,提高自身的动手能力和解决问题的能力。
二、实验设备1、单片机开发板2、计算机3、编程软件(如 Keil)4、下载器5、示波器6、万用表三、实验内容1、点亮 LED 灯通过编写简单的程序,控制单片机的引脚输出高低电平,从而点亮或熄灭连接在该引脚上的 LED 灯。
这是单片机最基础的操作之一,旨在熟悉单片机的编程环境和引脚控制方式。
2、数码管显示利用单片机驱动数码管,实现数字的显示。
需要了解数码管的工作原理和驱动方式,通过编程控制数码管的段选和位选信号,显示不同的数字。
3、按键输入设计按键电路,通过读取按键的状态,实现对单片机系统的输入控制。
例如,通过按键切换不同的显示模式或控制其他外部设备。
4、定时器/计数器应用使用单片机的定时器/计数器功能,实现定时、计数等操作。
例如,设计一个定时闪烁的 LED 灯,或者通过计数器统计外部脉冲的个数。
5、串口通信实现单片机与计算机之间的串口通信,将单片机采集到的数据发送到计算机上进行显示和处理,或者接收计算机发送的指令对单片机系统进行控制。
四、实验原理1、单片机的基本结构单片机通常由中央处理器(CPU)、存储器(包括程序存储器和数据存储器)、输入输出接口(I/O 口)、定时器/计数器、中断系统等部分组成。
2、编程语言本次实验采用 C 语言进行编程。
C 语言具有简洁、高效、可移植性强等优点,非常适合单片机的开发。
3、引脚功能单片机的引脚分为电源引脚、时钟引脚、复位引脚、I/O 引脚等。
通过对这些引脚的合理配置和控制,可以实现各种功能。
4、数码管驱动原理数码管分为共阴极和共阳极两种类型。
通过控制数码管的段选和位选信号,可以使数码管显示不同的数字和字符。
5、按键检测原理按键通常采用上拉电阻或下拉电阻的方式连接到单片机的I/O 引脚。
单片机原理与应用实验报告5——秒表定时器实验
大连理工大学软件学院《单片机原理与应用》实验报告姓名:学号:班级:姓名:学号:班级:组号:实验箱编号:实验时间:月日实验室:嵌入式实验室实验台:Embest Edukit-III平台指导教师:侯刚成绩:实验五:秒表定时器实验一、实验目的和要求题目:秒表定时器实验实验目的1. 学习单片机的基本接口技术。
2. 学习74HC595、74HC138使用及与51单片机的控制方法。
实验要求1.通过按键控制,完成数码管的显示计数控制。
2. 用汇编语言设计程序,完成8个数码管的显示控制。
当按下INT 按钮时,数码管开始快速计时,高五位为秒数,低三位为ms 数,每1ms 刷新一次显示内容。
当再次按下INT 按钮时,停止计数。
二、实验原理和内容实验内容:用汇编语言设计程序,完成8个数码管的显示控制。
当按下INT 按钮时,数码管开始快速计时,高五位为秒数,低三位为ms 数,每1ms 刷新一次显示内容。
当再次按下INT 按钮时,停止计数。
实验原理:1.根据原理图,分析工作原理,有P0进行取段码,P2.0 P2.1 P2.2进行取位码。
2.使用定时器进行计时。
根据所给开发板上的晶振频率,计算出计时器所付初值,设置计时器TO在模式下工作,每次计时100ms后,转入数码管显示中断处理程序。
3.实验板为共阴极数码管显示,将对应的显示0~9的电信号依次存储在“数组表”中。
4.使用key1,key2两个按键,按下key1,开始计时。
按下key2,计时停止。
5.根据实验要求,采用T0,T1两个定时器,其中T0用来增加时间显示,T1为按暂停键时为LED显示管循环上电所用。
6.每部分中断程序用寄存器间接寻址的方式获取显示数字的电信号量。
并进行循环上电,保证数字的亮度。
三、主要仪器设备及软件编程环境主要仪器:计算机编程软件,51电路开发板编程环境:uVision2 ,progisp烧写软件四、实验步骤与编程实验步骤:编写代码,编译,调试,烧写,完成实验。
单片机实验报告范文
单片机实验报告范文一、实验目的本实验的目的是通过学习单片机的基本原理和使用方法,掌握单片机在各个实际应用中的基本技能。
二、实验器材及原理1.实验器材:STC89C52单片机、电源、晶振、按键、LED灯、蜂鸣器等。
2.实验原理:单片机是一种微处理器,能够完成各种复杂的功能。
通过学习单片机的工作原理和编程方法,可以控制各种外围设备,实现不同的功能。
三、实验内容及步骤1.实验一:点亮LED灯步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。
(2)编写程序,点亮LED灯。
2.实验二:按键控制LED灯步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。
(2)将按键和LED灯与单片机相连。
(3)编写程序,实现按下按键控制LED灯亮灭。
3.实验三:数码管显示步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。
(2)将数码管与单片机相连。
(3)编写程序,将数字输出到数码管上显示。
4.实验四:定时器应用步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。
(2)编写程序,实现定时器功能。
四、实验结果及分析1.实验一:点亮LED灯LED灯成功点亮,证明单片机与外部设备的连接正常。
2.实验二:按键控制LED灯按下按键后,LED灯亮起,松开按键后,LED灯熄灭。
按键控制LED 灯的效果良好,说明单片机的输入输出功能正常。
3.实验三:数码管显示数码管成功显示数字,说明单片机能够实现数字输出功能。
通过程序设计,可以实现数码管显示不同的数字。
4.实验四:定时器应用定时器正常运行,能够实现精确的定时功能。
通过调节定时器的参数,可以实现不同的定时功能。
五、实验总结通过本次实验,我们学习了单片机的基本原理和使用方法。
通过掌握单片机的编程技巧,我们能够实现各种复杂的功能,如控制LED灯、按键控制、数码管显示等。
这些技能对于日常生活和工程设计都具有很大的实用性。
在实验过程中,我们遇到了各种问题,如电路连接错误、程序编写错误等。
单片机实验报告
一、实验目的1. 熟悉单片机的硬件组成和基本工作原理。
2. 掌握单片机最小系统的搭建方法。
3. 学习使用单片机编程软件进行程序编写和调试。
4. 通过实际操作,加深对单片机应用的理解。
二、实验环境1. 实验设备:MCS-51单片机实验板、电源模块、面包板、连接线、LED灯、蜂鸣器、按键等。
2. 软件环境:Keil uVision5、Proteus仿真软件。
三、实验内容1. 点亮LED灯(1)实验目的:掌握单片机I/O口的使用,实现LED灯的点亮。
(2)实验步骤:① 将LED灯的阳极连接到单片机的P1.0口,阴极连接到GND。
② 在Keil uVision5中新建工程,编写程序如下:```cvoid main() {while (1) {P1 = 0xFF; // 点亮LED灯delay(500000); // 延时P1 = 0x00; // 熄灭LED灯delay(500000); // 延时}}③ 将程序编译并下载到单片机中,观察LED灯的点亮效果。
2. 蜂鸣器控制(1)实验目的:掌握单片机I/O口的使用,实现蜂鸣器的控制。
(2)实验步骤:① 将蜂鸣器的正极连接到单片机的P1.1口,负极连接到GND。
② 在Keil uVision5中编写程序如下:```cvoid main() {while (1) {P1 = 0x02; // 使能蜂鸣器delay(100000); // 延时P1 = 0x00; // 禁止蜂鸣器delay(100000); // 延时}}```③ 将程序编译并下载到单片机中,观察蜂鸣器的鸣叫效果。
3. 按键扫描(1)实验目的:掌握单片机I/O口的使用,实现按键的扫描和识别。
(2)实验步骤:① 将两个按键分别连接到单片机的P1.2和P1.3口。
② 在Keil uVision5中编写程序如下:void main() {while (1) {if (P1 & 0x04) { // 检测按键1是否按下// 执行按键1按下后的操作}if (P1 & 0x08) { // 检测按键2是否按下// 执行按键2按下后的操作}}}```③ 将程序编译并下载到单片机中,观察按键的扫描和识别效果。
单片机实验一(精选五篇)
单片机实验一(精选五篇)第一篇:单片机实验一实验一 Keil的使用及基本指令练习一、实验目的和要求:熟悉KEIL单片机编程软件使用环境,掌握利用KEIL调试指令的方法。
二、实验设备:安装了KEIL的计算机。
二、实验内容和步骤:1、双击KEIL图标,运行KEIL软件。
2、在Project下选择New Project新建一个项目,输入一个项目名,点击保存,进入选择单片机的对话框,选择:Atmel公司下的AT89C51,点确定;出现生成起始代码的选择,点否。
3、点File菜单下的New,新建一个文件,接着选File下的Save,给文件起个后缀名为ASM的文件。
4、在左边项目工作空间(Project Workspace)里,右键点击Sorce Group1 选择Add File to……..在出现的对话框里,选择文件类型为Asm Source file,将刚生成的文件添加到项目中。
5、左边项目工作空间的树状结构里,将出现新建的文件,双击它,进入右边编辑空间,开始进行汇编程序的编写。
输入以下程序段:(不用输入;之后的内容)ORG0000HLJMPSTAORG0040H STA:MOVSP,#6FH;SP=MOV17H,#34H;(17H)= MOVA,#83H;A= MOVR0,#17H;R0= ANLA,#17H;ORL17H,A;(17H)XRLA,@R0;CPLA;A= SJMP$ END6、保存文件,点击Projiect菜单下Rebuild all target files编译文件,若没有错误,编译成功。
7、点击Debug下Start/Stop Debug….进入调试状态。
8、点击View 菜单下的Memmery Window在编辑窗口的右下出现存储器窗口。
9、在存储器窗口输入:D:00回车,改变为观察内部数据存储区。
10、按F10,单步执行程序,每执行一步,观察左边的Register (寄存器)或存储器窗口,看各指令执行前后相关单元的内容变化,并记录下来。
单片机实验模版
大连理工大学本科实验报告课程名称:单片机综合设计学院(系):专业:电子班级:学号:学生姓名:2014年月日实验项目列表注意:独立完成预习报告和实验操作。
专业:班级:学号:学生签字:联系电话:《单片机原理及应用实验》报告填写要求根据《大连理工大学本科实验报告规范(试行)》提出的各项要求,现规定《单片机原理及应用实验》报告填写要求如下:一、每次实验前必须完成预习报告。
注意:预习报告中的回答问题必须手写,且由学生本人签名。
第一次实验时,课前将预习报告与《实验项目列表》一同交给实验老师。
每次实验时,课前提交预习报告,没有完成预习报告者不得进行实验。
二、每一个实验项目均须撰写一份实验报告,最后按顺序装订、上交。
三、实验报告内容:1、实验目的和要求:写明实验的目的和任务要求;2、实验原理和内容:与实验内容相关的算法描述、程序的结构类型,与实验相关的接口模块功能描述。
3、算法流程:使用流程图对算法进行描述。
流程图应当逻辑正确、简单清晰。
流程图可以采用打印或手工绘制。
4、使用等工具绘制实验系统电路图(也可手工绘制)。
系统电路图应正确、工整。
系统电路中应包含单片机以及单片机工作时所必需的外围相关器件(晶体、上电复位电路等);5、程序清单:程序清单一律采用打印的方式,源程序文件的格式要整齐、规范(语句的标号、指令及注释应在不同列中)。
在程序的关键语句上加注释。
相关子程序要在注视中进行功能说明;6、实验结果与分析:明确地写出最后结果(是否实现设计要求等),对实验中所遇到的问题以及解决的方法加以描述;7、实验体会、建议:通过实验所体会的收获。
针对实验内容、教学方法、考核方法等提出需要解决的问题,提出改进建议;8、全部文字叙述内容要求简明扼要,思路清楚、用词规范;9、主要仪器设备:记录主要仪器的名称、型号(包括实验运行软件名称)等10、实验时间:报告中应标明实验的日期(年、月、日;星期;组号)。
四、要求实验报告字迹工整,文字简练,数据齐全,图表规范,计算正确,分析充分、具体、定量。
单片机实习报告(优秀5篇)
单片机实习报告(优秀5篇)电子实习报告篇一因为报告的版本有很多,所以我没有抄下来,但是有一个东西是属于我自己的,那就是自己的感想,不需要抄袭,不需要太多华丽的语言,只是需要内心深处最原始的感触,那就够了。
本周我们班上进行了电子工艺实习,在这一周中,我们学到了很多,包括最后我们都自己看到亲手打造的纯手工的收音机时,内心的深处充满了不可言语的喜悦。
回想一周的时间过的很快,我们没有停下对做出一个收音机的兴趣和热情。
从此至终,我都是一个人在认认真真的学习,遇到不懂的,自己先放下来思考,实在不行看看周围的同学是怎样做的,再实在弄不懂的时候才向师兄或者是老师请教。
因为我知道,一个小小的收音机,里面也是有很多的元器件,有不懂的地方是非常的正常,但是,如果实习完之后,我还是没有弄懂,那就有点对不起老师,甚至是自己啦。
我们实习的第一天是在实验室里练习好焊锡,看起来多么简单易懂,可是当你真正拿起电烙铁的时候,并非像你想象的那样轻松和简单。
你要控制好温度,放电烙铁的地方,以及焊锡的多少,这些都是要思考和练习。
俗话说,熟能生巧,一天过去之后,我们都学的差不多了,对于电阻的焊角已经有一定的熟悉程度了。
实习的第二天是焊接一些元器件,当然在这之前,老师给我们讲了一些收音机的原理,以及元器件是如何进行分布的,还有一些注意事项,这些我们都非常认真的听取,因为在接下来我们将会按照工位的次序进行焊接和排布电子元器件,这其中必需要知道一些实验的原理和工作的一些小细节,因为这些都是非常容易出错的。
第三天我们在老师的指导下,观看了芯片的焊接方式,有点难学,但是熟能生巧,我在尝试了几次之后,也学会了焊接,虽然不是很完美,但是还是可以用的。
焊好之后的时间里,老师让我们大家做电路的检测以及调试,很幸运的是,我的没有出现问题,这可能和我一直以来都很小心的焊接每一个电路点有关,呵呵,当时的内心非常激动,看来做足了准备功夫,后面时就会减少很多的不必要的检查。
单片机实验模版
大连理工大学本科实验报告课程名称:单片机综合设计学院(系):___________________ 专业:电子___________________ 班级:________________________ 学号:________________________ 学生姓名:_____________________实验项目列表注意:独立完成预习报告和实验操作。
专业:_______________ 班级:______________ 学号:______________________________学生签字:__________________________联系电话:__________________________《单片机原理及应用实验》报告填写要求根据《大连理工大学本科实验报告规范(试行)》提出的各项要求,现规定《单片机原理及应用实验》报告填写要求如下:一、每次实验前必须完成预习报告。
注意:预习报告中的回答问题必须手写,且由学生本人签名。
第一次实验时,课前将预习报告与《实验项目列表》一同交给实验老师。
每次实验时,课前提交预习报告,没有完成预习报告者不得进行实验。
二、每一个实验项目均须撰写一份实验报告,最后按顺序装订、上交。
三、实验报告内容:1实验目的和要求:写明实验的目的和任务要求;2、实验原理和内容:与实验内容相关的算法描述、程序的结构类型,与实验相关的接口模块功能描述。
3、算法流程:使用流程图对算法进行描述。
流程图应当逻辑正确、简单清晰。
流程图可以采用打印或手工绘制。
4、使用protel等工具绘制实验系统电路图(也可手工绘制)。
系统电路图应正确、工整。
系统电路中应包含单片机以及单片机工作时所必需的外围相关器件(晶体、上电复位电路等);5、程序清单:程序清单一律采用打印的方式,源程序文件的格式要整齐、规范(语句的标号、指令及注释应在不同列中)。
在程序的关键语句上加注释。
相关子程序要在注视中进行功能说明;6、实验结果与分析:明确地写出最后结果(是否实现设计要求等),对实验中所遇到的问题以及解决的方法加以描述;7、实验体会、建议:通过实验所体会的收获。
单片机课程设计实习报告2篇
单片机课程设计实习报告 (2)单片机课程设计实习报告 (2)精选2篇(一)实习报告1. 实习概述在本次实习中,我参与了单片机课程设计项目的开发工作。
该项目的目标是设计并实现一个功能完善的单片机系统,能完成一些常见的任务,如控制LED灯的闪烁、采集温湿度数据等。
2. 实习过程在实习的第一天,我与项目组的其他成员一起讨论了系统的设计方案。
我们决定采用STM32单片机作为硬件平台,并选择了Keil作为开发环境。
然后,我们开始了系统的搭建工作。
在搭建系统的过程中,我主要负责编写程序代码。
我首先学习了STM32单片机的相关知识,并了解了它的编程方式。
然后,我根据系统的需求,编写了一些基本的程序代码,如控制LED灯的闪烁、读取温湿度传感器的数据等。
在编写代码的过程中,我遇到了一些问题。
例如,我发现LED灯无法正常闪烁,经过调试后发现是我在代码中写错了引脚的定义。
我还遇到了一些编译错误和逻辑错误,通过查阅资料和与同事的讨论,我逐渐解决了这些问题。
在实习的最后几天,我与项目组的其他成员一起测试了系统的功能,并进行了修复和优化。
我们使用示波器和逻辑分析仪对系统进行了验证,确保系统的稳定性和可靠性。
3. 实习总结通过参与单片机课程设计实习项目,我对单片机的硬件和软件实现有了更深入的了解。
我学会了如何使用Keil编写程序代码,并通过实践掌握了调试和排除故障的技巧。
同时,我也学会了如何与团队成员合作,共同完成一个项目。
通过实习,我不仅提高了自己的技术能力,还培养了解决问题的能力和团队合作能力。
我相信这些经验和技能对我的未来发展将非常有帮助。
4. 改进建议在实习过程中,我发现有些文档和资料的描述不够清晰和详细,对我理解项目的要求和实现方式造成了一些困扰。
因此,我建议在今后的实习项目中,关注文档和资料的编写,确保其准确性和完整性。
另外,我还建议在项目开始之前进行一些充分的准备工作,包括学习相关知识和技术,以及对项目的需求和实现方式进行详细的讨论和规划。
单片机电子综合实训报告
一、实训背景与目的随着科技的不断发展,单片机技术作为电子技术领域的一个重要分支,已经成为现代工业、消费电子以及智能控制等领域不可或缺的核心技术。
为了提高我们的实践能力,加深对单片机理论知识的理解,我们进行了单片机电子综合实训。
本次实训旨在通过实际操作,掌握单片机的基本原理、编程方法和应用技术,培养学生的动手能力和创新意识。
二、实训内容与过程1. 实训内容本次实训主要围绕单片机最小系统搭建、LED流水灯设计、温度传感器应用、无线通信模块使用等几个方面展开。
2. 实训过程(1)单片机最小系统搭建首先,我们学习了单片机最小系统的组成,包括单片机、晶振、复位电路、电源电路等。
在指导老师的帮助下,我们动手搭建了一个基于AT89C51单片机的最小系统,并成功实现了上电复位。
(2)LED流水灯设计接着,我们学习了LED流水灯的设计原理,并利用C语言编程实现。
通过编写程序,我们控制单片机输出高低电平,从而驱动LED灯依次点亮,形成流水灯效果。
(3)温度传感器应用在了解了温度传感器的工作原理后,我们学习了如何使用DS18B20温度传感器读取环境温度。
通过编程,我们将读取到的温度值显示在LCD显示屏上,实现了温度的实时监测。
(4)无线通信模块使用最后,我们学习了无线通信模块的原理和编程方法。
通过使用无线通信模块,我们实现了单片机之间的数据传输,实现了远程控制功能。
三、实训成果与心得1. 实训成果通过本次实训,我们成功搭建了单片机最小系统,实现了LED流水灯、温度传感器应用、无线通信模块等功能。
以下是部分实训成果展示:单片机最小系统搭建LED流水灯效果温度传感器实时监测无线通信模块数据传输2. 实训心得(1)理论联系实际本次实训使我们深刻体会到理论联系实际的重要性。
在实训过程中,我们将所学理论知识应用于实际操作,不仅加深了对单片机原理的理解,还提高了动手能力。
(2)团队协作实训过程中,我们充分发挥团队协作精神,共同解决遇到的问题。
最新单片机实习报告范文最新4篇
最新单片机实习报告范文最新4篇单片机实训报告篇一实训报告班级:学号:姓名:一、实训目的成本会计是一门实践性很强的学科,不通过实际训练、操作,很难提高实际分析与解决问题的能力。
因此,我们不仅需要掌握成本会计核算的理论与方法,更需要在实践中学会针对特定的企业环境进行准确的成本核算与客观理性的成本分析,为企业管理者提供更加有效的成本信息。
为了让我们能够更好的了解会计在实际工作中的工作内容,以便于实际与理论相结合,也更能够适应社会的要求,了解成本核算在实际工作的重要性,学校开展了为期两周的成本会计实训课程。
学校希望通过这次成本会计实训课程的训练,我们都能够对会计有一个更新更深层次的认识,以便于我们能懂得会计作账的基本流程,从而在今后的工作中具有较强的实际动手操作能力。
这次成本会计实训采用了两个实际案例模拟企业的经营环境,分别涉及了分批和分类两种法,我们需要将分批法、分类法所用的各种费用分配表和明细账结合起来,这不仅能够使我们掌握成本核算基本方法的特点,还进一步理解了产品成本计算的基本原理。
同时还能使我们熟练掌握分批法和分类法核算的会计处理,提高并加快了我们的动手能力,做到理论联系实际,增强感性认识,全面地理解制造企业中成本核算的整个流程。
在实训的过程中还培养了我们认真细致、严谨客观的工作作风和理论联系实践的学习态度。
二、实训过程1、熟悉资料,设置各种帐簿,登记起初余额。
由于我们这次实训课程不用编制总账和财务报表,因此任务量在一定程度上有所减轻。
2、根据经济业务,填制记帐凭证。
并附上原始凭证。
要想登记记账凭证,首先需要做的就是编制会计分录,而在编制会计分录的过程中不得不重视以下几点:(1)各种成本费用的归集与分配。
生产成本的归集与分配是本次实训的重头戏,是中心环节。
成本归集与分配过程实际上就是成本计算过程。
在本次实训中,我们按照成本核算的基本程序,先后对材料费用、职工薪酬、基本生产成本、辅助生产成本、制造费用、完工产品等进行了练习。
单片机实训报告范文精选5篇_社会实践报告_
单片机实训报告范文精选5篇实训报告是展示自身实训收获成长的重要报告,那么实训报告该如何写呢?小编精选了一些关于实训报告的优秀范例,一起来看看吧。
单片机课程设计在学校学习期间我有幸的参加了学校的单片机学习小组,在小组里我了解了什么是单片机,单片机有哪些用途,利用单片机可以实现哪些功能来方便人们的生活如交通灯,时钟,还有手机中,电子玩具等等,它们里面都有单片机的存在来实现某种功能。
通过在单片机小组里的学习我简单总结了几点心得和体会:第一:万事开头难,要勇敢的迈出第一步,不要总找借口说没有学习过就总推脱。
凡事都有第一步可以先可简单的来,然后可以逐步的向深层次学习。
可以从建项目开始,然后可以找一个简单的小程序先把它敲进单片机内然他运行起来,感觉一下单片机的运行,让自己了解单片机整个运行。
第二:对于知识点,学过的要掌握牢固,对于没有学的和暂时用不到的先不用学习。
比如:小灯得点亮就没有用到中断可以先不用看。
这样可以避免知识过多记不住的麻烦。
对于程序这里的知识点不能只停留在理论层次上,一定要结合着程序进行学习这样才能掌握的很牢靠,当用到哪里的知识点不记得了可以去看书,对于用不到的可以不去看。
第三:程序不要只是看别人得,一定要自己写过才是自己的。
开始不懂可以参考别人的,看看每一句代表着什么意思,能够实现什么现象。
明白之后自己再重新写一遍,你会发现看别人的能懂到自己写的时候很困难。
当你自己能写出来的时候说明你真懂了。
第四:一定要学会程序调试的方法。
有时候把程序写完了然后运行时不能实现理想的现象。
这时有人就晕了不知该怎么办,然后就去问别人。
当别人找出问题出在哪里时就会恍然大悟。
其实当遇到问题一定要自己尝试着解决,不能遇到问题就去问别人。
自己一定要掌握解决问的方法和思路。
第五:在学习初期看别人的代码,学习别人的思路这个很有用。
通过看别人的代码特别是有多年编程经验的人的程序,可以迅速提高自己的编程水平。
也可以结合着别人的手法,与自己的想法结合在一起写出更好的程序。
大连理工大学单片机综合设计——基于ZLG7290B、PCF8563的时钟系统设计
大连理工大学单片机综合设计——基于ZLG7290B、PCF8563的时钟系统设计大连理工大学本科设计报告题目:基于ZLG7290B、PCF8563的时钟系统设计课程名称:单片机原理及应用实验学院(系):电子信息与电气工程学部专业:班级:学号:学生姓名:成绩:2015 年5月4日《计算机技术实验室安全操作规范》1.实验前认真阅读安全操作规程,不得擅自触及总电源开关。
2.实验期间学生不准使用与实验无关的电气设备。
3.实验过程中若遇计算机故障时,交由指导老师负责,不允许学生私自开箱维修。
4.在实验过程中,连接实验设备的220v电源时,要保持手部干燥,并注意操作安全,不允许使用金属物件触碰220v电源线及电源插座的带点部位。
5.学生实验期间,在连接导线时不允许实验台带电操作,连接完成后经检查无误时再将实验台上电。
完成实验时先将实验台断电后再进行导线的拆除。
6.实验期间要关闭手机等通讯工具,实验室一律禁止携带饮料、食品、禁止吸烟、喧哗、嬉闹、确保实验室卫生、整洁。
7.学生完成实验后,必须关闭所有实验设备的电源。
8.如果实验过程中发生“突发事件”时,不要慌张、应沉着冷静,采取相关的措施。
必要时拨打校内晋级电话(84708110)或拨打110、120报警。
电工电子实验教学中心计算机技术实验室个人签字:题目:基于ZLG7290B、PCF8563的时钟系统设计1 设计要求(1)由PCF8563提供时间参数并由ZLG7290进行显示;(2)能够利用键盘实现时间参数的修改,修改过程可加入“回显”、“闪烁”、“容错”等功能;(3)利用蜂鸣器实现时钟系统的“整点报时”功能;(4)要求程序中有中断环节;2 设计分析及系统方案设计(1)由PCF8563T实时时钟芯片提供时间数据,由ZLG7290B显示电路控制8位数码管显示当前时间,二者通过I2C总线结构与AT89C51单片机相连,SDA 和SCK分别接P1.0和P1.1。
(2)该系统采用双中断结构,时钟输出CLKOUT接INT0,为低优先级,每一秒触发一次中断;键盘中断输出信号INT接INT1,为高优先级,每当有按键时触发中断。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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
LJMP START
ORG 0030H START: MOV 20H,#064H
MOV 21H,#0F5H
MOV A,20H
ADD A,21H
MOV 22H,A
JNC NEXT1
MOV 23H,#01H
JMP NEXT2
NEXT1: MOV 23H,#00H
NEXT2: SJMP $
END 方法二:
ORG 0000H
LJMP START
ORG 0030H START: MOV 20H,#064H
MOV 21H,#0F5H
MOV A,20H
ADD A,21H
MOV A,#00H
ADDC A,#00H
MOV @R1,A
SJMP $
END
五、实验结果与分析
方法一:方法二:
分析:如图所示,方法一、方法二都可以实现题目的要求
遇到的问题:(1)送立即数时总忘记加“#”,导致运行结果出错;
(2)方法一中缺少一句跳转语句,导致本应是不同状况下执行的两种不同的处理连续执行,
使为23H赋值时出错。
解决办法:(1)检查程序,需要送立即数的地方加上“#”;(2)增加跳转语句,使两种处理方法分开执行。
六、实验体会和建议
单片机的汇编语言与微机原理的汇编语言基本相似,但是数据的传递有很大不同,总是会忘记在送立即数是忘记加“#”,这一点以后一定会牢记!
七、主要仪器设备
名称型号备注
电脑Keil 联想V2。