计算机原理第一次实验_第1页
计算机原理第一次实验_第2页
计算机原理第一次实验_第3页
计算机原理第一次实验_第4页
计算机原理第一次实验_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、北京邮电大学计算机原理 流水灯实验 姓 名 吴挺斌 学 院 信息与通信工程学院 班 级 2017211116 学 号 2017210473 2019年 5月 18日一. 实验目的 1. 掌握 ARM 开发工具的使用。 2. 掌握基本 IO 的使用。 二.实验要求 设计并实现一个流水灯系统,具体要求如下: 系统上电时,八个 LED 灯从左至右间隔 100ms 依次点亮,类似流水效果,前一个 LED 灯点亮然后熄灭时点亮下一个 LED 灯,循环往复。实验任务 1)基础部分(必做实验) 1)C 语言编程实现一个流水灯实验 2)汇编语言编程实现一个流水灯实验2 提高部分(选做实验) 1)C 语言编程控

2、制七段数码管显示自己的学号三.基础实验功能实现3.1基础实验:在跑通流水灯的代码后,我尝试进行实验修改:通过设置合理时延和循环检查并修改相关变量,将八个LED灯从左到右依次点亮修改成为将八个LED灯由亮以此熄灭,然后循环往复。3.2基础实验程序流程图:开始 将led_data赋值为0xff(设置全亮)点亮 yesled_data=led_data-cont;依次熄灭NO判断led_data=0? 3.3.基础实验程序代码 #include "stm32f4xx.h"#include "delay.h"int main(void)uint8_t cont

3、= 1;uint16_t led_data = 0XFF;GPIO_InitTypeDef GPIO_InitStructure;RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF,ENABLE); /开启GPIOF的时钟GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; /输出模式GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; /推挽输出GPIO_InitStructure.GPIO_S

4、peed = GPIO_Medium_Speed; /速率2.5MHzGPIO_Init(GPIOF, &GPIO_InitStructure);GPIO_Write(GPIOF, 0x00FF);Delay_Init(); /延时初始化 while(1) if(cont=1)GPIO_Write(GPIOF,led_data); /全部点亮Delay_Ms(3000);led_data=led_data-cont; /控制依次熄灭GPIO_Write(GPIOF,led_data);cont=cont*2;Delay_Ms(3000);if(led_data=0x0000) /检测是

5、否全部熄灭 led_data=0x00ff;cont=1; 四.提高实验功能实现4.1提高实验:C 语言编程控制七段数码管显示自己的学号。4.2实验效果截图:4.3实验代码/显示17210473uint8_t digivalue = 0x06, 0x07, 0x5B, 0x06, 0x3F, 0x66, 0x07, 0x4F; /函数void SMG_Sele(uint8_t index) HC595_Send(digivalueindex); switch(index) case 0: HC138_C(0); HC138_B(0); HC138_A(0); break; case 1: HC

6、138_C(0); HC138_B(0); HC138_A(1); break; case 2: HC138_C(0); HC138_B(1); HC138_A(0); break; case 3: HC138_C(0); HC138_B(1); HC138_A(1); break; case 4: HC138_C(1); HC138_B(0); HC138_A(0); break; case 5: HC138_C(1); HC138_B(0); HC138_A(1); break; case 6: HC138_C(1); HC138_B(1); HC138_A(0); break; case 7: HC138_C(1); HC138_B(1); HC138_A(1); break; default: break; /主程序int main(void)uint8_t i;Delay_Init(); /延时初始化SMG_Init(); /数码管初始化while(1)SMG_Sele(i); /数码管显示数据i+;i &= 0x07;/end file五.实验总结和心得 通过设置变量对二进制数进行循环检查和运算实现了本次流水灯的扩展和基础实验。这是第一次微机原理的硬件实验,通过本次实验熟悉了实验系统,学习了最基本的硬件测试,对微机的驱

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论