单片机-4个独立按键的控制程序

  1 #include "8051.h"
  2 typedef unsigned char u8;
  3 typedef unsigned int u16;
  4 u8 smgduan[]= {
  5 /*0        1      2        3      4        5      6        7 */
  6 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07,
  7 /*8        9     A        B     C        D     E        F */
  8 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71};
  9 
 10 // P0口为数码管的位选的8位输入引脚
 11 // P0 = 0x00;
 12 
 13 
 14 void Delayms(u16 ms);
 15 void shumaguan(u8 n);
 16 void DigDisplay();
 17 
 18 void main()
 19 {
 20     while (1)
 21     {
 22         /*
 23         *   不推荐此做法
 24         *   此做法占用内存高
 25         */
 26         if (!K1)
 27         {
 28             // 软件延时消除抖动
 29             Delayms(10);
 30             if (!K1)
 31             {
 32                 LED_1 = !LED_1;
 33 
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
单片机独立按键控制LED灯程序在Proteus中的实现步骤如下: 1. 准备工作:打开Proteus软件,并创建一个新的工程。 2. 选择单片机模型:在组件库中选择一个合适的单片机模型,如ATmega16。将其拖放到工作区中。 3. 添加元器件:从元器件库中选择一个LED模型,并将其拖放到工作区中。 4. 连接电路:连接单片机和LED灯,将LED的正极连接到单片机的I/O口,将LED的负极连接到单片机的地(GND)引脚。 现在开始编写程序部分: 5. 点击单片机模型,并找到其属性窗口。在属性窗口中找到仿真选项,并将仿真速度设置为合适的数值,如10kHz。 6. 双击单片机模型进入代码编辑器,开始编写C语言程序。 7. 编写主函数:在程序的入口处定义主函数,如int main()。 8. 初始化引脚:使用端口初始化函数将单片机I/O口设置为输出或输入模式。例如,使用DDRx寄存器将引脚设置为输出模式。 9. 设定按键检测循环:使用while循环不断检测按键状态。 10. 检测按键:使用条件判断语句检测按键是否被按下。例如,使用if语句判断按键引脚的状态是否为低电平。 11. 控制LED亮灭:根据按键状态,在条件判断语句中控制LED灯的亮灭。例如,使用PORTx寄存器将引脚输出电平设置为高或低。 12. 结束程序:使用return语句结束程序的执行。 在代码编辑器中编写完程序后,保存并编译程序。然后回到Proteus主界面,添加一个仿真器,如AVR仿真器。点击仿真按钮启动仿真。 通过以上步骤,我们可以在Proteus中实现单片机独立按键控制LED灯的程序。在仿真中,可以通过按下按键来控制LED灯的亮灭状态。这样可以在仿真环境中验证和调试程序,确保其正常工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值