《单片机C语言程序设计》期末考核项目
- 格式:doc
- 大小:111.00 KB
- 文档页数:4
关于期末单片机考试的考核说明基本要求:在Proteus及keil C联合环境下实现如下功能:1 能完成单片机、按键、LED指示灯的简单电路图绘制;(20分)评分标准单片机选型及安放,2分;电阻选型及安放,2分;按键选型及安放,2分;不同颜色LED选型及安放,2分;蜂鸣器选型及简单三级管放大电路,24分;电源信号、接地信号安放,2分;正确连线、走线,2分;下载机器码到单片机,2分;系统能运行,仿真,2分。
2 能在Keil C环境下完成简单程序编译并生成机器码;(50分,其中10分加分项)程序功能:要求利用P1或P3端口接3-8个按键,P2或P0口接3-8个LED,根据按键情况控制灯的亮灭及时间长短。
具体说明:1)使用按键个数及按键所连接的口线临时抽签决定;2)LED颜色、个数及所接口线临时抽签决定;3)LED的点亮有长亮与闪烁两种方式。
其中,闪烁为加分项,5分。
4)按键配按键音(每个按键按下有0.1-0.5秒短暂按键音,蜂鸣器发声)为加分项,5分。
5) 每个按键有独立功能,控制LED以不同方式点亮或熄灭。
具体要求抽签决定。
涉及知识点:1)基本指令及分枝、循环结构程序设计;2)定时器及中断的综合应用;3)按键功能程序设计;3)Keil软件的使用及调试。
3 电路板制作调试考核(30分)总体要求:具备本次考试所要求的各项硬件,线路正确,能运行所要求的功能程序。
可以事先制作好电路板,要求自己手工制作,提供接插件实现临时功能组合,单片机的四个端口均可以插线灵活控制LED或键盘。
能实现第2部分程序所有功能者得满分30分。
具体分值如下:1)单片机能正常工作,电源地、地、振荡、复位电路可靠;10分2)LED能正常点亮;5分3)按键能输入信息(按下则给单片机输入低电平,否则为高电平);5分4)蜂鸣器能发声;5分5)功能组合方便;5分考试形式:考试时间:11机电1:第十七周周一下午3:00-5:00。
11机电2:第十七周周二下午3:00-5:00。
单片机期末考试题库(正文)在单片机期末考试中,准备一份合理的题库对于学生们的复习和考试准备至关重要。
下面是一份精心准备的单片机期末考试题库,帮助学生们加深对单片机相关知识的理解和掌握。
1. 位操作题将一个8位的二进制数的第4位和第7位取反,写出代码实现。
2. 循环控制题编写一个程序,使用循环结构使LED灯每隔500ms亮灭切换一次,亮持续时间为200ms。
3. 数字运算题编写一个程序,实现两个8位无符号整数的加法运算,并将结果存储在一个变量中。
4. 字符串处理题编写一个程序,求一个字符串的长度,并将长度保存在一个变量中。
5. 数组操作题给定一个整型数组,编写一个程序,统计数组中大于等于10的数的个数,并将结果存储在一个变量中。
6. 逻辑判断题假设有两个变量a和b,编写一个程序,如果a等于1并且b等于0,则将a的值赋为2,并将b的值赋为1。
7. 中断处理题编写一个程序,实现定时器中断,每隔1秒打印一次“Hello World!”。
8. 显示控制题设计一个程序,通过单片机驱动数码管显示一个从0到9循环计数的数列,每隔500ms更新一次。
9. 软件设计题设计一个程序,实现单片机动态显示数字0到9,每隔1秒更新一次。
10. 单片机应用题根据给定的温度传感器读数,设计一个程序,实现当温度超过指定阈值时,点亮LED灯。
通过对以上题目的复习和解答,学生可以全面了解和掌握单片机的相关知识。
同时,可以通过修改部分题目的参数或要求,扩展题库。
这样,学生们可以通过解答更多不同情境下的题目,提高对单片机知识的应用能力。
该题库旨在帮助学生们全面复习单片机相关知识,并在期末考试中取得好成绩。
学生们可以根据自己的实际情况和复习进度,合理安排时间,有针对性地解答和复习这些题目。
同时,建议学生们在复习过程中注重理论知识和实践能力的结合,通过实际操作加深对单片机知识的理解和掌握。
总之,单片机期末考试题库是学生们备考的重要工具,希望这份题库能够帮助学生们有效复习,提高对单片机相关知识的运用能力,顺利通过期末考试。
20102学期《C语言程序设计》期末考试说明1 课程成绩计算方法(1)课程成绩=平时成绩(100分制)×0.3+考试成绩(100分制)×0.7。
(2)考试只考“程序设计能力模块”,包括程序设计算法、程序注释、编程规范三个方面,每小题的计分办法为:程序设计算法得分×编程规范系数-程序注释扣分。
(3)考试及格(考试成绩≥60分)后,才能取得课程成绩。
对于考试成绩不及格的学生,学校将下学期开学后组织补考,补考成绩将打8折(若成绩≥60但打折后〈60,则以60计)。
若经补考后,考试成绩仍不及格,则课程成绩置为58分以下,学生应在以后学期重修本课程。
(4)课程成绩将在最后一次考试结束后上报教务处,学生在此之前请及时访问计算中心的网站,查看自己的考试成绩及是否需要补考。
2 考试环境(1)考试在机房闭卷上机完成,即闭卷机考,总时间170分钟。
(2)阅卷为计算机自动阅卷(程序设计算法、编程规范)+人工阅卷(程序注释)。
(3)自动阅卷系统的C语言编译器支持考生从Microsoft VC 6.0、Turbo C、GCC V3.4.5中自行选择,考试时请检查自己所选择的C语言编译器是否合适。
(4)考试时,系统将对程序设计题进行自动评阅——考生提交程序后,系统将很快评分,给出得分率和编程规范的检查结果(指明哪一行、什么原因不符合规范及相应的纠正指南)。
3 考试试题组成3.1 程序设计 6小题、100分程序设计算法得分=本题满分值×正确率。
正确率由考试系统自动评阅,其评价标准为:编译通过并且结果基本正确,边界条件未处理好则酌情扣分——即评分时只看结果是否正确,原则上不检查程序算法内容。
程序无法编译链接,肯定没有成绩。
试题全部来自于现有题库中难度为“1~4”、用途为“非仅作业”的试题(个别题的描述与评分标准可能会微调,每个题的难度分类还会在1~4间调整),难度1抽2题、12+14分,难度2抽2题、16+18分,难度3、4各抽1题、各20分。
单片机期末考试[正文]本文将对单片机期末考试进行分析和讨论。
单片机是指在一个芯片上包含了处理器、存储器和各种输入输出设备的微型计算机系统,广泛应用于各个领域。
期末考试是对学生对单片机原理和应用的综合能力的考核,涵盖了理论知识和实践操作。
一、考试内容单片机期末考试一般包括以下几个方面的内容:1. 单片机基础知识:应包括单片机的定义、基本组成部分、工作原理、特点和应用领域等方面的内容。
2. 单片机的编程:应包括汇编语言和C语言两种编程方式。
学生需要熟悉单片机的指令集和寄存器,并能够编写简单的程序。
3. 单片机的实验操作:学生需要具备基本的实验能力,能够按照实验要求进行硬件电路的搭建和单片机程序的编写。
4. 单片机应用案例分析:考试中可能会给出一些实际应用案例,要求学生分析并设计相应的单片机方案。
二、备考策略为了更好地备考单片机期末考试,学生可以采取以下策略:1. 理论知识的学习:首先要系统学习单片机的相关原理和知识,掌握单片机的基本工作原理,了解其特点和应用领域。
可以参考教材和相关资料进行学习,并结合实际案例进行深入理解。
2. 编程能力的提升:单片机的编程是备考的重点,学生可以通过编写简单的程序来提升自己的编程能力。
可以选择一些经典的案例进行实践操作,例如LED灯的闪烁、数码管的显示等,熟悉掌握单片机的指令集和寄存器的使用方法。
3. 实验操作的训练:实验操作是单片机考试的一项重要内容,学生需要具备基本的实验能力。
可以通过模拟实验和真实实验相结合的方式进行训练,熟悉实验仪器的使用,掌握实验电路的搭建和单片机程序的编写。
4. 案例分析的实践:单片机应用案例的分析是考试中的一项常见题型,学生可以选择一些实际应用案例进行深入分析和设计方案。
可以参考相关书籍或者网络资源,了解各种应用领域的案例,掌握解决问题的思路和方法。
三、考试技巧在参加单片机期末考试时,学生可以注意以下几点考试技巧:1. 熟悉考试要求:在考试前要仔细阅读考试要求和考试说明,了解考试的内容、形式和时间分配等方面的要求。
单片机c语言期末考试题目及答案详解一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 单片机中,以下哪个寄存器通常用于存储程序计数器的值?A. PCB. SPC. ACCD. B答案:A3. 在C语言中,以下哪个运算符用于取模运算?A. %B. /C. *D. -答案:A4. 单片机编程时,以下哪个函数用于延时?A. delay()B. sleep()C. wait()D. halt()答案:A5. 在C语言中,以下哪个关键字用于声明一个函数?A. defineB. functionC. voidD. int答案:C6. 单片机中,以下哪个指令用于将累加器A的内容传送到外部数据存储器?A. MOVX @DPTR, AB. MOV A, @DPTRC. MOVX A, @DPTRD. MOV @DPTR, A答案:A7. 在C语言中,以下哪个关键字用于声明一个全局变量?A. staticB. externC. constD. volatile答案:B8. 单片机中,以下哪个指令用于无条件跳转?A. SJMPB. AJMPC. LJMPD. DJMP答案:A9. 在C语言中,以下哪个关键字用于声明一个指针?A. pointerB. ptrC. *D. ref答案:C10. 单片机中,以下哪个指令用于将累加器A的内容与寄存器B的内容进行异或操作?A. XOR A, BB. XOR A, #dataC. XOR A, @R0D. XOR A, direct答案:A二、填空题(每题2分,共20分)1. 在C语言中,用于定义一个数组的关键字是________。
答案:array2. 单片机中,用于读取外部数据存储器的指令是________。
答案:MOVX A, @DPTR3. 在C语言中,用于声明一个字符型变量的关键字是________。
中央美术学院C语言程序设计期末(考试时间120分钟,总分150分)准考证号:_________________________姓名:__________________________一、单项选择题(共20题,每题2分,共计40分)()1、下列运算符中,优先级最高的是________。
A、+=B、==C、&&D、++()2、以下选项中,合法的一组c语言数值常量是________。
A、028.5e-3-0xfB、12.OXa234.5eOC、.l774cl.5OabcD、0x8A10,0003.e5()3、下面选择中正确的赋值语句是(设char a[5],*p=a;)________。
A、p="abcd";B、a="abcd";C、*p="abcd";D、*a="abcd";()4、下列if语句中,不正确的是________。
A、if(x>y);B、if(x==y) x+=y;C、if(x!=y) scanf("%d",&x) else x=1;D、if(x()5、以下程序的输出结果是 _______ 。
main(){int x=1,y=0,a=0,b=0;switch(x){case 1:switch(y){case 0:a++;break;case 1:b++;break;}case 2:a++;b++;break;}printf("%d,%d\n",a,b);}A、2,1B、2,2C、1,1D、2 1()6、若有定义语句:int a[3][6]; ,按在内存中的存放顺序,a数组的第10个元素是________。
A、a[0][4]B、a[l][3]C、a[0][3]D、a[1][4]()7、定义一个字符型变量,下列选项中正确的是________。
A、char c = '97'B、char c = "97"C、char c = 97D、char c = c()8、若已定义:int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,则对a数组元素的引用不正确的是________。
第四章中断类例4-1 P104假设外部中断0和外部中断1均为下降沿触发,当外部中断0发生时,P0端口的电平反向,当外部中断1发生时,P1端口的电平反向。
#include<reg51.h>void IS0(void) interrupt 0{ P0=~P0;} //P0端口反向void IS1(void) interrupt 2{ P1=~P1;} //P1端口反向void main( ){ P0=0x00; P1=0xFF;IT0=1; IT1=1;EX0=1; EX1=1; EA=1;while(1);}【例4-9】外部中断示例在本实例中,首先通过P1.7口点亮发光二极管D1,然后外部输入一脉冲串,则发光二极管D1亮、暗交替。
#include<reg51.h>sbit P1_7=P1^7;void interrupt0( ) interrupt 0 using 2 //外部中断0{ P1_7=!P1_7;}void main( ){ EA=1; //开中断IT0=1; //外部中断0脉冲触发EX0=1; //外部中断0P1_7=0;do{ }while(1);}如果有3个脉冲,则灯亮、暗交替一次,可如下面编程:#include<reg51.h>Sbit P17=P1^7;unsigned char i=3;void main( ){ EA=1; IT0=1; EX0=1;P17=0;do{ }while(1); }void interrupt0( ) interrupt 0{ i=i-1;if(i==0){ P17=!P17; i=3;}}【例4-10】如图4-18所示,8只LED阴极接至单片机P0口,两开关S0、S1分别接至单片机引脚P3.2()和P3.3()。
编写程序控制LED状态。
按下S0后,点亮8只LED;按下S1后,变为闪烁状态。
#include<reg51.h>sbit P32=P3^2;void delay(unsigned int d) //定义延时子函数{ while(--d>0);}void main( ){ P0=0xFF; //熄灭LEDIT0=1; IT1=1; //外中断0、1脉冲触发方式EA=1; EX0=1; EX1=1; //开中断for( ; ; ) //延时等待中断发生{;}}void INT0_ISR( ) interrupt 0//外中断0中断服务函数{ P0=0x00;}void INT1_ISR( ) interrupt 2//外中断1中断服务函数{ while(P32!=0) //如果有外部中断0,则退出{ delay(5000);P0=0x00;delay(5000);P0=0xFF;}}定时类【例4-16】设单片机的fosc=12MHz,要求在P1.0上产生周期为2ms的方波。
湖北工程学院《C语言程序设计》2023-2024学年第一学期期末试卷考试课程:C语言程序设计考试时间:120分钟专业:计算机科学与技术总分:100分---一、单项选择题(每题2分,共20分)1. 在C语言中,用于定义常量的关键字是:A. constB. constantC. defineD. static2. 以下关于C语言变量命名的规则正确的是:A. 变量名可以以数字开头B. 变量名可以包含空格C. 变量名区分大小写D. 变量名可以使用C语言关键字3. 在C语言中,表达式5/2的值是:A. 2.5B. 2C. 3D. 2.04. 以下哪种循环结构在C语言中不存在:A. for循环B. while循环C. do-while循环D. foreach循环5. 在C语言中,字符常量'a'的ASCII码值是:A. 96B. 97C. 98D. 996. 以下关于C语言中的数组说法正确的是:A. 数组名是变量B. 数组下标可以是负数C. 数组在内存中是连续存储的D. 数组元素的类型可以不同7. 以下哪个库函数用于比较两个字符串:A. strcpyB. strcmpC. strcatD. strlen8. 使用标准输入输出库函数printf输出整数变量i的值,格式符应该是:A. %fB. %cC. %dD. %s9. 在C语言中,指针的大小在32位系统上通常是:A. 2字节B. 4字节C. 8字节D. 16字节10. 以下关于C语言中的结构体说法正确的是:A. 结构体不能包含指针B. 结构体变量可以作为函数参数C. 结构体成员只能是基本数据类型D. 结构体不能嵌套---二、判断题(每题2分,共20分)11. C语言中,函数的返回值类型可以是void。
()12. 在C语言中,数组名实际上是指向数组首元素的指针。
()13. C语言中的sizeof运算符返回变量的字节数。
()14. 指针变量和一般变量一样,都有类型。
一、填空1.KeiL C51软件中,工程文件的扩展名是____UV2______,编译连接后生成可烧写的文件扩展名是_____HEX_______。
2.C51支持的指针有一般指针和存储器指针。
3.C51中,没有专门的循环语句,我们可以用函数______crol_______完成一个字节的循环左移,用____irol_____完成二个字节的循环左移。
4.函数是C语言的基本单位。
5.C语言中输入和输出操作是由库函数scanf 和printf 等函数来完成。
6.若有说明int i,j,k;则表达式i=10,j=20,k=30,k*=i+j的值为__ 900______。
7.数组是一组有固定数目和相同类型成分分量的有序集合。
8.变量的指针就是变量的地址;指针变量的值是指针。
9.在C语言中,把多个不同类型的变量结合在一起形成的一个组合型变量,称为结构变量,简称结构。
10.C51的数据类型有基本类型、构造类型、指针类型、空类型。
11.C51的基本数据类型有位型、字符型、整形、长整形、浮点型、双精度浮点型。
12.C51的构造数据类型有数组类型、结构类型、共用体型、梅举型。
13.C51的存储类型有data 、bdata 、idata 、pdata 、xdata 、code 。
14.C51的存储模式有SMALL 、COMPACT 和LARGE 。
15.C51程序与其他语言程序一样,程序结构也分为顺序结构、选择结构(或分支结构)、循环结构三种。
16.数组的一个很重要的用途就是查表。
17.二、单项选择题:1.89S51的内部程序存储器与数据存储器容量各为多少?(C)(A)64KB、 128B ( B)4KB、64KB(C)4KB、128B (D)8KB、256B2.在8x51芯片里,哪个引脚用于控制使用内部程序存储器还是外部程序存储器?(B) (A)XTAL1 (B)/EA (C)/PSEN (D)ALE3.下列哪个不是KeilC的预处理命令?(C)(A)#include (B)#define (C)#exit (D)#if4.下列哪个不是KeilC的数据类型?(B)(A)void (B)string (C)char (D)float5.在8x51的输入/输出端口里,哪个输入/输出端口执行在输出功能时没有内部上拉电阻(A)(A)P0 (B)P1 (C)P2 (D)P36.在KeilC的程序里,若要指定P0口的bit3,如何编写?(C)(A)P0.3 (B)Port0.3 (C)P0^3 (D)Port^37.在8x51里,若要扩展外部存储器时,数据总线连接哪个输入/输出端口?(A)(A)P0 (B)P1 (C)P2 (D)P38.点亮一般的LED所耗的电流约为多少?(D)(A)1~5uA (B)10~20uA (C)1~5mA (D)10~20mA9.在8x51的程序里,若要将个输入/输出端口设置成输入功能,应如何处理?(A)(A)先输出高电平到该输入/输出端口(B)先输出低电平到该输入/输出端口(C)先读取该输入/输出端口的状态(D)先保存该输入/输出端口的状态10.根据实验统计,当操作开关时,其不稳定关态大约持续多久?(B)(A)1~5ms (B)10~20ms (C)100~150ms (D)150~250us11.在KeilC里,判读开关状态时,使用if_else if语句与使用switch语句有何差异?(B)(A)if-else if 语句较快(B)if-else if语句有优先级(C)switch语句可判读较多开关状态(D)switch语句有优先级12.对于低电平动作(低电平触发)的开关而言,下列哪个不是在输入口上连接一个上拉电阻VCC的目的?(A)(A)提供足够的驱动电流(B)防止确定状态(C)保持输入高电平(D)防止噪声干扰13.中断功能具有什么好处?(C)(A)让程序更复杂(B)让程序执行速度更快(C)让程序更有效率(D)以上皆非14.8x51的IP缓存器的功能为何?(A)(A)设置中断优先级(B)启用中断功能(C)设置中断触发信号(D)定义CPU的网址15.在KeilC里,中断子程序与函数有何不同?(A)(A)中断子程序不必声明(B)函数不必声明(C)中断子程序必须有形式参数(D)中断子程序一定会有返回值16.若要同时启用INT0及INT1中断功能,则应如何设置?(B)(A)TCON=0x81 (B)IE=0x85 (C)IP=0x83 (D)IE=0x0317.若要提高INT1的优先级,则应如何设置?(C)(A)IP=0x01 (B)IE=0x01 (C)IP=0x04 (D)IE=0x0418.在8x51的Timer里,若使用Mode 0,其最大计数值为多少个机器周期?(B)(A)65636 (B)8192 (C)1024 (D)25619.12 MHz的8x51系统里,哪一种方式一次可定时5ms?(A)(A)Mode0及Mode1 (B)Mode1及Mode2 (C ) Mode2及Mode3 (D) Mode3及Mode120.8x51的定时器,在下列哪种方式下具有自动加载功能?(C)(A)Mode0 (B) Mode1 (C)Mode2 (D)Mode321.若将Timer0设置为外部启动,则可由哪个引脚启动?(A)(A)P3.2 (B)P3.3 (C)P3.4 (D)P3.522.下列哪个IC具有将串行数据转换成并行数据的功能?(B)(A)74138 (B)74164 (C)74165 (D)7416823.在同一时刻,只能接收或发送信号者称为什么?(A)(A)半双工(B)全双工(C)半单工(D)单工24‘在8x51的串行口里,在哪一种方式下,可利用Timer1产生波特率?(C)(A)Mode0 (B)Mode1 (C)Mode2 (D)Mode325.在8x51里,若通过串行端口传出数据,则只要将数据放入哪个寄存器,CPU就会自动将它会传出?(B)(A)SMOD (B)SBUF (C)PCON (D)RBUF26.在8x51里,若CPU完成串行端口数据的接收将会如何?(D)(A)将TI标志变为0 (B)将RI标志为0 (C)将TI标志变为了 1 (D)将RI标志变为127.若要设置8x51串行端口方式,可在哪个寄存器中设置?(B)(A)SMOD (B)SCON (C)PCON (D)TCON28.在共阳极8*8LED点阵里,其阳极如何连接?(C)(A)各行阳极连接到行引脚(B)各列阳极连接到列引脚(C)各行阳极连接到列引脚(D)各列阳极连接到行引脚29.在共阳极8*8点阵里,其阴极如何连接?(A)(A)各行阴极连接到行引脚(B)各列阴极连接到列引脚(C)各行阴极连接到列引脚(D)各列阴极连接到行引脚30.通常8*8LED点阵的驱动方式是什么?(B)(A)直接驱动(B)扫描驱动(C)双向驱动(D)以上皆非31.若要对LCM下指令,则应如保设置?(A)(A)RS=0,R/~W=0 (B)RS=1,R/~W=0 (C)RS=1,R/~W=1(D)RS=0,R/~W=132.若要在LCM中显示些字符,则需把所要显示的字符放入何处?(B)(A)CG RAM (B)DDRAM (C)IRAM (D)GDRAM33.若要将数据写入LCM,则应如何设置?(B)(A)RS=0,R/~W=0 (B)RS=1,R/~W=0 (C)RS=1,R/~W=1 (D)RS=0,R/~w=1 341.利用下列( D )关键字可以改变工作寄存器组A、interruptB、sfrC、whileD、using35.C51中一般指针变量占用( C )字节存储。
《单片机C语言程序设计》期末考核项目
编制部门:电子信息工程技术专业编制人:张秀国审核人:编制日期:2013年6月18日
项目名称模拟数字密码锁考核对象11电子①②学时 4 课程名称单片机C语言程序设计教材《单片机C语言程序设计教程与实训》
考核要点1. 输入/输出端口的使用。
2. 点阵字符型LCD的使用。
3. 矩阵非编码键盘的使用。
考核方式开卷,机考
考核内容:
图1 模拟数字密码锁
一、基本考核要求:基于图1,编程实现下列功能。
(1) 开机显示如图2所示。
P A S S W O R D
■
图2 开机显示画面
其中,■为闪烁光标。
(2) 密码输入。
在图5.27所示的状态下,直接按0~9数字键即可。
密码长度为8个字符(默认为12345678,可在程序中修改)。
在密码输入时显示“*”,如图3所示。
输入完毕后按“#”键确定。
若正确则绿色指示灯亮50ms,表示开门;若不正确则出现如图5.29所示的画面,此时按“*”键,即可返回图4所示的状态。
四、评分方法
1.完成基本考核要求,得60分
2.完成创新考核要求,加20分
3.项目报告中,流程图、知识点描述、难点及解决办法(10分),学习体会(10分)
出师表
两汉:诸葛亮
先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。
然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。
诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。
宫中府中,俱为一体;陟罚臧否,不宜异同。
若有作奸犯科及为忠善者,宜付有司论其刑赏,以昭陛下平明之理;不宜偏私,使内外异法也。
侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下:愚以为宫中之事,事无大小,悉以咨之,然后施行,必能裨补阙漏,有所广益。
将军向宠,性行淑均,晓畅军事,试用于昔日,先帝称之曰“能”,是以众议举宠为督:愚以为营中之事,悉以咨之,必能使行阵和睦,优劣得所。
亲贤臣,远小人,此先汉所以兴隆也;亲小人,远贤臣,此后汉所以倾颓也。
先帝在时,每与臣论此事,未尝不叹息痛恨于桓、灵也。
侍中、尚书、长史、参军,此悉贞良死节之臣,愿陛下亲之、信之,则汉室之隆,可计日而待也。
臣本布衣,躬耕于南阳,苟全性命于乱世,不求闻达于诸侯。
先帝不以臣卑鄙,猥自枉屈,三顾臣于草庐之中,咨臣以当世之事,由是感激,遂许先帝以驱驰。
后值倾覆,受任于败军之际,奉命于危难之间,尔来二十有一年矣。
先帝知臣谨慎,故临崩寄臣以大事也。
受命以来,夙夜忧叹,恐托付不效,以伤先帝之明;故五月渡泸,深入不毛。
今南方已定,兵甲已足,当奖率三军,北定中原,庶竭驽钝,攘除奸凶,兴复汉室,还于旧都。
此臣所以报先帝而忠陛下之职分也。
至于斟酌损益,进尽忠言,则攸之、祎、允之任也。
愿陛下托臣以讨贼兴复之效,不效,则治臣之罪,以告先帝之灵。
若无兴德之言,则责攸之、祎、允等之慢,以彰其咎;陛下亦宜自谋,以咨诹善道,察纳雅言,深追先帝遗诏。
臣不胜受恩感激。
今当远离,临表涕零,不知所言。