《单片机原理实验报告.docx》由会员分享,可在线阅读,更多相关《单片机原理实验报告.docx(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、湖 南 城 市 学 院实 验 报 告2023-2023学年上学期姓名:*班级学号:*实验课程:单片机原理及应用试验室名称:电子工程试验室湖南城市学院信息与电子工程学院试验中心印制试验时间:第周 星期 第五六节,年月 日学生姓名:*班级学号:*指导教师:*试验成绩:试验工程名称: 试验一 指示灯和开关掌握器试验一、试验目的及要求1、学习 51 单片机 I/O 根本输入/输出功能,把握汇编语言的编程与调试方法;2、生疏 proteus 软件,了解软件的构造组成与功能;3、学会在 ISIS 模块中进展汇编程序录入、编译和调试;4、理解单片机程序掌握原理,实现指示灯/开关掌握器的预期功能。二、试验原理
2、+5VC230pFC122uFX1CRYSTALC3U119XTAL118XTAL230pFR11kP0.0/AD0P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD73938373635343332+5V9RSTPSENALE EAP2.0/A8P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A152122232425262728Y1Y2 Y3 Y4 Y5 Y6 Y7 Y8D1VR25+293031Y1200LDE2D-YELLOW R3Y2123456
3、78P1.0P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.780C51P3.0/RXDP3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD1011121314151617200LDE3D-YELLOW R4Y3D4LED-YELLOW R5200Y4D5LED-YELLOW R6200Y5Y6LDE6D-YELLOW R7D7200LED-YELLOW2R080Y7200LDE8D-YELLOW R9Y8200LED-YELLOW试验电路原理图如图 1 所示,图中输入电路由外接在 P3 口的 8 只拨动开关
4、组成;输出电路由外接在 P2 口的 8 只低电平驱动的发光二极管组成。此外,还包括时钟电路、复位电路和片选电路。图 1 试验原理图在编程软件的协作下,要求实现如下指示灯/开关掌握功能:程序启动后,8 只发光二极管先整体闪耀 3 次即亮暗亮暗亮暗,间隔时间以肉眼可观看到为准,然后依据开关状态掌握对应发光二极管的灯亮状态,即开关闭合相应灯亮,开关断开相应灯灭,直至停顿程序运行。软件编程原理为:18 只发光二极管整体闪耀 3 次亮灯:向 P2 口送入数值 0;灭灯:向 P2 口送入数值 0FFH; 闪耀 3 次:循环 3 次;闪耀快慢:由软件延时时间打算。2依据开关状态掌握灯亮或灯灭开关掌握灯:将
5、P3 口即开关状态内容送入 P2 口; 无限持续:无条件循环。程序流程图如图 2 所示。主程序计数器 R5#3P2#0延时子程序P2#0FFH延时子程序NR5-1=0?YP2P3延时子程序计数器R0#100计数器R1#50计数器R2#25NR2-1=0?YNR5-1=0?YR5-1=0?NY子程序返回图 2 试验程序流程图三、试验仪器设备及装置(1) 硬件:电脑一台;(2) 仿真软件:Proteus;(3) 编程软件 Keil uVision4。其中,仿真软件 ISIS 元件清单如表 1 所示。表 1 仿真软件ISIS 元件清单元件类别电路符号元件名称Microprocessor ICsU18
6、0C51MiscellaneousX1/12MHzCRYSTALCapacitorsC2C3/30pFCAPCapacitorsC1/22uFCAP-ELECResistorsR1/10kRESResistorsR2R9/200RESOptoelectronicesD1D8LED-REDSwitches&RelaySSW1SW8SWITCH四、试验内容和步骤一试验内容:(1) 生疏 ISIS 模块的汇编程序编辑、编译与调试过程;(2) 完成试验的汇编语言的设计与编译;(3) 练习 ISIS 汇编程序调试方法,并最终实现试验的预期功能。二试验步骤:(1) 提前阅读与试验相关的阅读材料;(2) 参
7、考指示灯/开关掌握器的原理图和试验的元件清单,在 ISIS 中完成电路原理的绘制;(3) 参考程序流程图在 Keil uVision4 中编写和编译汇编语言程序;(4) 利用 ISIS 的汇编调试功能检查程序的语法和规律错误;(5) 观看仿真结果,检验与电路的正确性。五、试验数据记录与处理或试验现象与分析1、试验程序#include #define uchar unsigned char #define uintunsigned int void delay(uchar k)uint j; while(k-)for(j=0;j1000;j+);void main(void)uchar temp
8、; uint i;for (i=0;i3;i+)P2=0;delay(100); P2=0xff; delay(100);while(1)temp=P1;P2=temp;2、试验现象+5VC230pFC122uFX1CRYSTALC319U1XTAL118R11k30pFXTAL2P0.0/AD0P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD73938373635343332+5V9RSTPSENALE EAP2.0/A8P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/
9、A14 P2.7/A152122232425262728Y1Y2 Y3 Y4 Y5 Y6 Y7 Y8D1VR25+293031Y1200LDE2D-YELLOW R3Y212345678P1.0P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.780C51P3.0/RXDP3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD1011121314151617200LDE3D-YELLOW R4Y3D4LED-YELLOW R5200Y4D5LED-YELLOW R6200Y5Y6LDE6D-YELLOW R7D72
10、00LED-YELLOW2R080Y7200LDE8D-YELLOW R9Y8200LED-YELLOW 程序开头运行后,8 只发光二极管先整体闪耀 3 次亮暗亮暗 亮暗试验结果如图 3 图 4 所示。图 3 二极管灯亮图+5VC230pFC122uFX1CRYSTALC319U1XTAL118R11k30pFXTAL2P0.0/AD0P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD73938373635343332+5V9RSTPSENALE EAP2.0/A8P2.1/A9 P2.2/A10 P2.3/A11 P2.
11、4/A12 P2.5/A13 P2.6/A14 P2.7/A152122232425262728Y1Y2 Y3 Y4 Y5 Y6 Y7 Y8D1VR25+293031Y1200LDE2D-YELLOW R3Y212345678P1.0P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.780C51P3.0/RXDP3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD1011121314151617200LDE3D-YELLOW R4Y3D4LED-YELLOW R5200Y4D5LED-YELLOW R6200Y5
12、Y6LDE6D-YELLOW R7D7200LED-YELLOW2R080Y7200LDE8D-YELLOW R9Y8200LED-YELLOW图 4 二极管灯灭图 开关可以掌握二极管的最终状态即开关闭合则对应二极管最终的状态为亮,开关断开则对应二极管最终的状态为暗。(1) 当按下开关 1 2 7 8 时结果如图 5.1 所示。+5VC230pFC122uFX1CRYSTALC3U119XTAL118XTAL230pFR11kP0.0/AD0P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7393837363534333
13、2+5V9RSTVP2.0/A8P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A152122232425262728Y1Y2 Y3 Y4 Y5 Y6 Y7 Y8D1R25+293031PSENALE EAY1200LDE2D-YELLOW R3Y212345678P1.0P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.780C51P3.0/RXDP3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD1011121314151617200LDE
14、3D-YELLOW R4Y3D4LED-YELLOW200R5Y4D5LED-YELLOW200R6Y5200LDE6D-YELLOW R7Y6D7200LED-YELLOW R8Y7200LDE8D-YELLOW R9Y8200LED-YELLOW图 5.1 二极管状态图(2) 当按下开关 1 3 4 6 时结果如图 5.2 所示。+5VC230pFC122uFX1CRYSTALC3U119XTAL118XTAL230pFR11kP0.0/AD0P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7393837363534
15、3332+5V9RSTPSENALE EAP2.0/A8P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A152122232425262728Y1Y2 Y3 Y4 Y5 Y6 Y7 Y8D1VR25+293031Y1200LDE2D-YELLOW R3Y212345678P1.0P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.780C51P3.0/RXDP3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD1011121314151617200
16、LDE3D-YELLOW R4Y3D4LED-YELLOW R5200Y4D5LED-YELLOW R6200Y5Y6LDE6D-YELLOW R7D7200LED-YELLOW2R080Y7200LDE8D-YELLOW R9Y8200LED-YELLOW图 5.2 二极管状态图试验结果分析:当程序启动时,可以看到 8 只发光二极管整体循环闪耀三次, 闪耀快慢由延时时间打算,然后依据所设开关的状态对应二极管的亮灯状态。六、问题争论以下图 6 中单片机 80C51 中 31 号引脚为什么接+5V?XT AL1XT AL2RSTP0.0/AD0P0.1/AD1 P0.2/AD2 P0.3/AD3
17、 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7PSENP2.0/A8 P2.1/A9 P2.2/A10P2.3/A11ALEP2.4/A12EAP2.5/A13 P2.6/A14 P2.7/A15P1.0 P1.1 P1.2 P1.3 P1.4P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0P1.5 P1.6 P1.7P3.5/T P3.6/WR P3.7/RD180C51C230pFX1CRYST ALU1C3191830pF93938373635343332+29303121 Y122 Y223 Y324 Y425 Y52
18、6 Y627 Y728 Y8110211312413514615716817图 6 问题分析图答:31 号引脚为使能端EA 非,通过+5V 电压是使单片机访问内部程序存储器,但当 PC程序计数器值超过某值时,将自动转向执行外部程序存储器内的程序。试验工程名称:试验时间:第周星期第节,年月日学生姓名:班级学号:指导教师:试验成绩:试验二 LED 灯和数码显示器的中断掌握一、试验目的及要求1. 把握外部中断原理,学习中断编程与程序调试方法; 2.生疏 Keil uVision4 平台软件调试方法。二、试验原理+5VC330pFX1CRYSTALR310k+5VC2U1D119R230pFXTAL1
19、18+5VRSTP0.0/AD0 39P0.1/AD1 38P0.2/AD2 37P0.3/AD3 36P0.4/AD4 35P0.5/AD5 34P0.6/AD6 33P0.7/AD7 32100XTAL2LED-GREEN9P2.0/A8P2.1/A9293031P2.2/A10212223C122uFPSENALE EAP2.3/A11 24P2.4/A12P2.5/A13 P2.6/A14 P2.7/A1525262728R11k12345678P1.0P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.780C51P3.2/INT0 12P3.0/RXD 10P3.1/
20、TXD 11P3.3/INT1 1413P3.4/T0 P3.5/T1 15P3.6/WR 16P3.7/RD 17试验电路原理图如图 1 所示,图中按键K1 和 K2 分别接于 P3.2 和 P3.3,发光二极管 D1 接于 P0.4,共阴极数码管LED1 接于 P2 口。时钟电路、复位电路、片选电路无视。图 1 试验原理图在编程软件的协作下,要求实现如下功能:程序启动后,D1 处于熄灯、LED1 处于黑屏状态;单击 K1,可使 D1 亮灯状态反转一次;单击 K2,可使 LED1 显示增加 1,并按十六进制数显示,到达 F 后重从 1 开头。软件编程原理为:K1 和 K2 的按键动作分别作为
21、 INT0 和 INT1 的中断恳求,在中断函数中进展指示灯与数码管的信息处理。初始化后,主函数处于无限循环状态,等待中断恳求。三、试验仪器设备及装置(1) 硬件:电脑一台;(2) 仿真软件:Proteus;(3) 编程软件 Keil uVision4。其中,仿真软件 ISIS 元件清单如表 1 所示。表 1 仿真软件ISIS 元件清单元件类别电路符号元件名称Microprocessor ICsU180C51OptoelectronicsD1LED-GREENSwitches&RelaysK1K2BUTTONResistorsR1R2/100RESOptoelectronicsLED7SEG-
22、COM-CAT-GRN四、试验内容和步骤一试验内容:(1) 生疏 Keil uVision4 的软件调试方法;(2) 完成试验的 C51 语言编程;(3) 练习 Keil uVision4 与 ISIS 的联机仿真方法。二试验步骤:(1) 提前阅读与试验相关的阅读材料;(2) 参考试验电路原理图和元件清单在 ISIS 中完成电路原理图的绘制;(3) 在 Keil uVision4 中编写和编译 C51 程序,生成可执行文件;(4) 在 Keil uVision4 中启动 ISIS 的仿真运行,并进展联机调试;(5) 观看仿真结果,检验与电路的正确性。五、试验数据记录与处理或试验现象与分析1、试
23、验程序#include#define uchar unsigned char sbit led=P04;uchar led_mod=0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71;uchar i=0; void initIT0=1; IT1=1; EA=1; EX0=1;/中断 0 边沿触发/中断 1 边沿触发EX1=1;/开总中断、中断 0、中断 1void int0 interrupt 0led=led;void int1 interrupt 2if
24、(+i=16) i=0;/先加再用void maininit; while(1)P2=led_modi;2. 试验现象图 2 为仿真运行效果图。+5VC330pFX1CRYSTALR310k+5VC2U119D130pFXTAL118XTAL2+5V9RSTP0.0/AD0P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD73938373635343332R2100LED-GREENC122uF29 PSEN30 ALE31 EAP2.0/A821P2.1/A922P2.2/A1023P2.3/A11 24P2.4/A12
25、25P2.5/A1326P2.6/A1427P2.7/A1528123R11kP1.0P1.14P1.25P1.36P1.47P1.58P1.6P1.7P3.0/RXDP3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD1011121314151617K1K280C51图 2 仿真图按下 K1,D1 灯亮,如图 3(a)所示:+5VC330pFX1CRYSTALR310k+5VC21930pFU1XTAL118XTAL2P0.0/AD0P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P
26、0.6/AD6 P0.7/AD73938373635343332D1R2100LED-GREEN+5V9RSTC122uF29 PSEN30 ALE31 EAP2.0/A821P2.1/A922P2.2/A1023P2.3/A11 24P2.4/A1225P2.5/A1326P2.6/A1427P2.7/A152812345678P1.0P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.780C51P3.0/RXDP3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD1011121314151617K1R11kK
27、2图 3(a) 二极管状态图再按下 K1,D1 灯灭,如图 3(b)所示:+5VC330pFX1CRYSTALR310k+5VC21930pFU1XTAL118XTAL2P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD73938373635343332D1R2100LED-GREEN+5V9RSTC122uF293031PSEN ALE EAP2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A152122232425262
28、728R11k12345678P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.780C51P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD1011121314151617K1K2图 3(b) 二极管状态图连续按下 K1 则 D1 将“亮灭亮灭亮灭”如此循环。当按 K2 时,每按一次数码显示管上的字符变化一次:持续按K2 则数码显示管依次显示 1-F:如图 4 所示。图 4 LED 状态图试验结果分析: 持续按下 K1 则 D1 将“亮灭亮灭亮灭”如此循环说明实现了K1 对应于
29、D1 状态反转这个功能;持续按下持续按 K2 则数码显示管依次显示 1-F,实现了 K2 对应于 0-F 间的数码管加一计数显示。六、问题争论uchar led_mod=0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71;这些就代表 0-F,为什么呢?答:数码分为 7 段式7 个发光二极管和8 段式8 个发光二极管,见图6的,而二极管的亮灭对应 0x3F 的一位1 或 0,为 0 时灭,1 为亮;比方 0x3f 就是是 0b00111111那么它对应的数码管
30、的最外面一圈的二极管是 1,是亮的,中间的一横和小数点都输 0,是灭的,所以显示出来的 就是 0。图 5 二极管示意图试验时间:第周星期第节,年月日学生姓名:班级学号:指导教师:试验成绩:试验工程名称: 试验三 双机通信及 PCB 设计一、 试验目的及要求1. 把握串行口通信工作原理;2. 生疏单片机电路的 PCB 设计过程。二、 试验原理试验的电路原理图如图 1 所示,图中 1#机的发送线与 2#机的接收线相连, 1# 机的接收线与 2#机的发送线相连,共阴极 BCD 数码管 BCD_LED1 和BCD_LED2 分别接各机的 P2 口,两机共地默认,晶振为 11.0592MHz,波特率为
31、2400bps,串口方式 1。软件编程原理如下:1#机承受查寻法编程,依据 RI 和 TI 标志的软件查询结果完成收发过程;2#机承受中断法编程,依据 RI 和 TI 的中断恳求,在中断函数中完成收发过程。PCB 设计原理:在 1#机的电路原理图中添加接线端,并定义电源端口,图J1CONN-H4J2CONN-H4J3VCC GND121 2 3 41 2 3 4CONN-H23 2 1 0B B B B3 2 1 0A A A AC4C13A2 1A A0A3 2 1B B BU20B19U1XTAL11nF1nFX1CRYSTALGNDXTAL2P0.0/AD0 P0.1/AD1 P0.2/
32、AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7XTAL119C2X2CRYSTAL C5GND18XTAL218VCC 1nF1nFVCC9RSTRST9C322uF29 PSEN30 ALE31 EAP2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A152122232425262728A0 B0A1 B1A2 B2A3
33、B32122232425262728P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15PSEN ALE EA293031C622uFXRDTXDR11k12345678P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.780C51P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD10111213141516171011TXDXRD121314151617P3.0/RXD P3.1/TXD P3.
34、2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD80C51P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.712345678R21kGNDGND中 BCD 数码管需要自定义 PCB 封装。39393838373736363535343433333232图 1 试验原理图三、 试验仪器设备及装置(1) 硬件:电脑一台;(2) 仿真软件:Proteus ARES;(3) 编程软件 Keil uVision4。其中,仿真软件 ISIS 元件清单如表 1 所示。表 1 仿真软件ISIS 元件清单CategoryReferenc
35、eValueMicroprocessor TCsU1、U280C51MiscellaneousX1、X2CRYSTALCapacitorsC1、C2/1nFCAPCapacitorsC4、C5/1nFCAPCapacitorsC3、C6/22FCAP-ELECResistorsR1、R2/1KRESOptoelectronicsLED7SEG-BCD-GRNConnectorsJ1、J4CONN-H2ConnectorsJ2CONN-H4四、 试验内容和步骤一试验内容:(1) 把握串行通信原理和中断法通信软件编程;(2) 完成试验的 C51 编程;(3) 学习使用 ARES 软件,完成试验电路
36、见图 1PCB 设计。二试验步骤(1) 提前阅读与试验相关的阅读材料;(2) 参考图 1 及表 1,在 ISIS 中完成电路原理图的绘制;(3) 承受 Keil Vision4 进展 C51 串行通信编程和调试;(4) 对电路进展 PCB 设计,生成 Gerber 输出文件。五、 试验数据记录与处理或试验现象与分析1、 试验程序/实例实现两个单片机点对点的数据通信/*甲机程序*/#include#define uchar unsigned char void delay (unsigned int time) unsigned int j=0; for(;time0;time-) for(j=
37、0;j15) counter=0; delay(500);/*乙机程序*/#include#define uchar unsigned char void main(void)uchar receiv;P2=0x3f;TMOD=0x20;TH1=0xf4;TL1=0xf4;PCON=0x00;TR1=1;SCON=0x50;while(1) while(RI=1) RI=0;receiv=SBUF; SBUF=receiv; while(TI=0); TI=0;P2=receiv;2、试验现象下面的图 2.1 和图 2.2 仿真的效果图,发送值和接收值分别显示在双方LED 数码管上。双机通信双方 LED 数码管上面显示一样的数字,从 0F 递加,保持双方全都。39393838373736363535343433333232