杭电单片机实验报告六
- 格式:docx
- 大小:21.73 KB
- 文档页数:2
杭电单片机实验报告六(优秀范文5篇)第一篇:杭电单片机实验报告六单片机原理与应用技术实验报告实验题目: :A D/A 转换器得接口与应用姓名: :* **学号: :*** *** * **实验日期: :17 7、6 6、6 6指导教师: :高惠芳1、实验内容、1波得波齿锯现实程编请,V01—为压电考参,接所上堂课如线接得机片单与2380CADﻩ形,锯齿波得周期为20+作业号,单位就是ms。
我得作业号就是6,所以周期就就是26ms。
经过计算后时间应为0、102ms左右。
1)程序代码:H0000 GROﻩ WASAD PMJAﻩ H0020 GROﻩDASAW:CLR A LOOP1:MOV P1,A DELAY: 61#,7R VOMﻩDLY1: MOV R6,#1 DLY2: DJNZ R6,DLY2PONﻩ DJNZ R7,DLY1INC A1POOL PMJSﻩEND 2)软件程序截图3)编译通过截图4)调试截图时间满足 0 0、s 102ms 左右5)仿真电路图6)仿真波形图2、DAC0832 与单片机得接线如课堂上所接,参考电压为—10V,请编程实现三角波得波形,三角波得周期为 20+作业号,单位就是ms。
我得作业号就是6,所以周期就就是26ms。
经过计算后时间应为0、102ms 左右。
1)程序代码:ORG 0000HWASAD PMJAﻩORG0200HDASAW:CLRA LOOP 1:MOV P1,A; DELAY: 61#,7R VOMﻩDLY1:1#,6R VOMﻩDLY2: DJNZ R6,DLY2PONﻩ 1YLD,7R ZNJDﻩ A CNIﻩCJNE A,#00H,LOOP1 LOOP2:MOV P1,A;DEC A2POOL,H00#,A ENJCﻩ SJMP DASAWEND 2)代码程序截图3)编译通过截图4)仿真电路图5)仿真结果3、实验心得通过以上得实验,对DAC 得转换原理有了比较深刻得了解,也对D/A 转换器有了一定得了解,DAC得基本原理就是把数字量得每一位按照权重转换成相应得模拟分量,然后根据叠加定理将每一位对应得模拟分量相加,输出对应得电流或电压。
关于单片机实训报告万能【六篇】【篇1】单片机实训报告万能通过今次单片机实训,使我对单片机的认识有了更深刻的理解。
系统以51单片机为核心部件,利用汇编软件编程,通过键盘控制和数码管显示实现了基本时钟显示功能、时间调节功能,能实现本设计题目的基本要求和发挥部分。
由于时间有限和本身知识水平的限制,本系统还存在一些不够完善的地方,要作为实际应用还有一些具体细节问题需要解决。
例如:不能实现只用两个按键来控制时钟时间,还不能实现闹钟等扩展功能。
踉踉跄跄地忙碌了两周,我的时钟程序终于编译成功。
当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。
我相信其中的酸甜苦辣最终都会化为甜美的甘泉。
但在这次实训中同时使我对汇编语言有了更深的认识。
当我第一次接触汇编语言就感觉很难,特别是今次实训要用到汇编语言,尽管困难重重,可我们还是克服了。
这次的实训使培养了我们严肃认真的做事作风,增强了我们之间的团队合作能力,使我们认识到了团队合作精神的重要性。
这次实训的经历也会使我终身受益,我感受到这次实训是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。
希望这次的经历能让我在以后学习中激励我继续进步。
【篇2】单片机实训报告万能通过这一个学期的单片机学习,我收获了很多关于单片机的知识,并且这些知识和日常的生活息息相关。
了解了一些简单程序的录入,LED显示器、键盘、和显示器的应用和原理。
LED显示器:LED显示器是由发光二管组成显示字段的器件。
通常的8段LED显示器是由8个发光二极管组成,LED显示器分共阳极和共阴极两种。
有段选码和和位选码。
当LED显示器每段的平均电流位5MA时,就有较满意的亮度,一般选择断码5-10MA 电流;位线的电流应选择40-80MA。
LED显示器的显示方式有动态和静态两种。
7289A芯片是具有SPI串行接口功能的显示键盘控制芯片,它可同时取得8位共阴极数码管和64个键的键盘矩阵。
单片机实验报告一、实验目的本次单片机实验的主要目的是通过实际操作和编程,深入了解单片机的工作原理和应用,掌握单片机系统的设计、开发和调试方法,提高自身的动手能力和解决问题的能力。
二、实验设备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 引脚。
学生姓名:学号:专业班级:实验类型:□ 验证□ 综合□ 设计□ 创新实验日期:实验成绩:实验一 I/O 口输入、输出实验地点:基础实验大楼A311一、实验目的掌握单片机P1口、P3口的使用方法。
二、实验内容以P1 口为输出口,接八位逻辑电平显示,LED 显示跑马灯效果。
以P3 口为输入口,接八位逻辑电平输出,用来控制跑马灯的方向。
三、实验要求根据实验内容编写一个程序,并在实验仪上调试和验证。
四、实验说明和电路原理图P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。
由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止。
因为内部上拉电阻阻值是20K~40K,故不会对外部输入产生影响。
若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。
本实验需要用到CPU模块(F3区)和八位逻辑电平输出模块(E4区)和八位逻辑电平显示模块(B5区)。
2学生姓名:学号:专业班级:实验类型:□ 验证□ 综合□ 设计□ 创新实验日期:实验成绩:五、实验步骤1)系统各跳线器处在初始设置状态。
用导线连接八位逻辑电平输出模块的K0 到CPU 模块的RXD(P3.0 口);用8 位数据线连接八位逻辑电平显示模块的JD4B 到CPU 模块的JD8(P1 口)。
2)启动PC 机,打开THGMW-51 软件,输入源程序,并编译源程序。
编译无误后,下载程序运行。
3)观察发光二极管显示跑马灯效果,拨动K0 可改变跑马灯的方向。
六、实验参考程序本实验参考程序:;//******************************************************************;文件名: Port for MCU51;功能: I/O口输入、输出实验;接线: 用导线连接八位逻辑电平输出模块的K0到CPU模块的RXD(P3.0口);;用8位数据线连接八位逻辑电平显示模块的JD2B到CPU模块的JD8(P1口)。
南昌大学实验报告学生姓名:学号:专业班级:通信152班实验类型:□验证□综合□设计□创新实验日期:实验成绩:实验六电子计算器仿真一、实验目的掌握计算器基础几类算法的仿真。
二、实验内容1.10个数字键用作数值输入键,小数点的显示用重复按键的方式设置,即如果某数字键被重按,则该数字带小数点显示。
2.A、B、C、D、E、F六个键用作功能键:A表示求平方根;B表示求sin;C表示求自然对数lnx;D表示求以10为底的对数logx;E表示求一个数的指数函数exp(x);F表示求以a 为底的指数函数。
3. 输入数字时,第一个输入的数显示在最左边第一个数码管,第二个输入的数显示在第二个数码管,依次类推。
后边不输的位视为0,可显0也可熄灭。
显示结果时,要求用满8个数码显示管三、实验程序主程序:#include <math.h>#include "STC15.h"#include "intrins.h"#define MAIN_Fosc 11059200L //定义主时钟typedef unsigned char u8;typedef unsigned int u16;typedef unsigned long u32;#define Timer0_Reload (65536UL -(MAIN_Fosc / 1000)) //Timer 0 中断频率,//1000次/秒#define DOT 0x20#define DIS_BLACK 0x10#define DIS_ 0x11u8 code T_KeyTable[16] = {0,1,2,0,3,0,0,0,4,0,0,0,0,0,0,0};u8 code t_display[]= //标准字库{// 0 1 2 3 4 5 6 7 8 9 A B C D E F0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71 ,//black - H J K L N o P U t G Q r M y0x00,0x40,0x76,0x1E,0x70,0x38,0x37,0x5C,0x73,0x3E,0x78,0x3d,0x67,0x50,0x37,0x6e ,0xBF,0x86,0xDB,0xCF,0xE6,0xED,0xFD,0x87,0xFF,0xEF,0x46}; //0. 1. 2. 3. 4. 5. 6. 7. 8. 9. -1u8 code T_COM[]= {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; //位码sbit P_HC595_SER = P4^0; //pin 14 SER data inputsbit P_HC595_RCLK = P5^4; //pin 12 RCLk store (latch) clocksbit P_HC595_SRCLK = P4^3; //pin 11 SRCLK Shift data clocku8 LED8[8]; //显示缓冲u8 display_index; //显示位索引bit B_1ms; //1ms标志u8 KeyCode; //给用户使用的键码,1-16有效u8 cnt10ms;u8 IO_KeyState, IO_KeyState1, IO_KeyHoldCnt; //行列键盘变量u8 cnt50ms;u8 KS;u8 i,Key;u8 B_Key;void IO_KeyScan(void); //50ms callu8 TmpH,TmpL,KeyCode; //定义变量double a,b,c,d,e,f,g,x,y,x_f,x_i;u8 k0,k1,k2,k3,k4,k5,k6,k7,k8,K_Down,count,B_Dot;u32 xa,y_i;u8 led0,led1,led2,led3,led4,led5,led6,led7;/********************** 延时函数************************/void Delay(u8 ms){u16 i;do{i = MAIN_Fosc / 13000; //14T per loopwhile(--i){;}}while(--ms);}/********************** 矩阵键盘************************/u8 ScanKey(void){P0=0xf0;if(P0!=0xf0) //扫描列{Delay(10); //延时去抖if(P0!=0xf0) //确定按键按下{// K_Down=1;TmpH=P0; //读出P0口高四位数据P0 =0x0F;Delay(1); //延时TmpL=P0; //读出P0口低四位数据TmpH=TmpH+TmpL; //将取出的高四位,低四位组合,得到键值 while(P0!=0x0F){; //松手检测}switch(TmpH&0xF0){case 0xE0:KeyCode=0;break;case 0xD0:KeyCode=4;break;case 0xB0:KeyCode=8;break;case 0x70:KeyCode=12;break;}switch(TmpL&0x0F){case 0x0E:KeyCode+=0;break;case 0x0D:KeyCode+=1;break;case 0x0B:KeyCode+=2;break;case 0x07:KeyCode+=3;break;}return KeyCode; //输出键值}}return 16; //无按键按下输出16}/*****************计算10的n次方***********************/u32 pow10(u8 n){switch(n){case 0:return 1;break;case 1:return 10;break;case 2:return 100;break;case 3:return 1000;break;case 4:return 10000;break;case 5:return 100000;break;case 6:return 1000000;break;case 7:return 10000000;break;}}/***************** 在数码管上显示一个8位数***********************/ print( u32 n){LED8[0]=n%100000000/10000000;LED8[1]=n%10000000/1000000;LED8[2]=n%1000000/100000;LED8[3]=n%100000/10000;LED8[4]=n%10000/1000;LED8[5]=n%1000/100;LED8[6]=n%100/10;LED8[7]=n%10/1;}void main(void){P0M1 = 0;P0M0 = 0; //设置为准双向口P1M1 = 0;P1M0 = 0;P2M1 = 0;P2M0 = 0;P3M1 = 0;P3M0 = 0;P4M1 = 0;P4M0 = 0;P5M1 = 0;P5M0 = 0;P6M1 = 0;P6M0 = 0;P7M1 = 0;P7M0 = 0;AUXR = 0x80; //Timer0 set as 1T, 16 bits timer auto-reload, TH0 = (u8)(Timer0_Reload / 256);TL0 = (u8)(Timer0_Reload % 256);ET0 = 1; //Timer0 interrupt enableTR0 = 1; //Tiner0 runEA = 1; //打开总中断for(i=0; i<8; i++){LED8[i] = 0x10; //上电消隐}KeyCode = 16; //键码,0-15有效,无按键按下时=16KS=17;a=20; //以a为底的指数函数,在这里设置a的值while(1){if(B_1ms){B_1ms = 0;if(++cnt50ms >= 50){cnt50ms = 0;Key=ScanKey();if((Key<=9)&(count<=7)){if(Key==KS){B_Key=1;KS=17;B_Dot=count-1;LED8[B_Dot] =32+Key ; }else{KS=Key;LED8[count] = Key ; count++;}switch(count){case 1:k0=Key;break;case 2:k1=Key;break;case 3:k2=Key;break;case 4:k3=Key;break;case 5:k4=Key;break;case 6:k5=Key;break;case 7:k6=Key;break;case 8:k7=Key;break;default:;}}if((Key<=15)&(Key>=10)){if(B_Key==0){B_Dot=count-1;}xa=k7+k6*10+k5*100+k4*1000+k3*10000+k2*100000+k1*1000000+k0*10000000; x=(double)xa/(double)pow10(7-B_Dot);switch(Key){case 10:y=sqrt(x);break;case 11:y=sin(x);break;case 12:y=log(x);break;case 13:y=log10(x);break;case 14:y=exp(x);break;case 15:y=pow(a,x);break;default:;}if(y>=10000000){y_i=y;print(y_i);}else if(y>=1000000){y_i=y*10;print(y_i);LED8[6]=y_i%100/10+32;}else if(y>=100000){y_i=y*100;print(y_i);LED8[5]=y_i%1000/100+32;}else if(y>=10000){y_i=y*1000;print(y_i);LED8[4]=y_i%10000/1000+32;}else if(y>=1000){y_i=y*10000;print(y_i);LED8[3]=y_i%100000/10000+32;}else if(y>=100){y_i=y*100000;print(y_i);LED8[2]=y_i%1000000/100000+32;}else if(y>=10){y_i=y*1000000;print(y_i);LED8[1]=y_i%10000000/1000000+32;}else if(y>=1){y_i=y*10000000;print(y_i);LED8[0]=y_i%100000000/10000000+32; }else if(y>=0.1){y_i=y*100000000;LED8[0]=32;LED8[1]=led0=y_i%100000000/10000000;LED8[2]=led1=y_i%10000000/1000000; LED8[3]=led2=y_i%1000000/100000;LED8[4]=led3=y_i%100000/10000;LED8[5]=led4=y_i%10000/1000;LED8[6]=led5=y_i%1000/100;LED8[7]=led6=y_i%100/10;}else if(y>=0.01){y_i=y*1000000000;print(y_i);LED8[0]=32;LED8[1]=0;LED8[2]=led0=y_i%100000000/10000000; LED8[3]=led1=y_i%10000000/1000000; LED8[4]=led2=y_i%1000000/100000;LED8[5]=led3=y_i%100000/10000;LED8[6]=led4=y_i%10000/1000;LED8[7]=led5=y_i%1000/100;}else if(y>=0.001){y_i=y*10000000000;LED8[0]=32;LED8[1]=0;LED8[2]=0;LED8[3]=led0=y_i%100000000/10000000; LED8[4]=led1=y_i%10000000/1000000; LED8[5]=led2=y_i%1000000/100000;LED8[6]=led3=y_i%100000/10000;LED8[7]=led4=y_i%10000/1000;}else if(y>=0.0001){y_i=y*100000000000;LED8[0]=32;LED8[1]=0;LED8[2]=0;LED8[3]=0;LED8[4]=led0=y_i%100000000/10000000; LED8[5]=led1=y_i%10000000/1000000; LED8[6]=led2=y_i%1000000/100000;LED8[7]=led3=y_i%100000/10000;}else if(y>=0.00001){y_i=y*1000000000000;LED8[0]=0;LED8[1]=0;LED8[2]=0;LED8[3]=0;LED8[4]=0;LED8[5]=led0=y_i%100000000/10000000; LED8[6]=led1=y_i%10000000/1000000; LED8[7]=led2=y_i%1000000/100000;}else if(y>=0.000001){y_i=y*10000000000000;LED8[0]=0;LED8[1]=0;LED8[2]=0;LED8[3]=0;LED8[4]=0;LED8[5]=0;LED8[6]=led0=y_i%100000000/10000000; LED8[7]=led1=y_i%10000000/1000000; }else if(y>=0.0000001){y_i=y*100000000000000;LED8[0]=0;LED8[1]=0;LED8[2]=0;LED8[3]=0;LED8[4]=0;LED8[6]=0;LED8[5]=0;LED8[7]=led0=y_i%100000000/10000000; }else{for(i=0; i<8; i++){LED8[i] = 0x10;}LED8[0]=0;}}}}}}/**************** 向HC595发送一个字节函数******************/void Send_595(u8 dat){u8 i;for(i=0; i<8; i++){dat <<= 1;P_HC595_SER = CY;P_HC595_SRCLK = 1;P_HC595_SRCLK = 0;}}/********************** 显示扫描函数************************/void DisplayScan(void){Send_595(~T_COM[display_index]); //输出位码Send_595(t_display[LED8[display_index]]); //输出段码P_HC595_RCLK = 1;P_HC595_RCLK = 0; //锁存输出数据if(++display_index >= 8){display_index = 0; //8位结束回0}}/********************** Timer0 1ms中断函数 ************************/void timer0 (void) interrupt 1{DisplayScan(); //1ms扫描显示一位B_1ms = 1; //1ms标志}四、实验原理通过设定单片机上含有的按键进行数字的定义来达到键入数字运算的目的,而对于功能计算,则是通过定义一部分按键为特定触发按键来调用各类计算方法进行计算。
单片机实验报告1. 实验背景单片机(Microcontroller Unit,简称MCU)是一种集成了微处理器核心、内存、计时器、I/O接口等功能的集成电路芯片。
它具有体积小巧、功耗低、性能高等优点,在嵌入式系统中应用广泛。
本实验旨在通过对单片机的实际操作,加深对单片机原理及应用的理解。
2. 实验目的本次实验的主要目的是:- 掌握单片机的基础知识,包括单片机的结构、工作原理等;- 学习单片机的编程方法,初步掌握单片机的编程技巧;- 进行简单的单片机应用实验,提高对实际应用的理解。
3. 实验设备与材料实验所需的设备和材料包括:- 单片机开发板;- 计算机;- 连接线等。
4. 实验过程与结果在本实验中,我们使用XXX型单片机开发板作为实验平台,通过连接计算机进行编程。
具体的实验过程如下:4.1 硬件连接将单片机开发板与计算机通过连接线连接,并确保连接正常。
接下来,将我们设计好的电路按照要求连接到开发板的相应引脚上。
4.2 编程使用XXX软件对单片机进行编程。
根据实验要求,编写相应的程序代码,并将代码下载到单片机开发板中。
验证代码是否编译通过,并将运行结果显示在数码管、液晶显示屏等外设上。
4.3 实验结果实验结果根据不同的实验要求而定,可以是对某个外设的控制、信号的采集、数据的处理等。
在实验过程中需记录实验结果,并进行分析。
5. 实验总结通过本次实验,我对单片机的基本原理及应用有了更深入的了解。
掌握了单片机的硬件连接方法和编程技巧,并成功完成了实验要求。
实验结果表明,单片机在各个领域都有广泛的应用前景,对于嵌入式系统的开发起着重要作用。
当然,本次实验只是单片机应用的初步探索,还有很多更深入的研究和应用值得去探索。
在今后的学习与实践中,我将进一步深化对单片机的理解,并将其灵活应用于各种项目中。
6. 参考文献[参考文献1][参考文献2][参考文献3](文章内容仅供参考,具体实验过程和结果以实际情况为准。
)。
单片机技术与应用实验报告实验名称:单片机技术与应用实验班级: 10062813 学号: 10061314 姓名:陆维俊指导老师:朱胜利实验一 P1口、P3口输入输出实验一.实验目的1.学习P1口的使用方法。
2.学习延时子程序的编写和使用。
二.实验代码P1口输出程序ORG 0000HAJMP MAINORG 0100HMAIN: MOV A,#0FEH LOOP1: MOV P1,AACALL DELAYRL ACJNE A,#0FEH,LOOP1AJMP MAIN DELAY: MOV R7,#10H DELAY0: MOV R6,#7FH DELAY1: MOV R5,#7FH DELAY2: DJNZ R5,DELAY2DJNZ R6,DELAY1DJNZ R7,DELAY0RETEND P1口输入程序ORG 0000HAJMP MAINORG 0100HMAIN: MOV P1,#0FFHMOV A,p1MOV DPTR,#0F200HMOVX @DPTR,AAJMP MAINEND三.实验说明1.P1口是准双向口。
它作为输出口时与一般的双向口使用方法相同。
由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止。
因为内部上拉电阻阻值是20KΩ~40KΩ,故不会对外部输入产生影响。
若不先对它置高,且原来是低电平,则MOS 管导通,读入的数据是不正确的。
2.延时子程序的延时计算问题对于程序 DELAY:MOV R0,#00HDELAY1:MOV R1,#0B3HDJNZ R1,$DJNZ R0,DELAY1查指令表可知 MOV,DJNZ 指令均需用两个机器周期,而一个机器周期时间长度为12/11.0592MHz,所以该段程序执行时间为:((0B3+1)×256+1)×2×12÷11059200=100.002mS四.心得体会这次实验让我了解了P1口和P3口作为普通I/O口的使用方法,并通过编程将P1口作为输入输出口进行简单的发光二极管的点亮和开关状态的读取,这在单片机学习中是及为基础的练习。
杭电自动化单片机实验报告单片机原理与应用及 C51程序设计实验报告实验名称:单片机技术实验实验一继电器控制输出实验一、实验目的1.掌握STC12C5A16S2单片机的最基本电路的设计;2.了解单片机I/O端口的使用方法;3.了解继电器和蜂鸣器控制电路以及小电压控制大电压的方法。
二、实验要求1.利用STC12C5A16S2单片机的P1.2、P1.3口作按钮S9和S10输入,P1.0和P1.1口作开关量输出,并分别控制一个5V的继电器和蜂鸣器。
2.当S9闭合时,P1.0控制继电器闭合并控制灯泡闪亮;当S9断开时,继电器触电断开,灯泡不亮;3.当S10闭合时,P1.1控制蜂鸣器闭合并发出声音;当S10断开时,蜂鸣器不响。
三、电路四、原理说明Q1、Q2为9012三极管即PNP型,低电平导通,当S9或S10按下时,相应的IO口拉低,当P1.0或P1.1赋0时即可控制继电器的吸合活着蜂鸣器的发声。
五、程序代码#includesbit L1=P1^1;sbit L2=P1^2;sbit L3=P1^3;sbit L0=P1^0;//定义位变量void delay(){int i,j;for(i=0;i<250;i++)for(j=0;j<250;j++);//利用系统时钟,定义延时函数}void main (){int n=20;while(1) //不断循环检测{if(L2==0) //判断S9输入{while(n--){L0=0;delay();L0=1;delay(); //灯泡以2*delay为周期闪亮}n=20;}if(L3==0) //判断S10闭合{while(n--){L1=0;delay();delay(); //蜂鸣器以2*delay为周期发声}n=20;}}}实验二 LED轮换点亮实验一、实验目的1.掌握STC12C5A16S2单片机的I/O电路设计;2.学习SN74HC573数据锁存输出方法。
单片机实验报告汇总一、引言单片机是一种嵌入式系统中的重要组成部分。
通过单片机可以实现各种控制功能,包括自动控制、测量和数据处理等。
在本次实验中,我们就对单片机进行了一系列实验,包括基本IO口控制、定时器和中断、串口通信等内容。
通过这些实验的学习和掌握,我们对单片机的原理和应用有了更深入的理解。
二、实验目的1.掌握单片机的基本操作和编程方法;2.理解单片机的IO口控制原理;3.学习单片机的定时器和中断功能;4.掌握单片机的串口通信原理和操作方法。
三、实验过程与结果1.基本IO口控制实验在此实验中,我们使用单片机控制LED灯的亮灭。
首先,将LED灯连接到单片机的一个IO口上,然后编写相应的程序来控制该IO口的电平变化。
实验结果显示,当程序中对该IO口输出高电平时,LED灯亮起;反之,当输出低电平时,LED灯熄灭。
2.定时器和中断实验定时器和中断是单片机的重要功能之一、在此实验中,我们使用定时器和中断来实现一个简单的计数器。
我们先设置定时器的计数周期,然后在中断函数中对计数器进行加一操作。
实验结果表明,LED灯随着时间的推移不断闪烁,计数器的值也在不断增加。
3.串口通信实验串口通信是单片机与外部设备进行数据交换的一种通信方式。
在此实验中,我们通过串口通信将单片机与计算机相连,并实现数据的发送与接收。
我们使用UART通信协议来建立通信连接,并编写相应的程序来控制通信的发送与接收。
实验结果显示,当单片机向计算机发送数据时,计算机会接收到相应的数据,并进行处理;反之,当计算机向单片机发送数据时,单片机也能够正确接收并进行相应的操作。
四、实验总结通过本次实验,我们对单片机的基本操作和编程方法、IO口控制、定时器和中断、串口通信等内容有了更深入的了解和掌握。
我们通过实践操作,对单片机的原理和应用有了更为直观的认识。
通过编写程序,我们实现了对LED灯的控制、计数器的实现以及与计算机的数据交互等功能。
这些实验不仅提升了我们的动手能力,也加深了我们对单片机技术的理解。
一、实验目的1. 掌握单片机的基本工作原理和编程方法。
2. 熟悉常用单片机的硬件结构和接口。
3. 学习使用单片机进行简单的电子系统设计。
4. 培养动手能力和解决实际问题的能力。
二、实验仪器与设备1. 单片机实验板(含8051单片机、电源、按键、LED灯等)2. 示波器3. 万用表4. 电阻、电容、二极管等电子元件5. 编译器及调试软件三、实验内容1. 单片机最小系统搭建- 目的:学习单片机最小系统的构成和作用。
- 实验步骤:1. 将单片机插入实验板。
2. 连接电源、按键、LED灯等元件。
3. 使用示波器检测单片机的时钟信号。
- 实验结果:成功搭建单片机最小系统,时钟信号正常。
2. 按键控制LED灯- 目的:学习按键的读取和LED灯的控制。
- 实验步骤:1. 编写程序实现按键的读取。
2. 根据按键读取结果控制LED灯的亮灭。
- 实验结果:按键按下时LED灯亮,松开时LED灯灭。
3. 定时器中断控制LED闪烁- 目的:学习定时器中断的应用。
- 实验步骤:1. 编写程序设置定时器中断。
2. 在中断服务程序中控制LED灯闪烁。
- 实验结果:LED灯按照设定的频率闪烁。
4. 串口通信实验- 目的:学习串口通信的原理和应用。
- 实验步骤:1. 编写程序实现串口发送和接收。
2. 使用串口调试助手进行数据传输。
- 实验结果:成功实现串口通信,发送和接收数据。
5. 温度检测实验- 目的:学习使用温度传感器进行温度检测。
- 实验步骤:1. 连接温度传感器。
2. 编写程序读取温度传感器数据。
3. 将温度数据显示在LCD显示屏上。
- 实验结果:成功读取温度数据,并在LCD显示屏上显示。
四、实验总结通过本次单片机电子实习实验,我掌握了以下知识和技能:1. 单片机的基本工作原理和编程方法。
2. 常用单片机的硬件结构和接口。
3. 使用单片机进行简单的电子系统设计。
4. 串口通信、定时器中断、温度检测等应用。
在实验过程中,我遇到了一些问题,如程序调试、硬件连接等,通过查阅资料和请教老师,最终成功解决了这些问题。
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==单片机实验报告 (6000字)单片机实验报告第一次实验:编程与环境学习[实验目的]1) 熟悉μ’nSP? IDE环境及在该环境下用汇编语言或C语言编写应用程序;2) 熟悉简单的μ’nSP?汇编语言指令。
[实验设备]装有WINDOWS系统和μ’nSP? IDE仿真环境的PC机一台。
[实验内容[1)用汇编实现1到200中的偶数的累加计算;2)用汇编语言编写一个排序程序。
.IRAMArray .DW 5,89,40,12,55,32,18,46,77,21[实验步骤]1)将μ’nSP? IDE打开后,建立一个新工程;2)在该项目的源文件夹(SOURCE FILES)下建立一个新的汇编语言文件;3)编写汇编代码;4)编译程序软件调试观察并跟踪其结果。
[实验准备]实验中的两个程序:(1) .RAM.CODE.VAR Sum.PUBLIC _main_main:R1=0x0002R2=0x0000Loop:R2+=R1R1+=2CMP R1,200JNA Loop[Sum]=R2Loop1: nopJMP Loop1.END(2).IRAMARRAY: .DW 5,89,40,12,55,32,18,46,77,21 .VAR flag.CODE.PUBLIC _main_main:BP=arrayR1=0x0009R4=0x0000[flag]=R4Loop:R3=[BP]CMP R3,[BP+1]JB NEXTR2=[BP+1][BP]=R2[BP+1]=R3R3=0x0001[flag]=R3NEXT:BP=BP+1R1-=1JNZ LoopR4=[flag]JNZ _mainLoop1:NOPJMP Loop1[实验中遇到的问题与解决措施]编写程序中出现了一些逻辑错误,错将R1置为0x000A,改正后得到了正确结果。
电子实习单片机实验报告一、实验目的1. 掌握单片机的基本原理和结构,了解单片机在各行各业中的应用。
2. 学习单片机的编程和调试方法,培养实际操作能力和解决问题的能力。
3. 通过对单片机的实验操作,加深对单片机理论知识的理解和掌握。
二、实验内容本次实验主要分为以下几个部分:1. 单片机的基本原理和结构的学习。
2. 单片机的编程和调试方法的学习。
3. 完成一个简单的单片机应用项目。
三、实验器材1. 单片机学习板。
2. 电脑。
3. 编程软件。
4. 调试器。
四、实验步骤1. 学习单片机的基本原理和结构。
了解单片机的组成部分,如中央处理器、存储器、输入输出接口等。
2. 学习单片机的编程和调试方法。
学习如何使用编程软件进行程序编写,如何使用调试器进行程序调试。
3. 完成一个简单的单片机应用项目。
例如,设计一个流水灯电路,通过单片机控制LED灯的闪烁。
4. 分析实验结果,总结实验过程中的问题和解决方法。
五、实验结果与分析1. 实验结果通过实验,成功完成了流水灯电路的设计,通过单片机控制LED灯的闪烁。
实验过程中,掌握了单片机的编程和调试方法,能够熟练使用编程软件和调试器。
2. 实验分析在实验过程中,遇到了一些问题,如编程语句的错误、程序调试过程中的故障等。
通过查阅资料、请教老师和同学,逐步解决了这些问题,提高了自己的实际操作能力和解决问题的能力。
六、实验收获1. 掌握了单片机的基本原理和结构,了解了单片机在各行各业中的应用。
2. 学会了单片机的编程和调试方法,提高了实际操作能力和解决问题的能力。
3. 加深了对单片机理论知识的理解和掌握。
七、实验总结通过本次实验,对单片机有了更深入的了解,掌握了单片机的编程和调试方法。
在实验过程中,培养了自己的实际操作能力和解决问题的能力。
实验结束后,对单片机的理论知识有了更深的理解。
今后,将继续努力学习单片机的知识和技能,为将来的工作和发展打下坚实的基础。
一、实验目的1. 熟悉单片机的基本结构和工作原理。
2. 掌握单片机的编程方法,包括C语言和汇编语言。
3. 学习单片机的接口技术和应用系统设计。
4. 培养动手能力和解决实际问题的能力。
二、实验环境1. 单片机开发系统:STC89C52单片机开发板2. 编译器:Keil uVision3. 调试器:Proteus4. 实验指导书:《单片机实训教程》三、实验内容1. 单片机基本原理实验(1)实验目的:了解单片机的结构、工作原理和引脚功能。
(2)实验步骤:1)搭建实验电路,连接单片机开发板与Proteus仿真软件;2)编写程序,设置单片机的工作模式;3)通过Proteus仿真软件观察单片机的运行状态。
(3)实验结果:通过仿真软件,观察到单片机能够按照程序的要求进行运行,实现了实验目的。
2. 单片机C语言编程实验(1)实验目的:掌握单片机的C语言编程方法。
(2)实验步骤:1)在Keil uVision中创建新项目,选择STC89C52单片机;2)编写C语言程序,实现LED灯闪烁功能;3)编译、烧录程序到单片机,观察LED灯闪烁效果。
(3)实验结果:程序编译成功,烧录到单片机后,LED灯按照预期进行闪烁,实现了实验目的。
3. 单片机汇编语言编程实验(1)实验目的:掌握单片机的汇编语言编程方法。
(2)实验步骤:1)在Keil uVision中创建新项目,选择STC89C52单片机;2)编写汇编语言程序,实现LED灯闪烁功能;3)编译、烧录程序到单片机,观察LED灯闪烁效果。
(3)实验结果:程序编译成功,烧录到单片机后,LED灯按照预期进行闪烁,实现了实验目的。
4. 单片机接口技术实验(1)实验目的:了解单片机的接口技术,掌握常用接口的编程方法。
(2)实验步骤:1)搭建实验电路,连接单片机开发板与外部设备;2)编写程序,实现单片机与外部设备的通信;3)通过Proteus仿真软件观察通信过程。
(3)实验结果:通过仿真软件,观察到单片机与外部设备能够成功通信,实现了实验目的。
单片机实验报告单片机实验报告引言单片机是一种集成电路芯片,具有微处理器、存储器、输入输出接口等功能,广泛应用于各个领域。
本实验报告将介绍我在单片机实验中的学习和实践经验,包括实验目的、实验步骤、实验结果以及实验心得。
实验目的本次实验的目的是通过使用单片机,学习和掌握单片机的基本原理、编程方法和应用技巧。
具体目标包括了解单片机的基本构成、学习单片机的编程语言、掌握单片机的输入输出操作等。
实验步骤1. 实验准备:在实验开始前,我们首先准备了所需的硬件和软件工具。
硬件方面,我们使用了一块开发板和一片单片机芯片。
软件方面,我们使用了一款单片机开发软件。
2. 硬件连接:将单片机芯片插入开发板的插槽中,并通过连接线将开发板与计算机相连。
3. 编写程序:使用单片机开发软件,编写程序代码。
在本次实验中,我们选择了一个简单的LED灯闪烁的程序作为示例。
4. 烧录程序:将编写好的程序通过编程器烧录到单片机芯片中。
5. 运行程序:将烧录好的芯片插入开发板后,通过电源供电,运行程序。
LED灯将按照程序中设定的频率进行闪烁。
实验结果经过以上实验步骤,我们成功地实现了LED灯的闪烁。
通过调整程序中的参数,我们还可以改变闪烁的频率和模式。
这次实验不仅让我们掌握了单片机的基本编程方法,还让我们对单片机的应用有了更深入的了解。
实验心得通过本次实验,我深刻认识到了单片机在现代电子技术中的重要性和广泛应用。
单片机不仅可以用于控制各种电子设备,还可以应用于嵌入式系统、自动化控制等领域。
掌握单片机的编程和应用技巧,对于我们今后的学习和工作都具有重要意义。
在实验过程中,我遇到了一些困难和问题,但通过查阅资料、与同学讨论等方式,我都得到了解决。
这让我意识到在学习和实践中,积极主动地寻求帮助和解决问题的能力是非常重要的。
此外,我还发现了单片机编程的乐趣。
通过编写程序,我可以控制各种设备的运行,实现自己的创意和想法。
这种创造性的过程给我带来了很大的满足感和成就感。
单片机电子实习实验报告一、实习目的和任务本次电子实习的主要目的是通过实际操作,深入理解单片机的工作原理和应用,提高动手能力,并培养团队协作和解决问题的能力。
实习任务是设计和制作一个基于单片机的简易温度监测系统。
二、实习内容和过程1. 理论学习和准备在实习开始前,我们首先学习了单片机的基本原理和编程方法,了解了不同类型的单片机及其应用场景。
同时,我们还学习了温度传感器的工作原理和常见类型。
2. 设计和选型根据实习任务要求,我们设计了简易温度监测系统。
系统主要由单片机、温度传感器、显示模块和控制模块组成。
在选型阶段,我们充分考虑了各种模块的性能、价格和易用性,最终选定了AT89S51单片机、DS18B20温度传感器和LCD1602显示模块。
3. 电路设计和制作在电路设计阶段,我们根据所选模块的引脚和功能,设计了电路图,并进行了仿真测试。
在确认电路设计无误后,我们开始制作电路板。
在制作过程中,我们严格遵守安全操作规程,确保电路板的质量。
4. 编程和调试根据电路设计和功能需求,我们编写了单片机程序。
程序主要包括温度检测、数据处理、显示等功能。
编写完成后,我们进行了程序调试,通过不断优化和修正,确保程序稳定运行。
5. 系统集成和测试将电路板、温度传感器、显示模块等组装成系统后,我们进行了功能测试。
测试过程中,我们发现了部分功能不符合预期,经过分析和修正,最终实现了预期的功能。
三、实习成果和总结通过本次实习,我们成功设计和制作了一个基于单片机的简易温度监测系统。
系统能够实时检测环境温度,并将温度值显示在LCD1602液晶屏上。
此外,我们还通过实习,提高了动手能力、团队协作能力和问题解决能力。
回顾实习过程,我们认识到单片机应用系统的设计和制作并非易事,需要充分考虑各个环节。
在今后的学习和工作中,我们将不断积累经验,努力提高自己在电子工程领域的综合素质。
四、实习体会本次实习让我们深刻体会到理论与实践相结合的重要性。
单片机程序设计实验报告姓名:学号:专业班级:第二节课:实验一:1357,2468位置的灯交替闪烁一实验要求1357,2468位置的灯交替闪烁。
二硬件连接图与结果三原理简述程序直接控制LED各位置的灯亮灭,时间间隔简单的用了一个延时的语句。
四程序#include<reg51.h>main (){int i;P0=0XAA; //1357四个灯亮for (i=0;i<=25000;i++); //延时程序P0=0X55; //2468四个灯亮for (i=0;i<=25000;i++); //延时程序}五所遇问题与解决方式程序比较简单,没有遇到问题。
实验二:流水灯一实验要求流水灯,一个接一个的灯亮,亮到最后一个后,全部的灯亮,然后重头开始。
二硬件连接图与结果三原理简述程序定义第一个位置的灯亮,通过一个时间间隔,运用一个循环移位程序转移到下一个灯,移位7次后全部的灯亮,最后定义整个循环。
时间间隔简单的用了一个延时的语句。
因为移位时是直接补0,发送低电平不亮,所以直接移位达到要求。
四程序//流水灯#include<reg51.h>main (){int i,j;while(1){P0=0X01; //第1个灯亮for (i=0;i<=30000;i++); //延时程序for(j=0;j<=7;j++) //移位循环程序{P0=P0<<1; //移位for (i=0;i<=30000;i++); //延时程序}P0=0xff; //全亮for (i=0;i<=30000;i++); //延时程序}}五所遇问题与解决方式程序比较简单,没有遇到问题。
实验三:跑马灯一实验要求一个接一个的灯亮,前面亮过的等依旧亮,直到最后一个灯,最后重新开始,循环。
二硬件连接图与结果三原理简述程序定义第一个位置的灯亮,通过一个时间间隔,运用一个循环移位程序转移到下一个灯,移位7次后全部的灯亮,最后定义整个循环。
单片机课程设计实验报告一、课程目标知识目标:1. 让学生理解单片机的基本原理和功能,掌握其内部结构及工作流程。
2. 使学生掌握单片机编程的基本语法和编程技巧,能独立完成简单的程序编写。
3. 帮助学生了解单片机在现实生活中的应用,提高对新技术、新领域的认识。
技能目标:1. 培养学生运用单片机进行实验设计和实践操作的能力。
2. 培养学生分析问题、解决问题的能力,提高创新思维和动手实践能力。
3. 提高学生的团队协作和沟通能力,学会在实验过程中相互交流、共同进步。
情感态度价值观目标:1. 激发学生对单片机及电子技术的兴趣,培养主动学习的习惯。
2. 培养学生严谨、细致的实验态度,养成良好的实验操作习惯。
3. 增强学生的自信心和责任感,使他们认识到学习单片机对国家科技发展的意义。
课程性质分析:本课程为单片机课程设计实验,侧重于实践操作和实际应用。
课程要求学生具备一定的电子技术基础和编程能力,通过实验深入了解单片机的工作原理和应用领域。
学生特点分析:本课程面向高年级学生,他们在之前的学习中已掌握了基本的电子技术和编程知识,具备一定的自学能力和动手实践能力。
但学生在单片机应用方面的实践经验不足,需要通过本课程加强实践锻炼。
教学要求:1. 结合课本内容,注重理论与实践相结合,提高学生的实际操作能力。
2. 注重启发式教学,引导学生主动思考、探索,培养学生的创新精神和实践能力。
3. 关注学生的个体差异,给予个别辅导,确保每位学生都能达到课程目标。
二、教学内容1. 单片机基础知识:- 单片机原理与结构- 单片机内部资源及功能- 单片机编程语言(汇编语言、C语言)2. 单片机编程与实验:- 基本输入输出编程- 定时器、中断编程- 模数转换、串行通信编程3. 单片机应用案例:- 实例分析:温度控制器、智能小车等- 创新设计:学生自主选题,设计单片机应用项目4. 实验操作与调试:- 实验步骤与方法- 常用工具与仪器的使用- 故障分析与调试技巧教学大纲安排:第一周:单片机基础知识学习,包括原理、结构、编程语言等第二周:基本输入输出编程,实验一:LED灯控制第三周:定时器、中断编程,实验二:简易电子时钟第四周:模数转换、串行通信编程,实验三:温度传感器数据采集第五周:单片机应用案例分析,学生自主选题,设计单片机应用项目第六周:实验操作与调试,完成设计项目,撰写实验报告教材章节关联:教学内容与教材《单片机原理与应用》相关章节紧密关联,具体包括:- 第一章:单片机概述- 第二章:单片机的结构与原理- 第三章:单片机编程语言- 第四章:单片机内部资源及应用- 第五章:单片机实验与调试教学内容确保科学性和系统性,以培养学生的实际操作能力为目标,注重理论与实践相结合,提高学生的创新能力和实践技能。
单片机设计实验报告摘要:本实验主要是通过单片机进行控制和设计,探究单片机在实际工程应用中的功能和效果。
实验主要包括数字电子钟的设计和实现,通过单片机的高精度计时功能和驱动功能,实现了数字电子钟的显示和计时功能。
实验结果表明,单片机在数字电子钟设计中具有高效、稳定、精准的特点,能够满足实际工程应用的需求。
关键词:单片机、数字电子钟、设计、实验一、引言单片机是一种集成度高、功耗低、功能强大的微型计算机芯片,广泛应用于各种控制系统和电子产品中。
在工程领域中,单片机常常用于实现各种功能的设计和控制,如数字电子钟、温度控制系统等。
本实验通过数字电子钟的设计和实现,探究了单片机在实际工程应用中的功能和效果。
二、实验目的1.理解单片机的基本结构和工作原理;2.掌握单片机的高精度计时功能;3.熟悉单片机的IO端口控制和驱动功能;4.能够设计和实现一个基本的数字电子钟。
三、实验原理数字电子钟是一种常见的电子产品,其主要功能是显示当前的时间,并能够进行时间的计时和设置等操作。
数字电子钟的实现离不开单片机的计时功能和IO端口的控制功能。
单片机的计时功能主要通过定时器和计数器实现。
我们可以通过设置定时器的频率、工作模式和计数值,来实现不同精度的计时功能。
常见的定时器有TMR0、TMR1等,我们可以根据实际需求选择合适的定时器。
同时,通过设置计数器的初值和使能信号,可以实现计时的开始和暂停。
单片机的IO端口功能主要用于控制外部设备的驱动,如LED数码管的显示、按钮的检测等。
通过设置IO端口的输出状态和输入状态,可以实现数码管的显示和按钮的检测。
四、实验步骤1.确定实验需求和功能,设计数字电子钟的显示和计时方式;2.接线,将单片机与数码管和按钮等外部设备连接,设置IO端口的连接方式;3.编写单片机的程序代码,包括时钟显示和计时功能的实现;4.进行实验测试,验证程序的正确性和实验的有效性;5.总结实验结果,对实验进行评估和改进。
单片机课程设计实验报告1. 实验目的本实验旨在通过单片机课程设计实验,掌握单片机的基本原理、编程方法和实验操作技巧,培养实际动手能力和创新意识。
2. 实验内容本次实验的内容是使用单片机进行信号采集与控制。
具体包括以下几个部分:2.1 信号采集首先,我们需要利用单片机的模拟输入功能,通过外部传感器采集环境中的温度、湿度和光照等信号,并将其转换为数字信号供单片机处理。
在本实验中,我们采用温湿度传感器和光敏传感器作为信号源,将它们与单片机的模拟输入引脚连接,通过编程读取传感器输出的模拟电压值,并进行相应的数值处理。
2.2 数据处理与显示采集到的信号经过模数转换后,将在单片机内部得到相应的数字值。
接下来,我们需要对这些数据进行处理,并将结果显示在数码管或LCD液晶屏上。
在本实验中,我们可以利用单片机的数字输出端口控制数码管显示温度、湿度和光照度等数据。
也可以通过串口通信方式将数据发送到上位机进行进一步处理和显示。
2.3 信号控制除了信号采集和显示外,单片机还具备信号输出的功能。
我们可以使用单片机的数字输出端口向外部器件发送控制信号,控制其工作状态。
在本实验中,我们可以利用单片机的数字输出口控制LED灯的亮灭,或者控制电机的转动方向和速度等。
2.4 扩展应用我们还可以通过外部扩展模块,如无线模块、蓝牙模块等,将单片机连接到网络或其他设备上,实现更加丰富的应用。
3. 实验步骤1.搭建实验电路:按照实验要求,连接单片机、传感器和显示模块等元件,确保电路连接正确无误。
2.编写程序:打开开发环境,编写单片机程序,实现信号采集、处理和控制功能。
3.烧录程序:将编写好的程序烧录到单片机中,并确保烧录成功。
4.实验调试:连接电源,启动单片机,进行实验调试。
根据实验需求,调整传感器和器件的工作参数,观察实验结果是否符合预期。
5.总结与报告撰写:对实验过程和结果进行总结,撰写实验报告,包括实验目的、实验内容、实验步骤、实验结果及分析等。
杭电单片机实验报告六
单片机原理与应用技术实验报告
实验题目::
AD/A转换器得接口与应用
姓名::
**
*
学号::
*********
实验日期::
20177、66、66
指导教师::
高惠芳
11、实验内容
、1波得波齿锯现实程编请,V01—为压电考参,接所上堂课如线接得机片单与2380CADﻩ形,锯齿波得周期为20+作业号,单位就是ms。
我得作业号就是6,所以周期就就是26ms。
经过计算后时间应为0、102m s左右。
1)
程序代码:
H0000GROﻩWASADPMJAﻩH0020GROﻩDASAW:CLRALOOP1:MOVP1,ADE LAY:61#,7RVOMﻩDLY1:MOVR6,#1DLY2:DJNZR6,DLY2
PONﻩDJNZR7,DLY1
INCA
1POOLPMJSﻩEND2)
软件程序截图
3)
编译通过截图
4)
调试截图
时间满足00、s102ms左右
5)
仿真电路图
6)
仿真波形图
2、DAC0832与单片机得接线如课堂上所接,参考电压为—10V,请编程实现三角波得波形,三角波得周期为20+作业号,单位就是ms。
我得作业号就是6,所以周期就就是26ms。
经过计算后时间应为0、102ms 左右。
1)程序代码:
ORG0000H
WASADPMJAﻩORG0200HDASAW:CLRALOOP1:MOVP1,A;
DELAY:61#,7RVOMﻩDLY1:
1#,6RVOMﻩDLY2:DJNZR6,DLY2
PONﻩ1YLD,7RZNJDﻩACNIﻩCJNEA,#00H,LOOP1LOOP2:MOVP 1,A;
DECA
2POOL,H00#,AENJCﻩSJMPDASAW
END2)代码程序截图
3)编译通过截图
4)仿真电路图
5)仿真结果
33、实验心得
通过以上得实验,对DAC得转换原理有了比较深刻得了解,也对D/A转换器有了一定得了解,DAC得基本原理就是把数字量得每一位按照权重转换成相应得模拟分量,然后根据叠加定理将每一位对应得模拟分量相加,输出对应得电流或电压。
根据DAC内部结构得不同,DAC可以分成权电阻网络与T型网络等结构;
根据输出结构得不同,DAC也可以分成电压输出与电流输出两类。
引起了我很大的兴趣。