中南大学单片机实验报告
更新时间:2023-08-25 20:51:01 阅读量: 教育文库 文档下载
中南大学单片机实验报告
单片机实验报告
学 专业班级:自动化0705 姓 名: 学 指导老师:
中南大学单片机实验报告
目录
第一章 综述................................................................................................................... 0 第二章 实验要求............................................................................................................ 0 第三章 软件设计 ............................................................................................................. 1
1.清零程序 ............................................................................................................. 1 2. 拆字程序 ............................................................................................................. 3 3.拼字程序 ............................................................................................................. 4 4. 数据传送程序设计 ................................................................................................ 5 5. 排序程序 .............................................................................................................. 7 6. 散转程序 .............................................................................................................. 8 第四章 硬件设计 ............................................................................................................. 9
1. 数字量输入输出实验 .......................................................................................... 9
1)硬件构造如下: ............................................................................................ 9 2)程序如下: ................................................................................................. 10 2. 定时器/计数器实验............................................................................................ 12
1)硬件构造如下: .......................................................................................... 12 2)程序如下: ................................................................................................. 13 3. A/D、D/A转换实验 ...................................................................................... 15 1)硬件构造如下: .......................................................................................... 15 2)程序如下: ................................................................................................. 15 4.静态存储器扩展实验............................................................................................ 18
1)程序如下: ................................................................................................. 18 5 串行通信软件设计 ............................................................................................... 19
1)硬件如下: ................................................................................................. 20 2)程序如下: ................................................................................................. 20
第五章 调试过程及体会 ................................................................................................. 23
1 调试过程 ............................................................................................................. 23
2 收获体会 ............................................................................................................. 24
中南大学单片机实验报告
第一章 综述
单片机也被称为微控制器(Microcontroller),是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!
单片机诞生于20世纪70年代末,经历了SCM、MCU、SoC三大阶段。
1.SCM即单片微型计算机(Single Chip Microcomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。在开创嵌入式系统独立发展道路上,Intel公司功不可没。 2.MCU即微控制器(Micro Controller Unit)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。从这一角度来看,Intel逐渐淡出MCU的发展也有其客观因素。在发展MCU方面,最著名的厂家当数Philips公司。
Philips公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到微控制器。因此,当我们回顾嵌入式系统发展道路时,不要忘记Intel和Philips的历史功绩。
3.单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SoC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。
MCS51系列微控制器应用广泛,在家电、汽车甚至航空等领域都有其活跃的身影。然而,普通51系列微控制器内部资源有限,像我用Proteus构建微控制器虚拟实验室选用的AT89C52只有三个定时器、一个全双工的串行口和中断控制,并且其数据处理能力有限,不适合对大量数据进行复杂分析和运算。
因此,在不重新选型(可选用SoC)的前提下,为实现我们所需要的功能,就需要进行外围扩展。针对微控制器的特点,我们首先考虑串行扩展,因为微控制器的I/O引脚有限,并行扩展一则外围芯片面积比较大,二则对抑制EMI不利。
第二章 实验要求
中南大学单片机实验报告
1、 学习Keil C51集成开发工具的操作及调试程序的方法,包括:仿真调试与脱机运行间的切换方法;
2、 熟悉TD-51单片机系统板及实验系统的结构及使用;
3、 进行MCS51单片机指令系统软件编程设计与硬件接口功能设计;
4、 学习并掌握Keil C51与Proteus仿真软件联机进行单片机接口电路的设计与编程调试;
5、 完成指定MCS51单片机综合设计题
下面主要分为软件和硬件部分来介绍
软件部分:清零程序与拆字程序设计
拼字程序与数据传送程序设计
排序程序与散转程序设计
硬件部分:静态存储器扩展实验
要求:阅读、验证C语言程序功能。使用汇编语言编程,完成实验指导书之“4.2 FLASH存储器扩展实验”实验项目(P60)。
数字量输入输出实验
LED灯控制(使用8255接口芯片)
要求:使用汇编语言编程,功能为:通过KK1实现LED灯工作方式即时控 制,完成LED开关控制显示和LED灯左循环、右循环、间隔闪烁功能。
定时器/计数器实验
定时器控制LED灯
要求:由单片机内部定时器1,按方式1工作,即作为16位定时器使用每0.05秒钟T1溢出中断一次。P1口的P1.0-P1.7分别接八个发光二极管。编写程序模拟时序控制装置。开机后第一秒钟L1,L3亮,第二秒钟L2,L4亮,第三秒钟L5,L7亮,第四秒钟L6,L8亮,第五秒钟L1,L3,L5,L7亮,第六秒钟L2,L4,L6,L8亮,第七秒钟八个LED灯全亮,第八秒钟全灭,以后又从头开始,L1,L3亮,然后L2,L4亮 一直循环下去。
A/D、D/A转换实验
要求:Proteus环境下完成小键盘给定(并显示工作状态),选择信号源输出波形类型(D/A转换方式),经过A/D采样后,将采样数据用LED灯,显示当前模拟信号值大小及变化状态。 串行通讯实验
要求:Proteus环境下完成利用单片机实验系统,实现与PC机通讯。功能要求:将从实验系统键盘上键入的数字,字母显示到PC机显示器上,将PC机键盘输入的字符(0-F)显示到单片机实验系统的数码管上。
第三章 软件设计
1.清零程序
因为清零看不出效果,故改为全部写为01,从7000-8000H空间。
中南大学单片机实验报告
程序如下:
ORG 0000H LJMP MAIN
ORG 0100H
MAIN: MOV DPTR,#7000H ;片内RAM首地址 MOV A, #01H ;写入数据初值
MOV R6, #20H
;循环变量
;写数据到RAM
LOOP2: MOV R7, #80H
LOOP1: MOVX @DPTR, A INC DPTR ;地址加1 DJNZ R7, LOOP1 DJNZ R6, LOOP2 SJMP $
END
结果如下:
单步运行下,第一步为:
最后一步为: 8000h为0
中南大学单片机实验报告
2. 拆字程序
流程图为
程序如下: ORG 0000H LJMP MAIN
ORG 0100H
MAIN: MOV DPTR,#7000H ; MOV A,#12H ;
MOVX @DPTR,A ; RR A ; RR A ; RR A ; RR A ;
ANL A,#0FH ; MOV DPTR,#7001H ; MOVX @DPTR,A ; MOV DPTR,#7000H ;
MOVX A,@DPTR ;
高位送7001H低位
中南大学单片机实验报告
ANL A,#0FH ; 低位送7002H低位
MOV DPTR,#7002H ; MOVX @DPTR,A ; SJMP $ ;设置断点, 观察实验结果中的内容 END 结果如下:
3.拼字程序
流程图如下:
程序如下:
ORG 0000H LJMP MAIN
ORG 0100H
MAIN: MOV DPTR,#7000H ; MOV A,#01H ; MOVX @DPTR,A ; ANL A,#0FH ;屏蔽高位
SWAP A ;
MOV B,A ;
MOV DPTR,#7001H ;送7001H MOV A,#0AH ; MOVX @DPTR,A ;
中南大学单片机实验报告
ANL A,#0FH ;
ORL A,B ;拼送后送7002H
MOV DPTR,#7002H ; MOVX @DPTR,A ; SJMP $ ;设置断点, 观察实验结果中的内容 END
结果如下:
4. 数据传送程序设计
把(R2,R3)源RAM中首地址内的(R6,R7)个字节数据传送到(R4,R5)目的RAM中。 流程图如下
程序: ORG 0000H
LJMP MAIN ORG 0100H
MAIN: MOV R2,#70H ;
MOV R3,#00H ;源地址 MOV R4,#71H ;
中南大学单片机实验报告
MOV R5,#00H ;目的地址 MOV R6,#00H ;
MOV R7,#07H ;传送个数 MOV R1,#10H ; MOV R0,#07H ;
MOV DPH,R2 ; MOV DPL,R3 ;
MOV A,R1 ; L0:
MOVX @DPTR,A ; INC DPTR ; DJNZ R0,L0 ;赋值
L2: MOV R7,#0FFH ; L1: MOV DPH,R2 ; MOV DPL,R3 ; MOVX A,@DPTR ;
INC DPTR ; MOV R2,DPH ; MOV R3,DPL ; MOV DPH,R4 ; MOV DPL,R5 ; MOVX @DPTR,A ; INC DPTR ; MOV R4,DPH ; MOV R5,DPL ; DJNZ R7,L1 ; DJNZ R6,L2 ; SJMP $ END
结果如下:
把7000h中的8个数据发给7100h中:
中南大学单片机实验报告
5. 排序程序
程序如下:
ESELSORT :MOV R7,N DEC R7 ESST1 :MOV A,R7 MOV R6,A MOV DPL,ADDPL MOV R1,DPL MOV DPH,ADDPH MOV R0,DPH MOVX A,@DPTR MOV B,A ESST2 :INC DPTR MOVX A,@DPTR CLR C SUBB A,B JC ESST3 MOV R0,DPL MOV R1,DPH MOVX A,@DPTR MOV B,A
ESST3 :DJNZ R6,ESST2 MOVX A,@DPTR XCH A,B MOVX @DPTR,A MOV DPL,R0 MOV DPH,R1 MOV A,B MOVX @DPTR,A DJNZ R7,ESST1 RET
中南大学单片机实验报告
6. 散转程序
流程图如下:
程序如下:
ORG 0000H LJMP MAIN
ORG 0100H MAIN:
MOV R0,#02 MOV A,R0 RL A ADD A,R0
MOV DPTR,#TA JMP @A+DPTR TA: LJMP PM0 LJMP PM1 LJMP PM2 LJMP PM3
PM0: MOV R1,#01H LJMP MAIN PM1: MOV R2,#02H LJMP MAIN PM2: MOV R3,#03H LJMP MAIN PM3: MOV R4,#04H LJMP MAIN OVER: SJMP $ END
结果如下:
当修改A=02h时跳转到pwm2 即使R1=03
中南大学单片机实验报告
当修改A=00时即使R1=01,结果如下:
第四章 硬件设计
硬件部分我主要做了三个实验,前两个是用c完成的,后一个是同学指导用汇编完成的,个人觉得用c来做程序还是比会变简单明了很多,而且原理也是一样的。
1. 数字量输入输出实验
任务:通过KK1实现LED灯工作方式即时控制,完成LED开关控制显示和LED灯左循环、右循环、间隔闪烁功能。(要求一定要用到8255) 1)硬件构造如下:
因为要加入8255,所以在硬件与程序中还是遇到了一些小麻烦的,在protus7.0中的8255是有问题的,后来转为7.5才好,可是在实际中又运行不了,只能仿真。
中南大学单片机实验报告
2)程序如下:
#include<reg51.h> unsigned char count;
sbit A0=P2^0; sbit A1=P2^1;
sbit WR_8255=P2^3; sbit CS=P2^4;
sbit RESET_8255=P2^2;
void SendData(unsigned char dat);
void delay(void) {
unsigned char a,b,c; for(c=19;c>0;c--)
for(b=20;b>0;b--)
for(a=130;a>0;a--); }
void main()
{ unsigned char i,value;
IT0=1; //设置外部中断0下降沿触发 EX0=1; //允许外部中断0 EA=1; //开总中断
RESET_8255=1; //上电复位8255 for(i=0;i<10;i++); RESET_8255=0;
中南大学单片机实验报告
while(1)
if(count==0) {
value=0x01;
for(i=0;i<8;i++) {
//左移
{
WR_8255=0; A0=1; A1=1; P0=0x80;
//设置8255A口输出工作方式
CS=0;
for(i=0;i<10;i++); WR_8255=1; CS=1;
SendData(value); delay();
SendData(0x00); value=value<<1;
} }
if(count==1) {
value=0x80;
for(i=0;i<8;i++) //右移 {
SendData(value); delay();
SendData(0x00); value=value>>1;
}
}
if(count==2) { }
SendData(0xFF); //闪烁 delay();
SendData(0x00); delay();
} }
中南大学单片机实验报告
//外部中断0中断服务程序,用于选择LED的方式 void extra() interrupt 0 { count=(count+1)%3; }
//向8255的A口写一个数据 void SendData(unsigned char dat) { }
unsigned char i; WR_8255=0; A0=0; A1=0; P0=dat;
CS=0;
for(i=0;i<10;i++); WR_8255=1; CS=1;
2. 定时器/计数器实验
定时器控制LED灯
要求:由单片机内部定时器1,按方式1工作,即作为16位定时器使用每0.05秒钟T1溢出中断一次。P1口的P1.0-P1.7分别接八个发光二极管。编写程序模拟时序控制装置。开机后第一秒钟L1,L3亮,第二秒钟L2,L4亮,第三秒钟L5,L7亮,第四秒钟L6,L8亮,第五秒钟L1,L3,L5,L7亮,第六秒钟L2,L4,L6,L8亮,第七秒钟八个LED灯全亮,第八秒钟全灭,以后又从头开始,L1,L3亮,然后L2,L4亮 一直循环下去。
1)硬件构造如下:
中南大学单片机实验报告
2)程序如下:
#include<reg51.h> unsigned char count;
void main() {
中南大学单片机实验报告
unsigned char value, i;
TMOD=0x01; TH0=0x4C; TL0=0x00; ET0=1; PT0=1; EA=1; TR0=1; while(1)
{ if( count==20) P1=05H; if (count==40) P1=0AH;
if (count==60) P1=50H;
if (count==80)
P1=0A0H;
if (count==100) P1=55H;
if (count==120) P1=0AAH; if (count==140) P1=0FFH;
if (count==160) P1=00H;
count=0; }
}
void Timer0()interrupt 1 {
TR0=0; TH0=0x4C; TL0=0x00; TR0=1; count++;
}
中南大学单片机实验报告
3. A/D、D/A转换实验
要求:Proteus环境下完成小键盘给定(并显示工作状态),选择信号源输出波形类型(D/A转换方式),经过A/D采样后,将采样数据用LED灯,显示当前模拟信号值大小及变化状态。 1)硬件构造如下:
2)程序如下:
PRO_DA EQU 7FFFH PRO_AD EQU 0BFFFH ORG 0000H MAIN:
SJMP MAIN ORG 001BH LJMP KEYSCAN ORG 0030H SETB EA SETB EX1 SETB IT1 MOV P1,#0FH MOV R5,#0FFH MOV R5,#03H CJNE R5,#01H,L1 LCALL SQUARE AJMP TEST
CJNE R5,#02H,L2 LCALL TRIANGLE AJMP TEST
CJNE R5,#03H,L3
TEST:
L1: L2:
中南大学单片机实验报告
LCALL SAWTOOTH AJMP TEST
;键盘扫描中断
L3: KEYSCAN: KEY1:
ACALL T12MS ;MOV R6,A ACALL SCAN JNZ KEY1 SJMP EXIT MOV R2,A
MOV R3,#07FH MOV R4,#03H
MOV P1,R3 MOV A,P1
LOOP1: KEY2:
CPL A
ANL A,#0FH
JNZ KEY2 MOV A,R3 RR A
MOV R3,A
DJNZ R4,LOOP1 SJMP EXIT DEC R4
CJNE R2,#01H,LOOP3 MOV A,#01H
SJMP LOOP6
LOOP3: CJNE R2,#02H,LOOP4 LOOP4:
MOV A,#04H SJMP LOOP6
CJNE R2,#04H,LOOP5
MOV A,#07H SJMP LOOP6
LOOP5: CJNE R2,#08H,LOOP6 MOV A,#0AH LOOP6: ADD A,R4 MOV R5,A
MOV P1,#0FH
;MOV A,R6 EXIT: RETI
;延时后再次扫描有无按键按下
SCAN: MOV P1,#0FH MOV A,P1 CPL A
ANL A,#0FH
正在阅读:
中南大学单片机实验报告08-25
旧鞋子的新旅途作文600字07-12
最新版本管理制度-内容(煤炭运销企业)04-11
小学音乐人音版一年级上册5爱劳动《聆听 三个和尚》优质课公开课04-16
夏之韵作文400字07-12
金属结构设备安装监理单位自检报告05-22
低压电动机技术规范08-29
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 中南大学
- 单片机
- 实验
- 报告
- 混凝土结构设计原理--整套复习(含答案)
- 新视野研究生英语读说写2_课文翻译及课后答案
- 【热门推荐】关于电影的英语演讲稿(2篇)
- 2015年北京师范大学经济学考研,复试真题,考研真题,考研笔记,复试流程,考研经验
- 消防工程施工组织设计方案
- 有限元分析Ansys大作业
- 运用新公共服务理论,以“政府的职能”为主题,撰写一篇小论文(1000字)
- 离散数学教程(耿素云屈婉玲北京大学出版社)的全部习题解答
- 8路抢答器课程设计报告
- 旅游资源单体调查表
- 5最全的事业单位考试计算机基础知识试题
- ABB张力计
- 汉代董仲舒的教育思想
- 会计基础第四章试题及答案
- 曝光显影原理
- 中国建筑陶粒行业市场前景分析预测年度报告(目录)
- 中外音乐研究性学习报告
- 金蝶KIS标准版教程
- 2018年中国科学技术大学研究生院科学岛分院841细胞生物学考研冲刺狂背五套题
- 第三人称单数动词变化规则