单片机C语言编程:按键、计数及显示
来源:互联网 发布:suse linux配置vlan 编辑:程序博客网 时间:2024/04/21 00:36
以前写过一个用汇编语言编写的程序,可见:
http://hi.baidu.com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item/d5a529b5320ce57f8ad4b2b4.html
应网友要求,下面写一个用C语言编写的程序。
电路中,共使用了三个按键,两位数码显示。使用12MHz或11.0592MHz的晶振皆可。
用Proteus仿真运行后截图如下:
图片链接:http://hi.baidu.com/%D7%F6%B6%F8%C2%DB%B5%C0/album/item/081b44444616af6ecefca38d.html
程序如下:
//===================================================
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit ADD_1 = P3^2;
sbit SUB_1 = P3^3;
sbit RST_0 = P3^4;
uchar num;
uchar code DIS_SEG7[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
//---------------------------------------------------
void delay(uint ms)
{
uint i, j;
for(i = ms; i > 0; i--) for(j = 110; j > 0; j--);
}
//---------------------------------------------------
void display(uchar num)
{
P2 = 0; //消隐
P0 = DIS_SEG7[num / 10]; //输出段码
P2 = 2; //显示位置
delay(3); //显约3ms
P2 = 0;
P0 = DIS_SEG7[num % 10];
P2 = 1;
delay(3);
}
//---------------------------------------------------
void main()
{
num = 0;
while(1) { //主循环
display(num); //显示
if (ADD_1 == 0) { //如果有键按下
display(num); //用显示代替延时
if (ADD_1 == 0) { //如果键还在按下
num++; //按键功能处理
if (num >= 100) num = 0;
while(ADD_1 == 0) display(num); //等待按键释放
}
}
if (SUB_1 == 0) {
display(num);
if (SUB_1 == 0) {
num--;
if (num == -1) num = 99;
while(SUB_1 == 0) display(num);
}
}
if (RST_0 == 0) {
display(num);
if (RST_0 == 0) num = 0;
while(RST_0 == 0) display(num);
}
} }
//===================================================
- 单片机C语言编程:按键、计数及显示
- 单片机汇编语言编程:按键、计数及显示
- 单片机C语言编程-定时器/计数器(计数方式)
- 单片机:c语言实现秒表计数(按键开始,结束,重置)
- 单片机C语言编程
- 单片机C语言编程
- 51 单片机 C 语言编程:矩阵键盘输入,显示在数码管
- 单片机C语言编程规范
- 用C语言编程使51单片机的数码管左移循环显示
- 51 单片机 C 语言编程:4×4键盘、164 驱动显示、并发音
- 计数排序及C语言实现
- 《32位单片机c语言编程》笔记
- 单片机C语言的编程规范
- 迟思堂工作室编程规范:单片机C语言
- 基于单片机C语言编程格式
- 单片机编程C语言 好多for嵌套
- 单片机C语言编程的基础知识
- 51单片机 C 语言编程:单片机定时中断
- Linux 设置core dump
- 用两片74HC138设计一个4-16译码器
- 关于51单片机IO引脚的驱动能力与上拉电阻
- 单片机IO引脚驱动能力的提高
- PC(Personal Computer),个人计算机,关于它诞生的传奇
- 单片机C语言编程:按键、计数及显示
- JS良好的编程习惯
- 复合键在4×4 矩阵式键盘中的应用方法
- 基于51单片机的脉搏测量仪
- 蓝桥杯 数字游戏(思维,有坑!)
- Java关键字transient和volatile小结
- 春天里
- 按键控制显示
- MySQL实现统计数据并插入数据的存储过程