单片机实验1-计数显示器

合集下载

单片机实验报告

单片机实验报告

单片机实验报告学院:姓名:学号:指导老师:目录第一章实验内容、目的及要求 (2)一、内容 (2)二、目的及要求 (3)第二章实验 (3)实验一数字量输入输出实验 (3)实验二定时器/计数器实验 (4)实验三A/D、D/A转换实验 (11)实验四串行通信设计 (20)第三章实验体会 (28)第一章实验内容、目的及要求一、内容实验一数字量输入输出实验阅读、验证C语言程序功能。

使用汇编语言编程,完成实验指导书之“3.1 数字量输入输出实验”基本实验项目。

实验二定时器/计数器实验阅读、验证C语言程序功能。

使用汇编语言编程,完成实验指导书之“3.3 定时/计数器实验”基本实验项目。

提高部分:定时器控制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转换实验阅读、验证C语言程序功能。

使用汇编语言编程,完成实验指导书之“4.3 A/D转换实验”项目(P64)和“4.4 D/A转换实验”项目。

提高部分:(要求:Proteus环境下完成)小键盘给定(并显示工作状态),选择信号源输出波形类型(D/A 转换方式),经过A/D采样后,将采样数据用LED灯,显示当前模拟信号值大小及变化状态。

实验四串行通讯实验阅读、调试C语言程序功能。

使用汇编语言编程,完成实验指导书之“3.7 串口通讯实验”项目。

(要求:实验仪器上完成)提高部分:(要求:Proteus环境下完成)利用单片机实验系统,实现与PC机通讯。

功能要求:将从实验系统键盘上键入的数字,字母显示到PC机显示器上,将PC机键盘输入的字符(0-F)显示到单片机实验系统的数码管上。

单片机原理及应用实验报告

单片机原理及应用实验报告

《单片机原理及应用》实验报告姓名:学号:班级:应用物理指导教师:日期:实验1 计数显示器一、实验目的熟悉51单片机的基本输入输出应用,掌握Proteus模块的原理图绘图方法及单片机系统仿真运行方法二、实验原理由共阴极数码管LED1和LED2、P0口、P2口,上拉电阻RP1及Vcc组成的输出电路;由按钮开关BUT、P3.7和接地点组成的输入电路,该电路在编程软件的配合下,可实现计数显示功能:可统计按钮BUT的按压次数,并将按压结果以十进制数形式显示出来;当显示值达到99后可自动从1开始,无限循环。

三、实验内容(1)观察Proteus模块的软件结构,熟悉菜单栏、工具栏、对话框等基本单元功能(2)学会选择元件、画导线、修改属性等基本操作(3)学会可执行文件加载及程序仿真运行方法(4)验证计数显示器的功能四、实验要求提交实验报告并包括如下内容:电路原理图、电路原理分析、仿真运行截图及实验小结1.实验原理图2.仿真运行截图3.实验小结通过这次实验让我认识了kell和proteus软件的基本功能,学会了用kell编写程序用proteus仿真运行。

在这次实验中同时也遇到了很多问题。

比如因为第一次使用这两个软件对界面还不太熟悉,浪费了很多的时间也产生了很多错误,但之后与同学们的交流过程中,慢慢的对这两个软件有了更深入的了解,在后期仿真的时候才能得心应手的处理问题。

这个计数显示器的实验让我进一步了解了单片机与数码管的魅力,看到了电子元件的神奇之处,只要按动按键就能让数码管的数字逐次加一,这大大激发了我的学习单片机兴趣,这次实验也会成为我以后学习单片机的奠基石,因为它打开了我认识单片机的大门,让我认识到了单片机的魅力,并让我沉浸其中。

实验2 指示灯开关控制器一、实验目的学习51单片机I/O口基本输入输出功能,掌握汇编语言的编程与调试方法。

二、实验原理输入电路由外接在P1口的8只拨动开关组成;输出电路由外接在P2口的8只低电平驱动的发光二极管组成。

单片机的显示实验报告

单片机的显示实验报告

一、实验目的本次实验旨在通过学习单片机显示技术,掌握单片机控制数码管显示的基本原理和方法。

通过实验,加深对单片机基本原理和实际应用的理解,提高动手实践能力。

二、实验内容1. 硬件设备(1)单片机:AT89C51(2)晶振:12MHz(3)电容:22pF(两个)(4)复位电路:10K电阻与10F电容实现自动复位(5)显示器:7段共阳级数码管2. 软件环境(1)仿真软件:Proteus 7.8(2)编程软件:Keil 4.223. 实验步骤(1)搭建实验电路根据实验要求,利用Proteus软件搭建单片机实验电路,包括单片机、晶振、电容、复位电路和7段共阳级数码管。

(2)编写程序利用Keil 4.22编程软件编写控制数码管显示的程序,实现以下功能:1)数码管显示0-9循环显示2)数码管显示自定义字符3)数码管显示时间(小时、分钟、秒)(3)编译程序将编写的程序编译生成HEX文件。

(4)仿真运行在Proteus软件中加载HEX文件,观察数码管显示效果。

三、实验结果与分析1. 数码管显示0-9循环显示通过编写程序,实现数码管显示0-9循环显示的功能。

程序中,首先定义一个数组,存储0-9的数字编码;然后通过循环遍历数组,控制数码管显示对应的数字。

2. 数码管显示自定义字符为了实现数码管显示自定义字符,需要设计字符编码。

根据字符形状,将字符编码存储在数组中。

程序中,通过改变数组指针,控制数码管显示不同的字符。

3. 数码管显示时间实现数码管显示时间功能,需要设计一个计时器。

程序中,通过定时器中断,更新时间数据。

当定时器溢出时,更新数码管显示的时间。

四、实验总结通过本次实验,掌握了单片机控制数码管显示的基本原理和方法。

具体收获如下:1. 熟悉了Proteus和Keil软件的使用,提高了编程能力。

2. 加深了对单片机基本原理和实际应用的理解。

3. 学会了数码管显示程序的设计和调试。

4. 提高了动手实践能力。

五、拓展实验1. 实现多个数码管的连接和显示2. 设计一个可编程的字符编码表,实现更多字符的显示3. 利用数码管显示复杂图形,如动画效果4. 将数码管显示与其他功能结合,如温度、湿度显示等通过以上拓展实验,可以进一步提高单片机显示技术的应用水平。

单片机上机实验报告

单片机上机实验报告

单片机实验报告姓名:班级:学号:实验一数码管实验一、实验目的1. 了解数码管的显示原理;2. 掌握JXARM9-2440 中数码管显示编程方法。

二、实验仪器JXARM9-2440教学实验箱、ADT1000仿真器和ADT IDE集成开发环境、PC 机。

三、实验原理7段LED由7个发光二极管按“日”字形排列,所有发光二极管的阳极连在一起称共阳极接法,阴极连在一起称为共阴极接法。

LED显示器的接口一般有静态显示与动态显示接口两种方式。

本实验中采用的是动态显示接口,其中数码管扫描控制地址为0x20007000,位0-位5每位分别对应一个数码管,将其中某位清0 来选择相应的数码管,地址0x20006000 为数码管的数据寄存器。

数码管采用共阳方式,向该地址写一个数据就可以控制LED 的显示,其原理图如图所示。

四、实验内容及步骤1、六个数码管同时正向显示0-F ,然后反向显示F-0。

1)参照模板工程led(modules\led\led.apj),新建一个工程led,添加相应的文件,并修改led 的工程设置;2)创建led.c 并加入到工程led 中;3)编写LED 显示函数void led_display(void),正向显示0-F 然后反向显示F-0,并循环执行以上动作,在每次显示之间延时一段时间;4)编译led,成功后,下载并运行,观察结果。

2、在六个数码管上依次显示“HELLO”,可分辨出轮流显示。

步骤同上。

3、在六个数码管上依次显示“HELLO”,分辨不出轮流显示。

步骤同上。

*4、在每个数码管上递增显示0-9 。

步骤同上。

五、实验程序/******************************************************************** ********//*文件名称:LEDSEG7.C *//*实验现象:数码管依次显示出0、1,2、……9、a、b、C、d、E、F */ /******************************************************************** ********/#define U8 unsigned charunsigned char seg7table[16] = {/* 0 1 2 3 4 5 6 7*/0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8,/* 8 9 A B C D E F*/0x80, 0x90, 0x88, 0x83, 0xc6, 0xa1, 0x86, 0x8e,};void Delay(int time);/******************************************************************** ********//* 函数说明: JXARM9-2410 7段构共阳数码管测试*//* 功能描述: 依次在7段数码管上显示0123456789ABCDEF *//* 返回代码: 无*//* 参数说明: 无*//******************************************************************** ********/void Test_Seg7(void) {int i;*((U8*)0x20007000) = 0x00;for(; ;){for(i=0;i<0x10;i++){*((U8*)0x20006000)=seg7table[i];Delay (10000);}for(i=0xf;i>=0x0;i--){*((U8*)0x20006000)=seg7table[i];Delay (10000);}}// TODO}/******************************************************************** ********//* Function name : 循环延时子程序*//* Description : 循环'time' 次*//* Return type :void *//* Argument : 循环延时计数器*//******************************************************************** ********/void Delay(int time) {int i;int delayLoopCount=10000;for(;time>0;time--);for(i=0;i<delayLoopCount;i++);}void Test_Seg7(void) {int i;for(; ;){*((U8*)0x20007000) = 0x3E;*((U8*)0x20006000)=seg7table[5];Delay (10000);*((U8*)0x20007000) = 0x3D;*((U8*)0x20006000)=seg7table[4];Delay (10000);*((U8*)0x20007000) = 0x3B;*((U8*)0x20006000)=seg7table[3];Delay (10000);*((U8*)0x20007000) = 0x37;*((U8*)0x20006000)=seg7table[2];Delay (10000);*((U8*)0x20007000) = 0x2F;*((U8*)0x20006000)=seg7table[1];Delay (10000);}// TODO}六、结果及分析。

单片机实验一计数显示器

单片机实验一计数显示器

单片机原理及应用实验报告一实验名称:计数显示器实验指导老师:学生姓名:班级:学号:【实验目的】熟悉51单片机的基本输入\输出应用,掌握Proteus ISIS模块的原理图绘图方法及单片机系统仿真运行方法。

【实验方法】实验电路原理图如图1.1所示,图中含有如下五个分支电路:共阴极数码管LED1和LED2,P0口,P2口,上拉电阻RP1以及Vcc组成的输出电路;由按钮开关BUT,P3.7和接地点组成的输入电阻;由C1,C2,晶振X1,引脚XTAL1,XTAL2与接地点组成的时钟电路;由C3,R1,引脚RST和Vcc组成的上电复位电路;由Vcc和引脚(EA非)组成的片内ROM选择电路(简称片选电路)。

在编程软件的配合下,该电路可实现如下计数功能显示,可统计按钮BUT的按压次数,并将按压的结果以十进制形式显示出来;当显示值达到99后可自动从一开始循环。

图1.1【实验内容】观察Proteus ISIS模块的软件结构,熟悉菜单栏,工具栏,对话框等基本单元功能,如图1.2图1.2选择元件(1.3),画导线(1.4),画总线(1.5),修改参数(1.6)等基本操作图1.3图1.4图1.5图1.6 学会可执行文件加载及程序仿真运行方法;如图1.7图1.7验证计数显示器的共能。

【电路原理图分析】上拉电阻的存在是因为P0口不能正常输出信号“1”(因为漏极开路),所以接上拉电阻是必须的。

【实验程序】#include<reg51.h>void delay(unsigned int c) ; //申明延时函数,延时时间为c*10mssbit key=P3^7; //位申明unsigned char code duanma[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0、1、2、3、4、5、6、7、8、9的显示码void main(){ int a,b;int i=0;while(1){if(key!=1){delay(1); //延时消抖(实际电路中会出现颤抖)if(key==1) //判断按键是否松开,松开之后才会自加一,不然计数不作处理i++;}if(i==100)i=1;a=i/10;b=i%10;P0=duanma[a]; //输出相应的十位P2=duanma[b]; //输出相应的各位}}void delay(unsigned int c) //延时程序10ms{unsigned char a, b;for (;c>0;c--){for (b=0;b<38;b++){for (a=0;a<130;a++);}}}【仿真运行截图】【实验小结】由于C语言有比较好的移植性,所以我从我的单片机教程上移植了数码显示管的断码,本着是16个I/0口控制两个数码管就没用到相应的74LS138译码器来选择哪个数码管显示(即位选),就是实验程序调试时发现延时的时间控制不是那么好控制,远远没有定时器那么精确。

单片机课程设计--音乐倒数计数器

单片机课程设计--音乐倒数计数器

单片机课程设计--音乐倒数计数器单片机课程设计--音乐倒数计数器任务书设计任务:利用STC89C52单片机结合字符型LCD显示器设计一个简易的倒数计数器。

做一小段时间倒计数,当倒计数为0时,则发出一段音乐声响,通知倒计数终了,该做应当做的事。

设计要求:1.字符型LCD(16×2)显示器,显示格式为“TIME 分分:秒秒”。

2.用4个按键操作来设置当前想要倒计数的时间。

3.一旦按下键则开始倒计数,当计数为0时,发出一阵音乐声。

4.程序执行后工作指示灯LCD闪动,表示程序开始执行,按下操作键K1~K4动作如下:●K1---可调整倒计数的时间1~60分钟。

●K2---设置倒计数的时间为5分钟,显示“0500”。

●K2---设置倒计数的时间为10分钟,显示“1000”。

●K2---设置倒计数的时间为20分钟,显示“2000”。

5.复位后LCD的画面应能显示倒计时的分钟和秒数,此时按K1键,则在LCD上显示出设置画面。

此时,若:按K2键---增加倒计数的时间1分钟。

按K2键---减少倒计数的时间1分钟。

按K4键---设置完成。

目录任务书............................................................ I 1 绪论 (2)1.1 单片机基础知识 (2)1.2 单片机的发展趋势 (3)1.3 项目设计任务与要求 (3)2 系统设计 (5)2.1 框图设计 (5)2.2部分硬件方案论述 (6)2.3电路原理图 (6)2.4元件清单 (7)2.4.1STC89C52芯片 (7)2.4.2字符型LCD1602 ..................... 错误!未定义书签。

2.4.3按键控制模块 (8)2.4.4其它元件 (12)3软件设计 (14)3.1 程序流程图 (14)4 系统的仿真与调试 (12)4.1 硬件调试 (12)4.2 软件调试 (12)4.3 软硬件调试 (12)5总结 (13)参考文献 (14)附录程序 (25)1 绪论1.1 单片机基础知识单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

51单片机20个实验,代码详细

51单片机20个实验,代码详细

第一章单片机系统板说明一、概述单片机实验开发系统是一种多功能、高配置、高品质的MCS-51单片机教学与开发设备。

适用于大学本科单片机教学、课程设计和毕业设计以及电子设计比赛。

该系统采用模块化设计思想,减小了系统面积,同时增加了可靠性,使得单片机实验开发系统能满足从简单的数字电路实验到复杂的数字系统设计实验,并能一直延伸到综合电子设计等创新性实验项目。

该系统采用集成稳压电源供电,使电源系统的稳定性大大提高,同时又具备完备的保护措施。

为适应市场上多种单片机器件的应用,该系统采用“单片机板+外围扩展板”结构,通过更换不同外围扩展板,可实验不同的单片机功能,适应了各院校不同的教学需求。

二、单片机板简介本实验系统因为自带了MCS-51单片机系统,因此没有配置其他单片机板,但可以根据教学需要随时配置。

以单片机板为母板,并且有I/O接口引出,可以很方便的完成所有实验。

因此构成单片机实验系统。

1、主要技术参数(1)MSC-51单片机板板上配有ATMEL公司的STC89C51芯片。

STC89C51资源:32个I/O口;封装DIP40。

STC89C51开发软件:KEIL C51。

2、MSC-51单片机结构(1)单片机板中央放置一块可插拔的DIP封装的STC89C51芯片。

(2)单片机板左上侧有一个串口,用于下载程序。

(3)单片机板的四周是所有I/O引脚的插孔,旁边标有I/0引脚的脚引。

(4)单片机板与各个模块配合使用时,可形成—个完整的实验系统。

三、母板简介主要技术参数(1)实验系统电源实验系统内置了集成稳压电源,使整个电源具有短路保护、过流保护功能,提高了实验的稳定性。

主板的右上角为电源总开关,当把220V交流电源线插入主板后,打开电源开关,主板得电工作。

为适用多种需要,配置了+5V,+12V,—5V电压供主板和外设需要,通过右上角的插针排和插孔输出到外设。

此外,还设有螺旋保险插孔保护实验箱。

(2)RS232接口RS232接口通过MAX232芯片实现与计算机的串行通讯,通过接口引出信号。

单片机实验——精选推荐

单片机实验——精选推荐

实验一认识实验一.实验目的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.理解并掌握建立数据区与数据块传送程序。

单片机原理及应用——基于Proteus和Keil C(第3版)要点复习(1-16)

单片机原理及应用——基于Proteus和Keil C(第3版)要点复习(1-16)

关于上拉电阻 在通用I/O口方式时,P0口需要外接上拉电阻(漏极开路), 而P1~P3口无需外接上拉电阻(已有内置上拉电阻); 在分时复用方式时, P0口无需外接上拉电阻(V管交替导 通 )。
关于引脚多功能 P0和P2口有地址/数据分时复用方式,P3口有第二功能 方式。
关于特殊功能寄存器 P0~P3口分别对应一个同名SFR,它们既有字节地址又 有位地址。
51单片机共有111条指令,按功能可划分为四大类: 数据传送与交换类(31条) 算术运算类(24条) 逻辑运算类(34条) 转移控制类(22条)
2、汇编指令语句格式要点
汇编指令语句格式可包括四个区段,即:
标号区段——代表当前指令的首字节存放地址,由用户定义 的1~6个字符组成,以英文字母开始,冒号结尾,可省略。 操作码区段——指令的操作行为,由42种标准助记字符组成。 操作数区段——指令的操作对象,可有0~3个操作数,以英 文逗号隔开(操作数大于0时)。 注释区段——指令的解释或说明,可用任何文字描述。以英 文分号开始,无需结束符号。
2、51单片机I/O口内容要点
• 51单片机共有32个I/O引脚,具有4种结构类型
通用I/O口
输入条件
上拉电阻
引脚多功能
特殊功能寄存器
关于通用I/O口 P0~P3口都具有通用I/O口方式,可实现输出、读引脚 (输入)和读锁存器三种功能。
关于输入条件 在通用I/O口方式时, P0~P3口都需要先软件写1,故都 是准双向I/O口; 在分时复用方式时, P0口读引脚时无需软件先写1,故 是严格双向口。
上节复习(4)
1. D触发器的逻辑符号?工作特性?主要 用途?
2. 51单片机I/O口内容要点?
1、 D触发器逻辑符号?工作特性?主要用途?

单片机实验——原理图的绘制

单片机实验——原理图的绘制

中国石油大学(北京)实验报告实验课程:单片机原理及应用实验名称:实验1 ——原理图绘制练习一、实验目的:熟悉51单片机的基本输入/输出应用,掌握Proteus ISIS模块的原理图绘图方法及单片机系统仿真运行方法。

二、实验内容:1、绘制“计数显示器”电路原理图;2、利用提供的hex文件验证此电路的运行效果。

三、实验要求:1、绘图方法简述(1)选取元件:启动Proteus ISIS模块,单击工作窗口页面左侧绘图工具栏中的“元件模式”按钮和对象选择按钮“P”,弹出“Pick Devices”元件窗口。

在“类别”一栏中找到所学元件的类别名称,单击鼠标后,在“结果”中找到所需元件的名称。

也可利用“关键字”检索框查找所需元件。

选择好元件后,双击列出的元件名可将其放入对象选择列表窗口,单击“确定”按钮,可关闭元件选择窗口,返回到主页面。

(2)电源的选取和摆放:单击左侧的绘图工具栏中的“终端模式”,在端子列表中选择“POWER”。

在工作区域单击鼠标,电源以红色轮廓图形出现。

(3)选件的摆放:单击对象选择列表中的所需的元件,预览窗口出现相应的元件图形。

单击编辑窗口,元件以红色轮廓图形出现(选中状态),拖动鼠标使元件轮廓移动到所需位置,再次单击可固定摆放位置,同时也可撤销选中状态。

若需再次调整元件位置,可右键选中元件选择其中的“拖曳对象”对元件位置进行重新摆放。

若要调整元件摆放方位,右击所需元件,同时弹出“编辑菜单”,其中包含顺时针旋转、逆时针旋转、X-镜像等选项,可用于元件方位调整。

(4)属性编辑:右键选中元件后,选择“编辑属性”选项,在其中的“元件参考”中对选件的参数进行修改。

(5)总线的画法:单击工具栏中的“总线模式”按钮,可在编辑窗口中画总线。

(6)单击工具栏中的“连线标号模式”,单击所需标注的导线上,在“标号”栏中输入所需的标号,单击确定即可。

2、电路原理图元件类别电路符号元件名称Microprocessor ICs “U1”80C51Miscellaneous “X1”/12MHz CRYSTALCapacitors “C1”~“C2”/1nF CAPCapacitors “C3”/22μF CAP-ELECResistors Packs “RP1”/7-100ΩRESPACK-7Resistors “R1”/100ΩRESOptoelectronics “LED1”~“LED2”7SEG-COM-CAT-GRNSwitches & Relays “BUT”BUTTON3、仿真运行效果展示仿真正常运行,每单击一次开关按钮,指示灯正常加一。

实验五――电子秒表显示器

实验五――电子秒表显示器

实验五――电子秒表显示器中国石油大学(北京)单片机原理及应用试验。

电子秒表显示器!中国石油大学(北京)实验课程:实验名称:实验报告单片机原理及应用实验五――电子秒表显示器中国石油大学(北京)单片机原理及应用试验。

电子秒表显示器!一、实验目的掌握定时/计数器的工作原理,熟悉定时/计数器中断法编程与调试内容。

二、实验内容1、按照教材图A.65,绘制实验五电路原理图;2、采用12MHz晶振,50ms T0定时方式1+中断(20次中断为1s)法编程;3、实现如下功能:程序启动时显示“00”,以后每隔1秒显示值加1,显示到59后,自动从“00”开始,如此无限往复。

3、观察仿真结果,完成实验报告。

三、实验要求提交的实验报告中应包括:电路原理图,T0定时方式1工作原理阐述,源程序(编程思路说明与源程序),仿真效果(运行截图与讨论),实验小结(结论与体会)。

其中讨论内容为:当前编程方案的不足之处?可以如何改进?提交实验报告的电子邮件主题及存盘文件名格式如,20XX 年0*****马晓明实验五。

中国石油大学(北京)单片机原理及应用试验。

电子秒表显示器!1、电路原理图图1 电路原理图2、T0定时方式1工作原理阐述T1T0脚T0TF0查询/中断TR0图2 T0定时/计数方式1逻辑结构图CT原理时,T0为定时器工作方式。

逻辑开关CT向上接通,此时以振荡器的12分频信号作为T0的计数信号。

若GATE=0,定时器T0的启动和停止完全由TR1的状态决定,而与INT0无关。

中国石油大学(北京)单片机原理及应用试验。

电子秒表显示器!已知T0方式1由高8位THx和低8位TLx组成一个16位的加一计数器。

若想要产生一个长度为t的定时,则需要为计数器赋初值a。

a = 216 C t* fos / 12 ,将a值得高8位赋给THx,低8位赋给TLx。

如此,当晶振产生时间长度为t的脉冲时,计时器发生溢出,使得TF0=1,从而触发了中断响应。

制作一个采用LCD1602显示的电子钟

制作一个采用LCD1602显示的电子钟

计算机科学与工程系实验报告实验题目:制作一个采用LCD1602显示的电子钟班级:姓名:学号:日期:一、实验目的掌握单片机使用定时器/计数器控制字符型液晶显示器LCD1602的设计与软件编程二、实验要求在LCD上显示当前的时间。

显示格式为“时时:分分:秒秒”。

设有4个功能键k1~k4,功能如下:(1)k1——进入时间修改。

(2)k2——修改小时,按一下k2,当前小时增1。

(3)k3——修改分钟,按一下k3,当前分钟增1。

(4)k4——确认修改完成,电子钟按修改后的时间运行显示。

三、实验要求提交的实验报告中应包括:电路原理图、实验设计思路、C51源程序(含注释语句)、运行效果(含运行截图与说明)、实验小结三、硬件电路原理图的设计四、编程思路及C51源程序编程思路:1、实现当按下K1之后,使中断T0停止计数2、实现当按下K2之后,使小时加一3、实现当按下K3之后,使分钟加一4、实现当按下K4之后,使中断T0恢复计数源程序:#include<reg51.h>#ifndef LCD_CHAR_1602_2005_4_9#define LCD_CHAR_1602_2005_4_9#define uchar unsigned char#define uint unsigned intsbit lcdrs = P2^0;sbit lcdrw = P2^1;sbit lcden = P2^2;void delay(uint z)//延时函数,此处使用晶振为11.0592MHz {uint x,y;for(x=z;x>0;x--){for(y=110;y>0;y--){;}}}void write_com(uchar com) //写入指令数据到lcd{lcdrw=0;lcdrs=0;P3=com;delay(5);lcden=1;delay(5);lcden=0;}void write_data(uchar date) //写入字符显示数据到lcd{lcdrw=0;lcdrs=1;P3=date;delay(5);lcden=1;delay(5);lcden=0;}void init1602()//1602液晶初始化设定{lcdrw=0;lcden=0;write_com(0x3C);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);}/*void write_string(uchar *pp,uint n)//采用指针的方法输入字符,n为字符数目{int i;for(i=0;i<n;i++)write_data(pp[i]);}*/void write_sfm(uchar add,uchar date)//向指定地址写入数据{uchar shi,ge;shi=date/10;ge=date%10;write_com(0x80+add);write_data(0x30+shi);write_data(0x30+ge);}#endif#define uchar unsigned char#define uint unsigned intsbit Key1 = P1^0;sbit Key2 = P1^1;sbit Key3 = P1^2;sbit Key4 = P1^3;uchar int_time;//定义中断次数计数变量uchar second;//秒计数变量uchar minute;//分钟计数变量uchar hour;//小时计数变量uchar code date[]=" H.I.T. CHINA ";//LCD第1行显示的内容uchar code time[]=" TIME 23:59:55 ";//LCD第2行显示的内容uchar second=55,minute=59,hour=23;void clock_init(){uchar i,j;for(i=0;i<16;i++){write_data(date[i]);}write_com(0x80+0x40);for(j=0;j<16;j++){write_data(time[j]);}}void clock_write( uint s, uint m, uint h){write_sfm(0x47,h);write_sfm(0x4a,m);write_sfm(0x4d,s);}void Keyscan1(){if(Key1==0) {delay(10);if(Key1==0) while(!Key1); TR0=0;}if(Key4==0) {delay(10);if(Key4==0) while(!Key4); TR0=1;}if(Key3==0){delay(10);if(Key3==0)while(!Key3);minute++;if(minute==60)minute=0;} if(Key2==0){delay(10);if(Key2==0)while(!Key2);hour++;if(hour==24)hour=0;}}void main(){init1602();//LCD初始化clock_init();//时钟初始化TMOD=0x01;//设置定时器T0为方式1定时EA=1; // 总中断开ET0=1; // 允许T0中断TH0=(65536-46483)/256;//给T0装初值TL0=(65536-46483)%256;TR0=1;int_time=0;//中断次数、秒、分、时单元清0second=55;minute=59;hour=23;while(1){clock_write(second ,minute, hour);Keyscan1();}}void T0_interserve(void) interrupt 1 using 1 //T0中断服务子程序{int_time++;//中断次数加1if(int_time==20) //若中断次数计满20次{int_time=0; //中断次数变量清0second++;//秒计数变量加1}if(second==60)//若计满60s{second=0; //秒计数变量清0minute ++;//分计数变量加1}if(minute==60)//若计满60分{minute=0;//分计数变量清0hour ++;//小时计数变量加1}if(hour==24){hour=0;//小时计数计满24,将小时计数变量清0 }TH0=(65536-46083)/256;//定时器T0重新赋值TL0=(65536-46083)%256;}五、仿真运行效果展示仿真初始状态按下k1键,进入修改模式六、实验小结通过本次实验,我掌握了LCD1602编程的方法,将所学知识运用到实践中,这是一件慢慢的过程,首先要把理论知识理解透彻,然后就是例题看懂,弄懂举一反三。

《单片机技术》实验(2022级自动化1201~02电气1201~02)教案

《单片机技术》实验(2022级自动化1201~02电气1201~02)教案

《单片机技术》实验(2022级自动化1201~02电气1201~02)教案课程教案课程名称:单片机技术实验任课教师:王韧所属院部:电气与信息工程学院教学班级:自动化1201~02、电气1201~02教学时间:2022—2022学年第二学期湖南工学院课程基本信息湖南工学院教案用纸实验一数据传送实验一、本次实验主要内容1、Keil软件的使用方法和调试。

2、存储器之间数据传送的方法和循环程序设计。

3、MCS-51系列单片机堆栈的使用。

二、实验目的与要求1、掌握单片机的汇编指令系统及汇编语言程序设计方法。

2、掌握单片机的存储器体系结构。

3、熟悉Keil软件的功能和使用方法。

4、掌握单片机应用程序的调试方法。

三、实验重点难点MOV、MOV某指令的用法特点。

四、实验方法和手段讲授、演示、操作、仿真、提问。

五、作业与习题布置写出实验报告。

P1湖南工学院教案用纸一、实验内容或原理1、实现单片机内部RAM之间,外部RAM之间以及内部RAM与外部RAM之间的数据传送。

2、利用Keil软件编辑、汇编、调试、运行实验程序并记录实验数据。

二、设计要求1、编写程序将00H~0FH16个数据分别送到单片机内部RAM30H~3FH单元中。

2、编写程序将片内RAM30H~3FH的内容传送至片内RAM40~4FH单元中。

3、编写程序将片内RAM40H~4FH单元中的内容传送到外部RAM4800H~480FH单元中。

4、编写程序将片外4800H~480FH单元内容送到外部RAM5800H~580FH单元中。

5、编写程序将片外RAM5800H~580FH单元内容传送回片内RAM50H~5FH单元中。

三、实验报告要求1、实验目的和要求。

2、设计要求。

3、实验程序流程框图和程序清单。

4、实验总结。

5、思考题。

四、思考题1、说明MCS-51系列单片机对片内RAM和片外RAM存贮器各有哪些寻址方式?2、说明指令MOVA,20H和MOVC,20H中的20H含义有什么不同?传送指令中的助记符MOV,MOV某,MOVC各适用于访问哪个存储器空间?P2湖南工学院教案用纸实验后记:P3湖南工学院教案用纸实验二单片机并行I/O口的应用实验一、本次实验主要内容1、利用单片机并行I/O口控制流水灯。

单片机实验报告(完整版)

单片机实验报告(完整版)

单片机原理与应用实验报告学院(部):专业:学生姓名:班级:学号:最终评定成绩:实验一存储器读写一、实验目的:1、掌握寄存器、存储器读写等汇编指令;2、掌握编程软件编辑、编译、调试等基本操作。

二、实验仪器设备1.PC机,1台2.WAVE软件开发系统三、实验内容及步骤:1、将下面的汇编程序输入到W A VE集成开发软件中ORG 0000HSJMP STARTORG 0030HSTART:MOV R0,#07HMOV 70H,#08HMOV R1,#70HMOV DPTR,#2000HLOOP:MOVX A,@R1MOVX A,@DPTRINC R1INC ADJNZ R7,LOOPSJMP $END2、选择菜单“仿真器”→“仿真器设置”,按下图所示完成软件初始设置。

3、选择菜单“项目”下“编译”,编译通过后,选择“单步运行”,观察记录寄存器(R0、R1)、累加器(A)、程序状态字(PSW)、外部存储器(2000H单元)、I/O端口(P1)的数据变化。

四、源程序源程序:ORG 0000H ;定义起始地址SJMP STARTORG 0030HSTART:MOV R0,#07HMOV 70H,#08H ;给内部RAM的70H单元赋初值MOV R1,#70H ;使R1指向内部70H单元MOV DPTR,#2000H ;定义外部存储器开始单元LOOP:MOVX A,@R1 ;将R1所指向的70H的内容赋给AMOVX @DPTR,A;将A的内容赋给外部存储器单元INC R1 ;内部RAM地址加1INC DPTR ;外部存储器地址加1DJNZ R7,LOOP ;循环,直到RAM中70H~7FH;单元的内容全部相应赋给;外部2000H~2007H单元SJMP $END3、记录下程序单步运行时,寄存器(R0、R1)、累加器(A)、程序状态字(PSW)、外部存储器(2000H单元)、I/O端口(P1)的数据变化。

五、仿真效果图实验二I/O端口操作一、实验目的:1、掌握I/O端口读写等基本汇编指令;2、掌握单片机最小系统硬件电路设计及仿真软件PROTEUS仿真、调试等基本操作方法。

单片机计数显示器实验报告

单片机计数显示器实验报告

单片机计数显示器实验报告实验报告:单片机计数显示器一、实验目的本实验旨在通过单片机编程,设计并实现一个计数显示器电路。

通过实现计数功能,掌握单片机的IO口操作、延时函数的使用及LED数码管的驱动原理。

二、实验器材1.单片机开发板2.数码管3.连接线三、实验原理本实验使用的单片机开发板上有8个LED数码管和相应的IO口,我们可以通过控制IO口状态,来驱动数码管显示数字。

数码管是7段共阳极结构,即每个数字都是由7个发光二极管组成。

我们可以通过控制每个发光二极管的通断状态,来显示不同的数字。

数码管的7个段分别命名为a、b、c、d、e、f、g,表示显示数字的不同部分。

每个IO口控制一个发光二极管的通断,例如P0口控制a段,P1口控制b段,以此类推。

四、实验步骤1.设计电路连接:将单片机开发板的IO口与数码管的各段和各位连接起来。

2.编写程序代码:使用C语言编写单片机的程序代码,实现计数及显示功能。

4.运行程序:观察数码管显示的效果,检查是否符合预期。

五、实验结果与分析经过以上步骤,我们成功地实现了单片机计数显示器电路。

通过设置不同的数值,数码管会显示相应的数字,实现了计数功能。

六、实验心得体会通过本次实验,我学到了单片机的IO口操作、延时函数的使用及LED数码管的驱动原理。

在实验中,我遇到了一些困难,如如何控制不同位的数码管显示不同的数字,并且在显示不同数字时存在闪烁现象。

通过调试程序,我解决了这些问题,并对单片机的使用更加熟悉了。

总的来说,本次实验让我对单片机有了更深入的了解,通过实际操控硬件并编写程序,使我对计算机硬件与软件的关系有了更直观的认识。

同时,通过解决问题,我也提高了自己的动手能力和问题解决能力。

七、实验改进设想在实验过程中,我注意到数码管在显示数字时会有闪烁现象,这可能是由于程序中的延时时间不够长引起的。

后续改进可以通过增加延时时间来减少闪烁现象的发生。

另外,本实验只实现了基本的计数功能,除了数字0-9的显示外,还可以扩展显示其他字符或符号。

单片机课程设计-ni

单片机课程设计-ni

课程设计题目: 计数显示器设计院系:专业班级:学号:学生姓名:指导教师:年月日目录第一章单片机简介 (2)第二章KEIL和PROTEUS基本知识 (3)2、1 KEIL的基本知识 (3)2、2 PROTEUS的基本知识 (4)第三章实验内容 (4)3、1 实验原理 (4)3、2 实验步骤 (5)第四章实验结果 (7)4、1 程序代码 (7)4、2仿真结果 (8)4、3实验总结 (9)第一章单片机简介1.1什么是单片机单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

1.2 单片机的应用目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。

导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。

更不用说自动控制领域的机器人、智能仪表、医疗器械了。

因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。

主要应用领域:1.在智能仪器仪表上的应用2.在工业控制中的应用3.在家用电器中的应用4.在计算机网络和通信领域中的应用5.单片机在医用设备领域中的应用6.在各种大型电器中的模块化应用7.单片机在汽车设备领域中的应用第二章KEIL和PROTEUS基本知识2、1 KEIL的基本知识1. 系统概述KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。

另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。

单片机实验 带程序的

单片机实验  带程序的

五.实验步骤: 1. 连接电源线和串行口数据线; 2. 把P3.1接至P3.0孔,P1.0~P1.7分别接发光二极管 L1~L8孔。 3.打开DICE—5203 K实验开发系统的电源; 4. 启动计算机,打开桌面软件文件夹,选择MS51仿真 开发系统图标双击,进入软件编程界面; 5. 编制程序,调试、运行; 6. 从按键开关输入数字量,观察发光二极管的发光状 态,或从寄存器观察其对应数值。 六.思考题: 修改程序,使串行口工作于方式3或 2(考虑波特率)。
四、实验步骤 (一)定时/计数器T0延时实验 1、连接电源线和串行口数据线; 2、用插针将P1.0孔与发光二极管L1孔相连, P1.1孔与发光二极管L2孔相连; 3、打开DICE—5203 K实验开发系统的电源; 4、启动计算机,打开桌面软件文件夹,选择 MS51仿真开发系统图标双击,进入软件 编程界面; 5、编制程序,调试、运行; 6、观察发光二极管状态。
• void tim0(void) interrupt 1 using 1 • { EA=0; • i++; • j++; • if(i==20) • {P1_0=!P1_0; • i=0;} • if(j==100) • {P1_1=!P1_1; • j=0;} • TH0=(65536-50000)/256; • TL0=(65536-50000)%256; • EA=1; • }
ds-ms(int j) {uchar k; while(j--!=0) for(k=0,k<125,k++);}
void main (void) { uchar i,a; COM8255 =0x80; a =0x01; for(i=0,i<8,i++) {PB8255=a; ds-ms(500); a=a<<1; if(a==0)a=0x01; } }
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机实验1-计数显示器
物理系光信息处理单片机原理及应用试验学生实验报告
实验项目计数显示器
实验地点
班级
姓名
座号
指导老师
实验时间:20 年月日
一、实验目的:
熟悉51单片机的基本输入/输出应用,掌握Protues ISIS模块的原理图绘图方法及单片机系统仿真运行方法。

二、实验内容:
1、观察Protues ISIS模块的软件结构,熟悉菜单、工具栏、
对话框等基本单元功能;
2、学会选择元件、画总线、修改属性等基本操作;
3、学会可执行文件加载及程序仿真方法;
4、验证计数显示器的功能。

三、实验要求:
提交实验报告并包括如下内容:电路原理图、电路原理分析、仿真运行截图及实验小结。

四、实验元件:
元件类型电路符合元件名称Microprocesso
U1 80C51 r ICs
Miscellaneous X1/12MHz CRYSTAL
Capacitors C1~C2/1nF CAP
Capacitors C3/22μF CAP-ELEC
Resistor Packs RP1/7-100ΩRESPACK-7
Resistors R1/100ΩRES
Optoelectronic
s LED1~LED2
7SEG-COM-C
AT-GRN
Switch&Relays BUT BUTTON
五、实验过程
实验电路原理A所示,图中含有如下5个分支电路;由共阴极数码管LED1和LED2、P0口、P2口、上拉电阻RP1以及Vcc 组成输出电路;由按钮开关BUT、P3.7和接地点组成的输入电路;
由C1、C2、晶振X1、引脚XTAL1、XTAL2与接地点组成的时钟电路;由C3、R1、引脚RST和Vcc组成上电复位电路;由Vcc和引脚EA组成片内ROM选择电路。

在编程软件的配合下,该电路可实现如下功能:可统计按钮BUT的按压次数,并将按压结果以十进制数形式显示出来;当显示值达到99后可自动从1开始,无限循环。

六、仿真运行过程
1、C51程序:
2、程序框图
3、计数器的仿真效果
七、实验小结
通过本次实验,使我们了解了Proteus的基本操作和运用Keil μvision软件,增强了我们的实际操作能力,提高了我们对单片机的认知。

相关文档
最新文档