当前位置:首页 » 编程语言 » c语言程序设计仿真
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言程序设计仿真

发布时间: 2023-08-21 09:19:10

A. 备战全国计算机二级c语言程序设计考试,有没有什么在线刷题的考试模拟仿真软件

您好,非常荣幸能在此回答您的问题。以下是我对此问题的部分见解,若有错误,欢迎指出。2018年全国计算机二级 C、C++两个科目的应用软件由 Visual C++6.0 改为 Visual C++ 2010 学习版(即 Visual C++ 2010 Express)或者Microsoft Visual C++(简称Visual C++、MSVC、VC++或VC)。
根据《全国计算机二级考试c语言程序设计考试大纲(2018年版) 》,计算机二级C 语言主要考C 语言程序的结构、数据类型及其运算、基本语句、选择结构程序设计、循环结构程序设计、数组的定义和引用、函数、编译预处理、指针、结构体(即“结构”)与共同体(即“联合”)、位运算和文件操作12大块内容。
采用上机考试形式,考试时长120分钟,满分100分。非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!

B. 单片机C语言程序设计实训100例:基于PIC+Proteus仿真的目录

第1章PIC单片机C语言程序设计概述
1.1 PIC单片机简介
1.2 MPLAB+C语言程序开发环境安装及应用
1.3 PICC/PICC18/MCC18程序设计基础
1.4 PIC单片机内存结构
1.5 PIC单片机配置位
1.6 基本的I/O端口编程
1.7 中断服务程序设计
1.8 PIC单片机外设相关寄存器
1.9 C语言程序设计在PIC单片机应用系统开发中的优势
第2章PROTEUS操作基础
2.1 PROTEUS操作界面简介
2.2 仿真电路原理图设计
2.3 元件选择
2.4 仿真运行
2.5 MPLAB IDE与PROTEUS的联合调试
2.6 PROTEUS在PIC单片机应用系统开发中的优势
第3章 基础程序设计
3.1 闪烁的LED
3.2 用双重循环控制LED左右来回滚动显示
3.3 多花样流水灯
3.4 LED模拟交通灯
3.5 单只数码管循环显示0~9
3.6 4只数码管滚动显示单个数字
3.7 8只数码管扫描显示多个不同字符
3.8 K1~K5控制两位数码管的开关、加减与清零操作
3.9 数码管显示4×4键盘矩阵按键
3.10 数码管显示拨码开关编码
3.11 继电器及双向可控硅控制照明设备
3.12 INT中断计数
3.13 RB端口电平变化中断控制两位数码管开关与加减显示
3.14 TIMER0控制单只LED闪烁
3.15 TIMER0控制流水灯
3.16 TIMER0控制数码管扫描显示
3.17 TIMER1控制交通指示灯
3.18 TIMER1与TIMER2控制十字路口秒计时显示屏
3.19 用工作于同步计数方式的TMR1实现按键或脉冲计数
3.20 用定时器设计的门铃
3.21 报警器与旋转灯
3.22 用工作于捕获方式的CCP1设计的频率计
3.23 用工作于比较模式的CCP1控制音阶播放
3.24 CCP1 PWM模式应用
3.25 模拟比较器测试
3.26 数码管显示两路A/D转换结果
3.27 EEPROM读写与数码管显示
3.28 睡眠模式及看门狗应用测试
3.29 单片机与PC双向串口通信仿真
3.30 PIC单片机并行从动端口PSP读写测试
第4章 硬件应用
4.1 74HC138与74HC154译码器应用
4.2 74HC595串入并出芯片应用
4.3 用74HC164驱动多只数码管显示
4.4 数码管BCD解码驱动器7447与4511应用
4.5 8×8LED点阵屏显示数字
4.6 8位数码管段位复用串行驱动芯片MAX6951应用
4.7 串行共阴显示驱动器MAX7219与7221应用
4.8 14段与16段数码管串行驱动显示
4.9 16键解码芯片74C922应用
4.10 1602LCD字符液晶测试程序
4.11 1602液晶显示DS1302实时时钟
4.12 1602液晶工作于4位模式实时显示当前时间
4.13 带RAM内存的实时时钟与日历芯片PCF8583应用
4.14 2×20串行字符液晶演示
4.15 LGM12864液晶显示程序
4.16 PG160128A液晶图文演示
4.17 TG126410液晶串行模式显示
4.18 HDG12864系列液晶演示
4.19 Nokia7110液晶菜单控制程序
4.20 8通道模拟开关74HC4051应用测试
4.21 用带I2C接口的MCP23016扩展16位通用I/O端口
4.22 用带SPI接口的MCP23S17扩展16位通用I/O端口
4.23 用I2C接口控制MAX6953驱动4片5×7点阵显示器
4.24 用I2C接口控制MAX6955驱动16段数码管显示
4.25 用带SPI接口的数/模转换器MCP4921生成正弦波形
4.26 用带SPI接口的数/模转换器MAX515控制LED亮度循环变化
4.27 正反转可控的直流电机
4.28 PWM控制MOSFET搭建的H桥电路驱动直流电机运行
4.29 正反转可控的步进电机
4.30 用L297+L298控制与驱动步进电机
4.31 PC通过RS-485器件MAX487远程控制单片机
4.32 I2C接口DS1621温度传感器测试
4.33 SPI接口温度传感器TC72应用测试
4.34 温度传感器LM35全量程应用测试
4.35 K型热电偶温度计
4.36 用铂电阻温度传感器PT100设计的测温系统
4.37 DS18B20温度传感器测试
4.38 SHT75温湿度传感器测试
4.39 1-Wire式可寻址开关DS2405应用测试
4.40 光敏电阻应用测试
4.41 MPX4250压力传感器测试
4.42 用I2C接口读写存储器AT24C04
4.43 用SPI接口读写AT25F1024
4.44 PIC18 I2C接口存储器及USART接口测试程序
4.45 PIC18 SPI接口存储器测试程序
4.46 PIC18定时器及A/D转换测试
4.47 用PIC18控制Microwire接口继电器驱动器MAX4820
4.48 MMC存储卡测试
4.49 ATA硬盘数据访问
4.50 微芯VLS5573液晶显示屏驱动器演示
第5章 综合设计
5.1 用DS1302/DS18B20+MAX6951设计的多功能电子日历牌
5.2 用PCF8583设计高仿真数码管电子钟
5.3 用4×20LCD与DS18B20设计的单总线多点温度监测系统
5.4 用内置EEPROM与1602液晶设计的加密电子密码锁
5.5 用PIC单片机与1601LCD设计的计算器
5.6 电子秤仿真设计
5.7 数码管显示的GP2D12仿真测距警报器
5.8 GPS全球定位系统仿真
5.9 能接收串口信息的带中英文硬字库的80×16点阵显示屏
5.10 用M145026与M145027设计的无线收发系统
5.11 红外遥控收发仿真
5.12 交流电压检测与数字显示仿真
5.13 带位置感应器的直流无刷电机PMW控制仿真
5.14 3端可调正稳压器LM317应用测试
5.15 模拟射击训练游戏
5.16 带触摸屏的国际象棋游戏仿真
5.17 温室监控系统仿真
5.18 PIC单片机MODBUS总线通信仿真
5.19 PIC单片机内置CAN总线通信仿真
5.20 基于PIC18+Microchip TCP/IP协议栈的HTTP服务器应用
参考文献

C. 用AT89C51单片机设计一电子闹钟,C语言程序和仿真

可以用单片机内部定时器来完成,
#include <reg52.h>
#include <string.h>
#define uchar unsigned char
#define uint unsigned int
/* 函数申明 -----------------------------------------------*/
void TransferData(char data1,bit DI);
void display(void);
void display_grapic(void);
void delayms(uint n);
void DisplayLine(uchar line1,uchar line2);
void DisplayGraphic(uchar code *adder);
void delay(uint m);
void lcd_mesg(uchar code *adder1);
unsigned char Convert(unsigned char In_Date);
void initinal(void);
void initina2(void) ;
void lcd_m(uchar adder1,uchar adder2,uchar a);
/* 变量定义 -----------------------------------------------*/
uchar scnt = 0 ;
uchar last_scnt = 0 ;
uchar updat_vision = 0 ;
sbit key1 = P3^5 ;
sbit key2 = P3^7 ;
sbit key3 = P3^6 ;
sbit gnd = P3^0 ;
sbit spk = P1^0 ;
uchar timer_miao = 0 ;
uchar timer_fen = 0 ;
uchar timer_shi = 0 ;
uchar cnt = 0 ;
uchar sw = 0 ;
uchar spk_on = 0 ;
uchar noise_shi = 0 ;
uchar noise_fen = 0 ;
uint count = 0 ;
uint count1 = 0 ;
uint count2 = 0 ;
uchar time_rch = 0 ;
sbit datacs=P2^6;
sbit chipcs=P2^7;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x07,
0x39,0x5e,0x79,0x71
};
/*
********************************************************************************
** 函数名称 : Init_Timer0(void)
** 函数功能 : 定时器初始化子程序
********************************************************************************
*/
void Init_Timer0(void) //定时器初始化子程序
{
TMOD |= 0x11; //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响
TH0=0x3c; //给定初值,这里使用定时器最大值从0开始计数一直到65535溢出
TL0=0xaf;
TH1=0x03; //给定初值,这里使用定时器最大值从0开始计数一直到65535溢出
TL1=0xe8;
EA=1; //总中断打开
ET0=1; //定时器中断打开
TR0=1; //定时器开关打开
ET1=1;
TR0=1;
}
/*
********************************************************************************
** 函数名称 : Timer0_isr(void) interrupt 1 using 1
** 函数功能 : 定时器中断程序
********************************************************************************
*/
void Timer0_isr(void) interrupt 1 using 1
{
TH0=0x3c; //重新赋值,方式1是16位计数器,不能硬件重装初始值
TL0=0xaf;

if(cnt<20)
{
cnt ++ ;
}else
{
cnt = 0 ;
if(sw==0)
{
if(timer_miao<59)
{
timer_miao++;
}else
{
timer_miao = 0 ;
if(timer_fen<59)
{
timer_fen++;
}else
{
timer_fen = 0 ;
if(timer_shi<23)
{
timer_shi++;
}else
{
timer_shi = 0 ;
}
}
}
}
}
}
void Timer1_isr(void) interrupt 3
{
TH1=0x03; //给定初值,这里使用定时器最大值从0开始计数一直到65535溢出
TL1=0xe8;
if(scnt<7)
{
scnt ++ ;
}else
{
scnt = 0 ;
}
switch(scnt)
{
case 0 : P0 = 0xfe ;chipcs = 1 ; chipcs = 0 ; P0=table[timer_miao%10] ;datacs=1;datacs=0; break ;
case 1 : P0 = 0xfd ;chipcs = 1 ; chipcs = 0 ; P0=table[timer_miao/10] ;datacs=1;datacs=0; break ;
case 2 : P0 = 0xfb ;chipcs = 1 ; chipcs = 0 ; P0= 0x40 ;datacs=1;datacs=0; break ;
case 3 : P0 = 0xf7 ;chipcs = 1 ; chipcs = 0 ; P0=table[timer_fen%10] ;datacs=1;datacs=0;break ;
case 4 : P0 = 0xef ;chipcs = 1 ; chipcs = 0 ; P0=table[timer_fen/10] ;datacs=1;datacs=0;break ;
case 5 : P0 = 0xdf ;chipcs = 1 ; chipcs = 0 ; P0= 0x40 ;datacs=1;datacs=0; break ;
case 6 : P0 = 0xbf ;chipcs = 1 ; chipcs = 0 ; P0=table[timer_shi%10] ;datacs=1;datacs=0;break ;
case 7 : P0 = 0x7f ;chipcs = 1 ; chipcs = 0 ; P0=table[timer_shi/10] ;datacs=1;datacs=0;break ;
}
}
void key(void)
{
if(key1==0)
{
if(count<8000)
count ++ ;
}else
{
if(count>5000)
{
if(sw<3)
sw++;
else
sw=0;
}
count = 0 ;
}
if(key2==0)
{
if(count1<8000)
count1 ++ ;
}else
{
if(count1>5000)
{
switch(sw)
{
case 0 : spk_on = 1 ; time_rch=0;break ;
case 1 : if(timer_shi<23)timer_shi++;else timer_shi = 0 ; break ;
case 2 : if(timer_fen<59)timer_fen++;else timer_fen = 0 ; break ;
case 3 : if(timer_miao<59)timer_miao++;else timer_miao = 0 ; break ;
}
}
count1 = 0 ;
}
if(key3==0)
{
if(count2<8000)
count2 ++ ;
}else
{
if(count2>5000)
{
switch(sw)
{
case 0 : spk_on = 0 ; time_rch=0; break ;
case 1 : if(timer_shi>0)timer_shi--;else timer_shi = 23 ; break ;
case 2 : if(timer_fen>0)timer_fen--;else timer_fen = 59 ; break ;
case 3 : if(timer_miao>0)timer_miao--;else timer_miao = 59 ; break ;
}
}
count2 = 0 ;
}
}
/********************************************************************
* 名称 : Main()
* 功能 : 主函数
* 输入 : 无
* 输出 : 无
***********************************************************************/
void main(void)
{
sw=0;
noise_shi = 0 ;
noise_fen = 2 ;
Init_Timer0();
while(1)
{
key();
}
}

D. 单片机C语言程序设计实训100例:基于8051+Proteus仿真的目录

第1章8051单片机C语言程序设计概述1
1.1 8051单片机引脚1
1.2 数据与程序内存2
1.3 特殊功能寄存器3
1.4 外部中断、定时/计数器及串口应用4
1.5 有符号与无符号数应用、数位分解、位操作5
1.6 变量、存储类型与存储模式7
1.7 数组、字符串与指针9
1.8 流程控制11
1.9 可重入函数和中断函数11
1.10 C语言在单片机系统开发中的优势12
第2章Proteus操作基础13
2.1 Proteus操作界面简介13
2.2 仿真电路原理图设计14
2.3 元件选择16
2.4 调试仿真20
2.5 Proteus与? V3的联合调试21
第3章 基础程序设计22
3.1 闪烁的LED 22
3.2 从左到右的流水灯23
3.3 左右来回循环的流水灯25
3.4 花样流水灯26
3.5 LED模拟交通灯28
3.6 单只数码管循环显示0~9 30
3.7 8只数码管滚动显示单个数字31
3.8 8只数码管显示多个不同字符33
3.9 数码管闪烁显示35
3.10 8只数码管滚动显示数字串36
3.11 K1~K4控制LED移位37
3.12 K1~K4按键状态显示39
3.13 K1~K4分组控制LED 40
3.14 K1~K4控制数码管移位显示42
3.15 K1~K4控制数码管加减演示44
3.16 4×4键盘矩阵控制条形LED显示46
3.17 数码管显示4×4键盘矩阵按键48
3.18 开关控制LED 51
3.19 继电器控制照明设备52
3.20 数码管显示拨码开关编码53
3.21 开关控制报警器55
3.22 按键发音56
3.23 播放音乐58
3.24 INT0中断计数59
3.25 INT0中断控制LED 61
3.26 INT0及INT1中断计数63
3.27 TIMER0控制单只LED闪烁66
3.28 TIMER0控制流水灯68
3.29 TIMER0控制4只LED滚动闪烁70
3.30 T0控制LED实现二进制计数72
3.31 TIMER0与TIMER1控制条形LED 73
3.32 10s的秒表75
3.33 用计数器中断实现100以内的按键计数77
3.34 10 000s以内的计时程序78
3.35 定时器控制数码管动态显示81
3.36 8×8 LED点阵屏显示数字83
3.37 按键控制8×8 LED点阵屏显示图形85
3.38 用定时器设计的门铃87
3.39 演奏音阶89
3.40 按键控制定时器选播多段音乐91
3.41 定时器控制交通指示灯93
3.42 报警器与旋转灯96
3.43 串行数据转换为并行数据98
3.44 并行数据转换为串行数据99
3.45 甲机通过串口控制乙机LED闪烁101
3.46 单片机之间双向通信104
3.47 单片机向主机发送字符串108
3.48 单片机与PC串口通信仿真110
第4章 硬件应用115
4.1 74LS138译码器应用115
4.2 74HC154译码器应用116
4.3 74HC595串入并出芯片应用118
4.4 用74LS148扩展中断121
4.5 I2C-24C04与蜂鸣器123
4.6 I2C-24C04与数码管127
4.7 用6264扩展内存132
4.8 用8255实现接口扩展134
4.9 555的应用136
4.10 BCD译码数码管显示数字138
4.11 MAX7221控制数码管动态显示139
4.12 1602字符液晶滚动显示程序142
4.13 1602液晶显示的DS1302实时时钟148
4.14 12864LCD图像滚动显示154
4.15 160128LCD图文演示160
4.16 2×20串行字符液晶显示167
4.17 开关控制12864LCD串行模式显示169
4.18 ADC0832模数转换与显示175
4.19 用ADC0808控制PWM输出178
4.20 ADC0809模数转换与显示181
4.21 用DAC0832生成锯齿波183
4.22 用DAC0808实现数字调压184
4.23 PCF8591模数与数模转换186
4.24 DS1621温度传感器输出显示193
4.25 DS18B20温度传感器输出显示198
4.26 正反转可控的直流电动机203
4.27 正反转可控的步进电动机205
4.28 键控看门狗208
第5章 综合设计211
5.1 可以调控的走马灯211
5.2 按键选播电子音乐214
5.3 可演奏的电子琴216
5.4 1602LCD显示仿手机键盘按键字符219
5.5 1602LCD显示电话拨号键盘按键222
5.6 12864LCD显示计算器键盘按键225
5.7 数码管随机模拟显示乘法口诀231
5.8 1602LCD随机模拟显示乘法口诀234
5.9 用数码管设计的可调式电子钟236
5.10 用1602LCD设计的可调式电子钟239
5.11 用DS1302与数码管设计的可调式电子表243
5.12 用DS1302与1602LCD设计的可调式电子日历与时钟247
5.13 用DS1302与12864LCD设计的可调式中文电子日历252
5.14 用PG12864LCD设计的指针式电子钟257
5.15 高仿真数码管电子钟266
5.16 1602LCD显示的秒表269
5.17 数码管显示的频率计274
5.18 字符液晶显示的频率计276
5.19 用ADC0832调节频率输出279
5.20 用ADC0832设计的两路电压表281
5.21 用数码管与DS18B20设计的温度报警器284
5.22 用1602LCD与DS18B20设计的温度报警器289
5.23 数码管显示的温控电动机295
5.24 温度控制直流电动机转速298
5.25 用ADC0808设计的调温报警器303
5.26 160128LCD中文显示温度与时间306
5.27 用DAC0808设计的直流电动机调速器309
5.28 160128液晶中文显示ADC0832两路模数转换结果310
5.29 160128液晶曲线显示ADC0832两路模数转换结果313
5.30 串口发送数据到2片8×8点阵屏滚动显示315
5.31 用74LS595与74LS154设计的16×16点阵屏318
5.32 用8255与74LS154设计的16×16点阵屏320
5.33 8×8 LED点阵屏仿电梯数字滚动显示323
5.34 用24C04与1602LCD设计电子密码锁325
5.35 光耦控制点亮和延时关闭照明设备331
5.36 12864LCD显示24C08保存的开机画面334
5.37 12864LCD显示EPROM2764保存的开机画面340
5.38 160128液晶显示当前压力342
5.39 单片机系统中自制硬件字库的应用344
5.40 用8051与1601LCD设计的整数计算器349
5.41 模拟射击训练游戏357
参考文献363