单片机实验4
单片机实验报告

单片机实验报告实验一:存储器块清零或赋值一、实验目的1 熟悉存储器的读写方法,熟悉51汇编语言结构。
2 熟悉循环结构程序的编写。
3 熟悉编程环境和程序的调试。
二、实验内容指定存储器中某块的起始地址和长度,要求将其内容清零或赋值。
例如将4000H开始的10个字节内容清零或全部赋值为33H。
注意:1 文件不要用中文名称保存时不要用中文路径(目录),不要放在“桌面”上,源文件和工程要放在同一个文件夹下,文件名称和路径名称不要太长。
2 查看存储器菜单使用:窗口---数据窗口---XDATA 观察存储器内容3 查看SFR:窗口---CPU窗口查看CPU寄存器SFR4 单步执行:执行---单步执行(F8),每执行一步,查看每条语句涉及到的寄存器和存储器内容的变化结果,是否是指令所要得到的结果,如不是,检查错误原因,修改。
5利用多种执行方法和观察各种窗口调试程序,直至程序满意为止。
三、实验仪器微机、VW,WA VE6000编程环境软件,(单片机实验箱)Lab6000/Lab6000通用微控制器MCS51实验四、实验步骤1、新建工程文件。
(注意:文件不要用中文名称保存时不要用中文路径)2、编写程序。
3、运行和调试过程。
外部数据存储器(4000H为首地址的10个字节)中初始状态(随便赋值FFH):单步执行程序,观察SFR中外部地址指针的变化;全速执行程序,可以看到外部数据存储器已赋值33H:五、实验结果可以看到外部数据存储器已赋值33H:六、问题讨论本次实验能够清楚地了解存储器中数据的移动和赋值过程,通过单步执行,对于每一步的指令操作过程能够了解如何执行,查看每条语句涉及到的寄存器和存储器内容的变化结果。
同时,学习掌握汇编程序的编写和调试过程。
实验二:存储块移动一、实验目的1 熟悉51汇编语言程序结构。
2 熟悉循环结构程序的编写,进一步熟悉指令系统。
3 熟悉编程环境和程序的调试。
二、实验内容将指定源地址(3000H)和长度(10字节)的存储块移动到目的地址(3050H)。
单片机实验四概要

实验五并行A/D 转换实验一、实验目的1、掌握ADC0809 模/数转换芯片与单片机的连接方法及ADC0809 的典型应用。
2、掌握用查询方式、中断方式完成模/数转换程序的编写方法。
二、实验内容利用系统提供的ADC0809 接口电路,实现单片机模数转换。
模拟信号为0~5V 电位器分压输出,单片机控制ADC0809 读取模拟信号,并在数码管上用十六进制形式显示出来。
三、实验说明和电路原理图1、本实验使用ADC0809 模数转换器,ADC0809 是8 通道8 位CMOS 逐次逼近式A/D 转换芯片,片内有模拟量通道选择开关及相应的通道锁存、译码电路,A/D 转换后的数据由三态锁存器输出,由于片内没有时钟需外接时钟信号。
芯片的引脚如图21-1,各引脚功能如下:IN0~IN7:八路模拟信号输入端。
ADD-A、ADD-B、ADD-C:三位地址码输入端。
CLOCK:外部时钟输入端。
CLOCK 输入频率范围在10~1280KHz,典型值为640KHz,此时A/D 转换时间为100us。
51 单片机ALE 直接或分频后可与CLOCK 相连。
D0~D7:数字量输出端。
OE:A/D 转换结果输出允许控制端。
当OE 为高电平时,允许A/D 转换结果从D0~D7端输出。
图21-1 0809 引脚ALE:地址锁存允许信号输入端。
八路模拟通道地址由A、B、C 输入,在ALE 信号有效时将该八路地址锁存。
START:启动A/D 转换信号输入端。
当START 端输入一个正脉冲时,将进行A/D 转换。
EOC:A/D 转换结束信号输出端。
当 A/D 转换结束后,EOC 输出高电平。
Vref(+)、Vref(-):正负基准电压输入端。
基准正电压的典型值为+5V。
2、本实验需要用到CPU 模块(F3 区)、电位器模块(E2 区)、并行模数转换模块(D7区)、串行静态数码显示模块(B4 区)。
ADC0809 并行模数转换电路原理参见图21-2。
单片机实训心得体会(4篇)

单片机实训心得体会在进行单片机实训的过程中,我深刻体会到了单片机的强大功能和广泛应用。
通过实际操作和实验,我不仅对单片机的原理和工作方式有了更深刻的理解,还学会了如何编写单片机的程序,并将其应用到各种实际场景中。
在实训开始之前,我对单片机的了解只限于书本上的知识,对于单片机的具体操作和编程实践还一无所知。
然而,在实训过程中,我逐渐熟悉了单片机的硬件结构和功能组件,并且通过实验了解了单片机的输入输出控制、定时器和中断、PWM模块等核心功能。
通过自己亲自动手进行实验,我才真正理解了书本上的知识。
在实训的过程中,我最大的收获是学会了如何使用Keil C编写单片机的程序。
起初,我对C语言的掌握并不是很熟练,但经过老师的指导和实践的积累,我逐渐掌握了C语言在单片机编程中的基本用法。
通过实际的编码练习,我掌握了C语言的基本语法、数据类型和流程控制语句,并学会了如何使用宏定义和函数来优化代码结构和提高代码的复用性。
在实训过程中,我还学习并使用了单片机的调试工具。
通过调试工具,我可以实时查看单片机的内部状态和寄存器的值,从而帮助我找到代码中的问题并进行调试。
调试工具的使用让我更加高效地进行单片机程序的开发和调试,提高了我的工作效率。
此外,在实训过程中,我还学会了如何使用单片机的外围设备和扩展模块。
通过学习和实践,我获得了对LED灯、数码管、蜂鸣器、按键等外围器件的掌握,并学会了如何通过编程控制这些器件的工作状态。
在此基础上,我还学会了如何使用LCD显示屏、ADC模块和串口通信等高级外设,并将其与单片机进行组合应用,实现更复杂的功能。
通过单片机实训,我不仅学到了很多专业知识,还培养了自己的动手实践能力和解决问题的能力。
在实际操作的过程中,我遇到了很多问题和困难,但通过自己不断的努力和思考,最终都找到了解决方案,并完成了实验任务。
这种解决问题的能力将对我未来的学习和工作有很大的帮助。
此外,通过单片机实训,我还增强了自己的团队合作能力。
单片机原理及应用实验报告

《单片机原理及应用》实验报告姓名:学号:班级:应用物理指导教师:日期:实验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 IO控制LED流水灯实验 (3)实验2 IO控制数码管动态扫描实验 (5)实验3 外部中断实验 (8)实验4 定时器应用控制实验 (10)实验5 UART实验 (12)实验6 键盘扫描输入编程 (14)实验7 UART与PC对话实验 (17)实验8 ADC数据采集实验 (19)实验1 IO控制LED流水灯实验1.实验目的1)、熟悉KEIL编程环境和调试环境。
2)、掌握单片机汇编语言和指令的用法。
3)、理解简单的IO控制程序,延迟子程序,并对其修改,使其功能改变。
2.实验设备硬件: PC 机,单片机教学实验开发平台;软件: KEIL集成开发环境、STC ISP程序下载软件。
3.实验内容使用P0口控制8个LED 进行流水灯显示。
4.实验预习要求和实验准备要求预习教科书关于单片机硬件架构内容、IO口的内容,特殊寄存器内容。
预习汇编程序编写、MCS-51指令表。
带上教科书、U盘、具备二进制和十六进制转换的科学计算器。
5.实验原理和步骤1)实验原理(1)实验原理图图1 P0口连接的8盏LED灯从图1中可以看出:如果需要把LED点亮有两个条件,其一是需要用短接帽把J1的2脚和3脚短接,在PCB上就是将电路板左上角LED和VCC短接起来;其二是P0.X口给出低电平,让电流从VCC开始流经限流电阻、LED后进入单片机的P0.X口,最后到单片机内部的地线上。
因此,简单地说就是在短接帽接好的前提下,向P0.X口写0则LED将点亮,写1则LED将熄灭。
图中网络标识PORT0_0、PORT0_1……PORT0_7和单片机P0.0、P0.1……P0.7连接,可观察原理图上单片机P0口的网络标识也是PORT0_0、PORT0_1……PORT0_7。
2)实验步骤(1)启动KEIL集成开发环境,按照《KEIL使用方法》中描述步骤进行工程建立、汇编源程序文件添加。
[整理]单片机6个必做实验
![[整理]单片机6个必做实验](https://img.taocdn.com/s3/m/1361a0cf7e192279168884868762caaedd33bac0.png)
第一部分软件实验实验一二进制到BCD码转换一、实验目的1、掌握简单的数值转换算法2、基本了解数值的各种表达方法二、实验说明单片机中的数值有各种表达方式,这是单片机的基础。
掌握各种数制之间的转换是一种基本功。
我们将给定的一个二进制数,转换成二十进制(BCD)码。
将累加器A的值拆为三个BCD码,并存入RESULT开始的三个单元,例程A赋值#123。
三、实验内容及步骤1、启动计算机,打开伟福仿真软件,进入仿真环境。
首先进行仿真器的设置,选择使用伟福软件模拟器。
2、打开TH2.ASM源程序进行编译,编译无误后,全速运行程序,打开数据窗口(DATA),点击暂停按钮,观察地址30H、31H、32H的数据变化,30H更新为01,31H更新为02,32H更新为03。
用键盘输入改变地址30H、31H、32H的值,点击复位按钮后,可再次运行程序,观察其实验效果。
修改源程序中给累加器A的赋值,重复实验,观察实验效果。
3、打开CPU窗口,选择单步或跟踪执行方式运行程序,观察CPU窗口各寄存器的变化,可以看到程序执行的过程,加深对实验的了解。
四、流程图及源程序1.源程序RESULT EQU 30HORG 0000HLJMP STARTBINTOBCD:MOV B,#100DIV ABMOV RESULT,A ;除以100得百位数MOV A,BMOV B,#10DIV ABMOV RESULT+1,A ;余数除以10得十位数MOV RESULT+2,B ;余数为个位数RETSTART:MOV SP,#40HMOV A,#123CALL BINTOBCDLJMP $END2.流程图实验四程序跳转表一、实验目的1、了解程序的多分支结构2、掌握多分支结构程序的编程方法二、实验说明多分支结构是程序中常见的结构,在多分支结构的程序中,能够按调用号执行相应的功能,完成指定操作。
若给出调用号来调用子程序,一般用查表方法,查到子程序的地址,转到相应子程序。
单片机中断实验实训报告

一、实验背景随着电子技术的飞速发展,单片机因其体积小、成本低、功能强大等优点,在各个领域得到了广泛应用。
中断技术是单片机设计中非常重要的一部分,它允许单片机在执行程序的过程中,能够及时响应外部事件,从而提高系统的实时性和效率。
本实训旨在通过实验,加深对单片机中断系统的理解,掌握中断系统的使用方法,并学会在实际应用中灵活运用中断技术。
二、实验目的1. 熟悉单片机中断系统的基本概念和原理。
2. 掌握中断源、中断优先级、中断服务程序等基本概念。
3. 学会使用单片机的中断系统实现实时响应外部事件。
4. 培养动手实践能力和问题解决能力。
三、实验器材1. 单片机实验板2. 示波器3. 电源4. 连接线5. 逻辑分析仪(可选)四、实验内容1. 实验一:外部中断实验(1)实验目的:验证外部中断功能,实现按键控制LED灯的点亮和熄灭。
(2)实验步骤:a. 将外部中断0(INT0)引脚连接到按键,按键按下时产生低电平信号。
b. 编写中断服务程序,实现按键按下时点亮LED灯,按键释放时熄灭LED灯。
c. 编译程序,下载到单片机实验板上。
d. 测试实验效果,观察LED灯的点亮和熄灭情况。
2. 实验二:定时器中断实验(1)实验目的:验证定时器中断功能,实现LED灯的定时闪烁。
(2)实验步骤:a. 配置定时器T0为模式1,设置定时器初值,使定时器溢出时间为1秒。
b. 开启定时器中断,编写定时器中断服务程序,实现LED灯的定时闪烁。
c. 编译程序,下载到单片机实验板上。
d. 测试实验效果,观察LED灯的闪烁情况。
3. 实验三:中断嵌套实验(1)实验目的:验证中断嵌套功能,实现定时器中断和外部中断的嵌套。
(2)实验步骤:a. 配置定时器T0为模式1,设置定时器初值,使定时器溢出时间为1秒。
b. 开启定时器中断和外部中断,设置中断优先级。
c. 编写定时器中断服务程序和外部中断服务程序,实现中断嵌套。
d. 编译程序,下载到单片机实验板上。
单片机定时器实验报告doc

单片机定时器实验报告篇一:单片机实验报告——定时器实验四定时器实验自动化121班 36 张礼一.实验目的掌握定时器的工作原理及四种工作方式,掌握定时器计数初始值的计算,掌握如何对定时器进行初始化,以及程序中如何使用定时器进行定时。
二.实验仪器单片机开发板一套,计算机一台。
三.实验任务编写程序,使用单片机开发板上8位共阴极数码管的其中一位来显示0~9这九个字符,先从“0”开始显示,数字依次递增,当显示完“9”这个字符后,又从“0”开始显示,循环往复,每1秒钟变换一个字符,1秒钟的定时时间必须由定时器T0(或T1)提供。
开发板上的8位共阴极数码管与单片机的输入输出端口P1的硬件接线如图4-1所示,单片机P1口的8条数据线通过J3端子同时连接到 2片74HC573D锁存器的输入端,数码管的各个同名端分别连接后再与锁存器U2的8个输出端相连,每一位数码管的位选端分别与锁存器U3的8个输出端相连。
两片锁存器的输出使能端OE都恒接地,使得锁存器的内部数据保持器输出端与锁存器的输出端保持接通。
而U2的锁存使能端LE由P2.1控制,所以P2.1是段锁存;U3的锁存使能端LE由P2.0控制,所以P2.0是位锁存。
当锁存使能端为“1”时,则锁存器输入端的数据传送到输出端;当锁存使能端为“0”时,锁存器输入端的数据则不能传送到输出端;因此段码和位码通过锁存器分时输出。
汇编语言程序流程如图4-2:四.实验步骤:1.数码管的0~9的字型码表如下:2.参考图4-2所给的程序流程图编写实验程序。
(注:以下程序为两位60秒计数程序)#include sbit wei=P2^0; sbit duan=P2^1;char table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};int i,j,k,num,shi,ge; void delay(int a) {for(i=0;i void display(int shi,int ge){wei=1;P1=0xfe;wei=0;duan=1;P1=table[shi];duan=0;wei=1; delay(5);P1=0xfd;wei=0; duan=1;P1=table[ge];duan=0; }void main() {TMOD=0x01;TH0=(65536-45872)/256; TL0=(65536-45872)%256; EA=1; ET0=1; TR0=1; num=0; while(1) {delay(5);display(shi,ge); } }void T0_time() interrupt 1 {TH0=(65536-45872)/256; TL0=(65536-45872)%256; k++; if(k==20) { k=0; num++;if(num==60)num=0; shi=num/10; ge=num%10; } }3.实验接线,如图4-1。
单片机实验报告四 外部中断实验

南昌大学实验报告学生姓名:学号:专业班级:实验类型:⃞验证⃞综合⃞设计⃞创新实验日期:2019. 4.30 实验成绩:实验四外部中断实验(一)实验目的1.掌握单片机外部中断原理;2.掌握数码管动态显示原理。
(二)设计要求1.使用外部中断0和外部中断1;2.在动态数码管上显示中断0次数,中断1用作次数清0,数码管采用74HC595驱动。
(三)实验原理1.中断:计算机执行主程序过程中,由于临时重要事件,需要暂停当前程序的运行,转到中断服务程序去处理临时事件,处理完后又返回原程序的断点处继续运行。
图1STC15单片机的中断系统包含21个中断源,2个中断优先级,二级中断服务嵌套,中断允许寄存器IE、IE2和INT_CLKO控制中断允许。
中断优先级寄存器IP、IP2管理中断优先级。
同优先级中断同时提出中断请求时,由内部的查询逻辑确定响应次序。
中断请求源中的外部中断0(INT0)和外部中断1(INT1)详述如下:1)外部中断0(INT0):中断信号由P3.2引脚输入。
通过IT0来设置中断请求的触发方式。
当IT0为“1”时,外部中断0为下降沿触发;当IT0为“0”时,无论是上升沿还是下降沿,都会引发外部中断0.一旦输入信号有效,则置位IE0标志,向CPU申请终端。
2)外部中断1(INT1):中断信号由P3.3引脚输入。
通过IT1来设置中断请求的触发方式。
当IT1为“1”时,外部中断0为下降沿触发;当IT1为“0”时,无论是上升沿还是下降沿,都会引发外部中断0.一旦输入信号有效,则置位IE0标志,向CPU申请终端。
2.LED数码管是显示数字和字母的常见显示器件,由8个发光二极管构成,结构如图2:图2段码:a、b、c、d、e、f、g、dp段的二进制代码(a为最低位),控制显示字型。
位选:公共端com,控制数码管是否显示。
3.数码管动态显示原理:任何时刻只有一个数码管处于显示状态,单片机采用“扫描”方式控制各个数码管轮流显示,通常将所有数码管段码线的相应段并联在一起,由一个8位I/O 端口控制。
单片机实验报告范文

单片机实验报告范文一、实验目的本实验的目的是通过学习单片机的基本原理和使用方法,掌握单片机在各个实际应用中的基本技能。
二、实验器材及原理1.实验器材:STC89C52单片机、电源、晶振、按键、LED灯、蜂鸣器等。
2.实验原理:单片机是一种微处理器,能够完成各种复杂的功能。
通过学习单片机的工作原理和编程方法,可以控制各种外围设备,实现不同的功能。
三、实验内容及步骤1.实验一:点亮LED灯步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。
(2)编写程序,点亮LED灯。
2.实验二:按键控制LED灯步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。
(2)将按键和LED灯与单片机相连。
(3)编写程序,实现按下按键控制LED灯亮灭。
3.实验三:数码管显示步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。
(2)将数码管与单片机相连。
(3)编写程序,将数字输出到数码管上显示。
4.实验四:定时器应用步骤:(1)连接电源和晶振,将STC89C52单片机连接到电路板上。
(2)编写程序,实现定时器功能。
四、实验结果及分析1.实验一:点亮LED灯LED灯成功点亮,证明单片机与外部设备的连接正常。
2.实验二:按键控制LED灯按下按键后,LED灯亮起,松开按键后,LED灯熄灭。
按键控制LED 灯的效果良好,说明单片机的输入输出功能正常。
3.实验三:数码管显示数码管成功显示数字,说明单片机能够实现数字输出功能。
通过程序设计,可以实现数码管显示不同的数字。
4.实验四:定时器应用定时器正常运行,能够实现精确的定时功能。
通过调节定时器的参数,可以实现不同的定时功能。
五、实验总结通过本次实验,我们学习了单片机的基本原理和使用方法。
通过掌握单片机的编程技巧,我们能够实现各种复杂的功能,如控制LED灯、按键控制、数码管显示等。
这些技能对于日常生活和工程设计都具有很大的实用性。
在实验过程中,我们遇到了各种问题,如电路连接错误、程序编写错误等。
实验四-MCS-51单片机外部中断实验

实验四-MCS-51单片机外部中断实验实验目的:1. 学习MCS-51单片机的外部中断原理和使用方法;2. 掌握如何通过硬件中断和软件中断实现MCS-51单片机的响应机制;3. 了解MCS-51单片机外部中断的实际应用。
实验器材:MCS-51单片机开发板、按键开关、调试器。
实验原理:MCS-51单片机通过INT0和INT1两个硬件中断引脚实现外部中断。
当INT0外部中断线检测到低电平信号时,中断向量为0x0003;当INT1外部中断线检测到低电平信号时,中断向量为0x0013。
通过配置中断控制寄存器IE和TCON,可以实现对外部中断的使能、触发方式和优先级等的控制。
MCS-51单片机还可以通过软件方式实现外部中断,即通过软件方式扫描外部信号,并在检测到信号发生变化时触发相应的中断处理程序。
实现软件中断的方法是使用定时器功能,通过定时器中断触发中断服务程序,该程序扫描外部信号,并根据需要触发软件中断。
实验步骤:1. 将开发板上的按键开关连接到开发板的P3.2引脚。
按键开关按下时,P3.2引脚被拉低,可以触发外部中断。
2. 打开Keil μVision5软件,新建工程,选择芯片型号为STC89C52,保存并命名为“Exp4”。
3. 在主函数中声明中断函数,并在中断函数中打印提示信息。
4. 在主函数中初始化中断控制寄存器IE和TCON,开启INT0外部中断,并将中断优先级设置为最高。
5. 在主函数中使用无限循环,来保持程序一直运行,并定时打印提示信息,以验证程序是否正常运行。
6. 烧录程序到开发板上,先在开发板上不按下按键,观察是否正常打印提示信息。
然后按下按键,观察是否触发外部中断,进入中断函数并打印提示信息。
实验代码:#include<STC89C52.h>#include<stdio.h>// 定义外部中断0的中断服务函数void Interrupt0() interrupt 0{printf("External interrupt 0 has occured!\n");}// 打印提示信息printf("Program is running...\n");while(1){// 定时打印提示信息printf("Hello!\n");delay_ms(1000);}}注意事项:1. 写中断程序时,一定要注意将中断函数的声明放在程序开头,否则可能会出现中断无法触发的情况;2. 在使用中断相关功能的时候,务必仔细阅读数据手册中的相关章节,以确保正确使用并且避免出现不必要的错误;3. 在进行外部中断实验的时候,可以使用按键开关、光敏电阻等外部器件来模拟外部信号的变化,以测试程序的正确性。
单片机课后答案及实验

INTS2: MOV @R0 , A
INC R0
RETI
ERROR: SETB 00H
RETI
END
;启动T1 ;设数据指针
;奇校验
;保存一个字符 ;报错程序
3. 以中断方式设计单片微机的秒、分发生 器。假定P1.0每秒产生一个机器周期的正脉 冲,P1.1实现每分钟产生一个机器周期的正 脉冲。加上必要的伪指令和注释。假定晶 振频率为12MHZ。
(1)若不能正常通讯,可能原因是:右下方的串行通讯波特率 (9600)开关选择错误;或串口连接导线松动。
(2)若程序确定无误,而发光二极管显示不正常,可能是导线短 路,请更换或叠加导线(个别不亮不影响观察结果,则无需更 换);若8个发光管全都不受控制,则可能是芯片损坏,请联 系老师更换。
(3)在输入指令过程中,要注意指令的完整性,不要遗漏“#”、 “END”,区别数字“0”与字母“o”、“O”,
DEL: JBC TF0,REP AJMP DEL
REP: CLR P1.2 DJNZ R0,DEL AJMP L1 END
3. 设MCS-51单片机的晶振频率为6MHZ,以计数器 T0进行外部事件计数,每计数1000个外部事件输 入脉冲后,计数器T1开始2ms定时,定时时间到后, T0又开始计数,如此周而复始地工作。
2. 像仿真器一样,我们可以在实验装置上进行软、 硬件调试,观察控制硬件的执行结果或每条指令 的执行结果;
3. 应该养成自己动手的习惯,只有多动手才有可能 深入掌握软、硬件知识;
4. 刚开始接触肯定会有很多问题,应该学会自己分 析问题,解决问题,不要急于问老师;
5. 做实验前要认真准备,编好源程序,有效利用紧 张的实验时间。
习题讲解
51单片机实验报告

51单片机实验报告一、引言51单片机是一种广泛应用于嵌入式系统开发的微控制器芯片。
本实验旨在通过对51单片机的实验研究,加深对该芯片的理解和应用。
二、实验一:LED灯闪烁控制本实验通过编写程序,控制51单片机上的LED灯以特定的频率闪烁。
为了实现这个目标,我们首先需要了解51单片机的引脚布局,确定LED灯的连接方式。
然后,通过编写相应的汇编程序,控制引脚的电平变化,从而实现LED灯的闪烁。
三、实验二:数码管显示数码管是一种常见的输出设备,通过控制引脚的输出来显示特定的数字。
本实验中,我们通过编写程序,实现通过51单片机控制数码管的显示。
通过对数码管的驱动原理和编程的学习,我们可以灵活地控制数码管的显示内容和频率。
四、实验三:蜂鸣器发声蜂鸣器是一种常见的声音输出设备,通过控制引脚的输出来产生特定的声音。
本实验中,我们通过编写程序,实现通过51单片机控制蜂鸣器的发声。
通过学习蜂鸣器的驱动原理和编程,我们可以根据需要产生不同频率和节奏的声音。
五、实验四:温湿度检测温湿度检测是一种常见的环境监测需求。
本实验中,我们通过引入温湿度传感器,实现通过51单片机获取环境的温度和湿度信息。
通过编写程序和读取传感器的数据,我们可以实时监测环境的温湿度,并进行相应的控制和反馈。
六、实验五:红外遥控红外遥控是一种常见的无线通信方式,通过发送和接收红外信号来实现远程控制。
本实验中,我们通过引入红外发射和接收模块,实现通过51单片机进行红外遥控。
通过编写相应的程序,设置红外遥控的编码和解码方式,我们可以实现对外部设备的遥控操作。
七、实验六:定时器应用定时器是51单片机中的重要模块,它可以实现定时和计数等功能。
本实验中,我们通过学习定时器的工作原理和编程,实现通过51单片机进行定时和计数的应用。
通过编写相应的程序和设置定时器的参数,我们可以实现不同的定时和计数功能,满足各种需要。
八、实验七:串口通信串口通信是一种常见的数据通信方式,通过串口接口发送和接收数据。
单片机原理及应用实验报告

单片机原理及应用实验报告一、引言单片机(Microcontroller Unit,简称MCU)是一种集成电路芯片,内部集成了微处理器、存储器、输入输出接口和定时器等功能模块,广泛应用于各种电子设备和控制系统中。
本实验报告将介绍单片机的基本原理以及其在实际应用中的实验。
二、单片机的基本原理单片机的核心是微处理器,它负责执行程序指令。
单片机的存储器包括程序存储器(Program Memory)和数据存储器(Data Memory)。
程序存储器用于存储程序指令,数据存储器用于存储数据和中间结果。
单片机通过输入输出接口与外部设备进行通信,通过定时器来控制程序的执行时间。
三、单片机的应用实验1. LED闪烁实验LED闪烁实验是单片机入门实验的经典案例。
通过控制单片机的输出口,周期性地改变LED的状态,从而实现LED的闪烁效果。
这个实验可以帮助初学者了解单片机编程的基本概念和操作。
2. 温度测量实验温度测量实验可以通过连接温度传感器和单片机的输入口,实时地获取环境温度,并通过数码管或LCD显示器来显示温度数值。
这个实验可以帮助学生掌握单片机输入输出口的使用方法,以及模拟信号的处理和显示。
3. 蜂鸣器控制实验蜂鸣器控制实验可以通过连接蜂鸣器和单片机的输出口,实现对蜂鸣器的控制。
通过编写程序,可以使蜂鸣器发出不同的声音,如单调的蜂鸣声、警报声等。
这个实验可以帮助学生学习单片机的数字输出和PWM(脉冲宽度调制)技术。
4. 电机控制实验电机控制实验可以通过连接电机和单片机的输出口,实现对电机的控制。
通过编写程序,可以控制电机的转动方向和速度。
这个实验可以帮助学生理解单片机输出口的电流和电压特性,以及电机的控制原理。
5. 红外遥控实验红外遥控实验可以通过连接红外接收器和单片机的输入口,实现对红外遥控信号的解码和处理。
通过编写程序,可以实现对各种红外遥控器的解码和按键处理。
这个实验可以帮助学生学习单片机输入口的中断处理和红外通信原理。
单片机IO口应用及键盘实验4-1

其他:
通道0作为I/O输出时,需要上拉电阻。驱动 MOS电路时,阻值为4.7K欧姆,驱动LED 显示器时为470欧姆;
通道0作为数据/地址线工作时,不需要上拉 电阻;
并口输出应用举例
VCC
R
VCC 220
2k Px.x
OUT LED
继电器
2 键盘扩展原理
消除键抖:JNB P口,分支
延迟程序
JB
P口,分支
按下一次键,在很短时间内弹起,算一次键抖
K3,K4处理程序结构
按键按下 消抖
寄存器加一/减一
寄存器判断
没有达到要求, 寄存器值赋值给A
达到要求, 寄存器值修改, 再把值送入A
查表显示
逻辑分析
先制一张表,表里面放入要显示的数值0~9共 十个数,表中数值地址也为0~9
KeyDown: CLR UpDown ;第四个键按下后的处理 KEY_RET: RET
采用中断方式 ?如何编程?
3 键盘实验(独立键盘)
键盘硬件连接如图 实验要求: 编写程序实现: 1)按K1,数码管显示0;按K2,数码管显示9 2)按K3,数码管当前数值加一 按K3,数码管当前数值减一
键盘的按键有触点式和非触点式 ; 按键开关的抖动问题 数字、功能、命令 键号、键值 重键
图2
键盘
键盘的类型: 独立式 行列式(或矩阵式) 键盘的工作方式 编程扫描(查询法) 定时扫描 中断
键盘和单片机的连接
和I/O相连:将每个按键的一端接到单片机的I/O口,另 一端接地,如图3所示是实验板上按键的接法,四个 按键分别接到P3.0 、P3.1、P3.2和P3.3
单片机I/O口应用及键盘实验
北科大单片机实验报告

北京科技大学《微机原理及应用》实验报告实验内容:单片机及应用班级:智能12姓名:2015年1月5日目录实验一A VR单片机硬件开发平台 (1)一、实验目的 (1)二、实验内容 (1)三、实验所用仪表及设备 (1)四、实验步骤 (1)了解A VR系列单片机 (1)认识A VR_StudyV1.1实验板的组成模块 (2)五、思考题 (6)六、心得体会 (7)实验二A VR单片机软件开发环境 (9)一、实验目的 (9)二、实验内容 (9)三、实验所用仪表及设备 (9)四、实验步骤 (9)新建项目 (9)编译项目 (11)下载程序 (11)五、思考题 (13)六、实验现象 (13)七、遇到的问题及解决方法 (14)八、心得体会 (15)实验三I/O口操作实验 (16)一、实验目的 (16)二、实验内容 (16)三、实验所用仪表及设备 (16)四、实验步骤 (16)硬件接线图: (16)新建工程,实现实验内容1。
(17)新建工程,实现实验内容2。
(18)下载程序,观察实验现象。
(19)五、实验现象 (20)六、思考题 (21)七、遇到的问题及解决方法 (22)八、心得体会 (22)实验四数码管显示实验 (24)一、实验目的 (24)二、实验内容 (24)三、实验所用仪表及设备 (24)四、实验步骤 (24)新建项目,实现实验内容1。
(24)建立新项目,实现实验内容2。
(24)五、实验现象 (25)七、遇到的问题及解决方法 (27)八、心得体会 (27)实验五按键实验 (28)一、实验目的 (28)二、实验内容 (28)三、实验所用仪表及设备 (28)四、实验步骤 (28)新建项目 (28)五、实验现象 (29)六、思考题 (30)七、遇到的问题及解决方法 (32)八、心得体会 (32)实验六外部中断实验 (34)一、实验目的 (34)二、实验内容 (34)三、实验所用仪表及设备 (34)四、实验步骤 (34)新建项目实现实验内容 (34)新建项目实现实验内容2 (36)五、实验现象 (37)六、思考题 (38)七、遇到的问题及解决方法 (39)八、心得体会 (40)实验七定时计数器实验 (42)一、实验目的 (42)二、实验内容 (42)三、实验所用仪表及设备 (42)四、实验步骤 (42)新建工程 (42)普通模式 (43)CTC模式 (43)五、实验现象 (44)六、思考题 (44)七、遇到的问题及解决方法 (45)八、心得体会 (45)选作内容:基于A VR Mega16单片机的闹表测温仪设计 (47)一、实验目的 (47)二、功能简介 (47)三、功能细节设计 (47)实验设备 (48)端口、功能分配以及硬件连接设计 (49)六、程序结构设计 (50)七、各功能模块的具体实现 (53)九、实验心得 (56)附录源程序: (57)实验一AVR单片机硬件开发平台一、实验目的1.了解ATmega16单片机的组成。
单片机原理实验报告

实验一:系统认识实验一、设计目的:1. 学习 Keil C51 集成开发环境的操作;2. 熟悉 TD-51 系统板的结构及使用。
二、设计内容:编写程序,将 00H~0FH 共 16 个数写入单片机内部 RAM 的 30H~3FH 空间。
三、设计步骤:1. 创建 Keil C51 应用程序(1)运行 Keil C51 软件,进入 Keil C51 集成开发环境。
(2)选择工具栏的 Project 选项,弹出下拉菜单,选择 NewProject 命令,建立一个新的μVision2 工程。
这时会弹出文件保存对话框,选择工程目录并输入文件名 Asm1 后,单击保存。
(3)工程建立完毕后,μVision2 会马上弹出器件选择窗口。
器件选择的目的是告诉μVision2 使用的 80C51 芯片的型号是哪一个公司的哪一个型号,不同型号的 51 芯片内部资源是不同的。
此时选择 SST 公司的 SST89E554RC。
(4)到此建立好一个空白工程,现在需要人工为工程添加程序文件,如果还没有程序文件则必须建立它。
选择工具栏的 File 选项,在弹出的下拉菜单中选择 New 目录。
(5)输入程序,完毕后点击“保存”命令保存源程序,将 Text1 保存成Asm1.asm。
Keil C51 支持汇编和 C 语言,μVision2 会根据文件后缀判断文件的类型,进行自动处理,因此保存时需要输入文件名及扩展名.ASM 或.C。
保存后,文件中字体的颜色会发生一定变化,关键字会变为蓝色。
(6)程序文件建立后,并没有与 Asm1.Uv2 工程建立任何关系。
此时,需要将 Asm1.asm 源程序添加到 Asm1.Uv2 工程中,构成一个完整的工程项目。
在Project Window 窗口内,选中Source Group1 点击鼠标右键,选择 Add Files to Group‘Source Group1’命令,此时弹出添加源程序文件对话框,选择文件Asm1.asm,点击 Add 命令按钮即可将源程序文件添加到工程中。
单片机原理及应用实验报告

ET0=1;
TR0=1;
while (1)
{
ScanKey0( );
keyscan( ); //按键扫描
time_pro( ); //时间处理
display( ); //显示时间
}
}
实验结果:
数码管可以显示时钟的时分秒,按下按键1,可以在时钟的时分秒为切换,按下按键2,可以在选择的任意位+1,从而实现时间的修改。
实验接线图:
实验程序:
#include<reg51.h>
#include<absacc.h>
#define uchar unsigned char
#define uint unsigned int
uchar code dispcode[ ]={0xC0,0xF9,0xA4,0xB0,0x99,
0x92,0x82,0xf8,0x80,0x90};
loop:
Dsplay();
goto loop;
}
void Dsplay() //动态扫描显示
{uchar i;
for(i=0,P1=0x01;i<6;i++)
{ P0=cDsCode[mDS[i]];//输出段
Delayms(2);
P1=P1<<1; //选通下一位
}
P1=0x00; //关闭位选通
实验五:存储器系统设计
实验目的:掌握存储器工作原理及特点。通过该实验让学生掌握单片机存储器系统的硬件设计,存储器在系统中的地址分配,地址总线、数据总线与控制总线的连接。
实验内容:1.在实验板上将一片6264RAM芯片设计成8K的外部数据存储器,地址为0000H—1FFFH。
实验四 MCS-51单片机外部中断实验ppt课件

精选ppt
3
报告要求
▪ 1、针对具体功能画出流程图 ▪ 2、编写程序 ▪ 3、写出程序执行调试的方法以及各寄存器
的状态
精选ppt
4
实验思考题
▪ 1、若要求3S后恢复原花样,如何编程。
精选ppt
5
感谢亲观看此幻灯片,此课件部分内容来源于网络, 如有侵权请及时联系我们删除,谢谢配合!
实验四 MCS-51单片机外部中断 实验
张正华 200MCS-51单片机外部中断的使用方 法。
▪ 2、掌握外部中断的初始化和设置。
精选ppt
2
实验内容
▪ 1、P1口外接八只二极管,按学生自行设 计的花样发光。外中断0接一单脉冲,当按 下单脉冲发生器,八只发光二极管同时点 亮。编程语言不限。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机实验七 LED点阵显示一.实验目的1.了解LED16X16点阵显示汉字的原理;2.理解并掌握单一I/O口串行传输一字节数据原理和编程实现方法;3.掌握串行移位寄存器74HC595的使用;4.进一步熟悉定时中断应用及子程序编写;5.了解16X16点阵汉字取模软件使用。
二.实验内容16X16点阵由四个8X8共阳点阵组成,编程实现汉字的静止显示和纵向移动显示。
三.实验电路原理图实验电路如图1所示,U1为51单片机,U2、U3、U4、U5为串行移位寄存器74HC595,LEDS1—LEDS4为8X8LED点阵(行共阳)并组成16X16点阵,RN1、RN2为集成电阻网络,在此起限流作用。
四.实验步骤根据实验电路结合实验内容确定程序流程。
1.在KEIL4中编辑、调试、编译程序。
2.在PRTUSE中设计电路,加载HEX文件运行仿真。
3.在实验箱上用杜邦线连接J17和P595-A,J18和P595-B,同时去掉JP1302和J11短路帽(即断开),连接JP5954。
4.打开实验箱电源开关,下载*.hex文件到单片机,观测点阵显示内容。
五.实验参考程序HC595_DIN BIT P3.4HC595_RCLK BIT P3.5HC595_SRCLK BIT P3.6ORG 0000HLJMP MAINORG 000BHLJMP TIMER0_INTORG 0100HMAIN: MOV SP,#60HCLR HC595_RCLKCLR HC595_DINCLR F0 ;扫完一帧标志位(F0=1,显示完一帧)MOV TMOD,#01H ;T0方式1, 行扫描驱动MOV TH0,#0FCH ;装初值,1Ms定时MOV TL0,#18HSETB ET0 ;允许T0中断SETB EA ;开总中断START: MOV DPTR,#TAB1LCALL DISPLAY_ACTMOV DPTR,#TAB2LCALL DISPLAY_ACTMOV DPTR,#TAB3LCALL DISPLAY_ACTMOV DPTR,#TAB4LCALL DISPLAY_ACTMOV DPTR,#TAB5LCALL DISPLAY_ACTMOV DPTR,#TAB6LCALL DISPLAY_ACTMOV DPTR,#TAB1LCALL DISPLAY_MOVINC DPHLCALL DISPLAY_MOVLJMP START;***静止显示一个汉字DISPLAY_ACT: MOV R6,#50 ;连续显示50帧,需0.8S DISPLAY_1: MOV R4,#16 ;每字16行MOV R2,#00H ;一帧扫描左半部行地址偏址MOV R3,#01H ;查表偏址(字第一行右半边编码地址) SETB TR0 ;WAIT: JBC F0,NEXT_ZHENAJMP WAITNEXT_ZHEN: DJNZ R6,DISPLAY_1RET;多字滚动显示 ;;********************;DISPLAY_MOV: MOV B,#01H ;向上移动显示,查表偏址暂存(从01开始)DISLOOP: MOV R5,#01H ;移动速度DISMOV: MOV R4,#16MOV R2,#00H ;第0行开始MOV R3,B ;SETB TR0 ;开扫描(每次一帧)WAITMOV: JBC F0,DISMOV1 ;标志为1扫描一帧结束AJMP WAITMOVDISMOV1: DJNZ R5,DISMOV ;1帧重复显示(控制移动速度) INC B ;显示字的下一行(每行2字节)INC BMOV A,R3 ;R3为0,8个字显示完JZ MOVOUT ;AJMP DISLOOP ;MOVOUT: RET;***P3.4串行发送一字节数据到HC595子程序SENDDATA: MOV R7,#8CLR CNEXT_B: CLR HC595_SRCLKRRC AMOV HC595_DIN,CSETB HC595_SRCLKNOPCLR HC595_SRCLKDJNZ R7, NEXT_BRET;***关行显示子程序DISPLAY_OFF: CLR HC595_RCLKMOV A,#00HLCALL SENDDATALCALL SENDDATAMOV A,#0FFHLCALL SENDDATALCALL SENDDATASETB HC595_RCLKCLR HC595_RCLKRET;***T0中断行扫描显示(中断服务程序)TIMER0_INT:MOV TH0,#0FCH ;1ms初值重装MOV TL0,#18HLCALL DISPLAY_OFFMOV A, R3 ;取行右边字节偏址MOVC A,@A+DPTR ;查表CPL ALCALL SENDDATA ;发送DEC R3 ;取行左边字节偏址MOV A, R3MOVC A,@A+DPTR ;查表CPL ALCALL SENDDATA ;发送PUSH DPHPUSH DPLMOV DPTR,#TAB ;MOV A,R2 ;取行右半部地址偏址 MOVC A,@A+DPTR ;查表LCALL SENDDATA ;发送INC R2 ;取行左半部地址偏址MOV A,R2MOVC A,@A+DPTR ;查表LCALL SENDDATA ;发送SETB HC595_RCLK ;HC595锁存输出 NOPCLR HC595_RCLK ;恢复低电平POP DPLPOP DPHDJNZ R4,NEXT_HANG ;SETB F0AJMP LOOPNEXT_HANG: INC R2 ;下一行地址 INC R3 ;下一行列数据地址INC R3INC R3LOOP: RETITABDB00H,80H,00H,40H,00H,20H,00H,10H,00H,08H,00H,04H,00H,02H,00H,01HDB80H,00H,40H,00H,20H,00H,10H,00H,08H,00H,04H,00H,02H,00H,01H,00HTAB1:;-- 文字: 西 --;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --DB000H,000H,0FFH,0FEH,004H,040H,004H,040H,07FH,0FCH,044H,044H,044H,044H,04 DB044H,044H,048H,03CH,050H,004H,060H,004H,040H,004H,07FH,0FCH,040H,004H,00 TAB2:;-- 文字: 安 --;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --DB002H,000H,001H,000H,03FH,0FEH,020H,004H,044H,008H,006H,000H,004H,000H,0FF DB008H,020H,008H,020H,008H,040H,006H,080H,001H,000H,006H,0C0H,018H,038H,0E0 TAB3:;-- 文字: 工 --;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --DB000H,000H,03FH,0FCH,001H,000H,001H,000H,001H,000H,001H,000H,001H,000H,001 DB001H,000H,001H,000H,001H,000H,001H,000H,001H,000H,0FFH,0FEH,000H,000H,000 TAB4:;-- 文字: 业 --;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --DB004H,040H,004H,040H,004H,040H,004H,044H,044H,046H,024H,04CH,024H,048H,014 DB01CH,050H,014H,060H,004H,040H,004H,040H,004H,044H,0FFH,0FEH,000H,000H,00TAB5:;-- 文字: 大 --;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --DB001H,000H,001H,000H,001H,000H,001H,000H,001H,000H,0FFH,0FEH,001H,000H,002 DB002H,080H,002H,040H,004H,040H,004H,020H,008H,010H,010H,018H,020H,00EH,040 TAB6:;-- 文字: 学 --;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --DB001H,008H,010H,08CH,00CH,0C8H,008H,090H,07FH,0FEH,040H,004H,08FH,0E8H,00 DB000H,080H,07FH,0FEH,000H,080H,000H,080H,000H,080H,000H,080H,002H,080H,001 ;-- 文字: 北 --;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --DB 04h, 80h, 04h, 80h, 04h, 88h, 04h, 98h, 04h,0A0h, 7Ch,0C0h, 04h, 80h,04h, 80hDB 04h, 80h, 04h, 80h, 04h, 80h, 04h, 80h, 1Ch, 82h,0E4h, 82h, 44h,7Eh, 00h, 00h;-- 文字: 信 --;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --DB 08h, 80h, 08h, 44h, 0Fh,0FEh, 10h, 00h,10h, 08h, 37h,0FCh, 50h, 00h,90h, 08hDB 17h,0FCh, 10h, 00h, 13h,0F8h, 12h, 08h, 12h, 08h, 12h, 08h, 13h,0F8h,12h, 08h;-- 文字: 学 --;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --DB 22h, 08h, 11h, 08h, 11h, 10h, 00h, 20h, 7Fh,0FEh, 40h, 02h, 80h, 04h,1Fh,0E0hDB 00h, 40h, 01h, 84h,0FFh,0FEh, 01h, 00h, 01h, 00h, 01h, 00h, 05h,00h, 02h, 00h;-- 文字: 院 --;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --DB 00h, 80h, 78h, 40h, 4Fh,0FEh, 54h, 02h, 58h, 14h, 63h,0F8h, 50h,00h, 48h, 08hDB 4Fh,0FCh, 48h,0A0h, 68h,0A0h, 50h,0A0h, 41h, 22h, 41h, 22h, 42h, 1Eh, 4Ch, 00h;-- 文字: "文" --;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --db 02h, 00h, 01h, 00h, 01h, 04h,0FFh,0FEhdb 10h, 10h, 08h, 10h, 08h, 20h, 04h, 20hdb 04h, 40h, 02h, 80h, 01h, 00h, 02h, 80hdb 04h, 60h, 08h, 10h, 30h, 0Eh,0C0h, 04h;-- 文字: "龙", --;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --db 02h, 00h, 02h, 40h, 02h, 20h, 02h, 04hdb 0FFh,0FEh, 02h, 80h, 02h, 88h, 04h, 88hdb 04h, 90h, 04h,0A0h, 08h,0C0h, 08h, 82hdb 11h, 82h, 16h, 82h, 20h, 7Eh, 40h, 00h;-- 文字: "和", --;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --db 02h, 00h, 07h, 00h, 78h, 00h, 08h, 04hdb 0Ah,0FEh,0FFh, 84h, 08h, 84h, 18h, 84hdb 1Ch, 84h, 2Ah, 84h, 2Ah, 84h, 48h, 84hdb 88h,0FCh, 08h, 84h, 08h, 00h, 08h, 00h;-- 文字: "刘", --;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --db 20h, 04h, 18h, 04h, 09h, 24h,0FFh,0A4hdb 02h, 24h, 42h, 24h, 22h, 24h, 14h, 24hdb 14h, 24h, 08h, 24h, 08h, 24h, 14h, 24hdb 22h, 04h, 43h, 04h, 81h, 14h, 00h, 08h;-- 文字: "云", --;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --db 00h, 00h, 00h, 20h, 1Fh,0F0h, 00h, 00hdb 00h, 00h, 00h, 04h,0FFh,0FEh, 02h, 00hdb 02h, 00h, 04h, 00h, 04h, 00h, 08h, 00hdb 08h, 20h, 10h, 10h, 3Fh,0F8h, 00h, 08h;-- 文字: "飞", --;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --db 00h, 20h,0FFh,0F0h, 00h, 20h, 00h, 24hdb 00h, 2Ch, 00h, 30h, 00h, 20h, 00h, 30hdb 00h, 2Ch, 00h, 24h, 00h, 20h, 00h, 20hdb 00h, 10h, 00h, 12h, 00h, 0Ah, 00h, 04hEND注:在PROTEUS中仿真时,选用绿色8x8点阵(较亮),此点阵为行共阴,与实验箱上的点阵(行共阳)不同,所以此程序需修改三处:1.行驱动编码表TAB,2.列扫描数据不用取反,3.关显示列扫描与行驱动数据。