1. 程式人生 > >獨立鍵盤檢測 proteus模擬小實驗

獨立鍵盤檢測 proteus模擬小實驗

實驗:用數碼管的前兩位顯示一個十進位制數,變化範圍為00-59,開始時顯示00。每按下S2鍵一次數值加一;每按下S3鍵一次數值減一;每按下S4鍵一次數值歸零;按下S5鍵一次,利用定時器功能使數值開始自動每秒加一,再次按下S5鍵數值停止自動加一,保持顯示原數。

程式:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit key1=P3^4;
sbit key2=P3^5;
sbit key3=P3^6;
sbit key4=P3^7;
sbit dula=P2^6;
sbit wela=P2^7;
uchar code table[]={

0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5c,0x79,0x71};
void delayms(uint x);
uchar numt0,num;//num0為中斷次數
uint i,j;
void display(uchar numdis)
{
uchar shi,ge;
shi=numdis/10;
ge=numdis%10;
dula=1;
P0=table[shi];
dula=0;
P0=0xff;
wela=1;
P0=0xfe;
wela=0;
delayms(500);
dula=1;
P0=table[ge];
dula=0;
P0=0xff;
wela=1;
P0=0xfd;

wela=0;
delayms(500);
}
void delayms(uint x)
{
for(i=x;i>0;i--)
for(j=110;j>0;j--);
}
void init()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
}
void keyscan()
{
if(key1==0)
{
  delayms(40);
  if(key1==0)
  {
   num++;
   if(num==60)
    num=0;
   while(!key1);
  }
}
if(key2==0)
{
  delayms(40);
  if(key2==0)
  {

   if(num==0)
    num=60;
    num--;
   while(!key2);
    }
}
if(key3==0)
{
  delayms(40);
  if(key3==0)
  {
   num=0;
   while(!key3);
  }
}
if(key4==0)
{
  delayms(40);
  if(key4==0)
  {
   while(!key4);
   TR0=~TR0;
  }
}
}
void main()
{
init();
while(1)
{
  keyscan();
  display(num);
}
}
void T0_time() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
numt0++;
if(numt0==20)
{

相關推薦

獨立鍵盤檢測 proteus模擬實驗

實驗:用數碼管的前兩位顯示一個十進位制數,變化範圍為00-59,開始時顯示00。每按下S2鍵一次數值加一;每按下S3鍵一次數值減一;每按下S4鍵一次數值歸零;按下S5鍵一次,利用定時器功能使數值開始自動每秒加一,再次按下S5鍵數值停止自動加一,保持顯示原數。程式:#inclu

關於wxpy的實驗(一):實現登入微信、訊息接收、處理、回覆和人臉檢測處理反饋

概述:本文主要是博主想分享一下最近在學習python和opencv時做的一些小實驗和作為自己程式設計之路剛開始的一個小筆記。在剛接觸python時發現了有一個叫wxpy的東西,他可以實現讓微信自動接收、

CISCO綜合實驗

cisco 綜合實驗 ccna 前言:今天分享我自己做的一個思科綜合小實驗,難度CCNA級別。主要涉及以下知識點:VLAN、DHCP、STP(spanning-tree)+HRSP(standby)、OSPF、NAT、ACL。實驗用的是GNS3模擬器。實驗如下:實驗目的:最終的實驗目的是PC能夠訪

Spring框架——關於IOC容器和註解的36個實驗

web beans count 註入 定義 目標 初始化 getc pan 實驗1:通過IOC容器創建對象,並為屬性賦值★ <bean id="page" class="com.neuedu.Bean.Page"> <property name="f

智能小車23:檢測電壓模塊實驗

充足 是把 一個 般的 紅色 發現 現在 綠色 電量 之前電壓檢測實驗失敗了。當電壓降低時,確實會執行 digitalWrite(lightFlagPin,HIGH),也就是把燈點亮。但實際的實驗中只發現燈亮了不超過3秒,之後就是一直處於滅燈的狀態。按之前的代碼邏輯,電壓不

網絡工程實驗

acl dhcp hsrp今天自習課的一點點小內容吧,哈哈…算是一個綜合性的小實驗吧,涉及的內容包含了之前所學的,其實也不是很難,但是整個過程都細心,雖然平時老師都教了我們怎樣去檢查,為了不斷片,不得不一邊做一邊記,整個過程沒有出現太大的問題吧,幫助命令: CDP-cisco discovery protoc

CSMA/CD協議(載波偵聽多路訪問/碰撞檢測) 最幀長理解

ges 傳輸 分享 png 理解 時延 cnblogs mage csma/cd 以下的幀長有的是指幀的時間長度,幀的時間長度= 幀長/傳輸時延 CSMA/CD協議(載波偵聽多路訪問/碰撞檢測) 最小幀長理解

日誌管理之實驗:實現loganalyzer

spa 16px www oracle createdb analyzer name yum quick 實驗目的:以報表圖形格式展示數據庫,便於觀看和理解 實驗工具:三臺主機(A主機:centos7--配置數據庫 B主機:centos6--記錄日誌 C主機:ce

Java實驗之數據轉換

n) ann + - close pri oid image int() 數據 看到有人問如圖的程序,就去寫了幾行代碼,順便復習一下條件語句和ASCII碼 1 import java.util.Scanner; 2 public class test1

關於purge master logs的一個實驗

關於purge master logs的一個小實驗原理部分來自《MariaDB原理與實現》 Page109-111purge刪除binlog的過程如下:1、檢查to_log在mysql-bin.index中是否存在,避免非法的purge操作2、創建一個purge_index_file,用於保存待刪除的binl

實驗:PC9與PC10連通的命令操作

網絡實驗目的:PC9和PC10相互連通分析:從圖可以看出pc9和pc10之間有兩個路由器連通,要達到實驗目的需要核心問題分別對路由器R1兩個端口進行IP地址配置,然後進行靜態路由配置。具體命令如下:1 對pc9 和pc10分別手動配置IP地址192.168.1.1 和192.168.1.2,同時分別手動配置網

華為交換機hybrid配置實驗

ddr mage 試驗 agg process sha san 創建vlan add 實驗目的:使用技術hybridPC1和PC3互通;PC2 PC4互通,且與server互通步驟:在三臺交換機上創建VLAN 10 20 88;在SW1 gi 1接口配置pvid VLAN

華為DHCP、ACL、RIP、獨臂路由匯總實驗

版本 .com 創建vlan config http 路由 修改 bsp con 實驗拓撲圖如下:實驗要求: 1、全網使用RIP技術互通 2、計算機地址由DHCP分發 3、PC4和PC5之間不能互通 4

cisco網絡基礎實驗第三節

網絡 IT 基礎 第三章 交換機的Telnet遠程登錄配置 本文講述如何通過PC機遠程訪問到交換機和配置交換機 PC機配置: cisco網絡基礎小實驗第三節

cisco網絡基礎實驗第四節

網絡 IT 基礎 第四章 交換機劃分VLAN配置 本文講述交換機VLAN問題,實驗為同VLAN可通信,不同VLAN無法通信 cisco網絡基礎小實驗第四節

cisco網絡基礎實驗第二節

網絡 IT 基礎 第二章交換機的基本配置與管理 本文講述PC機通過console線連接交換機時,一些簡單命令與註意事項 cisco網絡基礎小實驗第二節

cisco網絡基礎實驗第一節

網絡 IT 基礎 cisco網絡基礎小實驗第一節

CISCO網絡基礎實驗第五節

網絡 IT 基礎 第五章利用三層交換機實現VLAN間路由 通過三層交換機實現不同VLAN間的通信! CISCO網絡基礎小實驗第五節

CISCO網絡基礎實驗第六節

網絡 IT 基礎 本文講述生成樹的基本原理作用算法及配置,CISCO網絡基礎小實驗第六節

路由轉發實驗

路由 路由轉發 現在有A,B兩臺主機,中間有Ra,Rb,Rc,Rd四個路由器,目標是實現A,B兩臺主機互通。 準備工作: 準備工作的部分主要是在VMware部分。由於我們的目的是為了更好的理解路由轉發,所以這個可能並沒有什麽實際意義。下面的所有內容都是基於linux虛擬機進行的操作。讓我們 先開始準備