单片机实验讲义
单片机原理应用实验指导书

《单片机原理与应用》课程实验指导书电子、机电及电气项目与自动化专业适用吴茂屈莉莉王飞编佛山科学技术学院二00 九年十月前言以往我校的单片机实验教案通常是使用启东DAIS 系列单片机微机仿真实验系统进行单片机实验教案的,DAIS 系统可以做二十多项实验,系统机构十分复杂,功能非常强大,但是在使用过程中也发现了一些不足的地方那个: 厂家为了技术保密,把核心电路都屏蔽了,我们不能了解实验系统的工作原理,另外系统庞大,不方便学生带回宿舍实验,不方便学生课外学习。
根据我校学生对单片机课程学习的需求, 我们在参考其他公司的产品的基础上,结合课程的实际情况,开发了适合学生入门学习的单片机学习板,FD-51 学习板,该学习板设置了包括LED数码管、LCD1602液晶、AD\DA转换器件等单元电路,可以做几十个单片机实验,而且本实验板我们是以配件的形式提供给学生,让学生自己焊接调试线路板。
学生不但可以学习软件编程技术,还可以学习硬件焊接及调试技术,可以更好地锻炼学生的动手操作能力。
目录系统介绍 (2)软件实验:实验一清零程序............. (4)实验二拆字程序.................... .. (5)实验三拼字程序.................... .. (5)实验四数据区传送子程序 (6)实验五查找相同数个数 (6)硬件实验:实验A 工业顺顺序控制 (7)实验B 简单IO口扩展实验 (8)实验一P1 口输出流水灯实验 (11)实验二P1 口输出交通灯实验 (11)实验三八段数码管显示实验 (12)实验四键盘实验.................. . (12)实验五遥控解码实验 ............. .. (12)实验六计数器实验..................... .. (13)实验七继电器控制实验 .................... (13)实验八定时器实验 (14)实验九单片机串行口通讯实验 (14)实验十电子时钟 (14)实验十一外部中断实验<急救车与交通灯) (15)实验十二AT24C02读写实验...... .......... . (15)实验十三93C46读写实验....... ........... (16)实验十四LCD1602字符型液晶控制显示实验 (16)实验十五LCD12864点阵型液晶控制显示实验 (17)实验十六A/D转换(数字电压表>实验 (17)实验十七D/A转换(波形发生器>实验 (18)实验十八计算机温度数据采集与处理 ............... . (19)系统介绍一、FD-51单片机学习板简介为了适应我校单片机课程教案的需要,我们在参考其他厂家学习板的基础上,再根据我校单片机课程教案大纲的要求,基于简单、使用的原则,开发了FD-51 单片机实验板。
MCS51单片机原理与应用-焊接实验

单片机开发板焊接实验
学习目标
熟悉电路板焊接基本流程 掌握电路板焊接基本技能
焊接准备
准备焊接工具
烙铁、焊锡丝、松香、镊子、放大镜等
准备电路装配图
电路装配图是电子元件的布局图
准备元件
元件清单
焊接原则
按功能模块焊接:
电源电路,振荡电路,UART电路(下载), 复位等
按器件高低大小焊接:
先焊接较低器件:电阻、电容、二极管、三极 管; 再焊接较高器件:连接器、IC插座、按键等
RS232电路焊接过程-2
• MAX232的焊接
– 注意1号脚的位置,芯 片上豁口的方向 – 在一个对角的焊盘上加 上焊锡,这里是8号脚 – 放上芯片,芯片上的1 号脚位置标志是一个凹 下去的圆点
RS232电路焊接过程-3
• 把芯片的引脚和焊盘 对齐,固定8号引脚 • 用电烙铁加热焊锡丝 固定16号引脚 • 一定要使芯片的引脚 和焊盘对齐
电源电路焊接过程-8
正常工作状态
焊接顺序
• • • • • • • • • • • 电源电路焊接 C11->C6->IC插座->晶振 RS232电路的焊接 LED:D1->D2 复位电路 Switch:SW1->SW2->SW3->SW4 电阻的焊接 三极管的焊接:Q1->..->Q8 排阻的焊接 LED点阵焊接 4*4键盘、限流电阻焊接
RS232电路的原理图
RS232电路PCB图
• 焊接顺序 • C8->C7->C10->C5->C4>C9->U2->J1
RS232电路焊接过程-1
• 按照电源电路部分电 阻电容的焊接方法, 焊接电容C10->C5->C4>C9->C8->C7 • 焊接顺序,按照上面 的顺序逐个焊接 • 焊接要保证焊接质量, 是焊点有光泽,没有 毛刺
单片机实验实验指导书

目录实验一P1口输入、输出实验 (1)实验二P3口输出控制继电器实验 (4)实验三简单I/O实验(交通灯控制) (6)实验四外部中断实验(急救车与交通灯实验) (8)实验五定时器实验 (11)实验六8155输入输出实验 (13)实验七矩阵键盘实验 (15)实验八8279显示实验 (17)实验九串并转换实验 (20)实验十A/D转换实验 (22)实验十一步进电机控制实验 (24)实验十二D/A转换实验 (27)实验十三传送带控制系统综合实验 (29)实验十四机械手控制实验 (32)实验一 P1口输入、输出实验一.实验要求1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
延时时间500ms。
2.P1口做输入口,接八个开关,以74LS273作输出口,编写程序读取开关状态,将状态写入P0口,在发光二极管上显示出来。
二.实验目的1.学习P1口的使用方法。
2.学习延时子程序的编写和使用。
三.实验电路及连接实验1-1电路图如下:图1.1实验1-2中:P1.0-P1.7接八个按钮K1-K8,P0.0-P0.7接八个发光二极管L1-L8。
四.实验说明1.P1口是准双向口,它作为输出口时与一般的双向口使用方法相同,由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止,因为内部上拉电阻阻值是20K~40K,故不会对外部输入产生影响,若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。
2.延时子程序的延时计算问题对延时子程序DELAY: MOV R0,#00HDELAY1: MOV R1,#0B3HDJNZ R1,$DJNZ R0,DELAY1查指令表可知MOV,DJNZ指令均需要两个机器周期,而一个机器周期时间长度为12/12MHZ(假设晶振频率是12MHZ),所以该段程序执行时间为:((0B3+1)*256+1)*2*12/12000000=100ms五.实验程序流程图实验要求1的程序框图:实验要求2的程序框图:图1.2 图1.3六、调试方法第一步:打开位于d:\单片机实验\实验一\1_1.uv2,进行实验1_1打开位于d:\单片机实验\实验一\1_2.uv2,进行实验1_2第二步:在资源管理器中如打开.src文件,在程序窗口中输入已编好的程序,保存。
51单片机实验2014

《单片机原理与应用实验》指导书厦门理工学院光电与通信工程学院目录目录 (I)第一章概述 (1)第二章实验系统组成和结构 (4)§2.1 系统主机的硬件组成 ................................................................ 错误!未定义书签。
2.1.1 逻辑电平开关电路...................................... 错误!未定义书签。
2.1.2 LED电平显示电路....................................... 错误!未定义书签。
2.1.3单脉冲电路........................................... 错误!未定义书签。
2.1.4 音频放大电路........................................... 错误!未定义书签。
2.1.5 继电器输出电路........................................ 错误!未定义书签。
2.1.6 逻辑门电路............................................. 错误!未定义书签。
2.1.7 逻辑测量(逻辑笔)电路................................. 错误!未定义书签。
2.1.8 4MHz脉冲信号源和多级分频电路......................... 错误!未定义书签。
2.1.9 可调模拟量输入电路..................................... 错误!未定义书签。
2.1.10 六位LED数码显示器................................... 错误!未定义书签。
2.1.11 4×6 键盘电路......................................... 错误!未定义书签。
单片机实验——精选推荐

实验一认识实验一.实验目的1.了解仿真器的硬件结构与接线。
2.了解MCS-51单片机复位功能及复位后的内部状态。
3.通过示例程序的键入与执行,学习仿真器的使用与操作方法。
二.实验内容1.对照实验指导书,查对实验机具体接线。
2.按照开发系统的使用方法,分别查看复位后PC、SP、DPTR等特殊功能寄存器及片内、片外RAM的内容。
3.熟悉开发器的使用,将下面程序键入实验机。
ORG 2000H2000 74AA MOV A,#0AAH2002 75F0BB MOV B,#0BBH2005 E5F0 MOV A,B2007 78CC MOV R0,#0CCH2009 E8 MOV A,R0200A 80FE SJMP $4.程序键入后,检查各存储单元所储机器码是否正确如有误,重新键入,达到修正的目的。
5.单步执行示例程序,逐步检查执行结果,核查与分析结果是否相符,直到执行完最后一条指令。
6.练习连续执行示例程序,检查执行结果,核查与分析结果是否相符。
7.自己在示例程序中插入一条指令,执行并查看结果,然后删除,熟悉插入/删除操作。
8.将示例程序移到另外一个存储区,执行并查看结果,熟悉程序块移动操作。
三.实验预习要求1.认真阅读指导书的相关内容,熟悉开发系统的各种操作。
2.实验前应写出规定操作任务的具体操作方法步骤。
四.思考题1.MCS-51单片机怎样实现内部复位,画出一种复位电路。
2.PC、SP、P0、P1、P2、P3复位状态是什么?各有何意义?3.示例程序中最后一条指令SJMP $的作用是什么?如果取掉这一条指令,程序的执行将发生什么变化?4.实验机监控系统怎样实现程序“单步执行”功能?五.实验报告要求1.按实验顺序,写出实验操作的方法步骤。
2.写出实验中所遇到的问题与解决过程。
写出思考题的答案。
实验二建立数据区、数据块传送一.实验目的1.进一步熟悉实验机操作,练习程序调试方法。
2.理解并掌握建立数据区与数据块传送程序。
盐城工学院单片机实验指导书.doc

单片机原理及接口技术实验指导书周云龙编写盐城工学院电气工程学院二○一五年四月实验一KEIL集成开发环境应用实验一、实验目的1.掌握C51开发环境keil软件项目创建方法2、汇编程序编写2.C51程序编写3、主函数、自定义函数和中断函数编写二、实验备件PC和单片机IDE集成开发软件三、实验要求1、建立一个汇编程序工程2、汇编工程调试3、建立一个C语言程序工程4、C语言工程调试实验二Proteus单片机系统仿真实验一、实验目的1.掌握Proteus 界面功能2、原理图绘制方法2.住址仿真调试3、Proteus与Keil联调二、实验备件PC、单片机IDE集成开发软件和Proteus仿真软件三、实验步骤1、学习Proteus软件2、绘制教材中第150页上图5-73、Keil与Proteus联调实验三单片机最小系统的熟悉一、实验目的在进行其他硬件实验之前,先熟悉实验装置的核心模块——单片机最小系统模块。
掌握该实验模块的电路原理和接口的使用方法。
1.掌握单片机振荡器时钟电路及CPU工作时序;掌握复位状态及复位电路设计;掌握单片机各引脚功能及通用I/O口的使用;掌握单片机基本指令的使用。
2.掌握uVision3 IDE集成开发环境,Proteus仿真软件和STC单片机下载软件ISP的使用。
3.将仿真现象和实验结果进行对比,体会仿真软件的用处。
二、实验设备1.51仿真器或者串口线2.单片机系统板三、实验要求1.连接实验电路,编写简易单片机汇编程序达到下述工作要求:P3.3口做输入口,外接一脉冲,每输入一个脉冲,P1口按十六进制加一输出,编写程序使P1口接的8个发光二极管L0—L7按16进制加一的方式点亮发光二极管。
2.将编写的程序经过编译后在uVision3 IDE软件中生成*.hex机器语言,通过ISP将*.hex下载到单片机芯片中,观察实验现象。
3. 用Proteus仿真软件画出实验电路图,将在uVision3 IDE软件中生成*.hex 下载到Proteus仿真电路图中的单片机芯片中,观察实验现象,比较该现象和在实验台上的现象是否相同。
单片机实验 IO口的输入输出实验.
实验二 I/O口输入、输出实验一、实验目的1. 学习I/O口的使用方法。
2. 学习延时子程序、查表程序的编写和使用。
二、参考程序框图三、程序设计1、P0口循环点亮程序 ORG 0030HSTART : MOV P2,#00H; //消影 MOV A ,#01H; // LOOP : MOV P2 ,A; //点亮一个led 灯ACALL DELAY; //延时500ms RL A; //左移一位 AJMP LOOP; //跳转循环DELAY : MOV R7,#10; //延时程序 DE1 : MOV R6,#200; DE2 : MOV R5,#123; DJNZ R5,$; DJNZ R6,DE2; DJNZ R7,DE1; RET END2、I/O口输入输出(方法一)ORG 0000H;START : MOV P2,#00H; //初始化 MOV P0,#00H;MOV P1,#0FFH; //p1口初始化给ffh 值 MOV DPTR,#TABLE; //表地址存入DPTR MOV 50H,#0FEH; //比较初值载入地址50h L0 :MOV A,P1; //按键消抖 CJNE A,#0FFH,L1; AJMP L0; L1 :MOV A,P1;CJNE A,#0FFH,LL1; AJMP L0;LL1 :CJNE A,50H,LL2; //是否与地址50h 中数据相等 MOV P0,A; //相等输出对应led 灯 MOV A,#00H; MOVC A,@A+DPTR;MOV P2,A; //输出表格数据到数码管 LCALL DELAY; //延时LJMP START; //返回程序开头 LL2 :XCH A,50H; //交换数据 RL A; //左移XCH A,50H; //再次交换,此时地址50h 中数据左移一位 INC DPTR; //表格数据地址加一 LJMP LL1; //返回继续比较DELAY : MOV R7,#01H; //延时程序 DE1 : MOV R6,#28H; DE2 : MOVR5,#5AH; DJNZ R5,$;DJNZ R7,DE1; RETTABLE : ;//DB 0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H;DB 06H,5BH,4FH,66H,6DH,7DH,07H,7FH; //表格数据 END程序二(方法二)ORG 0000HMOV P2,#00H; //I./O口初始化 MOV P1,#0FFH; //P1口赋FFH 初值 MOVP0,#00H;START : MOV P2,#00H; //P2清0; MOV P0,#00H; //P0清0; MOV R1 ,P1;MOV A,R1; //读P1口CJNE A,#0FFH,L1; //是否有数据输入AJMP START; //无输入则跳转,继续查询 LCALL DELAY;L1 : MOV R1,P1; //消除按键抖动 MOV A,R1;CJNE A, #0FFH,LL1; AJMP START;LL1 : CJNE A,#0FEH,LL2; //是否按键1输入MOV P2,#06H; //是则P2输出相应的按键号码 CPL A; //A取反MOV P0,A; //输出到P0口 LCALL DELAY; //延迟AJMP LP; //跳转到LPLL2 : CJNE A,#0FDH,LL3; //是否按键2输入 MOV P2,#5BH; //以下同上 CPL A; MOV P0,A;LCALL DELAY; AJMP LP;LL3 : CJNE A,#0FBH,LL4; //判断按键3是否按下 MOV P2,#4FH; CPL A; MOV P0,A;LCALL DELAY; AJMP LP;LL4 : CJNE A,#0F7H,LL5; //判断按键4是否按下CPL A; MOV P0,A;LCALL DELAY; AJMP LP;LL5 : CJNE A,#0EFH,LL6; //判断按键5是否按下 MOV P2,#6DH; CPL A; MOV P0,A;LCALL DELAY; AJMP LP;LL6 : CJNE A,#0DFH,LL7; //判断按键6是否按下 MOV P2,#7DH; CPL A; MOV P0,A;LCALL DELAY; AJMP LP;LL7 : CJNE A,#0BFH,LL8; //判断按键7是否按下 MOV P2,#07H; CPL A; MOV P0,A;LCALL DELAY; AJMP LP;LL8 : CJNE A,#7FH,LP; //判断按键8是否按下 MOV P2,#7FH; CPL A; MOVP0,A;LCALL DELAY;LP : AJMP START; //跳转回程序开头 DELAY : MOV R7,#01H; //延时程序DE1 : MOV R6,#28H; DE2 : MOV R5,#5AH; DJNZ R5,$; DJNZ R6,DE2; DJNZR7,DE1; RET END四、思考题1、LED 循环方向更改:RL A; 改成 RR A;1S 的延时程序: DELAY : MOV R7,#20; //延时程序DE1 : MOV R6,#200; DE2 : MOV R5,#123;DJNZ R5,$;DJNZ R6,DE2;DJNZ R7,DE1; RET 2、提高电阻阻值3、一般为5V 或者3.3V 。
单片机原理实验指导书
实验一仿真软件的使用,简单程序设计一.实验目的:1.掌握单片机仿真软件的基本操作方法;2.熟悉汇编语言源程序的编辑、汇编、运行和检查运行结果的方法(能查看各存储空间中值的变化);3.掌握简单程序编写的基本方法和技巧;二.实验内容:1. 将内部RAM的30H—33H四个存储单元內分别存放01H、02H、03H、04H 四个数;然后送至工作寄存器R0—R3。
2.将内部RAM的30H—33H四个存储单元內的数分别传送至外部RAM的2030H--2033H存储单元中。
3. 将内部RAM的30—32H的连续3个字节中的无符号数相加,结果的低位送33H 单元,高位送34H单元实用文档三.实验步骤:1.实验内容1的步骤(1)新建文件,输入能实现实验内容1的源程序并以 .ASM为扩展名存盘;(2)编译并运行程序,检查运行结果:检查R0—R3的内容;(3)单步运行程序,并检查运行结果:检査R0—R3的内容;(4)查看程序的机器码。
2.实验内容2的步骤(1)新建文件,输入能实现实验内容2的源程序并以 .ASM为扩展名存盘(2)编译并运行程序,检查运行结果:检査外部RAM 2030H—2033H单元的內容(3)单步运行程序,并检查运行结果;(4)查看程序的机器码。
3.实验内容3的步骤(1)新建文件,输入能实现实验内容3的源程序并以 .ASM为扩展名存盘;(2)编译并运行程序,检查运行结果;实用文档(3)单步运行程序,并检查运行结果,检查33H、34H单元内容;(4)查看程序的机器码四.实验程序1.实验内容1的程序ORG 0000HMOV 30H,#00HMOV 31H,#01HMOV 32H,#02HMOV 33H,#03HMOV R0,30HMOV R1,31HMOV R2,32HMOV R3,33HEND实用文档2.实验內容2的程序ORG 0000HMOV 30H,#00HMOV 31H,#11HMOV 32H,#22HMOV 33H,#33HMOV DPTR,2030HMOV R0,#30HMOV R1,#04HLOOP:MOV A,·R0HMOVX ·DPTR,AINC R0INC DPTRDJNZ R1,LOOPSJMP $实用文档END3.实验内容3的程序ORG 0000HMOV 30H,#0F8HMOV 31H,#0C6HMOV 32H,#0D9HCLR CMOV A,30HADD A,31HJC NEXT1SJMP NEXT2NEXT1:INC R1NEXT2:ADD A,32HMOV 33H,AJC NEXT3实用文档SJMP NEXT4NEXT3:INC R1NEXT4:MOV 34H,R1SJMP $五.实验报告要求:1.对实验内容1和实验内容2的程序加注释。
AVR单片机嵌入式系统原理与应用实践——学习笔记上课讲义
A V R单片机嵌入式系统原理与应用实践——学习笔记AVR单片机嵌入式系统原理与应用实践学习笔记1.AVR单片机的基本结构1.1.单片机的基本组成1.1.1.单片机的基本组成结构单片机的基本组成单元➢CPU➢程序存储器➢数据存储器➢I/O接口CPU与各基本单元通过芯片内的内部总线连接。
一般情况下,内部总线中的数据总线宽度(或指CPU字长)也是单片机等级的一个重要指标。
内部总线:数据总线、地址总线、控制总线。
1.1.2.单片机的基本单元与作用1)MCU单元MCU单元部分包括CPU、时钟系统、复位、总线控制逻辑等电路。
➢CPU:➢时钟和复位电路:➢总线控制电路:2)片内存储器单片机的存储器一般分为程序存储器和数据存储器,它们往往构成互不相同的两个存储空间,分别寻址,互不干扰。
单片机的内部结构通常使用哈佛体系结构,在这种体系中采用分开的指令和数据总线以及分开的指令和数据空间,分别采用专用的总线与CPU交换,可以实现对程序和数据的同时访问,提高了CPU的执行速度和数据的吞吐量。
3)程序存储器程序存储器用于存放嵌入式系统的应用程序。
4)数据存储器单片机在片内集成的数据存储器一般有两类:随机存储器RAM、电可擦除存储器EEPROM。
➢随机存储器RAM:➢电可擦除存储器EEPROM5)输入输出端口➢并行总线I/O端口:➢通用数字I/O端口:➢片内功能单元的I/O端口:➢串行I/O通信口:➢其他专用接口:6)操作管理寄存器管理、协调、控制、操作单片机芯片中各功能单元的使用和运行。
1.2.ATmega16单片机的组成1.2.1.AVR单片机的内核结构“快速访问”意味着在一个周期内执行一个完整的ALU操作。
AVR的算术逻辑单元ALU支持寄存器之间、立即数与寄存器之间的算术与逻辑运算功能,以及单一寄存器操作。
每一次运算操作的结果将影响和改变状态寄存器(SREG)的值。
ALU操作➢从寄存器组中读取两个操作数➢将执行结果写回目的寄存器➢操作数被执行1.2.2.ATmega16的外部引脚与封装I/O引脚共32只,分成PA、PB、PC、PD4个8位端口,它们全部是可编程控制的多功能复用的I/O引脚。
单片机实验(仿真版)指导书
实验一 I/O口实验1. 实验内容P1口做为输入、输出口完成汽车转向灯控制。
当开关SW2连接到P1.0上,右转弯灯以一定频率闪烁;当开关SW2连接到P1.1上,左转弯灯以一定频率闪烁;当开关在空档时,左右转弯指示灯全灭。
2. 实验目的(1)熟悉仿真软件Keil、proteus的使用。
(2)学习P1口既做为输入,又作为输出的使用方法。
(3)学习数据输入、输出程序的设计方法。
3. 实验电路4、实验要求(1)完成实验电路设计(2)完成实验程序设计(3)实现要求的实验结果实验二定时器实验1. 实验内容使用AT89C51内部定时器1,按方式1工作、即作为十六位定时器使用每0.1秒钟T1溢出中断一次。
P1口的P1.0—P1.7分别接八个发光二极管。
要求编写程序模拟一时序控制装置。
开机后第一秒种D1、D3亮,第二秒D2、D4亮,第三秒种D5、D7亮,第四秒种D6、D8亮,第五秒D1、D3、D5、D7亮,第六秒D2、D4、D6、D8亮,第七秒全亮,第八秒种全灭,以后又从头开始,D1、D3亮,然后D2、D4亮,……一直循环下去。
2. 实验目的学习AT89C51内部定时器的使用和编程方法。
进一步掌握中断处理程序的编程方法。
3.实验原理(1) 定时常数的确定定时器/计数器的输入脉冲周期与机器周期一样,为振荡器频率的1/12。
本实验中时钟频率为6.144MHZ,现要采用中断方法来实现1秒延时,要在定时器1中设置一个时间常数,使其每隔100ms产生一次中断,CPU响应中断后将R0中计数值减一,令(RO)=10,即可实现1s延时。
时间常数可按下法确定:机器周期= 12÷晶振频率= 12÷6.144×106 = 1.953125*10-6 s需设初值为X,则(216 - X)*1.953125*10-6 = 0.1216-X=100000 X = 655366 – 100000/1.953125 = 14336化为十六进制:X=3800H,故初始值为TH1=38H,TL1=00H(2) 初始化程序包括定时器初始化和中断系统初始化,主要是对IP、IE、TCON、TMOD的相应为进行正确的设置,并将时间常数送入定时器中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一 C语言的流水灯验证 一、实验目的 1. 熟悉AVR单片机实验平台、AVR Studio软件使用 2. 学习简单程序的调试方法 3. 了解AVR单片机内部结构 4. 学习AVR单片机I/O口的运用 5. 学习延时函数应用 6. 学习JTAG下载与调试程序 7. 学习AVR Studio 4软件菜单栏内容的应用 二、实验原理
本实验根据AVR单片机I/O口的性质,通过将I/O口定义为输出
工作方式,通过设置该口的数据寄存器PORTx,就可以控制对应I/O口外围引脚输出逻辑电平,输出高电平或低电平。这样就可以通过程序来控制I/O口,输出自定义的逻辑电平。因此就可以实现各种各样流水灯效果了。 三.实验平台的使用 本实验在AVR单片机实验平台和计算机综合操作完成。首先打开实验平台的电源,按照液晶面板的提示并输入自己的学号,选择与实验相关的的操作,在计算机安装软件AVR Studio 4,然后使用编程即可。注意不要乱动实验平台上与实验内容无关的器件。 四、实验内容和电路图 本实验基本要求要达到8个LED灯从D1到D8一个一个地变
亮,然后反过来从D8到D1一个一个变亮,这样来回循环变动,实现一种简单的流水灯效果。完成后,再调试菜单栏的内容,如:通过设置断点来逐步运行程序。体验各个功能的作用,熟悉运用操作。参考电路图如下:(以PB口为例,低电平有效) (注:I/O口可以任意设计,建议最好不要设PC口,因为此口作为JTAG仿真用。) 五.实验步骤及注意内容
1.安装AVR Studio 4,完成后在程序中打开
选择AVR GCC填写project name和工程的存放路径(注意:路径中不能有中文,否则将无法编译。)后点NEXT,再选择JTAG ICE后再选ATmega16,这样就可以进入编译了。(注意:被保存到的文件夹不可以有中文出现,否则编程时会出现错误)。进入编程页面后就可以编程了。运行程序前要在软件任务栏中选择最后一项,在出现的对话框中选择,这是把优化等级设置为不优化。最后点击进行编译下载,就可以把程序通过JTAG写到芯片上,然后点击全速运行按钮(或者通过按键盘上的快捷键
F5)全速运行程序,可以在实验板上看到流水灯效果了。 2.在编写程序的过程中要注意头文件的写法和C语言的书写格式,灵活运用C语言中的循环语句。还有要注意端口的设置。 3.若出现错误或者警告编译的时候会有提示,同学们可以根据提示来自行修改。如果出现不了自己想要的效果请检查程序的逻辑或电路连接问题。 六.思考题 本实验要用到延时函数来实现延时功能,如果将延时提高会发生什么变化?为什么? 七.实验报告内容(每个实验的报告要求都一样) 实验目的,实验仪器,实验原理,实验要求,实验内容,实验步骤,实验程序,实验结果与分析,实验注意事项,实验总结,回答思考题,写出程序的流程图。 实验二 单个数码管程序设计 一、实验目的 1.掌握共阳、共阴两种数码管的基本原理 2.进一步掌握I/O口的使用方法
3.学会数码管静态扫描的应用
二.实验原理
本实验通过对任意一个I/O口的控制共阴极数码管的8个段位,分别让某些段的LED发光,其它的熄灭,就可以显示不同的字符和图符号。 三.实验要求 本实验根据数码管显示的原理,要求对一个共阴数码管进行控制,让数码管显示可以从0到F不同地变化,每一次变化之间要有一定有时间间隔。 四.实验步骤及注意内容 1.使用AVR Studio 4软件进行编程,JTAG下载 2.进行编程,对I/O口的内容进行设置,应用延时函数 3.程序完成后把源文件编译成可执行文件,通过JTAG下载到芯片上运行。 4.若没有正确的现象,自行分析原因进行改正。 五.电路图 六.思考题 如何在数码管上实现先显示偶数,再显示奇数? 七.实验报告内容 实验目的,实验仪器,实验原理,实验要求,实验内容,实验步骤,实验程序,实验结果与分析,实验注意事项,实验总结,回答思考题,写出程序的流程图。 实验三 八位数码管显示程序设计 一、实验目的 1.进一步掌握数码管显示的基本原理
2.学会八位数码管动态显示的原理
3.掌握动态显示的方法 二.实验说明 本实验是对八位数码管进行动态点亮,由一个I/O口作为数码管段码输出,即I/O口作为位扫描控制口,另一个作为数码管的段位输出。 三.数码管扫描原理 多位数码管各个位均可以单独显示不同的数据,但一个时刻只能点亮一位。每一次点亮只能是数码管中的一个位,由于人眼的视觉暂留效应(用延时实现),看起来是多位同时点亮。 四.实验要求 本实验要求同学们学会八位数码管的显示,并且能八位数码管的数可以从低位到高位显示出1到8. 五.实验步骤及注意内容 1.在写显示函数时,应该先让选择一个段码,对应地给一个数,延时一下,然后马上关闭该位进行下一位的送数。依次进行到第八位,这样就可以使八位数码管动态显示出来了。 2.注意延时函数的应用,如果延时不适当,效果就会不明显。 六.电路图 (注:共阴数码管 I/O口任选) 七.思考题 详细分析实验过程中出现的问题。 实验四 单个按键程序测试 一、实验目的 1.学会AVR单片机I/O口的输入模式和上拉电阻原理及使用 2.懂得按键的查询方式程序设计 3.学会按键的消抖
二.实验说明 本实验是通过对I/O口设置为输入状态,如果有键按下,则相应输出为低,否则输出为高。单片机通过识别,判断按下什么键。有键按下后,要有一定的延时,防止由于键盘抖动而引起误操作。
三.实验要求
本实验要求同学们实现的效果是通过按下一个按键后LED发光二极管由亮变灭。 四.实验步骤及注意内容 本实验需要用到AVR单片机最小应用系统模块、按键,LED灯。 1.使用单片机最小应用系统模块,PB口(可以任意设)接发光二极管,PA0(可任意设)接按键。 2.把仿真头插到模块的单片机插座中,打开模块电源,插上仿真器电源插头(JTAG线)。 3.打开AVR Studio4仿真软件,首先建立本实验的项目文件,接着建立源程序,编译无误后,全速运行程序,按下按键,发光二极管灭。 五.电路图 实验五 按键计数器 一、实验目的 1.进一步熟悉按键程序检测方法 2.进一步熟悉动态显示的实现方法 3.学会按键的消抖
二.实验说明 结合实验三和实验四,完成按键计数器,要求开机后,8个数码管显示00000000,每按动一次按键,显示的数值自动增一。
三.实验要求
选择适当的IO作为动态显示的驱动,选择合适的I/O作为按键的检测端口,熟练编写防抖程序。 四.实验步骤及注意内容 本实验需要用到AVR单片机最小应用系统模块、按键,数码管显示模块。 1.使用单片机最小应用系统模块,PB口(可以任意设)接发光二极管,PA0(可任意设)接按键。 2.把仿真头插到模块的单片机插座中,打开模块电源,插上仿真器电源插头(JTAG线)。 3.打开AVR Studio4仿真软件,首先建立本实验的项目文件,接着建立源程序,编译无误后,全速运行程序,按下按键,发光二极管灭。 五.电路图
参考实验三和实验四。 实验六 用定时器控制发光二极管 一、实验目的 1.学会使用定时器中定时的应用 3.进一步熟悉对发光二极管的控制
二.实验说明 发光二极管严格亮一秒钟灭一秒钟,一直保持这个状态。 三.实验要求 选择适当的IO作为驱动发光二极管,熟练掌握用定时器对时间进行控制。 四.实验步骤及注意内容 本实验需要用到AVR单片机最小应用系统模块、按键,数码管显示模块。 1.使用单片机最小应用系统模块, PB口八个发光二极管。 2.把仿真头插到模块的单片机插座中,打开模块电源,插上仿真器电源插头(JTAG线)。 3.打开AVR Studio4仿真软件,首先建立本实验的项目文件,接着建立源程序,编译无误后,全速运行程序,能正常按照实验说明中显示。 实验七 使用PWM控制发光二极管的亮度 一、实验目的 学会使用定时器中PWM的应用
二.实验说明 发光二极管可以自己由亮变暗,然后再由暗变亮。 三.实验要求 熟练掌握用定时器PWM的应用。 四.实验步骤及注意内容 本实验需要用到AVR单片机最小应用系统模块、按键,数码管显示模块。 1.使用单片机最小应用系统模块, PB3口接发光二极管。 2.把仿真头插到模块的单片机插座中,打开模块电源,插上仿真器电源插头(JTAG线)。 3.打开AVR Studio4仿真软件,首先建立本实验的项目文件,接着建立源程序,编译无误后,全速运行程序,能正常按照实验说明中显示。 实验八 用定时器控制继电器 一、实验目的 1.学会使用定时器中定时的应用 2.了解继电器工作原理及运用 3.进一步熟悉动态显示的实现方法
二.实验说明 数码管显示一分钟倒计时,当数码管显示为零时继电器工作同时发光二极管亮,持续五秒钟继电器关闭发光二极管灭,数码管现实继续从一分钟倒计时。 三.实验要求 选择适当的IO作为动态显示的驱动,选择合适的I/O作为驱动继电器与数码管,熟练掌握用定时器进行倒计时。 四.实验步骤及注意内容 本实验需要用到AVR单片机最小应用系统模块、按键,数码管显示模块。 1.使用单片机最小应用系统模块, PB口接数码管数据接口,PA口界数码管段选接口与继电器驱动接口。 2.把仿真头插到模块的单片机插座中,打开模块电源,插上仿真器电源插头(JTAG线)。 3.打开AVR Studio4仿真软件,首先建立本实验的项目文件,接着建立源程序,编译无误后,全速运行程序,能正常按照实验说明中显示。 五.电路图
参考实验三和实验四。