51单片机用C语言或者汇编程序如何实现定时1秒?如何设定初始值?如何计算?如何输出方波?如何对外部?
使用定时器实现1秒定时; 初始值要看单片机配置的晶振频率了,若12M晶振,初始值为TH0=0x3c;TL0=0xb0; 这才是50ms,还要一个单元做计数器,计数20次才是1秒 方波?在定时中断里求反一次。
对外输出?就对端口(比如P1.0)求反 如何计算?常用的,记熟了,你自己看书51单片机c语言常用指令?
单片机C语言常用指令包括数据类型定义、变量声明、赋值运算、条件判断、循环控制、函数定义和调用等。
数据类型定义有int、float、char等,变量声明使用关键字volatile或static,赋值运算有=、+=、-=等,条件判断使用if、else if、else等关键字,循环控制使用for、while、do while等语句,函数定义和调用使用关键字void、return、调用函数名等。这些指令在单片机C语言程序设计中起到了关键作用,能够完成各种控制和计算任务。因此,熟练掌握这些指令对于单片机C语言编程非常重要。
multisim怎么用C语言仿真51单片机?
1、打开multisim软件,通过菜单栏的“FIle”->“New”->“Design”新建一个设计文档。
2、在新建的设计文档的工具栏选择“Place MCU”,在弹出的列表中选择8051单片机,点击“OK”确定选择。
3、将单片机放置在Design上后会弹出MCU向导(MCU Wizard-Step 1 of 3),通过标题可以知道向导有3步。第一步需要自己选择工作空间目录和名称,这个按需求填即可,确认后点击“Next”。
4、进入“MCU Wizar - Step 2 of 3”,即第2步,需要选择的东西比较多,第一个是“Project type”(工程类型),其中Standard就是自己写代码的,而External hex file就是其他编译器生成的hex文件,不需要自己写代码。“Programming language”就不用说了,可以选择C或者汇编,编译器一般默认即可,Project name按需要命名,点击“Next”确认。
5、在第三步需可以选择创建一个空的工程(Create empty project)或者在创建的时候自动添加一个源文件,文件名默认为main.c,建议默认配置,确认后点击“Finish”。
6、工程监理完毕,可以在工程下面看到一个main.c的文件,点击可以查看该文件。
7、通常会自动生成一个main函数,这里需要要注意,由于multisim找不到Hi-Tech C51 Lite compiler编译器的帮助文档,很多东西都需要自己摸索,最让人头疼的是它都没有提供C语言的头文件,连寄存器都需要自己去定义,这里建议使用强制指针将常量地址转换为寄存器地址,然后可以直接赋值访问了。图中是一个对P0的8个端口循环取反的操作,效果是P0端口不停的翻转,生成一个高速的脉冲信号。
8、程序写完后,添加一个示波器,用于查看P0端口信号,然后点击运行按钮。
9、由于我们没有添加电源,软件编译后报错。
10、添加电源后,程序运行OK,可以在虚拟示波器中看到预期中的脉冲方波。
11、更改一下程序,将低电平设置比高电平短,运行后效果一致,说明程序操作是没有问题的。

