急!【高分悬赏】北交大(单片机实验控制)课的实验一(回答得好有追加) 我只要实验程序和思考问题的答案

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了急!【高分悬赏】北交大(单片机实验控制)课的实验一(回答得好有追加) 我只要实验程序和思考问题的答案相关的知识,希望对你有一定的参考价值。

完成实验立即给分:

I. 实验目的
(1). 初步熟悉实验系统的使用方法;
(2). 初步了解C8051F320单片机的程序设计方法:系统时钟的设置、交叉开关译码器的设置、I/O端口特性的设置、WDT的设置和应用以及定时器的应用。
(3). 了解LED、有源蜂鸣器的工作原理和应用方法;
(4). 了解LED数码管动态显示扫描的原理和应用方法。

II. 实验环境
(1). PC机一台,运行µVision IDE;
(2). BJTU-F32-1实验板一块;
(3). USB电缆两根。

III. 实验要求
(1). LED灯的显示控制,按黄、绿、红、灭的顺序进行显示,更新时间为1秒;
(2). 实现6位LED数码管的动态扫描显示功能,显示内容为时、分、秒;
(3). 蜂鸣器控制,每增加一秒用短音提示,每到整分或整时用中短音或长音提示;
(4). 使用片内WDT。

V. 实验步骤
(1). 通过10针扁平电缆将通信适配器ML-EC3的IDC接口与BJTU-F32-1实验板上的JTAG接口连接;
(2). 通过USB电缆将PC机的USB与通信适配器ML-EC3的USB接口相连;
(3). 通过USB电缆将PC机的USB与BJTU-F32-1实验板上的USB接口相连;
(4). 在IDE中进行编程;
(5). 建立硬件调试环境;
(6). 进行硬件调试。

VI. 实验报告
除按普通实验报告要求外,还须包括以下内容:
(1). 与实验相关的硬件原理说明;
(2). 实验程序中所有与硬件设置相关的特殊功能寄存器参数的说明。
(3). 实验程序的流程图及源程序(源程序作为附录);

VII. 问题与思考
(1). 请说明完成交叉开关译码器设置的基本步骤。
(2). 程序是如何将单片机的系统时钟设置为24MHz的?单片机复位后的系统时钟是多少?
(3). 程序是如何实现1秒定时的?
(4). 程序是如何设置片内WDT的?其复位定时约为是多少?
(5). 不断增大LED数码管的动态扫描间隔会出现什么现象?其原因是什么?
(6). 请说明函数void disp_flash (uchar seg,uchar led,uchar dig)的功能和控制硬件的具体过程。
(7). 如程序使用中断实现定时,请说明如何编写中断服务程序。
只要实验程序就行!!!

ORG 0000H
AJMP MAIN
ORG 001BH
AJMP BRT1
MAIN: MOV TMOD #10H
MOV TH1,#3CH
MOV TL1,#0B0H
MOV R1,#10H
MOV R0,#70H
MOV R2,#5
MOV R3,#02H
MOV IE,#88H
SETB TR1
LOOP: SJMP $
BRT1: MOV TH1,#3CH
MOV TL1,#0B0H
DJNZ R3,DONE
MOV R3,#02H
DJNZ R2,LOOPD
CLR ET1
SJMP DONE
LOOPD: MOV R4,#10
LOOP1: MOV A,@R1
MOV @R0,A
INC R1
INC R0
DJNZ R4,LOOP1
DONE: RETI
END
参考技术A 很难找到答案,别人没有你的板卡基本没法做。追问

给个联系方式呗
我把参考程序发给你看看有木有思路行么

单片机与控制实验——LED点阵显示屏

本文为大大维原创,最早于博客园发表,转载请注明出处!!!

一、实验目的和要求

  了解LED点阵显示的基本原理和实现方法。掌握点阵汉字库的编码和从标准字库中提取汉字编码的方法。

二、实验设备

  单片机测控实验系统
  LED点阵显示器实验模块
  Keil开发环境
  STC-ISP程序下载工具

三、实验内容

  了解16*16点阵电路的原理。编写汇编语言程序,编写一行汉字字符(至少三个字)的显示程序,并且能够从左到右(或从右到左)循环显示。

四、实验步骤

  1. 掌握点阵式LED显示屏的控制方法;
  2. 使用MCS-51汇编语言,使用LED点阵显示器显示出正确的汉字字符及动态效果;
  3. 将编译后的程序下载到51单片机,观察LED显示屏的显示结果。

五、实验原理

  高亮度LED发光管构成点阵,通过编程控制可以显示中英文字符、图形及视频动态图形。所显示字符的点阵数据可以自行编写(即直接点阵画图),也可从标准字库(如ASC16、HZ16)中提取。后者需要正确掌握字库的编码方法和字符定位的计算。

 

实验用的LED点阵显示屏为16*16点阵。
行和列分别使用两个移位寄存器作为输出。
当移位寄存器输出的第i行为0,第j列为1时点亮点(i,j)。
为了能够显示出一个点阵字型,需要进行循环扫描,也就是每一次只点亮一行,然后在列上输出该列对应的16个点阵值。
输出一行后暂停一段时间,输出下一行。为了达到较好的显示效果,整屏总的扫描时间不高于40ms。
上述过程中行列可以互换。
实验中使用的移位寄存器是74HC595,它是一个同时具有串行移位和输出锁存驱动功能的器件。
74HC595是具有8位移位寄存器和一个存储器,三态输出功能。 移位寄存器和存储器是分别的时钟。
数据在SRCK(移位寄存器时钟输入)的上升沿输入到移位寄存器中,在RCK(存储器时钟输入)的上升沿输入到存储寄存器中去。
移位寄存器有一个串行移位输入(行Dx(P00)、列Dy(P03)),和一个串行输出(QH),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能 (P02和P07为低电平)时,存储寄存器的数据输出到总线。
在控制74HC595时,首先将数据放到串行输入的SI端,然后在串行时钟SRCK上产生一个脉冲,即可输出一个bit,重复以上步骤16次,输出所有列值。
然后给存储器时钟RCK一个脉冲,将串行数据锁存起来。将使能端 输出低电平,驱动到LED点阵上。
行的输出每次只移位一次,并重新锁存即可。
其他信息见给定的参考资料。

六、实验代码  

ORG 0000H
AJMP START
ORG 0030H
START:
D_X EQU P0.0 
CK_X EQU P0.1
CK_XL EQU P0.2
D_Y EQU P0.3
EN_Y EQU P0.4
CK_Y EQU P0.5 
CK_YL EQU P0.6 
EN_X EQU P0.7
COUNT EQU R0
COUNT_X EQU R3
COUNT_Y EQU R4

MOV R0,#0 ;完成第R0/2屏扫描
MOV R1,#8
MOV R2,#16
MOV COUNT_X,#0
MOV COUNT_Y,#0
MOV R5,#32 ;一屏16列,总共扫描48列,需要扫48-16=32屏
CLR EN_X
CLR EN_Y

;初始化
MAIN:
CLR A
MOV COUNT_Y,A ;COUNT_Y=0
CLR A
MOV A,COUNT
MOV COUNT_X,A ;COUNT_X=COUNT

LOOP:
ACALL DISPLAY_Y
ACALL DISPLAY_X
ACALL DELAY 
DJNZ R2,LOOP

;长延迟
MOV R1,#0FFH
MOV R7,#2FH
L_DELAY:
ACALL DELAY
DJNZ R1,L_DELAY
DJNZ R7,L_DELAY

MOV R1,#8
INC COUNT
INC COUNT ;扫一屏,COUNT加2

DJNZ R5,MAIN
MOV R5,#0FFH
AJMP START

 

DISPLAY_Y:
MOV DPTR,#TAB_Y
CLR A
MOV A,COUNT_Y
MOVC A,@A+DPTR
MOV R1,#8

LP_Y1:
RLC A 
CLR CK_Y 
MOV D_Y,C 
SETB CK_Y
DJNZ R1,LP_Y1

MOV R1,#8
INC COUNT_Y

CLR A
MOV A,COUNT_Y
MOVC A,@A+DPTR

LP_Y2:
RLC A 
CLR CK_Y 
MOV D_Y,C 
SETB CK_Y
DJNZ R1,LP_Y2

MOV R1,#8
INC COUNT_Y

CLR CK_YL 
NOP
SETB CK_YL

CLR EN_Y
CLR CK_YL
RET


DISPLAY_X:
MOV DPTR,#TAB_X
CLR A
MOV A,COUNT_X
MOVC A,@A+DPTR
MOV R1,#8

LP_X1:
RLC A 
CLR CK_X 
MOV D_X,C 
SETB CK_X
DJNZ R1,LP_X1

MOV R1,#8
INC COUNT_X
CLR A
MOV A,COUNT_X
MOVC A,@A+DPTR

LP_X2:
RLC A 
CLR CK_X 
MOV D_X,C 
SETB CK_X
DJNZ R1,LP_X2

MOV R1,#8
INC COUNT_X

CLR CK_XL 
NOP
SETB CK_XL

CLR EN_X
CLR CK_XL
RET

;延迟函数
DELAY:
MOV R6,#0FH
DJNZ R6,$
RET

TAB_X:
;===========================================================================
;我(0) 爱(1) 你(2)

DB 04H,00H,24H,10H,24H,12H,24H,21H,7FH,0FEH,0C4H,40H,44H,82H,04H,02H;
DB 04H,04H,0FFH,0C8H,04H,30H,44H,28H,34H,44H,05H,82H,04H,1FH,00H,00H ;"我",0

DB 01H,00H,26H,82H,34H,84H,2CH,89H,24H,91H,24H,0E1H,37H,0B2H,4CH,0AAH;
DB 44H,0A4H,44H,0A4H,4CH,0AAH,74H,0B2H,0C4H,81H,45H,01H,06H,01H,00H,00H ;"爱",1

DB 00H,80H,01H,00H,06H,00H,1FH,0FFH,0E0H,00H,02H,08H,04H,30H,18H,0C0H;
DB F0H,02H,10H,01H,13H,0FEH,10H,00H,10H,80H,14H,60H,18H,18H,00H,00H ;"你",2
;===========================================================================
TAB_Y:
;===========================================================================
DB ~80H,0FFH,~40H,0FFH,~20H,0FFH,~10H,0FFH,~08H,0FFH,~04H,0FFH,~02H,0FFH,~01H,0FFH
DB 0FFH,~80H,0FFH,~40H,0FFH,~20H,0FFH,~10H,0FFH,~08H,0FFH,~04H,0FFH,~02H,0FFH,~01H
;===========================================================================
END

七、附录

 

实验电路原理图:点击查看

以上是关于急!【高分悬赏】北交大(单片机实验控制)课的实验一(回答得好有追加) 我只要实验程序和思考问题的答案的主要内容,如果未能解决你的问题,请参考以下文章

高分悬赏急求一段源代码

C语言程序设计编写一个交通红绿灯的控制,各位高手帮帮忙急!

急急急!!高分悬赏,windows 2008远程桌面连接问题

C语言实验题 求大神指点

急!高分悬赏!求c语言高手!!!二叉树输入中如何判断输入是不是合法?

单片机原理及其应用——单片机控制单个发光二极管实验