51单片机作业,自己网上查资料,看课本,弄了一个下午加一个晚上,这个专业真的太苦逼! proteus模拟图: 程序可以直接复制粘贴运行,然后仿真,对你有用的话点个赞吧,忙了一天了!
需要的小伙伴看看吧
要求:现有AT89S51单片机、2按键和2位数码管,电路形式不限制,利用Proteus设计一电路并完成仿真调试,实现如下功能:上电后数码管显示00,按K1键,数码管每秒自动加1顺序显示00~99,中途再次按K1键则暂停计数;按K2键则显示00并停止计数。
keil程序:#include<reg52.h> sbit led0 = P0^0; sbit led1 = P0^1; typedef unsigned int uint; void display(uint i,uint j); void delay_xms(uint x); uint i,j; uint k=0; uint s=1; uint sum=0; unsigned char code DSY_CODE[] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//数码管共阳极 void delay_xms(uint x)//延时函数 { uint m,n; for(m=0;m<x;m++) { for(n=0;n<113;n++); } } void EX0_INT(void) interrupt 0 //中断函数 { k=!k; } void EX1_INT(void) interrupt 2//中断函数 { s=!s; } void display(uint i,uint j) //显示函数 { i = sum/10; j = sum%10; led1=0; P2=DSY_CODE[i]; led0=1; delay_xms(500); led0=0; P2=DSY_CODE[j]; led1=1; delay_xms(500); sum++; if(sum==100) sum=0; } void main() { IE = 0X85; IT0 = 1; IT1 = 1; i = sum/10; P2=DSY_CODE[i]; while(1) { while(s==0) { sum=0; i = sum/10; led0=1; led1=1; P2=DSY_CODE[i]; } while(k==1&s==1) display(i,j); } }
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算