日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

protues软件仿真-LCD1602

發(fā)布時(shí)間:2023/12/9 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 protues软件仿真-LCD1602 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2022.7.8
非常榮幸19年的關(guān)于proteus 軟件仿真的相關(guān)博文收到大家的關(guān)注,因本人能力有限,不能及時(shí)回復(fù)大家的評(píng)論區(qū),現(xiàn)將19年本人所做過(guò)的關(guān)于51單片機(jī)的仿真文件和程序源文件開(kāi)源給大家,如有問(wèn)題歡迎大家討論。
開(kāi)源的鏈接地址 51單片機(jī) protues 的仿真程序源文件


proteus 軟件仿真之LCD1602

大二電子專業(yè)小白一名,平時(shí)閑來(lái)無(wú)事在學(xué)校老師實(shí)驗(yàn)室自學(xué),自學(xué)過(guò)程中發(fā)現(xiàn)一些有困擾到自己的地方,所以特來(lái)此記錄。一是當(dāng)作自己學(xué)習(xí)筆記;二是有幸?guī)椭接泻妥约河龅较嗤瑔?wèn)題的童鞋,也是一大善事。因個(gè)人水平能力有限,錯(cuò)誤之處還請(qǐng)及時(shí)糾正。

仿真原理圖

以下為程序源代碼

#include "stdio.h" #include "reg52.h"#define uchar unsigned char #define uint unsigned int/* 端口定義 */ #define D P0 sbit E=P2^7; sbit RW=P2^5; sbit RS=P2^6;void delay_ms(uchar xms); /* 延時(shí)函數(shù) */ void LcdWriteCom(uchar com); /* LCD1602寫入8位命令子函數(shù) */ void LcdWriteData(uchar dat) ; /* LCD1602寫入8位數(shù)據(jù)子函數(shù) */ void LcdInit(); /* LCD1602初始化子程序 */ void Show_string1(uchar a[]); /* 第一行從頭開(kāi)始顯示 字符 "" 雙信號(hào)內(nèi)直接加顯示內(nèi)容即可 */ void Show_string2(uchar a[]); /* 第二行 "" 雙信號(hào)內(nèi)直接加顯示內(nèi)容即可 */ void show_string(uchar add,uchar a[]); /* 指定位置顯示字符串 注意 算好位置 0~27 40~67 地址值,"顯示字符串" */ void show_number(uchar add,uint a); /* show_number(0x加 要顯示的地址,變量或數(shù)字 */ void show_float(uchar add,float a); /* 顯示浮點(diǎn)數(shù) */void main() {LcdInit(); /* LCD1602初始化函數(shù) */Show_string1("LCD1602test"); /* LCD1602顯示->第一行 */while(1); }/* 延時(shí)函數(shù) */ void delay_ms(uchar xms) {uchar i,j;for(i=xms;i>0;i--)for(j=110;j>0;j--); }/* 向1602寫命令函數(shù)* 參數(shù):com 命令* 返回值 : 無(wú)*/ void LcdWriteCom(uchar com) {E=0;RW=0;RS=0;D=com;delay_ms(5);E=1;delay_ms(5);E=0; } /* 向1602寫數(shù)據(jù)命令* 參數(shù): dat 數(shù)據(jù)* 返回值: 無(wú)*/ void LcdWriteData(uchar dat) {E=0;RW=0;RS=1;D=dat;delay_ms(5);E=1;delay_ms(5);E=0; }/* LCD1602初始化函數(shù)*/ void LcdInit() {LcdWriteCom(0x38);LcdWriteCom(0x0c);LcdWriteCom(0x06);LcdWriteCom(0x01);LcdWriteCom(0x80); }/* 指定位置顯示字符串* 參數(shù) add 地址 第一行 0~27* 第二行 40~67* a[] 字符串 "abc" */ void show_string(uchar add,uchar a[]) {uchar i;LcdWriteCom(0x80+add);for(i=0;a[i]!='\0';i++){LcdWriteData(a[i]);} }/* 第一行顯示字符串*/ void Show_string1(uchar a[]) {uchar i;LcdWriteCom(0x80);for(i=0;a[i]!='\0';i++){LcdWriteData(a[i]);} }/* 第二行顯示字符串*/ void Show_string2(uchar a[]) {uchar i;LcdWriteCom(0x80+0X40);for(i=0;a[i]!='\0';i++){LcdWriteData(a[i]);} }/* 任意位置顯示數(shù)字 */ void show_number(uchar add,uint a) {char s[10];sprintf(s,"%d",a); show_string(add,(uchar *)s); /* 格式轉(zhuǎn)換 */ }/* 任意位置顯示浮點(diǎn)數(shù) */ void show_float(uchar add,float a) {char s[10];sprintf(s,"% .1f",a);/* 格式轉(zhuǎn)換 */show_string(add,(uchar *)s); }

G.Z.W
2019年6月8日

總結(jié)

以上是生活随笔為你收集整理的protues软件仿真-LCD1602的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。