单片机c程序编写
单片机c语言实例程序300篇

单片机c语言实例程序300篇单片机C语言【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件的排列。
2.程序源代码:main(){inti,j,k;printf("\n");for(i=1;i<5;i++)/某以下为三重循环某/for(j=1;j<5;j++)for(k=1;k<5;k++){if(i!=k&&i!=j&&j!=k)/某确保i、j、k三位互不相同某/printf("%d,%d,%d\n",i,j,k);}}==============================================================【程序2】题目:企业发放的奖金根据利润提成。
利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。
注意定义时需把奖金定义成长整型。
2.程序源代码:main()单片机C语言{longinti;intbonu1,bonu2,bonu4,bonu6,bonu10,bonu;canf("%ld",&i);bonu1=100000某0.1;bonu2=bonu1+100000某0.75;bonu4=bonu2+200000某0.5;bonu6=bonu4+200000某0.3;bonu10=bonu6+400000某0.15;if(i<=100000)bonu=i某0.1;eleif(i<=200000)bonu=bonu1+(i-100000)某0.075;eleif(i<=400000)bonu=bonu2+(i-200000)某0.05;eleif(i<=600000)bonu=bonu4+(i-400000)某0.03;eleif(i<=1000000)bonu=bonu6+(i-600000)某0.015;elebonu=bonu10+(i-1000000)某0.01;printf("bonu=%d",bonu);}============================================================ ==【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。
单片机c语言程序设计

单片机c语言程序设计
单片机C语言程序设计是指使用C语言编写单片机控制程序,实现各种功能和任务。
具体步骤如下:
1. 确定程序功能:首先明确单片机的控制目标和需求,确定要实现的功能。
2. 编写主函数:使用C语言编写一个主函数,作为程序的入
口点。
在主函数中,可以定义变量、调用函数、编写主要的程序逻辑。
3. 初始化设置:在主函数中,进行单片机的初始化设置,包括引脚初始化、时钟设置、模块初始化等。
4. 编写中断服务函数:根据需要,编写中断服务函数。
在中断服务函数中,处理特定的中断事件,例如定时器中断、外部中断等。
5. 编写任务函数:根据程序的需求,编写各个任务函数。
任务函数可以是循环执行的函数,或者是根据事件触发执行的函数。
6. 实现控制逻辑:在任务函数中编写具体的控制逻辑代码,根据需要使用控制语句(如if、switch)和循环语句(如for、while)。
7. 进行调试和测试:完成编写后,进行程序的调试和测试,通过仿真器或者实际连接到单片机的硬件进行测试。
8. 优化和修改:根据测试结果进行程序的优化和修改,改善程序的性能和功能。
9. 生成可执行文件:将C源文件编译成可执行文件,可以直接下载到单片机中运行。
10. 下载和运行:将生成的可执行文件通过下载器下载到目标单片机中,并进行运行测试。
以上是单片机C程序设计的一般步骤,具体的实现方法和内容会根据不同的单片机型号和功能需求而有所不同。
(完整word版)单片机C语言程序设计实训100例

《单片机C语言程序设计实训100例—基于8051+Proteus仿真》案例第 01 篇基础程序设计01 闪烁的LED/*名称:闪烁的LED说明:LED按设定的时间间隔闪烁*/#include<reg51.h〉#define uchar unsigned char#define uint unsigned intsbit LED=P1^0;//延时void DelayMS(uint x){uchar i;while(x-—){for(i=0;i〈120;i++);}}//主程序void main(){while(1){LED=~LED;DelayMS(150);}}02 从左到右的流水灯/* 名称:从左到右的流水灯说明:接在P0口的8个LED从左到右循环依次点亮,产生走马灯效果*/#include〈reg51。
h〉#include<intrins。
h>#define uchar unsigned char #define uint unsigned int//延时void DelayMS(uint x){uchar i;while(x—-){for(i=0;i〈120;i++);}}//主程序void main(){P0=0xfe;while(1){P0=_crol_(P0,1); //P0的值向左循环移动DelayMS(150);}}03 8只LED左右来回点亮/*名称:8只LED左右来回点亮说明:程序利用循环移位函数_crol_和_cror_形成来回滚动的效果*/#include<reg51.h>#include〈intrins.h>#define uchar unsigned char #define uint unsigned int//延时void DelayMS(uint x){uchar i;while(x——){for(i=0;i〈120;i++);}}//主程序void main(){uchar i;P2=0x01;while(1){for(i=0;i〈7;i++){P2=_crol_(P2,1); //P2的值向左循环移动DelayMS(150);}for(i=0;i<7;i++){P2=_cror_(P2,1); //P2的值向右循环移动DelayMS(150);}}}04 花样流水灯/* 名称:花样流水灯说明:16只LED分两组按预设的多种花样变换显示*/#include<reg51。
单片机c语言编写流程

单片机c语言编写流程下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!1. 确定需求:明确你要实现的功能和任务,例如控制外部设备、处理传感器数据、实现通信等。
STC单片机C语言程序设计STC单片机C语言编程入门

STC单片机C语言程序设计STC单片机C语言编程入门STC单片机是一种广泛应用于嵌入式系统和物联网设备中的微控制器。
它具有体积小、功耗低、运算能力强等特点,被广泛应用于各种控制系统中。
本文将介绍STC单片机C语言程序设计的入门知识,以帮助初学者快速上手。
首先,我们需要了解一些基本的概念和术语。
1.单片机:单片机是一种集成电路芯片,其中包含了中央处理器、存储器、输入输出接口等功能模块。
它可以独立完成特定的任务,不需要额外的硬件设备与之配合。
2.C语言:C语言是一种高级编程语言,被广泛应用于嵌入式系统开发中。
它具有简洁、高效的特点,易于理解和学习。
了解了上述基本概念后,接下来我们将介绍一些STC单片机C语言程序设计的入门知识。
2. 程序结构:一个C语言程序通常由多个函数组成,其中一个函数名为main(。
程序从main(函数开始执行,执行完main(函数后程序结束。
3.数据类型:C语言中有多种数据类型,包括整型、浮点型、字符型等。
在使用数据类型时,需要根据需要选择合适的数据类型。
4.变量和常量:在C语言中,可以使用变量和常量来存储数据。
变量是可以改变值的,而常量是固定不变的值。
5. 输入和输出:C语言中使用标准库函数scanf(和printf(来实现输入和输出操作。
通过这两个函数可以从键盘获取输入数据,并将结果输出到屏幕上。
6. 控制语句:在C语言中,可以使用if语句、for循环和while循环等控制语句来控制程序的执行流程。
通过控制语句,可以实现条件判断、循环执行等功能。
7.函数:函数是C语言中的重要概念,它可以将一段代码封装成一个独立的模块,方便重复使用。
在编写程序时,可以自定义函数来实现特定的功能。
8.数组:数组是一种存储相同类型数据的连续内存区域。
在C语言中,可以使用数组来存储一组数据,并对数据进行操作。
9.文件操作:C语言提供了文件操作函数,可以对文件进行读写操作。
通过文件操作,可以实现数据的持久化存储。
单片机常用c代码

单片机常用c代码在单片机领域,C语言是最常用的编程语言之一。
它具有简单易学、灵活高效的特点,被广泛应用于单片机系统的开发中。
本文将介绍一些常用的单片机C代码,为读者提供参考和学习的资源。
一、IO口控制单片机的IO口是与外部设备连接的重要接口,通过控制IO口的高低电平来实现与外部设备的通信。
以下是常见的IO口控制代码示例:1. 设置IO口为输出模式:```c#define LED_PIN 0 // 指定IO口引脚号void setup() {pinMode(LED_PIN, OUTPUT); // 设置IO口为输出模式}void loop() {digitalWrite(LED_PIN, HIGH); // 设置IO口为高电平delay(1000); // 延迟1秒digitalWrite(LED_PIN, LOW); // 设置IO口为低电平delay(1000); // 延迟1秒```2. 设置IO口为输入模式:```c#define BUTTON_PIN 1 // 指定IO口引脚号void setup() {pinMode(BUTTON_PIN, INPUT); // 设置IO口为输入模式}void loop() {if (digitalRead(BUTTON_PIN) == HIGH) { // 判断IO口电平是否为高电平// 执行相应操作}}```二、定时器控制定时器是单片机中的重要组件,可用于实现精确的时间控制和周期性任务。
以下是常见的定时器控制代码示例:1. 设置定时器计数器和预分频值:void setup() {TCCR1B = (1 << CS12) | (1 << CS10); // 设置定时器1的预分频为1024}void loop() {// 执行相应操作}```2. 设置定时器中断服务程序:```cISR(TIMER1_COMPA_vect) {// 定时器1比较匹配中断服务程序}void setup() {TCCR1B = (1 << WGM12) | (1 << CS12) | (1 << CS10); // 设置定时器1的CTC模式和预分频为1024OCR1A = 15624; // 设置定时器1的比较匹配值,实现1秒中断一次TIMSK1 = (1 << OCIE1A); // 允许定时器1比较匹配中断}void loop() {// 执行相应操作}```三、串口通信串口通信是单片机与计算机或其他外部设备进行数据交互的常用方式。
单片机c语言程序设计实例100例--基于805i+proteus仿真

以下是一个基于8051单片机和Proteus仿真环境的C语言程序设计实例:实例1:点亮LED灯
在这个例子中,我们将使用C语言编写一个简单的程序来控制8051单片机的一个I/O引脚,使其驱动一个LED灯。
c代码:
要使用Proteus进行仿真,你需要按照以下步骤操作:
1. 打开Proteus软件,创建一个新的设计工程。
2. 在元件库中搜索并添加相应的8051单片机型号(如AT89C51)和LED 元件到工作区。
3. 根据实际硬件连接,正确配置单片机的引脚和LED的连接。
4. 右键单击单片机元件,选择“Edit Component”打开编辑窗口。
5. 在“Program File(s)”区域,点击右侧的浏览按钮,选择你的C语言源文件(如上述的main.c)。
6. 点击“OK”关闭编辑窗口,然后点击工具栏上的“Play”按钮开始仿真。
在仿真过程中,你应该能看到LED灯被点亮,这表明你的C语言程序已经在Proteus环境中成功运行。
以上只是一个基础的例子,实际的"单片机C语言程序设计实例100例--基于8051+Proteus仿真"会包含更复杂和多样化的应用场景,包括定时器/计数器
应用、中断处理、串口通信、ADC/DAC转换、液晶显示等等。
每个实例都会详细介绍程序设计思路、代码实现以及如何在Proteus中进行仿真调试。
通过这些实例的学习和实践,你可以逐步掌握8051单片机的C语言编程技巧和Proteus仿真环境的使用方法。
51单片机C语言编程100例-单片机c语言编程

51单片机C语言编程100例-单片机c语言编程51单片机C语言编程100例在嵌入式系统领域,单片机是常用的硬件平台之一。
而C语言作为一种高级编程语言,能够为单片机编程提供更高的效率和便利性。
本文将介绍51单片机C语言编程的100个实例,帮助读者了解并掌握单片机的基本编程技巧和应用方法。
一、LED灯控制1. 实例介绍:通过控制51单片机的IO口输出,实现对LED灯的亮灭控制。
2. 实例代码:```#include <reg51.h>sbit LED = P1^0; // 定义P1口的第0位为LEDvoid main(){while(1){LED = 0; // LED灯亮delay(1000); //延时1秒LED = 1; // LED灯灭delay(1000); //延时1秒}}```二、数码管显示1. 实例介绍:使用数码管显示数字0-9,并实现数码管的动态显示效果。
2. 实例代码:```#include <reg51.h>unsigned char code DispTab[] ={0xC0,0XF9,0XA4,0XB0,0X99,0X92,0X82};sbit WeiDu = P1^2;sbit DUAN = P1^0;void delay(unsigned int t){unsigned int i;while(t--)for(i=0;i<125;i++);}void main(){unsigned int i;while(1){P0 = DispTab[i]; // 显示数字iDUAN = 1; //点亮段码DUAN = 0; //关闭段码P0 = ~(0x01 << i); // 选择数码管的位 WeiDu = 0; // 打开选通位WeiDu = 1; // 关闭选通位delay(100); // 延时100msi++;if(i > 9) i = 0;}}```三、外部中断1. 实例介绍:使用外部中断,当外部输入信号发生变化时,触发中断程序。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机C语言编程基础时间:2011-05-01 22:47:26来源:作者:单片机的外部结构:1、DIP40双列直插;2、P0,P1,P2,P3四个8位准双向I/O引脚;(作为I/O输入时,要先输出高电平)3、电源VCC(PIN40)和地线GND(PIN20);4、高电平复位RESET(PIN9);(10uF电容接VCC与RESET,即可实现上电复位)5、内置振荡电路,外部只要接晶体至X1(PIN18)和X0(PIN19);(频率为主频的12倍)6、程序配置EA(PIN31)接高电平VCC;(运行单片机内部ROM中的程序)7、P3支持第二功能:RXD、TXD、INT0、INT1、T0、T1单片机内部I/O部件:(所为学习单片机,实际上就是编程控制以下I/O部件,完成指定任务)1、四个8位通用I/O端口,对应引脚P0、P1、P2和P3;2、两个16位定时计数器;(TMOD,TCON,TL0,TH0,TL1,TH1)3、一个串行通信接口;(SCON,SBUF)4、一个中断控制器;(IE,IP)针对AT89C52单片机,头文件AT89x52.h给出了SFR特殊功能寄存器所有端口的定义。
教科书的160页给出了针对MCS51系列单片机的C语言扩展变量类型。
单片机C语言编程基础1、十六进制表示字节0x5a:二进制为01011010B;0x6E为01101110。
2、如果将一个16位二进数赋给一个8位的字节变量,则自动截断为低8位,而丢掉高8位。
3、++var表示对变量var先增一;var—表示对变量后减一。
4、x |= 0x0f;表示为x = x | 0x0f;5、TMOD = ( TMOD & 0xf0 ) | 0x05;表示给变量TMOD的低四位赋值0x5,而不改变TMOD的高四位。
6、While( 1 ); 表示无限执行该语句,即死循环。
语句后的分号表示空循环体,也就是{;}在某引脚输出高电平的编程方法:(比如P1.3(PIN4)引脚)#include //该头文档中有单片机内部资源的符号化定义,其中包含P1.3void main( void ) //void 表示没有输入参数,也没有函数返值,这入单片机运行的复位入口{P1_3 = 1; //给P1_3赋值1,引脚P1.3就能输出高电平VCCWhile( 1 ); //死循环,相当LOOP: goto LOOP;}注意:P0的每个引脚要输出高电平时,必须外接上拉电阻(如4K7)至VCC电源。
在某引脚输出低电平的编程方法:(比如P2.7引脚)#include //该头文档中有单片机内部资源的符号化定义,其中包含P2.7void main( void ) //void 表示没有输入参数,也没有函数返值,这入单片机运行的复位入口{P2_7 = 0; //给P2_7赋值0,引脚P2.7就能输出低电平GNDWhile( 1 ); //死循环,相当LOOP: goto LOOP;}在某引脚输出方波编程方法:(比如P3.1引脚)#include //该头文档中有单片机内部资源的符号化定义,其中包含P3.1void main( void ) //void 表示没有输入参数,也没有函数返值,这入单片机运行的复位入口{While( 1 ) //非零表示真,如果为真则执行下面循环体的语句{P3_1 = 1; //给P3_1赋值1,引脚P3.1就能输出高电平VCCP3_1 = 0; //给P3_1赋值0,引脚P3.1就能输出低电平GND} //由于一直为真,所以不断输出高、低、高、低……,从而形成方波}将某引脚的输入电平取反后,从另一个引脚输出:(比如P0.4 = NOT( P1.1) )#include //该头文档中有单片机内部资源的符号化定义,其中包含P0.4和P1.1void main( void ) //void 表示没有输入参数,也没有函数返值,这入单片机运行的复位入口{P1_1 = 1; //初始化。
P1.1作为输入,必须输出高电平While( 1 ) //非零表示真,如果为真则执行下面循环体的语句{if( P1_1 == 1 ) //读取P1.1,就是认为P1.1为输入,如果P1.1输入高电平VCC{ P0_4 = 0; } //给P0_4赋值0,引脚P0.4就能输出低电平GNDelse //否则P1.1输入为低电平GND//{ P0_4 = 0; } //给P0_4赋值0,引脚P0.4就能输出低电平GND{ P0_4 = 1; } //给P0_4赋值1,引脚P0.4就能输出高电平VCC} //由于一直为真,所以不断根据P1.1的输入情况,改变P0.4的输出电平}将某端口8个引脚输入电平,低四位取反后,从另一个端口8个引脚输出:(比如P2 = NOT( P3 ) )#include //该头文档中有单片机内部资源的符号化定义,其中包含P2和P3void main( void ) //void 表示没有输入参数,也没有函数返值,这入单片机运行的复位入口{P3 = 0xff; //初始化。
P3作为输入,必须输出高电平,同时给P3口的8个引脚输出高电平While( 1 ) //非零表示真,如果为真则执行下面循环体的语句{ //取反的方法是异或1,而不取反的方法则是异或0P2 = P3^0x0f //读取P3,就是认为P3为输入,低四位异或者1,即取反,然后输出} //由于一直为真,所以不断将P3取反输出到P2}注意:一个字节的8位D7、D6至D0,分别输出到P3.7、P3.6至P3.0,比如P3=0x0f,则P3.7、P3.6、P3.5、P3.4四个引脚都输出低电平,而P3.3、P3.2、P3.1、P3.0四个引脚都输出高电平。
同样,输入一个端口P2,即是将P2.7、P2.6至P2.0,读入到一个字节的8位D7、D6至D0。
1、接电源:VCC(PIN40)、GND(PIN20)。
加接退耦电容0.1uF2、接晶体:X1(PIN18)、X2(PIN19)。
注意标出晶体频率(选用12MHz),还有辅助电容30pF3、接复位:RES(PIN9)。
接上电复位电路,以及手动复位电路,分析复位工作原理4、接配置:EA(PIN31)。
说明原因。
发光二极的控控制:单片机I/O输出将一发光二极管LED的正极(阳极)接P1.1,LED的负极(阴极)接地GND。
只要P1.1输出高电平VCC,LED就正向导通(导通时LED上的压降大于1V),有电流流过LED,至发LED发亮。
实际上由于P1.1高电平输出电阻为10K,起到输出限流的作用,所以流过LED的电流小于(5V-1V)/10K = 0.4mA。
只要P1.1输出低电平GND,实际小于0.3V,LED就不能导通,结果LED不亮。
开关双键的输入:输入先输出高一个按键KEY_ON接在P1.6与GND之间,另一个按键KEY_OFF接P1.7与GND之间,按KEY_ON后LED亮,按KEY_OFF后LED灭。
同时按下LED半亮,LED保持后松开键的状态,即ON亮OFF灭。
#include#define LED P1^1 //用符号LED代替P1_1#define KEY_ON P1^6 //用符号KEY_ON代替P1_6#define KEY_OFF P1^7 //用符号KEY_OFF代替P1_7void main( void ) //单片机复位后的执行入口,void表示空,无输入参数,无返回值{KEY_ON = 1; //作为输入,首先输出高,接下KEY_ON,P1.6则接地为0,否则输入为1KEY_OFF = 1; //作为输入,首先输出高,接下KEY_OFF,P1.7则接地为0,否则输入为1While( 1 ) //永远为真,所以永远循环执行如下括号内所有语句{if( KEY_ON==0 ) LED=1; //是KEY_ON接下,所示P1.1输出高,LED亮if( KEY_OFF==0 ) LED=0; //是KEY_OFF接下,所示P1.1输出低,LED灭} //松开键后,都不给LED赋值,所以LED保持最后按键状态。
//同时按下时,LED不断亮灭,各占一半时间,交替频率很快,由于人眼惯性,看上去为半亮态}数码管的接法和驱动原理及单片机编程一支七段数码管实际由8个发光二极管构成,其中7个组形构成数字8的七段笔画,所以称为七段数码管,而余下的1个发光二极管作为小数点。
作为习惯,分别给8个发光二极管标上记号:a,b,c,d,e,f,g,h。
对应8的顶上一画,按顺时针方向排,中间一画为g,小数点为h。
我们通常又将各二极与一个字节的8位对应,a(D0),b(D1),c(D2),d(D3),e(D4),f(D5),g(D6),h(D7),相应8个发光二极管正好与单片机一个端口Pn的8个引脚连接,这样单片机就可以通过引脚输出高低电平控制8个发光二极的亮与灭,从而显示各种数字和符号;对应字节,引脚接法为:a(Pn.0),b(Pn.1),c(Pn.2),d(Pn.3),e(Pn.4),f(Pn.5),g(Pn.6),h(Pn.7)。
如果将8个发光二极管的负极(阴极)内接在一起,作为数码管的一个引脚,这种数码管则被称为共阴数码管,共同的引脚则称为共阴极,8个正极则为段极。
否则,如果是将正极(阳极)内接在一起引出的,则称为共阳数码管,共同的引脚则称为共阳极,8个负极则为段极。
以单支共阴数码管为例,可将段极接到某端口Pn,共阴极接GND,则可编写出对应十六进制码的七段码表字节数据如右图:16键码显示的单片机程序我们在P1端口接一支共阴数码管SLED,在P2、P3端口接16个按键,分别编号为KEY_0、KEY_1到KEY_F,操作时只能按一个键,按键后SLED显示对应键编号。
#include#define SLED P1#define KEY_0 P2^0#define KEY_1 P2^1#define KEY_2 P2^2#define KEY_3 P2^3#define KEY_4 P2^4#define KEY_5 P2^5#define KEY_6 P2^6#define KEY_7 P2^7#define KEY_8 P3^0#define KEY_9 P3^1#define KEY_A P3^2#define KEY_B P3^3#define KEY_C P3^4#define KEY_D P3^5#define KEY_E P3^6#define KEY_F P3^7Code unsigned char Seg7Code[16]= //用十六进数作为数组下标,可直接取得对应的七段编码字节// 0 1 2 3 4 5 6 7 8 9 A b C d E F{0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71}; void main( void ){unsigned char i=0; //作为数组下标P2 = 0xff; //P2作为输入,初始化输出高P3 = 0xff; //P3作为输入,初始化输出高While( 1 ){if( KEY_0 == 0 ) i=0; if( KEY_1 == 0 ) i=1;if( KEY_2 == 0 ) i=2; if( KEY_3 == 0 ) i=3;if( KEY_4 == 0 ) i=4; if( KEY_5 == 0 ) i=5;if( KEY_6 == 0 ) i=6; if( KEY_7 == 0 ) i=7;if( KEY_8 == 0 ) i=8; if( KEY_9 == 0 ) i=9;if( KEY_A == 0 ) i=0xA; if( KEY_B == 0 ) i=0xB;if( KEY_C == 0 ) i=0xC; if( KEY_D == 0 ) i=0xD;if( KEY_E == 0 ) i=0xE; if( KEY_F == 0 ) i=0xF;SLED = Seg7Code[ i ]; //开始时显示0,根据i取应七段编码}}。