单片机实训报告

更新时间:2023-10-28 18:07:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

单片机原理及应用

实训报告

班级: 学号: 姓名: 指导教师: 实训总成绩:

一、 节日彩灯设计

题目:8位逻辑电平模块上的LED小灯从左向右呈现“鞭甩”的实验现象,状

态间隔为0.25秒;按键1开始,按键2结束。

原理图

程序代码:

#include

#define uchar unsigned char

uchar tab[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00}; sbit S1=P1^4; sbit S2=P1^7; unsigned char i,j; delay(unsigned int x) {

for(j=0;j

- 1 -

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

for(i=0;i<10;i++); }

void main() {

uchar i,b,d; while(1) {if (S1==0) {delay(50); if(S1==0); S1=b; b=0;

{for(i=0;i<8;i++) {

P2=tab[i]; delay(50); {if (S2==0) {delay(50); if(S2==0); S1=d; d=1; P2=0xff; }} } } } } }

设计思想总结

用C语言程序控制单片机最小系统,使IO口输出高低电平控制彩灯电路的闪烁。节日彩灯控制器是利用将单片机的CPU、RAM、ROM、定时器/计数器及输入/输出、I/O接口电路集成在一块集成电路芯片上的特点。通过其与发光二极

- 2 -

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

管及驱动电路的连接,从而构成一个完整的硬件电路。然后通过对单片机的ROM进行编程,实现对彩灯闪烁的控制。

二、定时器实现流水灯

题目:利用定时器/计数器T0产生2秒钟的定时,每当2秒定时到来时,更换

指示灯点亮,依次循环点亮。

原理图

程序代码

#include #include int lamp = 0xfe ; int cnt = 0; main()

{P2 = 0xfe; TMOD = 0x01;

TL0 = (65536 - 50000) % 256; TH0 = (65536 - 50000) / 256; TR0 = 1 ; ET0 = 1;

- 3 -

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

EA = 1; while(1) P2=lamp; }

void _time0(void ) interrupt 1 {

TL0 = (65536 - 50000) % 256; TH0 = (65536 - 50000) / 256; cnt++;

if(cnt == 40) {cnt=0;

lamp=_crol_(lamp,1); P2 = lamp; } }

设计思想总结

当AT89C51的P2口有低电平输出时,相应的发光二极管就会点亮。应用这一原理我们可以容易的点亮一个LED,通过定时器来保证每个LED灯点亮时间大约为2秒。

三、LED数显屏设计

题目:P0端口控制动态数码管的段码显示,P2端口控制动态数码管的位码显示,

P1.7接一个开关,当开关接高电平时,显示“12345”字样;当开关接低电平时,显示“54321”字样。

原理图

- 4 -

本文来源:https://www.bwwdw.com/article/uz42.html

Top