第一范文网 - 专业文章范例文档资料分享平台

基于AT89C51单片机六路抢答器的设计

来源:用户分享 时间:2025/7/9 1:06:06 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

合肥师范学院课程设计报告

3 软件设计

软件任务分析和硬件电路设计结合进行,哪些功能由硬件完成,哪些任务由软件完成,在硬件电路设计基本定型后,也就基本上决定下来了。

3.1 程序流程图

图3-1 程序流程图

图3-1为本实验的程序流程图。

3.2 系统程序

在本设计中包括了以下程序:主程序、p1.0-p1.5为六路抢答输入数码管段选P0口,位选P2口。

系统程序: #include sbit k1=P1^0; sbit k2=P1^1;

6

合肥师范学院课程设计报告

sbit k3=P1^2; sbit k4=P1^3; sbit k5=P1^4; sbit k6=P1^5;

unsigned char DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82}; void delayms(unsigned int ms) {

unsigned int i,j; for(i=0;i

void main() {

unsigned char key,i; TMOD=0x01; TH0=0xff; TL0=0xff;

while(1) {

key=P1; if(key==0xff) {

for(i=1;i<7;i++) {

switch(i) {

case 1:P2=0x01;break; case 2:P2=0x02;break; case 3:P2=0x04;break; case 4:P2=0x08;break; case 5:P2=0x10;break; case 6:P2=0x20;break;

default : P2=0x01;break; }

7

合肥师范学院课程设计报告

P0=DSY_CODE[i]; delayms(10); } }

if(key!=0xff) } }

void Tim_T0() interrupt 1 using 0 { {

P2=0xff; P0=DSY_CODE[1]; }

if(k2==0&&k1!=0&&k3!=0&&k4!=0&&k5!=0&&k6!=0) {

P2=0xff; P0=DSY_CODE[2]; }

if(k3==0&&k1!=0&&k2!=0&&k4!=0&&k5!=0&&k6!=0) {

P2=0xff; P0=DSY_CODE[3]; }

if(k4==0&&k1!=0&&k2!=0&&k3!=0&&k5!=0&&k6!=0) {

P2=0xff; P0=DSY_CODE[4]; }

8

{EA=1; ET0=1; TR0=1; }

if(k1==0&&k2!=0&&k3!=0&&k4!=0&&k5!=0&&k6!=0)

合肥师范学院课程设计报告

if(k1!=0&&k6!=0&&k2!=0&&k3!=0&&k4!=0&&k5==0) {

P2=0xff; P0=DSY_CODE[5]; }

if (k6==0&&k1!=0&&k2!=0&&k3!=0&&k4!=0&&k5!=0) {

P2=0xff; P0=DSY_CODE[6]; } }

9

搜索更多关于: 基于AT89C51单片机六路抢答器的设计 的文档
基于AT89C51单片机六路抢答器的设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c9l2si5np9d6vudb8cer4_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top