2022年单片机C程序设计实验报告书.docx





《2022年单片机C程序设计实验报告书.docx》由会员分享,可在线阅读,更多相关《2022年单片机C程序设计实验报告书.docx(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选学习资料 - - - - - - - - - 试验一 并行输入输出口的使用一、试验目的: 学会设计 proteus 7仿真电路,学习P1口的使用方法和延时子程序的编写用 Keil uVision 3 编程实现发光二极管的流水点亮;二、试验原理: P1 口为 8 位准双向 I/O 口,它的每一位都可以分别定义为输入线或输 出线(作为输入时,口锁存器必需置 1);P1 口作为输出,接 8 个发光二极管 D1D8 经限流电阻分别接至 8 个引脚;本试验仿真电路图、流程图如下:D1 R139U1XTAL119470RLED-REDR2D2P0.0/AD038470R R3LED-REDP0.1/A
2、D13718P0.2/AD236P0.3/AD3XTAL2D335P0.4/AD434RST9470RLED-REDP0.5/AD533P0.6/AD632P0.7/AD7R4 470RD421P2.0/A822P2.1/A9PSEN29R5LED-RED23P2.2/A1024P2.3/A112530D5P2.4/A12ALE2631P2.5/A13EA27P2.6/A14P1.01LED-RED28470RP2.7/A1510P3.0/RXDD6112R6P3.1/TXDP1.1123P3.2/INT0P1.2LED-RED134470RP3.3/INT1P1.3145P3.4/T0P1.
3、4156P3.5/T1P1.5R7D7167P3.6/WRP1.6178P3.7/RDP1.7LED-RED470RAT89C51R8D8470RLED-RED开头P1 口初始化点亮 D1 发光二极管延时发光二极管移到下一位循环1 名师归纳总结 - - - - - - -第 1 页,共 18 页精选学习资料 - - - - - - - - - 三、试验代码:#include #include /移位库函数包含于此头文件中 void delayunsigned int d /定义延时子函数 while-d0; void main unsigned char i,sel; while1 sel=0
4、xfe; fori=0;i=8;i+ P1=sel; delay50000; sel=_crol_sel,1; /显示变量赋给 P1 口 /延时/转变显示变量 四、试验结论: 用 while 语句实现发光二极管循环流水点亮,从上到下一次点亮;试验二 C51 分支程序设计一、试验目的: 学习多分支挑选结构和switch 语句,明白循环的嵌套;二、试验原理: do while 循环先执行后判定是否循环,switch 括号中的表达式的值与某 case 后的常量表达式的值相同时,就执行它后面的语句,遇到 break 语句就退出switch 语句;本试验仿真电路图、流程图如下:SW38U1P3.7/RD
5、17D4R4P1.7716P1.6P3.6/WR615P1.5P3.5/T1SW-SPST514P1.4P3.4/T0413P1.3P3.3/INT1SW2312P1.2P3.2/INT0211P1.1P3.1/TXD110SW-SPSTP1.0P3.0/RXDD3 LED-RED470R R328P2.7/A152731EAP2.6/A14D2 LED-RED470R R226P2.5/A133025ALEP2.4/A122924PSENP2.3/A11D1 LED-RED23470R R1P2.2/A1022P2.1/A9219RSTP2.0/A8LED-RED470R32P0.7/AD7
6、3318P0.6/AD634P0.5/AD5XTAL235P0.4/AD436P0.3/AD337P0.2/AD219XTAL138P0.1/AD139P0.0/AD0AT89C51(仿真电路图)2 名师归纳总结 - - - - - - -第 2 页,共 18 页精选学习资料 - - - - - - - - - 开头P1 口初始化将 P1 口赋给 a 并屏蔽高 6 位a+散转地址0 循环子句1 循环子句2 循环子句3 循环子句Y While 是否为真N 终止(流程图)三、试验代码:#include void main char a; do P1=0xff; a=P1; a=a&0x03; sw
7、itcha case 0:P2=0x0e;break; case 1:P2=0x0d;break; case 2:P2=0x0b;break; case 3:P2=0x07;break; while1; 四、试验结论: 多分支挑选的 switch/case语句,可直接处理并行多分支挑选问题,从 匹配表达式的括号开头执行,不再进行判定;3 名师归纳总结 - - - - - - -第 3 页,共 18 页精选学习资料 - - - - - - - - - 试验三 外部中断试验一、试验目的: 把握外部中断的原理以及中断处理程序的编写方法;二、试验原理: 外部中断 0 和外部中断 1 均为下降沿触发,当
8、外部中断 0 发生时, P0端口的电平反向,当外部中断1 发生时, P1 端口的电平反向, LED 状态取反,引脚P3.2、P3.3 是外部中断 INT0 和 INT1 的输入端,本试验仿真电路图、流程图如下:R017U1P1.78R1D1P3.7/RD167LED-REDP3.6/WRP1.6156P3.5/T1P1.5145P3.4/T0P1.4134P3.3/INT1P1.3123P3.2/INT0P1.2112P3.1/TXDP1.1101P3.0/RXDP1.0470R28P2.7/A15EA3127P2.6/A1426P2.5/A132530P2.4/A12ALE2429P2.3/
9、A11PSEN23P2.2/A1022P2.1/A921P2.0/A8470R32RST9P0.7/AD733D0P0.6/AD6XTAL21834P0.5/AD535P0.4/AD436P0.3/AD3LED-RED3719P0.2/AD238P0.1/AD139P0.0/AD0XTAL1AT89C51(仿真电路图)开头初始化 P0、P1 口设置外中断0、外中断 1外中断 0 发生或外中断1 发生为下降沿触发方式P0 口电平反向或 P1 口电平反向LED 熄灭LED 熄灭 等待中断(主程序)(中断服务程序)三、试验代码:4 名师归纳总结 - - - - - - -第 4 页,共 18 页精选
10、学习资料 - - - - - - - - - #include #include void ISOvoid interrupt 0 P0=P0; /P0 端口反向 void IS1void interrupt 2 P1=P1; /P1 端口反向 void main P0=0x00; P1=0xFF; SCON=0x50; TMOD=0x22; TH1=0xF3; TR1=1; IT0=1; IT1=1; /设置下降沿触发方式 EX0=1; EX1=1; EA=1; /中断答应 while1; 四、试验结论: 利用外中断程序可掌握 状态取反;试验四 定时/计数器试验LED 的亮灭, P0 口、P
11、1 口电平反向, LED一、试验目的: 学习定时计数器的使用和编写方法,进一步把握中断处理程序的方法 以及对示波器的明白;二、试验原理: 启动定时器 T1 延时 10ms,当定时时间到产生中断,执行中断程序,LED 熄灭,T1 再延时 10ms,点亮 LED,如此循环, 本试验仿真电路图、 流程图如下:17U1P1.78D0AR1P3.7/RD167P3.6/WRP1.6156P3.5/T1P1.5145P3.4/T0P1.4134P3.3/INT1P1.3123P3.2/INT0 P3.1/TXDP1.2 P1.1112101P3.0/RXDP1.028P2.7/A15EA31LED-RED
12、470R27P2.6/A1426P2.5/A132530P2.4/A12ALE2429P2.3/A11PSEN23P2.2/A1022P2.1/A921P2.0/A832P0.7/AD7 P0.6/AD6RST9B3334XTAL218CP0.5/AD535P0.4/AD436DP0.3/AD337P0.2/AD2XTAL11938P0.1/AD139P0.0/AD0AT89C51(仿真电路图)5 名师归纳总结 - - - - - - -第 5 页,共 18 页精选学习资料 - - - - - - - - - 开头设置 T1 为定时器模式T1 中断送定时初值 10ms 重LED 熄灭置点亮(熄
13、灭) LED 初开 T1 中断值中断返回启动 T1 计数等待中断(主程序)(中断服务程序)三、试验代码:#include sbit Wave=P10; /位定义 void T1ISRvoid interrupt 3 /定时器 T1 中断响应6 名师归纳总结 - - - - - - -第 6 页,共 18 页精选学习资料 - - - - - - - - - Wave=Wave; TL1=0x0F0; /反向 /重置计数初值TH1=0x0D8; void mainvoid Wave=0; /初始化 P1.0=0 TMOD=0x10; /设置定时器 T1 为模式 1 TL1=0x0F0; TH1=0
14、x0D8; TR1=1; /启动定时计数器 ET1=1; EA=1; /开中断 while1 四、试验结论: T1 工作于模式 1,定时器产生 10ms 的定时,定时中断产生,P1.0端 口的输出在示波器中显示, LED 闪耀;利用定时计数器可掌握 LED 的显示时间变化;试验五 外中断使用一、试验目的: 更娴熟的把握外部中断的原理与应用以及中断处理程序的编写方法;二、试验原理: 引脚 P3.2、P3.3分别是外部中断INT0 和外部中断 INT1 的输入端,均为低电平有效,下降沿触发;外中断0 发生, 8 只 LED 全部点亮,外中断1 发生, 8只 LED 闪耀,本试验仿真电路图、流程图如
15、下:17U1P1.78P3.7/RD167P3.6/WRP1.6156P3.5/T1P1.514 135 4P3.4/T0P1.4P3.3/INT1P1.3123P3.2/INT0P1.2112P3.1/TXD P3.0/RXDP1.1 P1.0101R1D128P2.7/A15EA3127 26P2.6/A14P2.5/A13470R R2D2 LED-RED2530P2.4/A12ALE2429P2.3/A11PSEN23P2.2/A10D3 LED-RED470R R322P2.1/A921P2.0/A8470R R4D4 LED-RED32P0.7/AD7RST933P0.6/AD63
16、4P0.5/AD5470R R5D5 LED-RED35XTAL218P0.4/AD436P0.3/AD337P0.2/AD2470R R6D6 LED-RED38XTAL119P0.1/AD1 P0.0/AD039470R R7D7 LED-REDAT89C51470R R8D8 LED-RED470RLED-RED(仿真电路图)7 名师归纳总结 - - - - - - -第 7 页,共 18 页精选学习资料 - - - - - - - - - 开头 中断入口初始化 P0 口中断 1 发生中断 0 发生设定外中断0,外中断 18 只 LED 闪耀8 只 LED 闪耀为下降沿触发方式中断 0
17、是否发生中断答应N Y 等待中断(主程序)(中断服务程序)三、试验代码:#include sbit P32=P32; void delayunsigned int d /定义延时子函数 while-d0; void main P0=0xFF; /熄灭 LED IT0=1; IT1=1; /外中断 0、1 脉冲触发方式 EA=1; EX0=1; EX1=1; /开中断 for; /延时等待中断发生 ; void INT0_ISR interrupt 0 P0=0x00; void INT1_ISR interrupt 2 /外中断 0 中断服务函数 /外中断 1 中断服务函数 whileP32.
18、=0 /假如有外中断 0,退出 delay5000; P0=0x00; delay5000; P0=0xFF; 四、试验结论: 当外中断 0 发生,即按下了 So 按钮, 8 只 LED 点亮;当外中断 1 发生,即按下了 S1 按钮, 8 只 LED 闪耀,遇到外中断 持点亮状态;8 0 发生, 8 只 LED 停止闪耀并保名师归纳总结 - - - - - - -第 8 页,共 18 页精选学习资料 - - - - - - - - - 试验六 串行口双机通信试验一、试验目的: 懂得串行通信的基本概念和 口的 4 种工作方式、通信连线和应用编程;C51 单片机的串行通信接口结构, 熟识串二、试
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 单片机 程序设计 实验 报告书

限制150内