61单片机项目 - 使用C语言实现A口作为输入口、B口作为输出口
来源:互联网 发布:网络监测工具 编辑:程序博客网 时间:2024/06/16 01:55
实现功能:IOA低八位端口作为按键输入口,IOB低八位端口作为输出口,控制8个发光二极管,实现键控LED灯(发光二极管)的显示。
实验现象:不同的发光二极管点亮表示有不同的键按下。当第一个按键按下时,第一个发光二极管点亮,第i(1≤i≤8)个按键按下时,第i(1≤i≤8)个发光二极管点亮。
拓展:A口作为输出、B口作为输入,其他要求同上。
这里大家尤其注意上拉电阻输入以及下拉电阻输入的区别,上拉电阻输入大家可以理解为IO口出为高电压,那么要输入信息必须是使输入口出现低电平,那么就会导致IO口的电压减少,从而检查出信号
而下拉电阻则是接地,接地大家都知道,那么该IO口为负极,想一想,为负极的话,如果提供给他负极肯定没有用因为都是负极,那么我们需要提供给他正极,让他带上正电荷,那么就可以检测出信息了。
#include "SPCE061A.H"#define uint unsigned int#define uchar unsigned charuint GetKeys(void);int main(void){ uint Keys; *P_IOB_Dir = 0x00ff;//IOB低电平输出 *P_IOB_Attrib = 0x00ff; *P_IOB_Data = 0x0000; *P_IOA_Dir = 0x0000;//IOA上拉电阻输入 *P_IOA_Attrib = 0x0000; *P_IOA_Data = 0x00ff; while(1) { Keys = GetKeys(); if(Keys != 0x0000) { *P_IOB_Data = Keys; } *P_Watchdog_Clear = C_WDTCLR; } return 0;}uint GetKeys(){ uint nKeys; nKeys = *P_IOA_Data; nKeys = ~nKeys; nKeys &= 0x00ff; return nKeys;}
0 0
- 61单片机项目 - 使用C语言实现A口作为输入口、B口作为输出口
- 61单片机项目 - 使用C语言实现A/B口的输出
- C语言读取文件中的数据作为输入和输出
- STM32单片机释放PB3/PB4/PA15作为普通IO口
- c语言,函数参数如何作为输出
- Arduino基础入门四:数字IO口作为输入
- Arduino基础入门三:数字IO口作为输出
- Objective-C - A类作为B类的属性
- 学习C语言的第一题 输入 输入两个数,a,b 输出 输出a+b的值 样例输入 2 3 样例输出 5
- 【c语言】输入a,b,c三个值,输出其中最大者
- c语言:编写一个程序,输入a,b,c三个值,输出其中最大者
- 使用Log4PHP作为php项目的log输出工具
- C语言 a++为什么不能作为左值?
- 使用DBInputFormat作为输入数据源
- 61单片机项目 - 定时器Timer A/B
- 输入a,b,c3个整数,按从大到小顺序输出(C语言)
- 管道输出作为程序的输入
- 复制A项目到B项目,作为B项目的子包报错:提示:R cannot be resolved to a variable
- HDU1372 Knight Moves(BFS)
- IOS手势
- Android Studio 中提示 Private field ‘minute’ is assigned but never accessed 的原因
- C++ 防 陷阱1 逗号分隔的表达式
- 过滤导致json.parse出现SyntaxError的特殊字符
- 61单片机项目 - 使用C语言实现A口作为输入口、B口作为输出口
- DELPHI短信接口开发经验及具体开发实现
- HDU 5428
- javascript 整型与字符串比较大小
- ParallaxHeaderViewPager改进
- NOIP 2000 方格取数 NOIP 2008 传纸条 多线程DP
- Java获取某个月的天数
- 在window 下安装Memcache详解
- java IO流分析,java文件读写