Proteus实验报告

合集下载

Protues8255实验报告.pdf

Protues8255实验报告.pdf
端口 A 中的两个端口接开关,作为输入(开关弹起时为高电平,按下 时为低电平);端口 B 中的全部端口作为输出显示。
4
(5)对于实验 2,8255 的连接如下图 端口 A 中的全部端口作为输出显示
(6)对于实验 3,8255 的连接如下图 端口 A 中的全部端口连接一二级数码管,且该数码管为共阴极连接。
华北电力大学
实验报告
| |
实验名称
8255 应用实验
课程名称
微机原理及应用
老师
|
专业班级
姓名
学号
1
一. 实验要求 1、当 K0 为高电平时,LED 由高到低循环亮灭;当 K0 为低电平时, LED 由低到高循环亮灭;当 K1 为高电平时,LED 全灭且程序结束 (扩展:当 K1 为高电平时,LED 全灭但程序不结束,等 K1 再次为低 电平时灯又开始循环)。 2、在 8259 的 IR2 端输入中断请求信号,该信号由 8253 的方波信号 产生(频率 1Hz)。每来一个上升沿,申请中断一次,CPU 响应后通过 8255 PA 口使发光二极管亮,第 1 次中断,LED0 亮,第 2 次中断,LED1 亮,…… 第 8 次中断,LED7 亮,中断 8 次后结束。 3、在 8259 的 IR2 端输入中断请求信号,该信号由 8253 的方波信号 产生(频率 1Hz)。每来一个上升沿,申请中断一次,CPU 响应后通过 8255 PA 口使 7 段数码管亮,第 1 次中断,显示 0,第 2 次中断,显 示 1,…… 第 10 次中断,显示 9,程序结束。 【8255 的片选地址为 8000H,8259 的片选地址为 9000H,8253 的片选 地址为 A000H】 二 思路 1. 硬件 (1)74HC138 译码电路如图所示,A15 为 1,E2、E3 接地保证 74HC138

第四次实验-PROTEUS虚拟仪器实验

第四次实验-PROTEUS虚拟仪器实验

SS:从模式选择端,从模式时必须为低电平才能
使终端响应;主模式时当数据正传输时此端为低电 平。 TRIG:输入端,能够把下一个存储序列放到SPI的 输出序列中。 双击SPI的原理图符号,可以打开它的属性设置对 话框,如图4-50所示。
DIN DOUT SCK SS TRIG
SPI
图4-50 SPI属性设置对话框
入,每条总线支持16位数据,主要用于接单片机的 动态输出信号。运行后,可以显示A0~A15、 B0~B3的数据输入波形。
(A0) A0 A1 A2 A3 A4 A5 A6 A7 B0[0..7] B1[0..7] A8 A9 A10 A11 A12 A13 A14 A15 B2[0..7] B3[0..7]
2. 虚拟示波器的使用 (1) 示波器的四个接线端A、B、C、D应分别接四路 输入信号,信号的另一端应接地。该虚拟示波器能 同时观看四路信号的波形。 (2) 照图4-35接线。把1kHz、1V的正弦激励信号加 到示波器的A通道。
Sine Source
A
A
B
B
C D
C D
图4-34 虚拟示波器
图4-35 正弦信号与示波器的接法
图4-33 虚拟仪器列表
4.2.1 示波器
1. 放置虚拟示波器 (1) 在Proteus ISIS环境中单击虚拟仪器模式 “Virtual Instrument Mode”按钮图标,出现如图433所示的所有虚拟仪器名称列表。 (2) 用鼠标左键单击列表区的“OSCILLOSCOPE”, 则在预览窗口出现示波器的符号。 (3) 在编辑窗口单击鼠标左键,出现示波器的拖动图 像,拖动鼠标指针到合适位置,再次单击左键,示 波器被放置到原理图编辑区中去。虚拟示波器的原 理符号如图4-34所示。

细粒度计算机组成原理Proteus仿真实验设计

细粒度计算机组成原理Proteus仿真实验设计

细粒度计算机组成原理Proteus仿真实验设计一、引言随着计算机技术的不断发展,计算机组成原理成为了计算机专业学生必修的一门基础课程。

通过学习计算机组成原理,学生可以了解计算机硬件结构和工作原理,掌握数字逻辑电路和CPU设计的基本知识。

而Proteus是一款常用的电子电路仿真软件,可以帮助学生更直观地了解数字逻辑电路和CPU设计的工作原理。

本文旨在探讨如何利用Proteus软件进行细粒度计算机组成原理的仿真实验设计。

二、实验目的本实验旨在通过Proteus软件设计并仿真细粒度计算机组成原理相关的实验,让学生通过实际操作加深对计算机组成原理的理解,包括数字逻辑电路、CPU设计和指令执行等方面的知识。

具体目的包括:1. 了解数字逻辑电路的基本原理,包括门电路、触发器、寄存器等的设计和使用;2. 掌握CPU的基本结构和工作原理,包括寄存器组、运算器、控制器等的设计和实现;3. 理解指令的执行过程和CPU的工作机制,包括指令译码、寻址方式、数据传输等方面的知识;4. 利用Proteus软件进行仿真实验,加深对计算机组成原理相关知识的理解和掌握。

三、实验内容本实验分为多个部分,每个部分都设计了不同的细粒度计算机组成原理的仿真实验。

1. 数字逻辑电路设计实验在本部分实验中,学生需要使用Proteus软件设计并仿真不同的数字逻辑电路,包括与门、或门、非门、触发器、寄存器等的设计。

通过实际操作,学生可以了解不同数字逻辑电路的功能和使用方式,加深对数字逻辑电路的理解。

2. CPU寄存器组设计实验四、实验步骤1. 准备工作在进行实验前,学生需要了解Proteus软件的基本操作方法,包括电路设计、元器件选择、仿真参数设置等方面的知识。

学生还需要掌握数字逻辑电路、CPU设计和指令执行等方面的基本知识。

根据实验内容,学生需要设计不同的数字逻辑电路、CPU寄存器组、CPU控制器、CPU 运算器等方面的电路,并将其载入Proteus软件中进行仿真。

protues仿真与演示实验报告

protues仿真与演示实验报告

protues仿真与演示实验报告II实验课程名字 ,Protues仿真与演示时间:大三秋学期6——10周姓名:杨祥班级: 电信1001学号:2010010指导老师:翁志刚一.实验目的1、掌握Proteus ISIS基本功能。

2、掌握Proteus ISIS文件的基本操作方法和管理方法。

3、掌握Proteus ISIS仿真控制器件和虚拟仪器的使用方法。

4、掌握电子电路的设计与仿真调试的方法。

二.实验设备计算机,Proteus软件,Word软件。

三.实验内容I. Proteus软件的安装与运行基本电路图的连接运行 1.软件的安装下载完后,解压压缩包里的文件第1步、双击:Proteus 7.5 sp3 Setup目录下面的Proteus 75SP3 Setup.exe 开始安装在安装过程中会提示下图找到破解目录下的补丁打开。

第2步.打开完成后,点击install将这些key文件安装过来。

如图第3步、安装后点完成,就跳回到初始安装界面了,这个时候你就可以点next 开始正式安装文件了。

后面都点下一步即可。

第四步、安装完成后还需要运行破解补丁:执行LXK Proteus 7.5 SP3 v2.1.,将目录指定到X:\Program Files\Labcenter Electronics\Proteus 7 Professional(X是你安装的盘符),然后执行update;安装完成就可以打开软件了。

如下面。

不过这个时候还是英文版。

第五步、转换中文版。

将汉化文件解压覆盖到X:\Program Files\Labcenter Electronics\Proteus 7 Professional \BIN(不会找安装目录的,在运行文件上点右键属性)如图到这里就完全汉化成功了。

2.软件打开1、双击桌面上的ISIS 7 Professional 图标或者单击屏幕左下方的“开始”?“程序”?“Proteus 7 Professional” ?“ISIS 7 Professional”,出现如图所示界面,随后就进入了Proteus ISIS集成环境。

实验二 Proteus仿真

实验二 Proteus仿真

实验报告一、实验目的熟悉Proteus仿真软件环境,掌握Proteus软件环境中绘制电路图的方法及仿真单片机的步骤。

二、实验设备PC机1台、Proteus软件1套三、设计内容1.在Proteus软件环境中绘制单片机及各类常用电子器件,连接元件引脚,熟悉软件绘图环境。

2.设计并行口直接驱动LED显示。

四、设计原理及步骤1.原理;将单片机P0口的P0.0~P0.7引脚连接到一个共阴数码管的a~b的笔段上,数码管的公共端接地。

在数码管上循环显示数字0~9数字,时间间隔0.2s。

2.硬件设计打开Proteus ISIS编辑环境,按表所列的清单添加元件。

全部虚拟元件添加完毕后,在Proteus ISIS的编辑区中按下面电路原理图连接硬件电路。

3.程序设计LED数码显示原理:7段LED显示器内部由7个条形发光二极管和1个小圆点发光二极管组成,根据各管的极管的接线形式,可分成共阴极型和共阳极型。

LED数码管的a~g7个发光二极管加正电压发亮,加零电压不发亮,不同亮暗的组合就能形成不同的字形,这种组合称为段码,共阴极的段码见表由于显示的数字0~9段码没有规律可循,只能采用查表的方式来完成所需的操作。

按着数字0~9的循序,把每个数字的笔段代码按顺序排好,在程序中建立段码表如下:“TABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH”。

五、设计程序程序框图:源程序:ORG 0000H ;汇编起始地址START: MOV DPTR,#TABLES1: MOV A,#00H ;立即数00H送给AMOVC A,@A+DPTR ;A、DPTR中原有的内容相加,传送给A,查表指令CJNE A,#01,S2 ; 不相等则转到S2LJMP START ;转到STARTS2: MOV P0,A ;A→P0LCALL DELAY ;调用DELAYINC DPTR ;加1LJMP S1 ;转到S1 DELAY: MOV R5,#20D2: MOV R6,#20D1: MOV R7,248DJNZ R7,$DJNZ R6,D1 ;减1不为0转到D1DJNZ R5,D2 ;减1不为0转到D2RET ;子程序返回TABLE: DB 3FH,06H,5BH,4FH,66H ;码段表DB 6DH,7DH,07H,7FH,6FHDB 77H,7CH,39H,5EH,79HDB 71H,01HEND ;结束调试结果:…………………………实验电路图:六、实验结论及体会结论:由实验电路图可知数码管的七个接线端接在单片机的P0.0—P0.6口,所以在编写程序时要对P0口操作,由上面的调试程序截图可知,程序没运行一次,对应的P0口的值都会变化一次。

proteus实验

proteus实验

实验一proteus与单片机电路的交互式仿真与调试1、实验目的熟练掌握proteus集成开发环境,并掌握proteus与单片机电路进行交互式仿真与调试的方法。

2、实验设备装有proteus的电脑一台3、实验内容1)设计一个基于51单片机的电路,控制P2口连接的led灯的循环亮灭。

2)在keil中编制程序,并在proteus中进行调试。

4、实验步骤1)在proteus ISIS界面中编辑电路原理图如图1.1所示。

图1.1 电路原理图2)添加仿真文件。

双击单片机AT89C51,打开其属性编辑框,在“program file”栏中,单击打开按钮,选取后缀名为*.HEX的目标代码文件。

在“clock frequency”栏中设置时钟频率为12MHZ。

如图1.2、1.3所示。

图1.2 元件编辑对话框图1.3 添加仿真程序文件因为仿真运行时的时钟频率是以单片机属性中设置的频率值为准,所以在proteus ISIS 界面中设计电路原理图时,可以略去单片机的时钟电路。

另外,复位电路也可略去。

对于MCS-51系列单片机而言,在不进行电路电气检测时,EA引脚也可悬空。

2)在proteus仿真界面中单击运行按钮,全速启动仿真。

LED灯从上往下依次亮灭,并循环交替。

如图1.4所示。

图1.4 仿真运行中的电路3)在系统全速仿真运行时,单击暂停按钮,然后单击proteus ISIS界面的“Debug”菜单,利用其调试按钮进行调试。

5、参考程序可参考单片机实验教程实验2程序。

实验二I/O输入输出应用1、实验目的1)掌握AT89C51单片机I/O口输入输出的应用方法;2)掌握单片机驱动7段数码管显示数字的电路设计方法及编程方法。

2、实验设备装有proteus的电脑一台3、实验内容1)利用单片机AT89C51制作一个0—99的手动计数器,用其P2.0—P2.7接一个共阴极数码管,输出显示计数器个位,用P0.0—P0.7接数码管输出显示计数值的十位数。

PROTEUS(6周)电路实验

PROTEUS(6周)电路实验

(三)基本操作
8、建立网络表 、 选择【Tools】→ 【Netlist Compiler】菜单项,输出网络 表。 9、对原理图进行电气规则检测 、 选择【Tools】→【Electrical Rule Check】菜单项, 出现电气规则检测报告单。若无电气错误,即用户可执行 下一步操作。 10、 存盘及输出报表 、 将设计好的原理图文件存盘。同时,可使用【Tools】→ 【Bill of Materials】菜单项输出BOM文档。
PROTEUS仿真软件 PROTEUS仿真软件
一、实目的
1、熟悉Proteus仿真软件的主要特点 及功能。 2、掌握用Proteus仿真软件绘制电路 原理图和仿真电路功能的方法。
二、Proteus软件介绍
Proteus软件是由英国Labcenter Electronics公司 开发,是目前世界上最先进、最完整的嵌入式系统设 计与仿真平台,可以实现数字电路、模拟电路及微控 制器系统与外设的混合电路系统的电路仿真、软件仿 真、系统协同仿真和PCB设计等功能,是目前唯一能 够对各种处理器进行实时仿真、调试与测试的EDA工 具。只要有电脑的地方,就可以利用它让学生脱离实 验器材,直接用软件来模拟仿真实验。
六、下次实验内容及预习要求 下次实验内容及预习要求
电阻元件伏安特性测定
1、预习教材P100-105的内容,简明扼要地 书写预习报告。 2、熟悉直流电压表、电流表和直流稳定电源 的使用方法。 3、了解电源、电阻和二极管的伏安特性,熟 悉它们伏安特性的测量方法和测量步骤。
选择【Library】→【Pick Device/Symbol】菜单项,
(三)基本操作
5、放置元器件 、
① 单击对象选择器中选中需要的元器件。在Proteus ISIS 的预览窗口可预览所选中的元器件。 ② 在编辑窗口中希望放置元器件的位置双击该元器件,即可 放置元器件。还可先单击然后对其进行拖动,放置到合适 的位置,再单击即也可完成元器件的放置。 ③ 根据需要,使用旋转及镜像按钮确定元器件的方位。 ④ 调整好所有元器件后,选择【View】→【Redraw 】菜 单项,刷新屏幕,此时图纸上有了所有的元器件。

proteus仿真-直流电机驱动、调速及过流保护报告

proteus仿真-直流电机驱动、调速及过流保护报告

电流电机驱动、调速及过流保护实验报告学院:电子信息学院班级:组长:组员:实验课题:直流电机驱动、调速及过流保护目录1、项目描述 (3)2、设计原理 (3)3、设计过程 (4)3.1、硬件设计 (4)3.2、软件设计 (6)4、系统功能调试 (10)4.1、调试软件介绍 (10)4.2、电路运行结果 (11)5、总结 (12)1、项目描述本项目将通过proteus仿真电路模拟电机的驱动,并实现调速和转向控制。

项目将应用一个简单的电路,使用Arduino和L298N IC控制直流电机的速度和方向。

使用PWM信号和L298N(H桥)的组合来控制简单直流电机的功能,即速度和转向控制。

本项目基本完成了驱动,调速及转向控制功能。

2、设计原理 0直流电机是指能将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。

它是能实现直流电能和机械能互相转换的电机。

当它作电动机运行时是直流电动机,将电能转换为机械能;作发电机运行时是直流发电机,将机械能转换为电能。

直流电机的工作原理是里边固定有环状永磁体,电流通过转子上的线圈产生安培力,当转子上的线圈与磁场平行时,再继续转受到的磁场方向将改变,因此此时转子末端的电刷跟转换片交替接触,从而线圈上的电流方向也改变,产生的洛伦兹力方向不变,所以电机能保持一个方向转动。

直流发电机的工作原理就是把电枢线圈中感应的交变电动势,靠换向器配合电刷的换向作用,使之从电刷端引出时变为直流电动势的原理。

应电动势的方向按右手定则确定(磁感线指向手心,大拇指指向导体运动方向,其他四指的指向就是导体中感应电动势的方向)。

导体受力的方向用左手定则确定。

这一对电磁力形成了作用于电枢一个力矩,这个力矩在旋转电机里称为电磁转矩,转矩的方向是逆时针方向,企图使电枢逆时针方向转动。

如果此电磁转矩能够克服电枢上的阻转矩(例如由摩擦引起的阻转矩以及其它负载转矩),电枢就能按逆时针方向旋转起来。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Proteus实验报告姓名: xxxxx专业: xxxxxx系别:电气信息工程学院学号:xxxxxxxx班级:xxxxxxxxxxxxxxxx老师: xxxxxxx2012年11月实验一花样灯一一、实验目的使用P2端口控制LED0~LED7进行花样显示..显示顺序规律为:错误!8个LED依次左移点亮;错误!8个LED依次右移点亮;错误!LED0、LED2、LED4、LED6亮1s 熄灭;LED1、LED3、LED5、LED7亮1s熄灭;再LED0、LED2、LED4、LED6亮1s熄灭……循环3次;错误!LED0~LED3亮1s熄灭;LED4~LED7亮1s熄灭;循环2次;错误!LED2、LED3、LED6、LED7亮1s熄灭;LED0、LED1、LED4、LED5亮1s熄灭;循环3次;然后再从错误!循环..二、实验仪器单片机AT89C51、瓷片电容CAP22Pf、晶振CRYSTAL 11.0592MHz、电解电容CAP-ELEC、电阻RES、发光二级管LED-GREEN、发光二级管LED-YELLOW、发光二级管LED-RED、发光二级管LED-BULE、按钮BUTTON..三、实验流程图程序: #include"reg51.h"#define uint unsigned int#define uchar unsigned charconst tab={0xfe;0xfd;0xfb;0xf7;0xef;0xdf;0xbf;0x7f;0xbf;0xdf;0xef;0xf7;0xfb;0xfd;0xfe;0xff;0xaa;0x55;0xaa;0x55;0xaa;0x55;0xff;0xf0;0x0f;0xf0;0x0f;0xff;0x33;0xcc;0x33;0xcc;0x33;0xcc;0xff}void delayvoid{uint i;j;k;fori=0;i>0;i--{forj=200;j>0;j--{fork=230;k>0;k--;}}}void mainvoid{uchar i;while1{fori=0;i<35;i++{P2=tabi;delay;}}}五、实验结果实验二定时计数器一一、实验目的使用定时计数器作为延时;要求在P0.0和P0.1间两灯按1s间隔互相闪烁..二、实验仪器单片机AT89C51、瓷片电容CAP22Pf、晶振CRYSTAL 11.0592MHz、电解电容CAP-ELEC、电阻RES、发光二级管LED-GREEN、排阻RESPACLK-8、发光二级管LED-RED、发光二级管LED-YELLOW、按钮BUTTON..三、实验流程图四、实验原理电路图:程序:#include"reg51.h"#define uint unsigned int#define uchar unsigned charsbit P0_0=P0^0;sbit P0_1=P0^1;uint t=0;void time0_server_voidinterrupt 1 {TH0=0x4C;TL0=0x00;t++;}void Init_t0void{TMOD=0x01;TH0=0x4C;TL0=0x00;EA=1;ET0=1;TR0=1;}void mainvoid{P0_0=1;P0_1=0;Init_t0;while1{ift==20{t=0;P0_0=~P0_0;P0_1=~P0_1;}}}五、实验结果实验三中断系统应用一一、实验目的主程序将P0端口进行花样显示;显示顺序规律为:错误!8个LED依次左移点亮;错误!8个LED依次右移点亮;错误!LED0、LED2、LED4、LED6亮1s熄灭;LED1、LED3、LED5、LED7亮1s熄灭;再LED0、LED2、LED4、LED6亮1s熄灭……循环3次..中断时INT0与按钮K1连接使8个LED闪烁5次..二、实验器件单片机AT89C51、瓷片电容CAP22Pf、晶振CRYSTAL 11.0592MHz、电解电容CAP-ELEC、电阻RES、发光二级管LED-GREEN、排阻RESPACLK-8、发光二级管LED-RED、按钮BUTTON、发光二级管LED-BULE、发光二级管LED-YELLOW..三、实验流程图四、实验原理原理图:程序:#include "reg51.h"#define uint unsigned int#define uchar unsigned charconst tab={0xfe;0xfd;0xfb;0xf7;0xef;0xdf;0xbf;0x7f;0xbf;0xdf;0xef;0xf7;0xfb;0xfd;0xfe;0xff;0xaa;0x55;0xaa;0x55;0xaa;0x55;0xff;};const tab2={0xff;0x00;0xff;0x00;0xff;0x00;0xff;0x00;0xff;0x00;}; void delayvoid{uint i;j;k;fori=10;i>0;i--{forj=200;j>0;j-- {fork=230;k>0;k--;}} }void int0 interrupt 0 {uchar i;fori=0;i<10;i++{P0=tab2i;delay;}} void INT0_initvoid {EX0=1;IT0=1;EA=1;}void mainvoid{uchar x;INT0_init;while1{forx=0;x<23;x++ {P0=tabx; delay; }}}五、实验结果实验四两个单片机之间的串行通信一、实验目的再摸控制系统中有U1、U2这两个单片机;U1单片机首先将P1端口指拨开关数据载入SUBF;然后由TXD将数据传送给U2单片机;U2单片机将接收数据存入SBUF;再由SUBF载入累加器;并输出至P1端口;点亮相应端口的LED..二、实验器件发光二级管LED-RED、按钮BUTTON、单片机AT89C51、瓷片电容CAP22Pf、晶振CRYSTAL 11.0592MHz、电解电容CAP-ELEC、电阻RES、发光二级管LED-GREEN、拨码开关DIPSW-8、开关SWITCH..三、实验流程图四、实验原理原理图:程序:U1:#include "reg51.h"#define uchar unsigned char#define uint unsigned intvoid senduchar state{SBUF=state;whileTI=0;TI=0;}void SCON_initvoid{SCON=0x50;TMOD=0x20;PCON=0x00;TH1=0xFD;TL1=0xFD;TI=0;TR1=1;ES=1;}void mainvoid{P1=0xFF;SCON_init;while1{sendP1;}}U2:#include "reg51.h"#define uchar unsigned char#define uint unsigned intuchar state;void receive{whileRI=0;state=SBUF;RI=0;}Void SCON_initvoid{SCON=0x50; TMOD=0x20; PCON=0x00;TH1=0xFD;TL1=0xFD;RI=0;TR1=1;}void mainvoid {SCON_init;while1{receive;P1=state;}}五、实验结果U1U2:实验五矩阵式键盘识别一一、实验目的设计一个4x4的矩阵键盘;以P3.0~P3.3作为行线;以P3.4~P3.7作为列线;在数码管上显示每个按键的0~F序号..二、实验器件单片机AT89C51、瓷片电容CAP22Pf、晶振CRYSTAL 11.0592MHz、电解电容CAP-ELEC、电阻RES、排阻RESPACLK-7、按钮BUTTON、共阳数码管7SEG-COM-AM-GRN..三、实验流程图四、实验原理程序:#include"reg51.h"#define uchar unsigned char #define uint unsigned intuchar buff;times;j;uchar code dispcode={0xC0;0xF9;0xA4;0x B0;0x99;0x92;0x82;0xF8;0x80 ;0x90;0x88;0x83;0xC6;0xA1;0 x86;0x8E};uchar idata value8;void delay1msvoid{uchar i;fori=200;i>0;i--;}void delay5msvoid{unsigned char i;j;fori=5;i>0;i--forj=230;j>0;j--;}void key_scanvoid{uchar hang;lie;key;P3=0xf0;ifP3&0xf0=0xf0{delay1ms;ifP3&0xf0=0xf0{hang=0xfe;times++;iftimes=9times=1;whilehang&0x10=0{P3=hang;ifP3&0xf0=0xf0{lie=P3&0xf0|0x0f;buff=~hang+~lie;switchbuff{case 0x11:key=0;break; case 0x21:key=1;break; case 0x41:key=2;break; case 0x81:key=3;break;case 0x12:key=4;break;case 0x22:key=5;break;case 0x42:key=6;break;case 0x82:key=7;break;case 0x14:key=8;break;case 0x24:key=9;break;case 0x44:key=10;break;case 0x84:key=11;break;case 0x18:key=12;break;case 0x28:key=13;break;case 0x48:key=14;break;case 0x88:key=15;break;}valuetimes-1=key;}elsehang=hang<<1|0x01;}}}}void mainvoid{while1{key_scan;P0=dispcodevaluetimes-1;}}原理图:五、实验结果实验六字符式LED静态显示一、实验目的使用HD44780字符编码;在SMC 1602A液晶上静态显示字符串;第一行显示字符为stc89c51;第二行显示字符为proteus7.8..二、实验器件单片机AT89C51、瓷片电容CAP22Pf、晶振CRYSTAL 12MHz、电解电容CAP-ELEC 10uf、电阻RES、排阻RESPACLK-8、按钮BUTTON、LM016字符式LCD、可调电阻POT-HG..三、实验原理原理图:程序:#include<reg51.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned intsbit rs=P2^0;sbit rw=P2^1;sbit ep=P2^2;uchar code dis1={" stc89c51"}; uchar code dis2={"Proteus7.8"}; void delayuchar ms{uchar i;whilems--{fori=0;i<120;i++;}}uchar Busy_Checkvoid{uchar LCD_Status;rs=0;rw=1;ep=1;_nop_;_nop_;_nop_;_nop_;LCD_Status=P0&0x80;ep=0;return LCD_Status;}void lcd_wcmduchar cmd{whileBusy_Check;rs=0;rw=0;ep=0;_nop_;_nop_;P0=cmd;_nop_;_nop_;_nop_;_nop_;ep=1;_nop_;_nop_;_nop_;_nop_;ep=0; }void lcd_posuchar pos {lcd_wcmdpos|0x80;}void lcd_wdatuchar dat{ whileBusy_Check;rs=1;rw=0;ep=0;P0=dat;_nop_;_nop_;_nop_;_nop_;ep=1;_nop_;_nop_;_nop_;_nop_;ep=0;}void LCD_dispvoid{uchar i;lcd_pos1;i=0;whiledis1i='\0'{lcd_wdatdis1i;i++;}lcd_pos0x41;i=0;whiledis2i='\0'{lcd_wdatdis2i;i++;}}void lcd_initvoid{lcd_wcmd0x38;delay1;lcd_wcmd0x0e;delay1;lcd_wcmd0x06; delay1;lcd_wcmd0x01; delay1;}void mainvoid { lcd_init; delay10; LCD_disp; while1 {;}}四、实验结果。

相关文档
最新文档